Merge branch 'master' into ui-granular-settings

This commit is contained in:
Brian Federle 2013-05-01 14:45:05 -07:00
commit c1de600cb4
394 changed files with 33921 additions and 18090 deletions

385
CHANGES
View File

@ -1,7 +1,387 @@
Apache CloudStack (Incubating) CHANGES
Apache CloudStack CHANGES
======================================
Full release notes for each release are located in the project's documentation website: http://cloudstack.apache.org/docs
Full release notes for each release are located in the project's documentation website:
http://cloudstack.apache.org/docs
Version 4.2.0
------------------------
In progress
Version 4.1.0
------------------------
This is the second major release of CloudStack from within the Apache Software Foundation, and the
first major release as a Top-Level Project (TLP).
Build Tool Changes:
* The project now uses Maven 3 exclusively to build.
New Features:
* CLOUDSTACK-101: OVS support in KVM
* CLOUDSTACK-132: Mash up marvin into an interactive auto-completing API shell for CloudStack
* CLOUDSTACK-241: AWS Style Regions
* CLOUDSTACK-297: Reset SSH Key to access VM (similar to reset password)
* CLOUDSTACK-299: Egress firewall rules for guest network
* CLOUDSTACK-306: Support SRX & F5 inline mode
* CLOUDSTACK-618: API request throttling to avoid malicious attacks on MS per account through frequent API request.
* CLOUDSTACK-637: AutoScale
* CLOUDSTACK-644: Resize volumes feature
* CLOUDSTACK-706: Persistent Networks without running a VM
* CLOUDSTACK-726: Implement L3 Router functionality in Nicira Nvp Plugin
* CLOUDSTACK-780: Additional VMX Settings
* CLOUDSTACK-926: ApiDiscoverService: Implement a plugin mechanism that exposes the list of APIs through a discovery service on the management server
Bug Fixes:
* CLOUDSTACK-1600 Typo in dpkg-buildpackage command
* CLOUDSTACK-1574 updateResourceCount API is failed saying to specify valida resource type even after parsing the valid resource type
* CLOUDSTACK-1562 Replace the short-cut solution of supportting @DB with the formal one
* CLOUDSTACK-1541 NPE while deleting snapshot :Unexpected exception while executing org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd
* CLOUDSTACK-1521 Redundant router: Services are not stopped when switch to BACKUP state
* CLOUDSTACK-1509 Failed to implement network elements and resources while provisioning for persistent network(createVlanIpRange to an account]
* CLOUDSTACK-1496 List API Performance: listAccounts failing with OOME for high values of pagesize (>1000 )
* CLOUDSTACK-1487 cloudstack-setup-agent fails to set private.network.device on KVM host add
* CLOUDSTACK-1485 Add Baremetal Provider back to 4.1 branch
* CLOUDSTACK-1484 "API Throttling : api.throttling.enabled, Global setting missing"
* CLOUDSTACK-1473 deleteDomain is failing with NPE
* CLOUDSTACK-1470 unhandled exception executing api command: deployVirtualMachine
* CLOUDSTACK-1469 kvm agent: agent service fails to start up
* CLOUDSTACK-1465 List Zones returns null under create instance when logged is as user
* CLOUDSTACK-1449 listAccounts and listProjectAccounts API lists all the users not account-specific users for each account returned
* CLOUDSTACK-1447 [UI]Persistent Status is not displayed for VPC Tiers
* CLOUDSTACK-1436 4.1 management server fails to start from RPM build artifacts
* CLOUDSTACK-1429 single account is unable to use same vnet across multiple physical networks
* CLOUDSTACK-1425 unhandled exception executing api command: migrateVirtualMachine & recoverVirtualMachine
* CLOUDSTACK-1420 Ensure trademarks are properly attributed in publican brand.
* CLOUDSTACK-1419 Apache-ify and apply trademark logos in the UI
* CLOUDSTACK-1418 "As regular user , we are not allowed to deploy VM on a shared network."
* CLOUDSTACK-1417 "When invalid values are passed to createNetwork() , error message does not indicate the parameter name that has invalid values."
* CLOUDSTACK-1414 Redundant router: BACKUP switch cancelled due to lock timeout after a glitch in network
* CLOUDSTACK-1403 Storage and console-proxy related error
* CLOUDSTACK-1402 listRouters API response doesn't return linklocal IP and public IP details
* CLOUDSTACK-1399 Unhandled exception executing api command: stopVirtualMachine
* CLOUDSTACK-1397 Static Nat configuration is failing with NPE
* CLOUDSTACK-1391 EventBus is not getting injected after javelin merge
* CLOUDSTACK-1383 Deploying basic zone on 4.1 fails in NPE
* CLOUDSTACK-1382 "vm deploy fails with Error ""cannot find DeployPlannerSelector for vm"""
* CLOUDSTACK-1375 deploydb failing with acs master
* CLOUDSTACK-1369 "Ipv6 - In dual Stack network , guest VM does not have the Ipv6 address of the router programmed in /etc/resolv.conf for DNS resolution."
* CLOUDSTACK-1367 NPE noticed in logs while AgentMonitor is monitoring the host ping interval
* CLOUDSTACK-1357 "Autoscale: Provisioned VMs from Netscaler not being added to lb vserver, provserver fails with provserver_err_asynctaskpoll"
* CLOUDSTACK-1350 Management server Stop and start causes previously downloaded ISOs and templates to redownload & reinstall
* CLOUDSTACK-1347 "Not able to delete network. Error - ""Unable to insert queue item into database, DB is full?"""
* CLOUDSTACK-1346 "Check to see if external devices are used in the network, is hardcoded for specific devices"
* CLOUDSTACK-1345 BigSwitch plugin introduces 'VNS' isolation in UI without backend implementation
* CLOUDSTACK-1344 Typo in use.external.dns setting description
* CLOUDSTACK-1343 Porting Baremetal related UI changes to ACS
* CLOUDSTACK-1341 URL for the KEYs file is wrong in the installation guide
* CLOUDSTACK-1339 ASF 4.1: Management server becomes unresponsive
* CLOUDSTACK-1338 Deploy VM failed using ISO
* CLOUDSTACK-1334 vmware.root.disk.controller doesn't work.
* CLOUDSTACK-1332 IPV6 - Router and guest Vms should be able to use an IPV6 address for external DNS entry.
* CLOUDSTACK-1331 Upgrade fails for a 2.2.14 Zone having multiple guest networks using network_tags and Public Vlan
* CLOUDSTACK-1330 ec2-run-instances - When -n option is used to deploy multiple Vms API returns error even though few of the Vms have been deployed successfully.
* CLOUDSTACK-1320 Routers naming convention is changed to hostname
* CLOUDSTACK-1319 createCustomerVpnGateway response gives TypeError: json.createvpncustomergatewayresponse is undefined
* CLOUDSTACK-1315 [F5-SRX-InlineMode] Network implement failed with Run time Exception during network upgrade from VR to SRX-F5
* CLOUDSTACK-1313 Working with Volumes Section Is Missing
* CLOUDSTACK-1312 "Fix rolling upgrades from 4.0 to 4.1 in 4.1 release, fix db schemas to be same as 4.0"
* CLOUDSTACK-1307 Noticed NPE when we put host in maintenance mode in clustered management setup
* CLOUDSTACK-1303 Ipv6 - java.lang.NullPointerException when executing listnetworks() and deployVirtualMachine() after extending the Ipv4 range of a dual stack network.
* CLOUDSTACK-1300 section in wrong order in installation guide
* CLOUDSTACK-1299 Errors in 4.5.5 section of installation guide
* CLOUDSTACK-1295 NPE in usage parsers due to missing @Component inject
* CLOUDSTACK-1289 [F5-SRX-InlineMode] Usage stats are not generated for Juniper SRX Firewall in inlinemode
* CLOUDSTACK-1288 [F5-SRX-InlineMode] classCastException during network restart with cleanup option true
* CLOUDSTACK-1277 ApiResponseHelper.createUserVmResponse failed to populate password field set from UserVm object
* CLOUDSTACK-1272 Autoscale: createAutoScaleVmProfile fails due to unable to retrieve Service Offering id
* CLOUDSTACK-1267 KVM's cloudstack-agent service doesn't log (log4j)
* CLOUDSTACK-1265 logrotate dnsmasq configuration is wrong
* CLOUDSTACK-1262 "Failed to Prepare Secondary Storage in VMware,"
* CLOUDSTACK-1251 Baremetal zone doesn't need primary/secondary storage in UI wizard
* CLOUDSTACK-1243 Failed to cleanup account :java.lang.NullPointerException
* CLOUDSTACK-1242 [F5-SRX-InlineMode] Failed to create LB rule with F5-SRX inlinemode deployement
* CLOUDSTACK-1241 Network apply rules logic is broken
* CLOUDSTACK-1237 "Register Template fails with ""Cannot find template adapter for XenServer"""
* CLOUDSTACK-1234 Unable to start KVM agent with 4.1 build
* CLOUDSTACK-1233 Veewee configuration files are inappropriately identified as ASLv2 licensed files
* CLOUDSTACK-1232 "Ipv6 - Guest Vms are not able to get Ipaddress when executing dhclient command when using ""/96"" network."
* CLOUDSTACK-1226 Error while running Cloudstack-setup-databases
* CLOUDSTACK-1223 Exception while starting jetty server: org.springframework.beans.factory.BeanCreationException Error creating bean with name 'apiServer':
* CLOUDSTACK-1222 API rate limit configs: removed double quote in upgrade script
* CLOUDSTACK-1220 Ipv6 - Better error message when deploy Vm fails to get a free Ip address.
* CLOUDSTACK-1219 Ipv6 - Provide better error messages when deploying a Vm with Ip an address that is outside the network's ip range / if the ip address already is assigned to another Vm.
* CLOUDSTACK-1216 UUID is null for admin and failed to register user key with 4.1
* CLOUDSTACK-1210 Make all pluggable services return list of api cmd classes
* CLOUDSTACK-1206 Failure in Copy of System templates
* CLOUDSTACK-1205 Ipv6 - Ubuntu 12.10 guest Vms looses default route (after it expiration time ~ 30 mts) when ipv6.autoconfig parameters are disabled except for net.ipv6.conf.lo.autoconf which is enabled.
* CLOUDSTACK-1204 Fail to create advance zone due to fail to add host
* CLOUDSTACK-1201 "Failed to create ssh key for user ""cloud"" /var/lib/cloud/management/.ssh/id_rsa and failed to start management server"
* CLOUDSTACK-1190 Make APIChecker interface throw a single sensible exception
* CLOUDSTACK-1181 mvn deploy db failing with NPE
* CLOUDSTACK-1176 Issue with snapshots(create/list)
* CLOUDSTACK-1174 Snapshots related SQL error
* CLOUDSTACK-1173 ConsoleProxyResource instantiation exception
* CLOUDSTACK-1168 Create firewall rule broken
* CLOUDSTACK-1163 Failed with NPE while creating firewall rule
* CLOUDSTACK-1161 Differences between 4.1 and master in ongoing-config-of-external-firewalls-lb.xml
* CLOUDSTACK-1154 Account/Users related API failed due to RegionService inject exception
* CLOUDSTACK-1153 "Ipv6 - Vm deployment fails with ""n must be positive"" error."
* CLOUDSTACK-1152 Missing tag in host-add.xml
* CLOUDSTACK-1141 "Ipv6 - After network restart (and reboot router) , we do not see the existing vms dnsentries not being programmed in the router."
* CLOUDSTACK-1138 "Providing invalid values for gateway, netmask etc in the zoneWizard blocks the VLAN container to load , throwing an error"
* CLOUDSTACK-1123 ListStoragePools API broken by refactor
* CLOUDSTACK-1113 "Ipv6 - Not able to deploy a new VM in this network because of ""Unable to allocate Unique Ipv6 address"""
* CLOUDSTACK-1112 "Errors in ""Prepare the System VM Template"""
* CLOUDSTACK-1111 Ipv6 - listRouters() does not return guestipaddress/
* CLOUDSTACK-1109 "Ipv6 - Unable to expunge User Vms that are ""Destroyed""."
* CLOUDSTACK-1108 Ipv6 - Not able to restart Networks.
* CLOUDSTACK-1107 Ipv6 - Unable to extend Ip range for a Ipv6 network using craeteVlanIpRange() command - Error code 530 returned.
* CLOUDSTACK-1105 "IpV6 - listVirtualMachines() does not return netmask ,gateway,ipaddress."
* CLOUDSTACK-1104 Ipv6 - listVlanIpRanges() returns error 530.
* CLOUDSTACK-1103 "IpV6 - listNetwork() command does not retrun gateway,netmask,cidr"
* CLOUDSTACK-1095 Ipv6 - dhclient command needs to be run manually on the Vms to get the Ipv6 address.
* CLOUDSTACK-1088 EnableStaticNat error will clear the data in database
* CLOUDSTACK-1087 Update the Developer Guide for ASFCS 4.1 Release
* CLOUDSTACK-1083 listUsageRecords api: removed project results in NPE
* CLOUDSTACK-1082 UI doesn't throw any error message when trying to delete ip range from a network that is in use
* CLOUDSTACK-1079 Deploying AWSAPI with mvn -pl :cloud-awsapi jetty:run fails
* CLOUDSTACK-1070 javelin: NPE on executing registerIso API
* CLOUDSTACK-1064 A type error occurs when trying to add account/register template....
* CLOUDSTACK-1063 "SG Enabled Advanced Zone - ""Add Guest Networks"" - When user tries to add a guest Network with scope as ""Account"" , he should NOT be presented with ""Offering for shared security group enabled"""
* CLOUDSTACK-1057 regression of changeServiceForVirtualMachine API - fails to find service offering by serviceOfferingId parameter
* CLOUDSTACK-1056 S3 secondary storage fails to upload systemvm template due to KVMHA directory
* CLOUDSTACK-1055 "The overlay still exists when the ""Recurring Snapshots"" dialog is canceled by pressing esc key."
* CLOUDSTACK-1051 API dispatcher unable to find objectVO corresponding to DeleteTemplatecmd
* CLOUDSTACK-1050 No Documentation on Adding a Load Balancer Rule
* CLOUDSTACK-1037 "Make cloudmonkey awesome-er: Online help docs and api discovery, better colored output, parameter value autocompletion"
* CLOUDSTACK-1029 Enter the token to specified project is malfunctioned
* CLOUDSTACK-1027 """Update SSL certificate"" button should properly reflect it's functionality"
* CLOUDSTACK-1024 Regression: Unable to add Xenserver host with latest build
* CLOUDSTACK-1021 the vlan is not creat to right nic. when i creat multi guest network.
* CLOUDSTACK-1016 Not able to deploy VM.
* CLOUDSTACK-1014 Merge ManagementServer and ManagementServerExt
* CLOUDSTACK-1013 running cloudstack overwrites default public/private ssh keys
* CLOUDSTACK-1011 KVM host getting disconnected in cluster environment
* CLOUDSTACK-1010 Host count and Secondary storage count always shows 1 in UI
* CLOUDSTACK-1002 Not able to start VM.
* CLOUDSTACK-995 Not able to add the KVM host.
* CLOUDSTACK-993 """admin"" user is not getting created when management server is started."
* CLOUDSTACK-987 Sections missing in Working With Snapshots
* CLOUDSTACK-985 Different MAC address for RvR caused issue in short term network outrage
* CLOUDSTACK-978 TypeError: instance.displayname is undefined while adding VM's to the LB rule.
* CLOUDSTACK-968 marvin: vlan should be an attribute of the physical_network and not the zone
* CLOUDSTACK-959 Missing sub-sections in document section System Service Offerings
* CLOUDSTACK-938 s2s VPN trouble
* CLOUDSTACK-928 [Simulator] Latency for Agent Commands - change unit of wait from seconds to milliseconds
* CLOUDSTACK-863 Non-printable characters (ASCII control character) such as %00 or %0025 are getting stored in raw/non encoded form in the database.
* CLOUDSTACK-819 Create Account/User API logging password in access logs
* CLOUDSTACK-799 [Load Test] Check router statistics falls behind in gathering stats by more than 2 times the set value
* CLOUDSTACK-798 Move usage related cmd classes from cloud-server to cloud-api
* CLOUDSTACK-736 Integration smoke tests: Fix check for vm name for the deployvm smoke test
* CLOUDSTACK-734 api_refactoring: CreateAccountCmd fails to send response due to NPE in service layer
* CLOUDSTACK-725 UI: Error when the Egress rules tab is selected for a network
* CLOUDSTACK-721 Bytes sent/received in user statistics is empty (CloudStack 4.0)
* CLOUDSTACK-720 Fail to load a png image when accessing the web console
* CLOUDSTACK-717 cloudmonkey fails to parse/print response
* CLOUDSTACK-693 Adding a VPC virtual router to a NiciraNVP enabled network fails
* CLOUDSTACK-691 A warning dialog box shows after reloading the welcome page
* CLOUDSTACK-689 RVR: Stop pending flag is not cleared when user start the disconnected router from another host
* CLOUDSTACK-683 Image Is Missing in the Accessing VM Section
* CLOUDSTACK-660 Network Traffic Labels are not functional in Marvin
* CLOUDSTACK-648 The normal users could change their own login password
* CLOUDSTACK-639 API Refactoring: Adapters for ACL
* CLOUDSTACK-617 Unable to edit a Sub domain
* CLOUDSTACK-614 "ListTemplates API is not returning ""Enable SSH Key"" attribute for any given template"
* CLOUDSTACK-606 Starting VM fails with 'ConcurrentOperationException' in a clustered MS scenario
* CLOUDSTACK-605 Host physical CPU is incorrectly calculated for Vmware hosts
* CLOUDSTACK-599 DhcpEntryCommand fails on Router VM on CS4.0 and vSphere5 with Advanced Network Zone
* CLOUDSTACK-596 DeployVM command takes a lot of time to return job id
* CLOUDSTACK-584 "typos in ""Apache_CloudStack-4.0.0-incubating-CloudStack_Nicira_NVP_Guide-en-US"""
* CLOUDSTACK-573 "NPE at ""com.cloud.network.NetworkManagerImpl.networkOfferingIsConfiguredForExternalNetworking(NetworkManagerImpl.java:4345)"" when create network from the network offering having NULL provider for the service"
* CLOUDSTACK-572 SG Enabled Advanced Zone - Not able to deploy a VM in an account specific shared network.
* CLOUDSTACK-560 Usage server doesn't work in 4.0.0 due to missing db changes
* CLOUDSTACK-556 Erratic window behavior in Quick View tooltip
* CLOUDSTACK-553 "SRX - When adding SRX device make ""Public Network"" - default to ""untrusted"" and ""Private Network"" - default to ""trusted"" as un-editable fields."
* CLOUDSTACK-552 ]Quick view details for a volume displays scroll bar in place of name of the volume when the name of the volume has more no of characters
* CLOUDSTACK-539 Cropped Text in UI under Quick View
* CLOUDSTACK-536 remove citrix cloudpatform from 4.0 build - CloudStack is ASF project
* CLOUDSTACK-527 List API performance optimization by using DB views and removing UUID conversion.
* CLOUDSTACK-522 Log requests in cloudmonkey's log file
* CLOUDSTACK-520 Dependency jar names mismatch with install-non-oss.sh
* CLOUDSTACK-518 API refactoring -- change @Parameter annotation and remove the @IdentityMapper annotation
* CLOUDSTACK-514 Marvin and Cloudmonkey don't work when an API target uses https or an alternate path
* CLOUDSTACK-510 Add button not visible when adding public IPs to physical network
* CLOUDSTACK-508 CLVM copies template to primary storage unnecessarily
* CLOUDSTACK-507 fix api docs for listSSHKeyPairs
* CLOUDSTACK-504 Duplicate guest password scripts in codebase
* CLOUDSTACK-501 Apidocs and marvin does not know how to handle Autoscaling docs
* CLOUDSTACK-500 Passwd-server iptables rules are dropped on domr on fresh start or on reboot
* CLOUDSTACK-499 cloudmonkey CLI can't accept complex parameters
* CLOUDSTACK-493 2.2.x-3.0 DB upgrade support for Advance SG enabled networks
* CLOUDSTACK-481 Installation Guide Doc Error
* CLOUDSTACK-467 Developer's Guide points to cloud.com for API reference
* CLOUDSTACK-465 French language file quotes are dropping javascript syntax errors
* CLOUDSTACK-464 "Regression in AWSAPI docs, entire sections removed"
* CLOUDSTACK-462 A few corrections to make to the 4.0.0 installation guide
* CLOUDSTACK-459 [Optional Public IP assignment for EIP with Basic Zone] Associate IP Checkbox in Create Network Offering Dialog is Displayed When Elastic LB is Selected
* CLOUDSTACK-456 License tag in SPEC isn't what RPM is expecting
* CLOUDSTACK-448 SSVM bootstrap failure on XenServer hosts with E3 CPU
* CLOUDSTACK-446 "Host going to alert state, if you are adding already added host"
* CLOUDSTACK-441 Running mgmt server using jetty fails to start api server
* CLOUDSTACK-435 Vmware network labels are ignored when creating a Zone using basic networking
* CLOUDSTACK-427 Change hardcoded step number references to dynamic links
* CLOUDSTACK-424 Updated userdata not propagating to the VR.
* CLOUDSTACK-417 Handle password server securely to run on port 8080 on VR
* CLOUDSTACK-416 XCP 1.6beta2 (61002c) - can't add a host
* CLOUDSTACK-404 Update docs on the usage of cloud-setup-databases
* CLOUDSTACK-398 Install Guide: Section 11.17.3 (Using VPN with Mac OSX): Not complete?
* CLOUDSTACK-397 Install Guide: Section 11.1 (Guest Traffic): Diagram is the wrong diagram
* CLOUDSTACK-390 Install Guide: Section 4.5.7 (Prepare the System VM Template): Links go to cloud.com
* CLOUDSTACK-378 mavenize marvin on master
* CLOUDSTACK-377 provide deployment config access to marvin's testcase
* CLOUDSTACK-373 "static NAT and Firewall is not working on external firewall device SRX, it needs to be implemented"
* CLOUDSTACK-369 ASF 4.0 - unable to support XenServer 6.1 host
* CLOUDSTACK-364 Docs point to download.cloud.com for AWS API script
* CLOUDSTACK-361 Wrong creation of guest networks on a KVM host in Multiple Physical Networks with guest traffic
* CLOUDSTACK-359 PropagateResourceEventCommand failes in cluster configuration
* CLOUDSTACK-357 "ISOs can be deleted while still attached to a running VM, and they subsequently cannot be detached from a running VM"
* CLOUDSTACK-355 "Fix ""count"" in a bunch of API commands"
* CLOUDSTACK-348 deleteNetwork does not clean up network resource count correctly
* CLOUDSTACK-347 listNetworks API: return vlan information only when the caller is ROOT admin
* CLOUDSTACK-346 Cannot add Vmware cluster with class loader conflict exception
* CLOUDSTACK-335 KVM VPC load balancer not working
* CLOUDSTACK-333 When Datacenter name in VCenter has spaces Primary Storage (VMFS) discovery will fail
* CLOUDSTACK-332 """count"" property in list* API response should be equal to how many entries in database, not how many objects in API response"
* CLOUDSTACK-318 Adding XenServer Host Fails - 6.0.2 fails with 4.0.0
* CLOUDSTACK-304 Add synchronization for createSnapshot command per host basis
* CLOUDSTACK-293 "We do awful, hacky things in our spec file for client"
* CLOUDSTACK-290 3.0.0 template also needed for 2.2.14 to 3.0.5 direct upgrade.
* CLOUDSTACK-284 listVirtualMachines does not return deleted machines when zone is specified
* CLOUDSTACK-279 deleteProject fails when executed by the regular user (works fine for root/domain admin)
* CLOUDSTACK-274 Two error codes mapped to same value in API
* CLOUDSTACK-271 updatePhysicalNetwork dies with an NPE when the vlan range is empty
* CLOUDSTACK-256 "vpn:As an admin user , not able to delete VPN user which is present in a regular user's network."
* CLOUDSTACK-250 Incorrect description of maintenance mode in admin guide
* CLOUDSTACK-249 Add host id to failed VM deploy alerts
* CLOUDSTACK-235 Network rate can be set in 2 places. Clarify docs on how this works.
* CLOUDSTACK-232 Zone infrastructure chart -- disable resource total display
* CLOUDSTACK-228 UI provides an option to reconnect a disconnected host - ServerApiException is thrown on an attempt
* CLOUDSTACK-227 ReconnectHostCmd: NullPointerException: Unable to get host Information for XenServer 6.0.2 host - on intentionally changing the traffic labels on the physical network
* CLOUDSTACK-226 UpdatePhysicalNetworkcommand failed due to java.sql.BatchUpdateException ; Tried to extend the existing Guest VLAN Range of one physical network into the Guest VLAN range of the other physical network
* CLOUDSTACK-225 API Docs: Request params repeated with different descriptions
* CLOUDSTACK-222 Admin UI prompts to restart Management server with cancel edit operation
* CLOUDSTACK-178 Expose name parameter of VM in list Vm view.
* CLOUDSTACK-130 Clarify docs on tags parameter in API reference
* CLOUDSTACK-119 Move Agent-Simulator in to the hypervisor plugin model
* CLOUDSTACK-118 "Status of host resorce stuck in ""ErrorInMaintenance"""
* CLOUDSTACK-95 IP address allocation not working when a user tries to allocate IP addresses in a Project.
* CLOUDSTACK-70 Improve Network Restart Behaviour for Basic Zone: Restarting Network Fails
* CLOUDSTACK-46 Remnants of mycloud remain
Security Fixes:
* CVE-2012-4501: Apache CloudStack configuration vulnerability
Version 4.0.2
------------------------
This is a maintenance release for the Apache CloudStack 4.0.x series, with no new features.
Issues fixed in this release:
* CLOUDSTACK-354: Display of storage statistics is wrong.
* CLOUDSTACK-397: Install Guide: Section 11.1 (Guest Traffic): Diagram is the wrong diagram
* CLOUDSTACK-398: Install Guide: Section 11.17.3 (Using VPN with Mac OSX): Not complete?
* CLOUDSTACK-462: A few corrections to make to the 4.0.0 installation guide
* CLOUDSTACK-524: http proxy used by ssvm (secstorage.proxy) NOT working
* CLOUDSTACK-587: MEMORY_CONSTRAINT_VIOLATIONMemory limits must satisfy:
* CLOUDSTACK-803: HA gets triggered even when the host investigator is unable to determine the state of the host
* CLOUDSTACK-810: Make DirectAgent thread pool size configurable
* CLOUDSTACK-976: unable to start cloudstack (error: "java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString([B)Ljava/lang/String;")
* CLOUDSTACK-988: HV version must be updated in hypervisor_version column of host table
* CLOUDSTACK-990: Documentation issue with libvirtd.conf tcp_port configuration
* CLOUDSTACK-1088: EnableStaticNat error will clear the data in database
* CLOUDSTACK-1106: Missing documentation for cloud-setup-databases
* CLOUDSTACK-1110: Documentation missing "Management Server Load Balancing"
* CLOUDSTACK-1112: Errors in "Prepare the System VM Template"
* CLOUDSTACK-1137: Force reconnect of a disconnected state complains about the state of the host.
* CLOUDSTACK-1150: Documentation for libvirt on Ubuntu 12.04
* CLOUDSTACK-1151: vmware systemVm template upgrade is missing in 4.0 upgrade
* CLOUDSTACK-1211: Network operations are Blocked for the Read-only file system of Virtual Router
* CLOUDSTACK-1265: logrotate dnsmasq configuration is wrong
* CLOUDSTACK-1291: duplicate arguments in commands.xml prevents cloudapis.py to run to completion
* CLOUDSTACK-1298: typo in deb package setup
* CLOUDSTACK-1299: Errors in 4.5.5 section of installation guide
* CLOUDSTACK-1300: section in wrong order in installation guide
* CLOUDSTACK-1341: URL for the KEYs file is wrong in the installation guide
* CLOUDSTACK-1419: Apache-ify and apply trademark logos in the UI
* CLOUDSTACK-1420: Ensure trademarks are properly attributed in publican brand.
* CLOUDSTACK-1589: Ubuntu 4.0 packages depend on non-existent chkconfig
* CLOUDSTACK-1629: Need to move location or conflict with antlr
* CLOUDSTACK-1642: Add support CentOS 6.4
* CLOUDSTACK-1648: Unable to add KVM host
* CLOUDSTACK-1652: /etc/hosts error in virtual router when deploy instance with the name same to previous instances
* CLOUDSTACK-1666: KVM VPC NetworkUsage doesnot work
* CLOUDSTACK-1668: IP conflict in VPC tier
* CLOUDSTACK-1761: Available local storage disk capacity incorrectly reported in KVM to manager.
* CLOUDSTACK-1845: KVM - storage migration often fails
* CLOUDSTACK-1846: KVM - storage pools can silently fail to be unregistered, leading to failure to register later
* CLOUDSTACK-2003: Deleting domain while deleted account is cleaning up leaves VMs expunging forever due to 'Failed to update resource count'
* CLOUDSTACK-2090: Upgrade from version 4.0.1 to version 4.0.2 triggers the 4.0.0 to 4.0.1.
* CLOUDSTACK-2091: Error in API documentation for 4.0.x.
Version 4.0.1-incubating
------------------------
This is a bugfix release for Apache CloudStack 4.0.0-incubating, with no new features.
Security Fixes:
* CVE-2012-5616: Local Information Disclosure Vulnerability (See CLOUDSTACK-505)
Bugs fixed in this release:
* CLOUDSTACK-359: PropagateResourceEventCommand fails in cluster configuration
* CLOUDSTACK-374: When running cloud-setup-databases, it auto chooses the highest priority nic (lowest number ie: eth0)
* CLOUDSTACK-389: Install Guide: Section 4.5.5 (Prepare NFS Shares): Confusing statement about iSCSI
* CLOUDSTACK-395: Primary Storage and Secondary Storage sections missing sub-sections
* CLOUDSTACK-411: Add another step during kvm agent installation on Ubuntu machine
* CLOUDSTACK-415: restartNetwork call causes VM to be unreachable when Nicira based SDN is used.
* CLOUDSTACK-422: XSL files missing license header.
* CLOUDSTACK-426: SetVPCStaticNatRules unimplemented for KVM.
* CLOUDSTACK-448: SSVM bootstrap failure on XenServer hosts with E3 CPU.
* CLOUDSTACK-465: French language file quotes are dropping javascript syntax errors.
* CLOUDSTACK-473: API Doc for uploadCustomCertificate doesn't explain how to use the optional parameters well.
* CLOUDSTACK-480: Installation Documentation error: Section 4.5.5.2 needs to mention nfs-kernel-server.
* CLOUDSTACK-481: Installation Guide Doc Error
* CLOUDSTACK-498: Missing dependency in RPM of KVM Agent.
* CLOUDSTACK-502: VPC router needs to resolve its hostname.
* CLOUDSTACK-505: cloudstack logs the private key in plaintext.
* CLOUDSTACK-507: fix api docs for listSSHKeyPairs.
* CLOUDSTACK-515: NVP installation.
* CLOUDSTACK-536: remove citrix cloudpatform from 4.0 build - CloudStack is ASF project.
* CLOUDSTACK-560: Usage server doesn't work in 4.0.0 due to missing db changes.
* CLOUDSTACK-580: Packages are named with 4.0 with 4.0.1 build.
* CLOUDSTACK-591: Wrong vnet in iptables on KVM hypervisors after VM reboot.
* CLOUDSTACK-595: Recreate root volume scenarios doesn't work in VMware
* CLOUDSTACK-603: Upgrade from 4.0 to 4.0.1 is not enabled.
* CLOUDSTACK-605: Host physical CPU is incorrectly calculated for VMware host
* CLOUDSTACK-622: In the add primary storage dialog in the ui the RBD fields don't disappear when changing from RBD to another protocol.
* CLOUDSTACK-683: Image is missing in the Accessing VM Section
* CLOUDSTACK-685: CloudStack 4.0 Network Usage is ZERO
* CLOUDSTACK-938: s2s VPN trouble
* CLOUDSTACK-961: Installation docs don't detail dependencies for building RPMs
* CLOUDSTACK-995: Not able to add the KVM host
Version 4.0.0-incubating
------------------------
@ -34,4 +414,3 @@ New Features:
Security Fixes:
* CVE-2012-4501: Apache CloudStack configuration vulnerability

