org.jclouds.cloudstack.features
Interface VirtualMachineApi


public interface VirtualMachineApi

Provides synchronous access to cloudstack via their REST API.

See Also:

Method Summary
 VirtualMachine assignVirtualMachine(String virtualMachineId, AssignVirtualMachineOptions... options)
          Re-assign a virtual machine to a different account/domain.
 String changeServiceForVirtualMachine(String id)
          Changes the service offering for a virtual machine.
 AsyncCreateResponse deployVirtualMachineInZone(String zoneId, String serviceOfferingId, String templateId, DeployVirtualMachineOptions... options)
          Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.
 String destroyVirtualMachine(String id)
          Destroys a virtual machine.
 String getEncryptedPasswordForVirtualMachine(String id)
          Return an encrypted password for the virtual machine.
 VirtualMachine getVirtualMachine(String id)
          get a specific VirtualMachine by id
 Set<VirtualMachine> listVirtualMachines(ListVirtualMachinesOptions... options)
          Lists VirtualMachines
 String rebootVirtualMachine(String id)
          Reboots a virtual machine.
 String resetPasswordForVirtualMachine(String id)
          Resets the password for virtual machine.
 String startVirtualMachine(String id)
          Starts a virtual machine.
 String stopVirtualMachine(String id)
          Stops a virtual machine.
 String stopVirtualMachine(String id, StopVirtualMachineOptions options)
          Stops a virtual machine.
 String updateVirtualMachine(String id)
          Updates parameters of a virtual machine.
 

Method Detail

listVirtualMachines

@Named(value="listVirtualMachines")
Set<VirtualMachine> listVirtualMachines(ListVirtualMachinesOptions... options)
Lists VirtualMachines

Parameters:
options - if present, how to constrain the list.
Returns:
VirtualMachines matching query, or empty set, if no VirtualMachines are found

getVirtualMachine

@Named(value="listVirtualMachines")
VirtualMachine getVirtualMachine(String id)
get a specific VirtualMachine by id

Parameters:
id - VirtualMachine to get
Returns:
VirtualMachine or null if not found

deployVirtualMachineInZone

@Named(value="deployVirtualMachine")
AsyncCreateResponse deployVirtualMachineInZone(String zoneId,
                                                     String serviceOfferingId,
                                                     String templateId,
                                                     DeployVirtualMachineOptions... options)
Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.

Parameters:
zoneId - availability zone for the virtual machine
serviceOfferingId - the ID of the service offering for the virtual machine
templateId - the ID of the template for the virtual machine
Returns:
virtual machine

rebootVirtualMachine

@Named(value="rebootVirtualMachine")
String rebootVirtualMachine(String id)
Reboots a virtual machine.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

startVirtualMachine

@Named(value="startVirtualMachine")
String startVirtualMachine(String id)
Starts a virtual machine.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

stopVirtualMachine

@Named(value="stopVirtualMachine")
String stopVirtualMachine(String id)
Stops a virtual machine.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

stopVirtualMachine

String stopVirtualMachine(String id,
                          StopVirtualMachineOptions options)
Stops a virtual machine.

Parameters:
id - The ID of the virtual machine
options - If present, whether to force stop.
Returns:
job id related to destroying the VM

resetPasswordForVirtualMachine

@Named(value="resetPasswordForVirtualMachine")
String resetPasswordForVirtualMachine(String id)
Resets the password for virtual machine. The virtual machine must be in a "Stopped" state and the template must already support this feature for this command to take effect.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

getEncryptedPasswordForVirtualMachine

@Named(value="getVMPassword")
String getEncryptedPasswordForVirtualMachine(String id)
Return an encrypted password for the virtual machine. The command is asynchronous.

Parameters:
id - the ID of the virtual machine
Returns:
encrypted password

changeServiceForVirtualMachine

@Named(value="changeServiceForVirtualMachine")
String changeServiceForVirtualMachine(String id)
Changes the service offering for a virtual machine. The virtual machine must be in a "Stopped" state for this command to take effect.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

updateVirtualMachine

@Named(value="updateVirtualMachine")
String updateVirtualMachine(String id)
Updates parameters of a virtual machine.

Parameters:
id - The ID of the virtual machine
Returns:
job id related to destroying the VM

destroyVirtualMachine

@Named(value="destroyVirtualMachine")
String destroyVirtualMachine(String id)
Destroys a virtual machine. Once destroyed, only the administrator can recover it.

Parameters:
id - vm to destroy
Returns:
job id related to destroying the VM, or null if resource was not found

assignVirtualMachine

@Named(value="assignVirtualMachine")
VirtualMachine assignVirtualMachine(String virtualMachineId,
                                          AssignVirtualMachineOptions... options)
Re-assign a virtual machine to a different account/domain.

Parameters:
virtualMachineId - VirtualMachine to re-assign
options - AssignVirtualMachineOptions specifying account and domain to transfer to, and optional network and security group IDs.
Returns:
VirtualMachine or null if not found


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.