View File

@ -1,8 +1,8 @@
Apache CloudStack (Incubating) Version 4.0.0
Apache CloudStack Version 4.2.0
# About Apache CloudStack (Incubating)
# About Apache CloudStack
Apache CloudStack (Incubating) is software designed to deploy
Apache CloudStack is software designed to deploy
and manage large networks of virtual machines, as a highly
available, highly scalable Infrastructure as a Service (IaaS)
cloud computing platform. CloudStack is used by a number of

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,39 @@
// 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;
import java.util.List;
import com.cloud.agent.api.to.VolumeTO;
public class MigrateWithStorageAnswer extends Answer {
List<VolumeTO> volumeTos;
public MigrateWithStorageAnswer(MigrateWithStorageCommand cmd, Exception ex) {
super(cmd, ex);
volumeTos = null;
}
public MigrateWithStorageAnswer(MigrateWithStorageCommand cmd, List<VolumeTO> volumeTos) {
super(cmd, true, null);
this.volumeTos = volumeTos;
}
public List<VolumeTO> getVolumeTos() {
return volumeTos;
}
}

View File

@ -0,0 +1,45 @@
// 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;
import java.util.Map;
import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.agent.api.to.StorageFilerTO;
public class MigrateWithStorageCommand extends Command {
VirtualMachineTO vm;
Map<VolumeTO, StorageFilerTO> volumeToFiler;
public MigrateWithStorageCommand(VirtualMachineTO vm, Map<VolumeTO, StorageFilerTO> volumeToFiler) {
this.vm = vm;
this.volumeToFiler = volumeToFiler;
}
public VirtualMachineTO getVirtualMachine() {
return vm;
}
public Map<VolumeTO, StorageFilerTO> getVolumeToFiler() {
return volumeToFiler;
}
@Override
public boolean executeInSequence() {
return true;
}
}

View File

@ -0,0 +1,38 @@
// 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;
import java.util.List;
import com.cloud.agent.api.to.VolumeTO;
public class MigrateWithStorageCompleteAnswer extends Answer {
List<VolumeTO> volumeTos;
public MigrateWithStorageCompleteAnswer(MigrateWithStorageCompleteCommand cmd, Exception ex) {
super(cmd, ex);
volumeTos = null;
}
public MigrateWithStorageCompleteAnswer(MigrateWithStorageCompleteCommand cmd, List<VolumeTO> volumeTos) {
super(cmd, true, null);
this.volumeTos = volumeTos;
}
public List<VolumeTO> getVolumeTos() {
return volumeTos;
}
}

View File

@ -0,0 +1,36 @@
// 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;
import com.cloud.agent.api.to.VirtualMachineTO;
public class MigrateWithStorageCompleteCommand extends Command {
VirtualMachineTO vm;
public MigrateWithStorageCompleteCommand(VirtualMachineTO vm) {
this.vm = vm;
}
public VirtualMachineTO getVirtualMachine() {
return vm;
}
@Override
public boolean executeInSequence() {
return false;
}
}

View File

@ -0,0 +1,55 @@
// 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;
import java.util.Map;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.agent.api.to.NicTO;
public class MigrateWithStorageReceiveAnswer extends Answer {
Map<VolumeTO, Object> volumeToSr;
Map<NicTO, Object> nicToNetwork;
Map<String, String> token;
public MigrateWithStorageReceiveAnswer(MigrateWithStorageReceiveCommand cmd, Exception ex) {
super(cmd, ex);
volumeToSr = null;
nicToNetwork = null;
token = null;
}
public MigrateWithStorageReceiveAnswer(MigrateWithStorageReceiveCommand cmd, Map<VolumeTO, Object> volumeToSr,
Map<NicTO, Object> nicToNetwork, Map<String, String> token) {
super(cmd, true, null);
this.volumeToSr = volumeToSr;
this.nicToNetwork = nicToNetwork;
this.token = token;
}
public Map<VolumeTO, Object> getVolumeToSr() {
return volumeToSr;
}
public Map<NicTO, Object> getNicToNetwork() {
return nicToNetwork;
}
public Map<String, String> getToken() {
return token;
}
}

View File

@ -0,0 +1,45 @@
// 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;
import java.util.Map;
import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.agent.api.to.StorageFilerTO;
public class MigrateWithStorageReceiveCommand extends Command {
VirtualMachineTO vm;
Map<VolumeTO, StorageFilerTO> volumeToFiler;
public MigrateWithStorageReceiveCommand(VirtualMachineTO vm, Map<VolumeTO, StorageFilerTO> volumeToFiler) {
this.vm = vm;
this.volumeToFiler = volumeToFiler;
}
public VirtualMachineTO getVirtualMachine() {
return vm;
}
public Map<VolumeTO, StorageFilerTO> getVolumeToFiler() {
return volumeToFiler;
}
@Override
public boolean executeInSequence() {
return true;
}
}

View File

@ -0,0 +1,39 @@
// 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;
import java.util.Set;
import com.cloud.agent.api.to.VolumeTO;
public class MigrateWithStorageSendAnswer extends Answer {
Set<VolumeTO> volumeToSet;
public MigrateWithStorageSendAnswer(MigrateWithStorageSendCommand cmd, Exception ex) {
super(cmd, ex);
volumeToSet = null;
}
public MigrateWithStorageSendAnswer(MigrateWithStorageSendCommand cmd, Set<VolumeTO> volumeToSet) {
super(cmd, true, null);
this.volumeToSet = volumeToSet;
}
public Set<VolumeTO> getVolumeToSet() {
return volumeToSet;
}
}

View File

@ -0,0 +1,58 @@
// 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;
import java.util.Map;
import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.agent.api.to.NicTO;
public class MigrateWithStorageSendCommand extends Command {
VirtualMachineTO vm;
Map<VolumeTO, Object> volumeToSr;
Map<NicTO, Object> nicToNetwork;
Map<String, String> token;
public MigrateWithStorageSendCommand(VirtualMachineTO vm, Map<VolumeTO, Object> volumeToSr,
Map<NicTO, Object> nicToNetwork, Map<String, String> token) {
this.vm = vm;
this.volumeToSr = volumeToSr;
this.nicToNetwork = nicToNetwork;
this.token = token;
}
public VirtualMachineTO getVirtualMachine() {
return vm;
}
public Map<VolumeTO, Object> getVolumeToSr() {
return volumeToSr;
}
public Map<NicTO, Object> getNicToNetwork() {
return nicToNetwork;
}
public Map<String, String> getToken() {
return token;
}
@Override
public boolean executeInSequence() {
return true;
}
}

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

@ -0,0 +1,38 @@
// 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.storage;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
public class MigrateVolumeAnswer extends Answer {
private String volumePath;
public MigrateVolumeAnswer(Command command, boolean success, String details, String volumePath) {
super(command, success, details);
this.volumePath = volumePath;
}
public MigrateVolumeAnswer(Command command) {
super(command);
this.volumePath = null;
}
public String getVolumePath() {
return volumePath;
}
}

View File

@ -0,0 +1,51 @@
// 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.storage;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
public class MigrateVolumeCommand extends Command {
long volumeId;
String volumePath;
StorageFilerTO pool;
public MigrateVolumeCommand(long volumeId, String volumePath, StoragePool pool) {
this.volumeId = volumeId;
this.volumePath = volumePath;
this.pool = new StorageFilerTO(pool);
}
@Override
public boolean executeInSequence() {
return true;
}
public String getVolumePath() {
return volumePath;
}
public long getVolumeId() {
return volumeId;
}
public StorageFilerTO getPool() {
return pool;
}
}

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

@ -52,4 +52,6 @@ public interface HypervisorCapabilities extends Identity, InternalIdentity{
*/
Integer getMaxHostsPerCluster();
boolean isStorageMotionSupported();
}

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

@ -78,16 +78,7 @@ public interface IpAddress extends ControlledEntity, Identity, InternalIdentity
boolean getSystem();
/**
* @return
*/
Long getVpcId();
/**
* @param vpcId
*/
void setVpcId(Long vpcId);
String getVmIp();
void setVmIp(String vmIp);
}

View File

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

View File

@ -79,7 +79,7 @@ public interface NetworkService {
Long startIndex, Long pageSize, String name);
PhysicalNetwork updatePhysicalNetwork(Long id, String networkSpeed, List<String> tags,
String newVnetRangeString, String state);
String newVnetRangeString, String state, String removeVlan);
boolean deletePhysicalNetwork(Long id);
@ -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

@ -18,6 +18,7 @@ package com.cloud.network;
import java.util.List;
import com.cloud.utils.Pair;
import org.apache.cloudstack.api.Identity;
import org.apache.cloudstack.api.InternalIdentity;
@ -59,7 +60,9 @@ public interface PhysicalNetwork extends Identity, InternalIdentity {
Long getDomainId();
String getVnet();
List<Pair<Integer,Integer>> getVnet();
String getVnetString();
String getSpeed();

View File

@ -30,7 +30,4 @@ public interface PublicIpAddress extends ControlledEntity, IpAddress, Vlan, Inte
public String getNetmask();
public String getGateway();
@Override
public String getVlanTag();
}

View File

@ -28,7 +28,11 @@ import com.cloud.utils.component.Adapter;
public interface IpDeployer extends Adapter{
/**
* Apply ip addresses to this network
* Modify ip addresses on this network
* Depending on the State of the ip addresses the element should take
* appropriate action.
* If state is Releasing the ip address should be de-allocated
* If state is Allocating or Allocated the ip address should be provisioned
* @param network
* @param ipAddress
* @return

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

@ -75,9 +75,11 @@ import com.cloud.network.IpAddress;
import com.cloud.org.Cluster;
import com.cloud.storage.GuestOS;
import com.cloud.storage.GuestOsCategory;
import com.cloud.storage.StoragePool;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.SSHKeyPair;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
import com.cloud.vm.InstanceGroup;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.Type;
@ -388,10 +390,21 @@ public interface ManagementService {
* @param Long
* vmId
* Id of The VM to migrate
* @return Pair<List<? extends Host>, List<? extends Host>> List of all Hosts in VM's cluster and list of Hosts with
* enough capacity
* @return Ternary<List<? extends Host>, List<? extends Host>, Map<Host, Boolean>> List of all Hosts to which a VM
* can be migrated, list of Hosts with enough capacity and hosts requiring storage motion for migration.
*/
Pair<Pair<List<? extends Host>, Integer>, List<? extends Host>> listHostsForMigrationOfVM(Long vmId, Long startIndex, Long pageSize);
Ternary<Pair<List<? extends Host>, Integer>, List<? extends Host>, Map<Host, Boolean>> listHostsForMigrationOfVM(
Long vmId, Long startIndex, Long pageSize);
/**
* List storage pools for live migrating of a volume. The API returns list of all pools in the cluster to which the
* volume can be migrated. Current pool is not included in the list.
*
* @param Long volumeId
* @return Pair<List<? extends StoragePool>, List<? extends StoragePool>> List of storage pools in cluster and list
* of pools with enough capacity.
*/
Pair<List<? extends StoragePool>, List<? extends StoragePool>> listStoragePoolsForMigrationOfVolume(Long volumeId);
String[] listEventTypes();
@ -407,6 +420,4 @@ public interface ManagementService {
*/
List<? extends Capacity> listTopConsumedResources(ListCapacityCmd cmd);
List<String> listDeploymentPlanners();
}

View File

@ -22,6 +22,7 @@ import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.api.Identity;
import org.apache.cloudstack.api.InternalIdentity;
public interface Account extends ControlledEntity, InternalIdentity, Identity {
public enum Type {
Normal,
@ -64,4 +65,7 @@ public interface Account extends ControlledEntity, InternalIdentity, Identity {
public Long getDefaultZoneId();
public String getUuid();
boolean isDefault();
}

View File

@ -72,5 +72,7 @@ public interface User extends OwnedBy, InternalIdentity {
String getRegistrationToken();
boolean isRegistered();
boolean isDefault();
}

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;
/**
@ -405,11 +418,38 @@ public interface UserVmService {
*/
VirtualMachine migrateVirtualMachine(Long vmId, Host destinationHost) throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException;
/**
* Migrate the given VM with its volumes to the destination host. The API returns the migrated VM if it succeeds.
* Only root admin can migrate a VM.
*
* @param destinationStorage
* TODO
* @param Long
* vmId of The VM to migrate
* @param Host
* destinationHost to migrate the VM
* @param Map
* A map of volume to which pool it should be migrated
*
* @return VirtualMachine migrated VM
* @throws ManagementServerException
* in case we get error finding the VM or host or access errors or other internal errors.
* @throws ConcurrentOperationException
* if there are multiple users working on the same VM.
* @throws ResourceUnavailableException
* if the destination host to migrate the VM is not currently available.
* @throws VirtualMachineMigrationException
* if the VM to be migrated is not in Running state
*/
VirtualMachine migrateVirtualMachineWithVolume(Long vmId, Host destinationHost, Map<String, String> volumeToPool)
throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException,
VirtualMachineMigrationException;
UserVm moveVMToUser(AssignVMCmd moveUserVMCmd) throws ResourceAllocationException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException;
VirtualMachine vmStorageMigration(Long vmId, StoragePool destPool);
UserVm restoreVM(RestoreVMCmd cmd);
UserVm restoreVM(RestoreVMCmd cmd) throws InsufficientCapacityException, ResourceUnavailableException;
UserVm upgradeVirtualMachine(ScaleVMCmd scaleVMCmd) throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException;

View File

@ -64,7 +64,6 @@ public class AffinityGroupResponse extends BaseResponse implements ControlledVie
private List<String> vmIdList;
public AffinityGroupResponse() {
this.vmIdList = new ArrayList<String>();
}
@Override
@ -149,6 +148,10 @@ public class AffinityGroupResponse extends BaseResponse implements ControlledVie
}
public void addVMId(String vmId) {
if (this.vmIdList == null) {
this.vmIdList = new ArrayList<String>();
}
this.vmIdList.add(vmId);
}

View File

@ -221,6 +221,7 @@ public class ApiConstants {
public static final String VIRTUAL_MACHINE_ID = "virtualmachineid";
public static final String VIRTUAL_MACHINE_IDS = "virtualmachineids";
public static final String VLAN = "vlan";
public static final String REMOVE_VLAN="removevlan";
public static final String VLAN_ID = "vlanid";
public static final String VM_AVAILABLE = "vmavailable";
public static final String VM_LIMIT = "vmlimit";
@ -230,6 +231,7 @@ public class ApiConstants {
public static final String VOLUME_ID = "volumeid";
public static final String ZONE_ID = "zoneid";
public static final String ZONE_NAME = "zonename";
public static final String ZONE_TYPE = "zonetype";
public static final String NETWORK_TYPE = "networktype";
public static final String PAGE = "page";
public static final String PAGE_SIZE = "pagesize";
@ -333,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";
@ -364,6 +367,8 @@ public class ApiConstants {
public static final String HA_HOST = "hahost";
public static final String CUSTOM_DISK_OFF_MAX_SIZE = "customdiskofferingmaxsize";
public static final String DEFAULT_ZONE_ID = "defaultzoneid";
public static final String LIVE_MIGRATE = "livemigrate";
public static final String MIGRATE_TO = "migrateto";
public static final String GUID = "guid";
public static final String VSWITCH_TYPE_GUEST_TRAFFIC = "guestvswitchtype";
public static final String VSWITCH_TYPE_PUBLIC_TRAFFIC = "publicvswitchtype";
@ -475,8 +480,8 @@ public class ApiConstants {
public static final String HEALTHCHECK_PINGPATH = "pingpath";
public static final String AFFINITY_GROUP_IDS = "affinitygroupids";
public static final String AFFINITY_GROUP_NAMES = "affinitygroupnames";
public static final String DEPLOYMENT_PLANNER = "deploymentplanner";
public static final String ASA_INSIDE_PORT_PROFILE = "insideportprofile";
public static final String AFFINITY_GROUP_ID = "affinitygroupid";
public enum HostDetails {
all, capacity, events, stats, min;

View File

@ -95,6 +95,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;
@ -140,6 +145,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

@ -20,6 +20,7 @@ import java.text.DecimalFormat;
import java.util.EnumSet;
import java.util.List;
import com.cloud.vm.NicSecondaryIp;
import org.apache.cloudstack.affinity.AffinityGroup;
import org.apache.cloudstack.affinity.AffinityGroupResponse;
import org.apache.cloudstack.api.ApiConstants.HostDetails;
@ -189,6 +190,10 @@ public interface ResponseGenerator {
HostResponse createHostResponse(Host host);
HostForMigrationResponse createHostForMigrationResponse(Host host);
HostForMigrationResponse createHostForMigrationResponse(Host host, EnumSet<HostDetails> details);
VlanIpRangeResponse createVlanIpRangeResponse(Vlan vlan);
IPAddressResponse createIPAddressResponse(IpAddress ipAddress);
@ -216,6 +221,8 @@ public interface ResponseGenerator {
StoragePoolResponse createStoragePoolResponse(StoragePool pool);
StoragePoolForMigrationResponse createStoragePoolForMigrationResponse(StoragePool pool);
ClusterResponse createClusterResponse(Cluster cluster, Boolean showCapacities);
FirewallRuleResponse createPortForwardingRuleResponse(PortForwardingRule fwRule);
@ -383,8 +390,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);
AffinityGroupResponse createAffinityGroupResponse(AffinityGroup group);

View File

@ -16,9 +16,9 @@
// under the License.
package org.apache.cloudstack.api.command.admin.account;
import java.util.Collection;
import java.util.Map;
import com.cloud.user.Account;
import com.cloud.user.UserAccount;
import com.cloud.user.UserContext;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
@ -27,14 +27,12 @@ import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.AccountResponse;
import org.apache.cloudstack.api.response.DomainResponse;
import org.apache.cloudstack.api.response.UserResponse;
import org.apache.log4j.Logger;
import com.cloud.user.Account;
import com.cloud.user.UserAccount;
import com.cloud.user.UserContext;
import java.util.Collection;
import java.util.Map;
@APICommand(name = "createAccount", description="Creates an account", responseObject=UserResponse.class)
@APICommand(name = "createAccount", description="Creates an account", responseObject=AccountResponse.class)
public class CreateAccountCmd extends BaseCmd {
public static final Logger s_logger = Logger.getLogger(CreateAccountCmd.class.getName());

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

@ -23,8 +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.response.ConfigurationResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.api.response.*;
import org.apache.log4j.Logger;
import com.cloud.configuration.Configuration;
@ -46,6 +45,19 @@ public class ListCfgsByCmd extends BaseListCmd {
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "lists configuration by name")
private String configName;
@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.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 ///////////////////////
// ///////////////////////////////////////////////////
@ -58,6 +70,22 @@ public class ListCfgsByCmd extends BaseListCmd {
return configName;
}
public Long getZoneId() {
return zone_id;
}
public Long getClusterId() {
return cluster_id;
}
public Long getStoragepoolId() {
return storagepool_id;
}
public Long getAccountId() {
return account_id;
}
@Override
public Long getPageSizeVal() {
Long pageSizeVal = 500L;
@ -85,6 +113,18 @@ public class ListCfgsByCmd extends BaseListCmd {
for (Configuration cfg : result.first()) {
ConfigurationResponse cfgResponse = _responseGenerator.createConfigurationResponse(cfg);
cfgResponse.setObjectName("configuration");
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

@ -1,71 +0,0 @@
// 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 org.apache.cloudstack.api.command.admin.config;
import java.util.ArrayList;
import java.util.List;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.response.DeploymentPlannersResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.log4j.Logger;
@APICommand(name = "listDeploymentPlanners", description = "Lists all DeploymentPlanners available.", responseObject = DeploymentPlannersResponse.class)
public class ListDeploymentPlannersCmd extends BaseListCmd {
public static final Logger s_logger = Logger.getLogger(ListDeploymentPlannersCmd.class.getName());
private static final String s_name = "listdeploymentplannersresponse";
/////////////////////////////////////////////////////
//////////////// API parameters /////////////////////
/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getCommandName() {
return s_name;
}
@Override
public void execute(){
List<String> planners = _mgr.listDeploymentPlanners();
ListResponse<DeploymentPlannersResponse> response = new ListResponse<DeploymentPlannersResponse>();
List<DeploymentPlannersResponse> plannerResponses = new ArrayList<DeploymentPlannersResponse>();
for (String planner : planners) {
DeploymentPlannersResponse plannerResponse = new DeploymentPlannersResponse();
plannerResponse.setName(planner);
plannerResponse.setObjectName("deploymentPlanner");
plannerResponses.add(plannerResponse);
}
response.setResponses(plannerResponses);
response.setResponseName(getCommandName());
this.setResponseObject(response);
}
}

View File

@ -22,7 +22,7 @@ import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.ConfigurationResponse;
import org.apache.cloudstack.api.response.*;
import org.apache.log4j.Logger;
import com.cloud.configuration.Configuration;
@ -43,6 +43,18 @@ 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.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.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 ///////////////////////
/////////////////////////////////////////////////////
@ -55,6 +67,22 @@ public class UpdateCfgCmd extends BaseCmd {
return value;
}
public Long getZoneId() {
return zone_id;
}
public Long getClusterId() {
return cluster_id;
}
public Long getStoragepoolId() {
return storagepool_id;
}
public Long getAccountId() {
return account_id;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@ -75,6 +103,19 @@ public class UpdateCfgCmd extends BaseCmd {
if (cfg != null) {
ConfigurationResponse response = _responseGenerator.createConfigurationResponse(cfg);
response.setResponseName(getCommandName());
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

@ -0,0 +1,107 @@
// 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 org.apache.cloudstack.api.command.admin.host;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.cloudstack.api.APICommand;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.response.HostForMigrationResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import com.cloud.host.Host;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
@APICommand(name = "findHostsForMigration", description="Find hosts suitable for migrating a virtual machine.",
responseObject=HostForMigrationResponse.class)
public class FindHostsForMigrationCmd extends BaseListCmd {
public static final Logger s_logger = Logger.getLogger(FindHostsForMigrationCmd.class.getName());
private static final String s_name = "findhostsformigrationresponse";
/////////////////////////////////////////////////////
//////////////// API parameters /////////////////////
/////////////////////////////////////////////////////
@Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType = UserVmResponse.class,
required=false, description="find hosts to which this VM can be migrated and flag the hosts with enough " +
"CPU/RAM to host the VM")
private Long virtualMachineId;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
public Long getVirtualMachineId() {
return virtualMachineId;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getCommandName() {
return s_name;
}
@Override
public void execute() {
ListResponse<HostForMigrationResponse> response = null;
Pair<List<? extends Host>,Integer> result;
List<? extends Host> hostsWithCapacity = new ArrayList<Host>();
Map<Host, Boolean> hostsRequiringStorageMotion;
Ternary<Pair<List<? extends Host>,Integer>, List<? extends Host>, Map<Host, Boolean>> hostsForMigration =
_mgr.listHostsForMigrationOfVM(getVirtualMachineId(), this.getStartIndex(), this.getPageSizeVal());
result = hostsForMigration.first();
hostsWithCapacity = hostsForMigration.second();
hostsRequiringStorageMotion = hostsForMigration.third();
response = new ListResponse<HostForMigrationResponse>();
List<HostForMigrationResponse> hostResponses = new ArrayList<HostForMigrationResponse>();
for (Host host : result.first()) {
HostForMigrationResponse hostResponse = _responseGenerator.createHostForMigrationResponse(host);
Boolean suitableForMigration = false;
if (hostsWithCapacity.contains(host)) {
suitableForMigration = true;
}
hostResponse.setSuitableForMigration(suitableForMigration);
Boolean requiresStorageMotion = hostsRequiringStorageMotion.get(host);
if (requiresStorageMotion != null && requiresStorageMotion) {
hostResponse.setRequiresStorageMotion(true);
} else {
hostResponse.setRequiresStorageMotion(false);
}
hostResponse.setObjectName("host");
hostResponses.add(hostResponse);
}
response.setResponses(hostResponses, result.second());
response.setResponseName(getCommandName());
this.setResponseObject(response);
}
}

View File

@ -19,6 +19,7 @@ package org.apache.cloudstack.api.command.admin.host;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
@ -37,6 +38,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.host.Host;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
@APICommand(name = "listHosts", description="Lists hosts.", responseObject=HostResponse.class)
public class ListHostsCmd extends BaseListCmd {
@ -73,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;
@ -122,6 +127,10 @@ public class ListHostsCmd extends BaseListCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Long getVirtualMachineId() {
return virtualMachineId;
}
@ -170,8 +179,8 @@ public class ListHostsCmd extends BaseListCmd {
} else {
Pair<List<? extends Host>,Integer> result;
List<? extends Host> hostsWithCapacity = new ArrayList<Host>();
Pair<Pair<List<? extends Host>,Integer>, List<? extends Host>> hostsForMigration = _mgr.listHostsForMigrationOfVM(getVirtualMachineId(), this.getStartIndex(), this.getPageSizeVal());
Ternary<Pair<List<? extends Host>,Integer>, List<? extends Host>, Map<Host, Boolean>> hostsForMigration =
_mgr.listHostsForMigrationOfVM(getVirtualMachineId(), this.getStartIndex(), this.getPageSizeVal());
result = hostsForMigration.first();
hostsWithCapacity = hostsForMigration.second();
@ -192,6 +201,5 @@ public class ListHostsCmd extends BaseListCmd {
}
response.setResponseName(getCommandName());
this.setResponseObject(response);
}
}

View File

@ -54,6 +54,8 @@ public class UpdatePhysicalNetworkCmd extends BaseAsyncCmd {
@Parameter(name=ApiConstants.VLAN, type=CommandType.STRING, description="the VLAN for the physical network")
private String vlan;
@Parameter(name=ApiConstants.REMOVE_VLAN, type = CommandType.STRING, description ="The vlan range we want to remove")
private String removevlan;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
@ -79,6 +81,10 @@ public class UpdatePhysicalNetworkCmd extends BaseAsyncCmd {
return vlan;
}
public String getRemoveVlan(){
return removevlan;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@ -95,7 +101,7 @@ public class UpdatePhysicalNetworkCmd extends BaseAsyncCmd {
@Override
public void execute(){
PhysicalNetwork result = _networkService.updatePhysicalNetwork(getId(),getNetworkSpeed(), getTags(), getVlan(), getState());
PhysicalNetwork result = _networkService.updatePhysicalNetwork(getId(),getNetworkSpeed(), getTags(), getVlan(), getState(), getRemoveVlan());
PhysicalNetworkResponse response = _responseGenerator.createPhysicalNetworkResponse(result);
response.setResponseName(getCommandName());
this.setResponseObject(response);

View File

@ -84,9 +84,6 @@ public class CreateServiceOfferingCmd extends BaseCmd {
@Parameter(name=ApiConstants.NETWORKRATE, type=CommandType.INTEGER, description="data transfer rate in megabits per second allowed. Supported only for non-System offering and system offerings having \"domainrouter\" systemvmtype")
private Integer networkRate;
@Parameter(name = ApiConstants.DEPLOYMENT_PLANNER, type = CommandType.STRING, description = "The deployment planner heuristics used to deploy a VM of this offering, default \"FirstFitPlanner\".")
private String deploymentPlanner;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -151,9 +148,6 @@ public class CreateServiceOfferingCmd extends BaseCmd {
return networkRate;
}
public String getDeploymentPlanner() {
return deploymentPlanner;
}
/////////////////////////////////////////////////////
/////////////// 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

@ -64,6 +64,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;
@ -103,6 +106,10 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Long getNetworkId() {
return networkId;
}

View File

@ -0,0 +1,98 @@
// 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 org.apache.cloudstack.api.command.admin.storage;
import java.util.ArrayList;
import java.util.List;
import org.apache.cloudstack.api.APICommand;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.api.response.StoragePoolForMigrationResponse;
import org.apache.cloudstack.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.StoragePool;
import com.cloud.utils.Pair;
@APICommand(name = "findStoragePoolsForMigration", description="Lists storage pools available for migration of a volume.",
responseObject=StoragePoolForMigrationResponse.class)
public class FindStoragePoolsForMigrationCmd extends BaseListCmd {
public static final Logger s_logger = Logger.getLogger(FindStoragePoolsForMigrationCmd.class.getName());
private static final String s_name = "findstoragepoolsformigrationresponse";
/////////////////////////////////////////////////////
//////////////// API parameters /////////////////////
/////////////////////////////////////////////////////
@Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType = VolumeResponse.class, required=true,
description="the ID of the volume")
private Long id;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
public Long getId() {
return id;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getCommandName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.StoragePool;
}
@Override
public void execute() {
Pair<List<? extends StoragePool>, List<? extends StoragePool>> pools =
_mgr.listStoragePoolsForMigrationOfVolume(getId());
ListResponse<StoragePoolForMigrationResponse> response = new ListResponse<StoragePoolForMigrationResponse>();
List<StoragePoolForMigrationResponse> poolResponses = new ArrayList<StoragePoolForMigrationResponse>();
List<? extends StoragePool> allPools = pools.first();
List<? extends StoragePool> suitablePoolList = pools.second();
for (StoragePool pool : allPools) {
StoragePoolForMigrationResponse poolResponse = _responseGenerator.createStoragePoolForMigrationResponse(pool);
Boolean suitableForMigration = false;
for (StoragePool suitablePool : suitablePoolList) {
if (suitablePool.getId() == pool.getId()) {
suitableForMigration = true;
break;
}
}
poolResponse.setSuitableForMigration(suitableForMigration);
poolResponse.setObjectName("storagepool");
poolResponses.add(poolResponse);
}
response.setResponses(poolResponses);
response.setResponseName(getCommandName());
this.setResponseObject(response);
}
}

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

@ -58,7 +58,7 @@ public class MigrateVMCmd extends BaseAsyncCmd {
required=true, description="the ID of the virtual machine")
private Long virtualMachineId;
@Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.LONG, entityType=StoragePoolResponse.class,
@Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.UUID, entityType=StoragePoolResponse.class,
required=false, description="Destination storage pool ID to migrate VM volumes to. Required for migrating the root disk volume")
private Long storageId;

View File

@ -0,0 +1,160 @@
// 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 org.apache.cloudstack.api.command.admin.vm;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.cloudstack.api.*;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.BaseCmd.CommandType;
import org.apache.cloudstack.api.response.HostResponse;
import org.apache.cloudstack.api.response.StoragePoolResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.ManagementServerException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.exception.VirtualMachineMigrationException;
import com.cloud.host.Host;
import com.cloud.storage.StoragePool;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
import com.cloud.vm.VirtualMachine;
@APICommand(name = "migrateVirtualMachineWithVolume", description="Attempts Migration of a VM with its volumes to a different host", responseObject=UserVmResponse.class)
public class MigrateVirtualMachineWithVolumeCmd extends BaseAsyncCmd {
public static final Logger s_logger = Logger.getLogger(MigrateVMCmd.class.getName());
private static final String s_name = "migratevirtualmachinewithvolumeresponse";
/////////////////////////////////////////////////////
//////////////// API parameters /////////////////////
/////////////////////////////////////////////////////
@Parameter(name=ApiConstants.HOST_ID, type=CommandType.UUID, entityType=HostResponse.class,
required=true, description="Destination Host ID to migrate VM to.")
private Long hostId;
@Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType=UserVmResponse.class,
required=true, description="the ID of the virtual machine")
private Long virtualMachineId;
@Parameter(name = ApiConstants.MIGRATE_TO, type = CommandType.MAP, required=false,
description = "Map of pool to which each volume should be migrated (volume/pool pair)")
private Map migrateVolumeTo;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
public Long getHostId() {
return hostId;
}
public Long getVirtualMachineId() {
return virtualMachineId;
}
public Map<String, String> getVolumeToPool() {
Map<String, String> volumeToPoolMap = new HashMap<String, String>();
if (migrateVolumeTo != null && !migrateVolumeTo.isEmpty()) {
Collection<?> allValues = migrateVolumeTo.values();
Iterator<?> iter = allValues.iterator();
while (iter.hasNext()) {
HashMap<String, String> volumeToPool = (HashMap<String, String>) iter.next();
String volume = volumeToPool.get("volume");
String pool = volumeToPool.get("pool");
volumeToPoolMap.put(volume, pool);
}
}
return volumeToPoolMap;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getCommandName() {
return s_name;
}
@Override
public long getEntityOwnerId() {
UserVm userVm = _entityMgr.findById(UserVm.class, getVirtualMachineId());
if (userVm != null) {
return userVm.getAccountId();
}
return Account.ACCOUNT_ID_SYSTEM;
}
@Override
public String getEventType() {
return EventTypes.EVENT_VM_MIGRATE;
}
@Override
public String getEventDescription() {
return "Attempting to migrate VM Id: " + getVirtualMachineId() + " to host Id: "+ getHostId();
}
@Override
public void execute(){
UserVm userVm = _userVmService.getUserVm(getVirtualMachineId());
if (userVm == null) {
throw new InvalidParameterValueException("Unable to find the VM by id=" + getVirtualMachineId());
}
Host destinationHost = _resourceService.getHost(getHostId());
if (destinationHost == null) {
throw new InvalidParameterValueException("Unable to find the host to migrate the VM, host id =" + getHostId());
}
try{
VirtualMachine migratedVm = _userVmService.migrateVirtualMachineWithVolume(getVirtualMachineId(),
destinationHost, getVolumeToPool());
if (migratedVm != null) {
UserVmResponse response = _responseGenerator.createUserVmResponse("virtualmachine", (UserVm)migratedVm).get(0);
response.setResponseName(getCommandName());
this.setResponseObject(response);
} else {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to migrate vm");
}
} catch (ResourceUnavailableException ex) {
s_logger.warn("Exception: ", ex);
throw new ServerApiException(ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage());
} catch (ConcurrentOperationException e) {
s_logger.warn("Exception: ", e);
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
} catch (ManagementServerException e) {
s_logger.warn("Exception: ", e);
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
} catch (VirtualMachineMigrationException e) {
s_logger.warn("Exception: ", e);
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
}
}
}

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

@ -35,7 +35,7 @@ import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.server.ResourceTag;
import com.cloud.server.ResourceTag.TaggedResourceType;
@APICommand(name = "createTags", description = "Creates resource tag(s)", responseObject = SuccessResponse.class, since = "Burbank")
@APICommand(name = "createTags", description = "Creates resource tag(s)", responseObject = SuccessResponse.class, since = "4.0.0")
public class CreateTagsCmd extends BaseAsyncCmd{
public static final Logger s_logger = Logger.getLogger(CreateTagsCmd.class.getName());

View File

@ -34,7 +34,7 @@ import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.server.ResourceTag.TaggedResourceType;
@APICommand(name = "deleteTags", description = "Deleting resource tag(s)", responseObject = SuccessResponse.class, since = "Burbank")
@APICommand(name = "deleteTags", description = "Deleting resource tag(s)", responseObject = SuccessResponse.class, since = "4.0.0")
public class DeleteTagsCmd extends BaseAsyncCmd{
public static final Logger s_logger = Logger.getLogger(DeleteTagsCmd.class.getName());

View File

@ -24,7 +24,7 @@ import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.api.response.ResourceTagResponse;
@APICommand(name = "listTags", description = "List resource tag(s)", responseObject = ResourceTagResponse.class, since = "Burbank")
@APICommand(name = "listTags", description = "List resource tag(s)", responseObject = ResourceTagResponse.class, since = "4.0.0")
public class ListTagsCmd extends BaseListProjectAndAccountResourcesCmd{
private static final String s_name = "listtagsresponse";

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")
@ -230,7 +230,7 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
for (String groupName : securityGroupNameList) {
Long groupId = _responseGenerator.getSecurityGroupId(groupName, getEntityOwnerId());
if (groupId == null) {
throw new InvalidParameterValueException("Unable to find group by name " + groupName + " for account " + getEntityOwnerId());
throw new InvalidParameterValueException("Unable to find group by name " + groupName);
} else {
securityGroupIds.add(groupId);
}
@ -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();
}
@ -344,8 +344,7 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
for (String groupName : affinityGroupNameList) {
Long groupId = _responseGenerator.getAffinityGroupId(groupName, getEntityOwnerId());
if (groupId == null) {
throw new InvalidParameterValueException("Unable to find group by name " + groupName
+ " for account " + getEntityOwnerId());
throw new InvalidParameterValueException("Unable to find affinity group by name " + groupName);
} else {
affinityGroupIds.add(groupId);
}
@ -482,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

@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import org.apache.cloudstack.affinity.AffinityGroupResponse;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiConstants.VMDetails;
@ -74,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;
@ -95,7 +98,7 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
@Parameter(name=ApiConstants.DETAILS, type=CommandType.LIST, collectionType=CommandType.STRING,
description="comma separated list of host details requested, " +
"value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, iso, volume, min]." +
"value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, iso, volume, min, affgrp]." +
" If no parameter is passed in, the details will be defaulted to all" )
private List<String> viewDetails;
@ -110,6 +113,10 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
@Parameter(name=ApiConstants.VPC_ID, type=CommandType.UUID, entityType=VpcResponse.class,
description="list vms by vpc")
private Long vpcId;
@Parameter(name = ApiConstants.AFFINITY_GROUP_ID, type = CommandType.UUID, entityType = AffinityGroupResponse.class, description = "list vms by affinity group")
private Long affinityGroupId;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -142,6 +149,10 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Boolean getForVirtualNetwork() {
return forVirtualNetwork;
}
@ -174,6 +185,10 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
return vpcId;
}
public Long getAffinityGroupId() {
return affinityGroupId;
}
public EnumSet<VMDetails> getDetails() throws InvalidParameterValueException {
EnumSet<VMDetails> dv;
if (viewDetails==null || viewDetails.size() <=0){

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

@ -47,6 +47,10 @@ public class MigrateVolumeCmd extends BaseAsyncCmd {
required=true, description="destination storage pool ID to migrate the volume to")
private Long storageId;
@Parameter(name=ApiConstants.LIVE_MIGRATE, type=CommandType.BOOLEAN, required=false,
description="if the volume should be live migrated when it is attached to a running vm")
private Boolean liveMigrate;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -58,6 +62,10 @@ public class MigrateVolumeCmd extends BaseAsyncCmd {
public Long getStoragePoolId() {
return storageId;
}
public boolean isLiveMigrate() {
return (liveMigrate != null) ? liveMigrate : false;
}
/////////////////////////////////////////////////////
/////////////// 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

@ -183,6 +183,9 @@ public class AccountResponse extends BaseResponse {
@SerializedName(ApiConstants.ACCOUNT_DETAILS) @Param(description="details for the account")
private Map<String, String> details;
@SerializedName(ApiConstants.IS_DEFAULT) @Param(description="true if account is default, false otherwise", since="4.2.0")
private Boolean isDefault;
@Override
@ -381,4 +384,8 @@ public class AccountResponse extends BaseResponse {
public void setDefaultZone(String defaultZoneId) {
this.defaultZoneId = defaultZoneId;
}
public void setIsDefault(Boolean isDefault) {
this.isDefault = isDefault;
}
}

View File

@ -46,7 +46,10 @@ public class ClusterResponse extends BaseResponse {
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the cluster")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName("hypervisortype") @Param(description="the hypervisor type of the cluster")
private String hypervisorType;
@ -116,6 +119,10 @@ public class ClusterResponse extends BaseResponse {
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public String getClusterType() {
return clusterType;
}

View File

@ -32,9 +32,16 @@ public class ConfigurationResponse extends BaseResponse {
@SerializedName(ApiConstants.VALUE) @Param(description="the value of the configuration")
private String value;
@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;
public String getCategory() {
return category;
}
@ -66,4 +73,12 @@ public class ConfigurationResponse extends BaseResponse {
public void setDescription(String description) {
this.description = description;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
}

View File

@ -42,6 +42,9 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name for the router")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName(ApiConstants.DNS1) @Param(description="the first DNS for the router")
private String dns1;
@ -186,6 +189,14 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
this.zoneName = zoneName;
}
public String getZoneType() {
return zoneType;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setDns1(String dns1) {
this.dns1 = dns1;
}

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

@ -0,0 +1,365 @@
// 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 org.apache.cloudstack.api.response;
import java.util.Date;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.EntityReference;
import com.cloud.host.Host;
import com.cloud.host.Status;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
@EntityReference(value=Host.class)
public class HostForMigrationResponse extends BaseResponse {
@SerializedName(ApiConstants.ID) @Param(description="the ID of the host")
private String id;
@SerializedName(ApiConstants.NAME) @Param(description="the name of the host")
private String name;
@SerializedName(ApiConstants.STATE) @Param(description="the state of the host")
private Status state;
@SerializedName("disconnected") @Param(description="true if the host is disconnected. False otherwise.")
private Date disconnectedOn;
@SerializedName(ApiConstants.TYPE) @Param(description="the host type")
private Host.Type hostType;
@SerializedName("oscategoryid") @Param(description="the OS category ID of the host")
private String osCategoryId;
@SerializedName("oscategoryname") @Param(description="the OS category name of the host")
private String osCategoryName;
@SerializedName(ApiConstants.IP_ADDRESS) @Param(description="the IP address of the host")
private String ipAddress;
@SerializedName(ApiConstants.ZONE_ID) @Param(description="the Zone ID of the host")
private String zoneId;
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the host")
private String zoneName;
@SerializedName(ApiConstants.POD_ID) @Param(description="the Pod ID of the host")
private String podId;
@SerializedName("podname") @Param(description="the Pod name of the host")
private String podName;
@SerializedName("version") @Param(description="the host version")
private String version;
@SerializedName(ApiConstants.HYPERVISOR) @Param(description="the host hypervisor")
private HypervisorType hypervisor;
@SerializedName("cpunumber") @Param(description="the CPU number of the host")
private Integer cpuNumber;
@SerializedName("cpuspeed") @Param(description="the CPU speed of the host")
private Long cpuSpeed;
@SerializedName("cpuallocated") @Param(description="the amount of the host's CPU currently allocated")
private String cpuAllocated;
@SerializedName("cpuused") @Param(description="the amount of the host's CPU currently used")
private String cpuUsed;
@SerializedName("cpuwithoverprovisioning") @Param(description="the amount of the host's CPU after applying the cpu.overprovisioning.factor ")
private String cpuWithOverprovisioning;
@SerializedName("averageload") @Param(description="the cpu average load on the host")
private Long averageLoad;
@SerializedName("networkkbsread") @Param(description="the incoming network traffic on the host")
private Long networkKbsRead;
@SerializedName("networkkbswrite") @Param(description="the outgoing network traffic on the host")
private Long networkKbsWrite;
@SerializedName("memorytotal") @Param(description="the memory total of the host")
private Long memoryTotal;
@SerializedName("memoryallocated") @Param(description="the amount of the host's memory currently allocated")
private Long memoryAllocated;
@SerializedName("memoryused") @Param(description="the amount of the host's memory currently used")
private Long memoryUsed;
@SerializedName("disksizetotal") @Param(description="the total disk size of the host")
private Long diskSizeTotal;
@SerializedName("disksizeallocated") @Param(description="the host's currently allocated disk size")
private Long diskSizeAllocated;
@SerializedName("capabilities") @Param(description="capabilities of the host")
private String capabilities;
@SerializedName("lastpinged") @Param(description="the date and time the host was last pinged")
private Date lastPinged;
@SerializedName("managementserverid") @Param(description="the management server ID of the host")
private Long managementServerId;
@SerializedName("clusterid") @Param(description="the cluster ID of the host")
private String clusterId;
@SerializedName("clustername") @Param(description="the cluster name of the host")
private String clusterName;
@SerializedName("clustertype") @Param(description="the cluster type of the cluster that host belongs to")
private String clusterType;
@SerializedName("islocalstorageactive") @Param(description="true if local storage is active, false otherwise")
private Boolean localStorageActive;
@SerializedName(ApiConstants.CREATED) @Param(description="the date and time the host was created")
private Date created;
@SerializedName("removed") @Param(description="the date and time the host was removed")
private Date removed;
@SerializedName("events") @Param(description="events available for the host")
private String events;
@SerializedName("hosttags") @Param(description="comma-separated list of tags for the host")
private String hostTags;
@SerializedName("hasenoughcapacity") @Param(description="true if this host has enough CPU and RAM capacity to migrate a VM to it, false otherwise")
private Boolean hasEnoughCapacity;
@SerializedName("suitableformigration") @Param(description="true if this host is suitable(has enough capacity and satisfies all conditions like hosttags, max guests vm limit etc) to migrate a VM to it , false otherwise")
private Boolean suitableForMigration;
@SerializedName("requiresStorageMotion") @Param(description="true if migrating a vm to this host requires storage motion, false otherwise")
private Boolean requiresStorageMotion;
@SerializedName("resourcestate") @Param(description="the resource state of the host")
private String resourceState;
@SerializedName(ApiConstants.HYPERVISOR_VERSION) @Param(description="the hypervisor version")
private String hypervisorVersion;
@SerializedName(ApiConstants.HA_HOST) @Param(description="true if the host is Ha host (dedicated to vms started by HA process; false otherwise")
private Boolean haHost;
@Override
public String getObjectId() {
return this.getId();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setState(Status state) {
this.state = state;
}
public void setDisconnectedOn(Date disconnectedOn) {
this.disconnectedOn = disconnectedOn;
}
public void setHostType(Host.Type hostType) {
this.hostType = hostType;
}
public void setOsCategoryId(String osCategoryId) {
this.osCategoryId = osCategoryId;
}
public void setOsCategoryName(String osCategoryName) {
this.osCategoryName = osCategoryName;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public void setZoneId(String zoneId) {
this.zoneId = zoneId;
}
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}
public void setPodId(String podId) {
this.podId = podId;
}
public void setPodName(String podName) {
this.podName = podName;
}
public void setVersion(String version) {
this.version = version;
}
public void setHypervisor(HypervisorType hypervisor) {
this.hypervisor = hypervisor;
}
public void setCpuNumber(Integer cpuNumber) {
this.cpuNumber = cpuNumber;
}
public void setCpuSpeed(Long cpuSpeed) {
this.cpuSpeed = cpuSpeed;
}
public String getCpuAllocated() {
return cpuAllocated;
}
public void setCpuAllocated(String cpuAllocated) {
this.cpuAllocated = cpuAllocated;
}
public void setCpuUsed(String cpuUsed) {
this.cpuUsed = cpuUsed;
}
public void setAverageLoad(Long averageLoad) {
this.averageLoad = averageLoad;
}
public void setNetworkKbsRead(Long networkKbsRead) {
this.networkKbsRead = networkKbsRead;
}
public void setNetworkKbsWrite(Long networkKbsWrite) {
this.networkKbsWrite = networkKbsWrite;
}
public void setMemoryTotal(Long memoryTotal) {
this.memoryTotal = memoryTotal;
}
public void setMemoryAllocated(Long memoryAllocated) {
this.memoryAllocated = memoryAllocated;
}
public void setMemoryUsed(Long memoryUsed) {
this.memoryUsed = memoryUsed;
}
public void setDiskSizeTotal(Long diskSizeTotal) {
this.diskSizeTotal = diskSizeTotal;
}
public void setDiskSizeAllocated(Long diskSizeAllocated) {
this.diskSizeAllocated = diskSizeAllocated;
}
public void setCapabilities(String capabilities) {
this.capabilities = capabilities;
}
public void setLastPinged(Date lastPinged) {
this.lastPinged = lastPinged;
}
public void setManagementServerId(Long managementServerId) {
this.managementServerId = managementServerId;
}
public void setClusterId(String clusterId) {
this.clusterId = clusterId;
}
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
public void setClusterType(String clusterType) {
this.clusterType = clusterType;
}
public void setLocalStorageActive(Boolean localStorageActive) {
this.localStorageActive = localStorageActive;
}
public void setCreated(Date created) {
this.created = created;
}
public void setRemoved(Date removed) {
this.removed = removed;
}
public void setEvents(String events) {
this.events = events;
}
public String getHostTags() {
return hostTags;
}
public void setHostTags(String hostTags) {
this.hostTags = hostTags;
}
public void setHasEnoughCapacity(Boolean hasEnoughCapacity) {
this.hasEnoughCapacity = hasEnoughCapacity;
}
public void setSuitableForMigration(Boolean suitableForMigration) {
this.suitableForMigration = suitableForMigration;
}
public void setRequiresStorageMotion(Boolean requiresStorageMotion) {
this.requiresStorageMotion = requiresStorageMotion;
}
public String getResourceState() {
return resourceState;
}
public void setResourceState(String resourceState) {
this.resourceState = resourceState;
}
public String getCpuWithOverprovisioning() {
return cpuWithOverprovisioning;
}
public void setCpuWithOverprovisioning(String cpuWithOverprovisioning) {
this.cpuWithOverprovisioning = cpuWithOverprovisioning;
}
public void setHypervisorVersion(String hypervisorVersion) {
this.hypervisorVersion = hypervisorVersion;
}
public void setHaHost(Boolean haHost) {
this.haHost = haHost;
}
}

View File

@ -59,7 +59,10 @@ public class HostResponse extends BaseResponse {
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the host")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName(ApiConstants.POD_ID) @Param(description="the Pod ID of the host")
private String podId;
@ -209,6 +212,10 @@ public class HostResponse extends BaseResponse {
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setPodId(String podId) {
this.podId = podId;
}
@ -330,7 +337,6 @@ public class HostResponse extends BaseResponse {
this.hasEnoughCapacity = hasEnoughCapacity;
}
public void setSuitableForMigration(Boolean suitableForMigration) {
this.suitableForMigration = suitableForMigration;
}

View File

@ -66,6 +66,9 @@ public class NetworkResponse extends BaseResponse implements ControlledEntityRes
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the name of the zone the network belongs to")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description="the networktype of the zone the network belongs to")
private String zoneType;
@SerializedName("networkofferingid") @Param(description="network offering id the network is created from")
private String networkOfferingId;
@ -291,6 +294,10 @@ public class NetworkResponse extends BaseResponse implements ControlledEntityRes
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setCidr(String cidr) {
this.cidr = cidr;
}

View File

@ -36,10 +36,13 @@ public class PodResponse extends BaseResponse {
@SerializedName("zoneid") @Param(description="the Zone ID of the Pod")
private String zoneId;
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the Pod")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName("gateway") @Param(description="the gateway of the Pod")
private String gateway;
@ -86,6 +89,10 @@ public class PodResponse extends BaseResponse {
return zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}

View File

@ -93,6 +93,14 @@ public class SnapshotResponse extends BaseResponse implements ControlledEntityRe
@Param(description = "the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage")
private Snapshot.State state;
@SerializedName(ApiConstants.ZONE_NAME)
@Param(description = "name of the availability zone")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE)
@Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName(ApiConstants.TAGS) @Param(description="the list of resource tags associated with snapshot", responseObject = ResourceTagResponse.class)
private List<ResourceTagResponse> tags;
@ -173,6 +181,14 @@ public class SnapshotResponse extends BaseResponse implements ControlledEntityRe
this.projectName = projectName;
}
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setTags(List<ResourceTagResponse> tags) {
this.tags = tags;
}

View File

@ -0,0 +1,248 @@
// 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 org.apache.cloudstack.api.response;
import java.util.Date;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.EntityReference;
import com.cloud.serializer.Param;
import com.cloud.storage.StoragePool;
import com.cloud.storage.StoragePoolStatus;
import com.google.gson.annotations.SerializedName;
@EntityReference(value=StoragePool.class)
public class StoragePoolForMigrationResponse extends BaseResponse {
@SerializedName("id") @Param(description="the ID of the storage pool")
private String id;
@SerializedName("zoneid") @Param(description="the Zone ID of the storage pool")
private String zoneId;
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the storage pool")
private String zoneName;
@SerializedName("podid") @Param(description="the Pod ID of the storage pool")
private String podId;
@SerializedName("podname") @Param(description="the Pod name of the storage pool")
private String podName;
@SerializedName("name") @Param(description="the name of the storage pool")
private String name;
@SerializedName("ipaddress") @Param(description="the IP address of the storage pool")
private String ipAddress;
@SerializedName("path") @Param(description="the storage pool path")
private String path;
@SerializedName("created") @Param(description="the date and time the storage pool was created")
private Date created;
@SerializedName("type") @Param(description="the storage pool type")
private String type;
@SerializedName("clusterid") @Param(description="the ID of the cluster for the storage pool")
private String clusterId;
@SerializedName("clustername") @Param(description="the name of the cluster for the storage pool")
private String clusterName;
@SerializedName("disksizetotal") @Param(description="the total disk size of the storage pool")
private Long diskSizeTotal;
@SerializedName("disksizeallocated") @Param(description="the host's currently allocated disk size")
private Long diskSizeAllocated;
@SerializedName("disksizeused") @Param(description="the host's currently used disk size")
private Long diskSizeUsed;
@SerializedName("tags") @Param(description="the tags for the storage pool")
private String tags;
@SerializedName(ApiConstants.STATE) @Param(description="the state of the storage pool")
private StoragePoolStatus state;
@SerializedName(ApiConstants.SCOPE) @Param(description="the scope of the storage pool")
private String scope;
@SerializedName("suitableformigration") @Param(description="true if this pool is suitable to migrate a volume," +
" false otherwise")
private Boolean suitableForMigration;
/**
* @return the scope
*/
public String getScope() {
return scope;
}
/**
* @param scope the scope to set
*/
public void setScope(String scope) {
this.scope = scope;
}
@Override
public String getObjectId() {
return this.getId();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getZoneId() {
return zoneId;
}
public void setZoneId(String zoneId) {
this.zoneId = zoneId;
}
public String getZoneName() {
return zoneName;
}
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}
public String getPodId() {
return podId;
}
public void setPodId(String podId) {
this.podId = podId;
}
public String getPodName() {
return podName;
}
public void setPodName(String podName) {
this.podName = podName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getClusterId() {
return clusterId;
}
public void setClusterId(String clusterId) {
this.clusterId = clusterId;
}
public String getClusterName() {
return clusterName;
}
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
public Long getDiskSizeTotal() {
return diskSizeTotal;
}
public void setDiskSizeTotal(Long diskSizeTotal) {
this.diskSizeTotal = diskSizeTotal;
}
public Long getDiskSizeAllocated() {
return diskSizeAllocated;
}
public void setDiskSizeAllocated(Long diskSizeAllocated) {
this.diskSizeAllocated = diskSizeAllocated;
}
public Long getDiskSizeUsed() {
return diskSizeUsed;
}
public void setDiskSizeUsed(Long diskSizeUsed) {
this.diskSizeUsed = diskSizeUsed;
}
public String getTags() {
return tags;
}
public void setTags(String tags) {
this.tags = tags;
}
public StoragePoolStatus getState() {
return state;
}
public void setState(StoragePoolStatus state) {
this.state = state;
}
public void setSuitableForMigration(Boolean suitableForMigration) {
this.suitableForMigration = suitableForMigration;
}
}

View File

@ -38,12 +38,15 @@ public class StoragePoolResponse extends BaseResponse {
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name of the storage pool")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName("podid") @Param(description="the Pod ID of the storage pool")
private String podId;
@SerializedName("podname") @Param(description="the Pod name of the storage pool")
private String podName;
private String podName;
@SerializedName("name") @Param(description="the name of the storage pool")
private String name;
@ -83,8 +86,6 @@ public class StoragePoolResponse extends BaseResponse {
@SerializedName(ApiConstants.SCOPE) @Param(description="the scope of the storage pool")
private String scope;
/**
* @return the scope
*/
@ -128,6 +129,14 @@ public class StoragePoolResponse extends BaseResponse {
this.zoneName = zoneName;
}
public String getZoneType() {
return zoneType;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public String getPodId() {
return podId;
}
@ -239,5 +248,4 @@ public class StoragePoolResponse extends BaseResponse {
public void setState(StoragePoolStatus state) {
this.state = state;
}
}

View File

@ -46,6 +46,9 @@ public class SystemVmResponse extends BaseResponse {
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the Zone name for the system VM")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName("dns1") @Param(description="the first DNS for the system VM")
private String dns1;
@ -150,7 +153,15 @@ public class SystemVmResponse extends BaseResponse {
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}
public String getZoneType() {
return zoneType;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public String getDns1() {
return dns1;
}

View File

@ -87,6 +87,9 @@ public class TemplateResponse extends BaseResponse implements ControlledEntityRe
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the name of the zone for this template")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description="the networktype of the zone for this template")
private String zoneType;
@SerializedName(ApiConstants.STATUS) @Param(description="the status of the template")
private String status;
@ -156,6 +159,10 @@ public class TemplateResponse extends BaseResponse implements ControlledEntityRe
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}

View File

@ -18,6 +18,7 @@ package org.apache.cloudstack.api.response;
import java.util.Date;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.EntityReference;
@ -74,6 +75,9 @@ public class UserResponse extends BaseResponse {
@SerializedName("iscallerchilddomain") @Param(description="the boolean value representing if the updating target is in caller's child domain")
private boolean isCallerChildDomain;
@SerializedName(ApiConstants.IS_DEFAULT) @Param(description="true if user is default, false otherwise", since="4.2.0")
private Boolean isDefault;
@Override
public String getObjectId() {
@ -206,4 +210,8 @@ public class UserResponse extends BaseResponse {
public void setIsCallerChildDomain(boolean isCallerChildDomain) {
this.isCallerChildDomain = isCallerChildDomain;
}
public void setIsDefault(Boolean isDefault) {
this.isDefault = isDefault;
}
}

View File

@ -80,6 +80,9 @@ public class UserVmResponse extends BaseResponse implements ControlledEntityResp
@SerializedName(ApiConstants.ZONE_NAME) @Param(description="the name of the availability zone for the virtual machine")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE) @Param(description="the network type of the availability zone for the virtual machine")
private String zoneType;
@SerializedName(ApiConstants.HOST_ID) @Param(description="the ID of the host for the virtual machine")
private String hostId;
@ -249,6 +252,10 @@ public class UserVmResponse extends BaseResponse implements ControlledEntityResp
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setHostId(String hostId) {
this.hostId = hostId;
}

View File

@ -47,6 +47,10 @@ public class VolumeResponse extends BaseResponse implements ControlledViewEntity
@SerializedName(ApiConstants.ZONE_NAME)
@Param(description = "name of the availability zone")
private String zoneName;
@SerializedName(ApiConstants.ZONE_TYPE)
@Param(description = "network type of the availability zone")
private String zoneType;
@SerializedName(ApiConstants.TYPE)
@Param(description = "type of the disk volume (ROOT or DATADISK)")
@ -198,6 +202,10 @@ public class VolumeResponse extends BaseResponse implements ControlledViewEntity
this.zoneName = zoneName;
}
public void setZoneType(String zoneType) {
this.zoneType = zoneType;
}
public void setVolumeType(String volumeType) {
this.volumeType = volumeType;
}

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

@ -0,0 +1,89 @@
// 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 org.apache.cloudstack.api.command.test;
import com.cloud.configuration.Configuration;
import com.cloud.configuration.ConfigurationService;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.resource.ResourceService;
import com.cloud.server.ManagementService;
import com.cloud.utils.Pair;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.cloudstack.api.ResponseGenerator;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd;
import org.apache.cloudstack.api.response.ConfigurationResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mockito;
import java.util.ArrayList;
import java.util.List;
public class ListCfgCmdTest extends TestCase{
private ListCfgsByCmd listCfgsByCmd;
private ManagementService mgr;
private ResponseGenerator responseGenerator;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Before
public void setUp() {
responseGenerator = Mockito.mock(ResponseGenerator.class);
mgr = Mockito.mock(ManagementService.class);
listCfgsByCmd = new ListCfgsByCmd();
}
@Test
public void testCreateSuccess() {
Configuration cfg = Mockito.mock(Configuration.class);
listCfgsByCmd._mgr = mgr;
listCfgsByCmd._responseGenerator = responseGenerator;
List<Configuration> configList = new ArrayList<Configuration>();
configList.add(cfg);
Pair<List<? extends Configuration>, Integer> result = new Pair<List<? extends Configuration>, Integer>(configList, 1);
try {
Mockito.when(
mgr.searchForConfigurations(listCfgsByCmd))
.thenReturn(result);
}catch (Exception e){
Assert.fail("Received exception when success expected " + e.getMessage());
}
ConfigurationResponse cfgResponse = new ConfigurationResponse();
cfgResponse.setName("Test case");
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
listCfgsByCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ListResponse<ConfigurationResponse> actualResponse = (ListResponse<ConfigurationResponse>) listCfgsByCmd.getResponseObject();
Assert.assertEquals(cfgResponse, actualResponse.getResponses().get(0));
}
}

View File

@ -0,0 +1,116 @@
// 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 org.apache.cloudstack.api.command.test;
import com.cloud.configuration.Configuration;
import com.cloud.configuration.ConfigurationService;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.resource.ResourceService;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.cloudstack.api.ResponseGenerator;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd;
import org.apache.cloudstack.api.response.ConfigurationResponse;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mockito;
public class UpdateCfgCmdTest extends TestCase{
private UpdateCfgCmd updateCfgCmd;
private ConfigurationService configService;
private ResponseGenerator responseGenerator;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Before
public void setUp() {
responseGenerator = Mockito.mock(ResponseGenerator.class);
configService = Mockito.mock(ConfigurationService.class);
updateCfgCmd = new UpdateCfgCmd();
}
@Test
public void testExecuteForEmptyResult() {
updateCfgCmd._configService = configService;
try {
updateCfgCmd.execute();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to update config",
exception.getDescription());
}
}
@Test
public void testExecuteForNullResult() {
updateCfgCmd._configService = configService;
try {
Mockito.when(
configService.updateConfiguration(updateCfgCmd))
.thenReturn(null);
} catch (InvalidParameterValueException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
updateCfgCmd.execute();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to update config",
exception.getDescription());
}
}
@Test
public void testCreateSuccess() {
Configuration cfg = Mockito.mock(Configuration.class);
updateCfgCmd._configService = configService;
updateCfgCmd._responseGenerator = responseGenerator;
try {
Mockito.when(
configService.updateConfiguration(updateCfgCmd))
.thenReturn(cfg);
}catch (Exception e){
Assert.fail("Received exception when success expected " + e.getMessage());
}
ConfigurationResponse response = new ConfigurationResponse();
response.setName("Test case");
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(response);
updateCfgCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ConfigurationResponse actualResponse = (ConfigurationResponse) updateCfgCmd.getResponseObject();
Assert.assertEquals(response, actualResponse);
Assert.assertEquals("updateconfigurationresponse", response.getResponseName());
}
}

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

@ -450,16 +450,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

@ -82,7 +82,7 @@
<property name="messageSerializer" ref="messageSerializer" />
</bean>
<bean id="eventBus" class = "org.apache.cloudstack.framework.eventbus.EventBusBase" />
<bean id="messageBus" class = "org.apache.cloudstack.framework.messagebus.MessageBusBase" />
<!--
DAO with customized configuration
@ -532,10 +532,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">
@ -609,7 +613,6 @@
<property name="UserAuthenticators" value="#{userAuthenticators.Adapters}" />
<property name="UserPasswordEncoders" value="#{userPasswordEncoders.Adapters}" />
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
<property name="Planners" value="#{deploymentPlanners.Adapters}" />
<property name="AffinityGroupProcessors" value="#{affinityProcessors.Adapters}" />
</bean>
@ -715,6 +718,7 @@
<bean id="agentMonitor" class="com.cloud.agent.manager.AgentMonitor" />
<bean id="alertGenerator" class="com.cloud.event.AlertGenerator" />
<bean id="ancientDataMotionStrategy" class="org.apache.cloudstack.storage.motion.AncientDataMotionStrategy" />
<bean id="xenserverStorageMotionStrategy" class="org.apache.cloudstack.storage.motion.XenServerStorageMotionStrategy" />
<bean id="ancientImageDataStoreProvider" class="org.apache.cloudstack.storage.image.store.AncientImageDataStoreProvider" />
<bean id="ancientSnapshotStrategy" class="org.apache.cloudstack.storage.snapshot.strategy.AncientSnapshotStrategy" />
<bean id="apiDBUtils" class="com.cloud.api.ApiDBUtils" />

View File

@ -69,6 +69,7 @@ changeServiceForVirtualMachine=15
scaleVirtualMachine=15
assignVirtualMachine=1
migrateVirtualMachine=1
migrateVirtualMachineWithVolume=1
recoverVirtualMachine=7
#### snapshot commands
@ -254,6 +255,7 @@ deleteHost=3
prepareHostForMaintenance=1
cancelHostMaintenance=1
listHosts=3
findHostsForMigration=1
addSecondaryStorage=1
updateHostPassword=1
@ -288,6 +290,7 @@ deleteStoragePool=1
listClusters=3
enableStorageMaintenance=1
cancelStorageMaintenance=1
findStoragePoolsForMigration=1
#### security group commands
createSecurityGroup=15

View File

@ -42,7 +42,7 @@
independent configuration
-->
<bean id="premiumDatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
<bean id="DatabaseUpgradeChecker" class="com.cloud.upgrade.DatabaseUpgradeChecker"/>
<bean id="GlobalLoadBalancingRulesServiceImpl" class ="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" >
<property name="GslbServiceProvider">
<ref bean="Netscaler"/>

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