Interface VmResource


@Path("/vms") @Consumes("application/json") @Produces("application/vnd.ilandcloud.api.v1.0+json") public interface VmResource
VM Resource Interface.
Author:
Cory Snyder
  • Method Details

    • getCurrentBilling

      @GET @Path("/{vmUuid}/billing-summary") BillingSummaryResponse getCurrentBilling(@PathParam("vmUuid") String vmUuid)
      Return current vm billing for a give Vm.

      Excluded from public API as its really only intended for consumption in console.

      Parameters:
      vmUuid - vm uuid
      Returns:
      current billing for VM
    • getBillingForVm

      @GET @Path("/{vmUuid}/billing") BillResponse getBillingForVm(@PathParam("vmUuid") String vmUuid, @QueryParam("year") Integer year, @QueryParam("month") Integer month)
      Returns VM Billing for a given invoice period.

      If month and year are not explicitly supplied the current invoice period is used.

      Parameters:
      vmUuid - VM uuid
      year - the invoice period year (defaults to current year)
      month - the invoice period month (defaults to the current month) must be in range 1-12
      Returns:
      billing for the VM and given invoice period
    • getScreenTicket

      @GET @Path("/{vmUuid}/screen-ticket") ScreenTicketResponse getScreenTicket(@PathParam("vmUuid") String vmUuid)
      Retrieve a screen ticket for viewing the console of a given Vm.
      Parameters:
      vmUuid - vm uuid
      Returns:
      screen ticket
    • getMksScreenTicket

      @GET @Path("/{vmUuid}/mks-screen-ticket") MksScreenTicketResponse getMksScreenTicket(@PathParam("vmUuid") String vmUuid)
      Retrieve a mks screen ticket for viewing the console of a given Vm.
      Parameters:
      vmUuid - vm uuid
      Returns:
      screen ticket
    • updateVirtualHardwareVersion

      @POST @Path("/{vmUuid}/actions/update-virtual-hardware-version") com.iland.core.web.rest.response.task.TaskResponse updateVirtualHardwareVersion(@PathParam("vmUuid") String vmUuid)
      Upgrade the virtual hardware version of a vm to the latest available version.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • updateDescriptionForVm

      @POST @Path("/{vmUuid}/actions/update-description") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateDescriptionForVm(@PathParam("vmUuid") String vmUuid, VmDescriptionUpdateRequest spec)
      Update the description for a vm.
      Parameters:
      vmUuid - vm uuid
      spec - specification to update VM description
      Returns:
      asynchronous task details
    • getMetadataForVm

      @GET @Path("/{vmUuid}/metadata") MetadataListResponse getMetadataForVm(@PathParam("vmUuid") String vmUuid)
      Retrieve metadata associated with a Vm.
      Parameters:
      vmUuid - vm uuid
      Returns:
      list of metadata for VM
    • updateMetadataForVm

      @PUT @Path("/{vmUuid}/metadata") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateMetadataForVm(@PathParam("vmUuid") String vmUuid, List<UpdateMetadataRequest> metadata)
      Add / update metadata associated with a Vm.
      Parameters:
      vmUuid - vm uuid
      metadata - list of metadata
      Returns:
      asynchronous task details
    • deleteMetadataForVm

      @DELETE @Path("/{vmUuid}/metadata/{key}") com.iland.core.web.rest.response.task.TaskResponse deleteMetadataForVm(@PathParam("vmUuid") String vmUuid, @PathParam("key") String key)
      Delete a specific piece of metadata associated with a Vm by its key.
      Parameters:
      vmUuid - vm uuid
      key - metadata key
      Returns:
      asynchronous task details
    • insertMedia

      @POST @Path("/{vmUuid}/actions/insert-media") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse insertMedia(@PathParam("vmUuid") String vmUuid, VmMediaInsertRequest spec)
      Insert a media to a Vm.
      Parameters:
      vmUuid - vm uuid
      spec - specification detailing which media to insert into VM
      Returns:
      asynchronous task details
    • ejectMedia

      @POST @Path("/{vmUuid}/actions/eject-media") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse ejectMedia(@PathParam("vmUuid") String vmUuid)
      Eject a media from a Vm.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • relocateVm

      @POST @Path("/{vmUuid}/actions/relocate") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse relocateVm(@PathParam("vmUuid") String vmUuid, VmRelocateRequest spec)
      Relocate a Vm to another storage profile.
      Parameters:
      vmUuid - vm uuid
      spec - specification for relocating VM to another storage profile
      Returns:
      asynchronous task details
    • copyVm

      @POST @Path("/{vmUuid}/actions/copy") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse copyVm(@PathParam("vmUuid") String vmUuid, VmCopyMoveRequest spec)
      Creates a new Vm in the Vapp based on an existing Vm.
      Parameters:
      vmUuid - vm uuid
      spec - specification for newly copied vm
      Returns:
      asynchronous task details
    • moveVm

      @POST @Path("/{vmUuid}/actions/move") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse moveVm(@PathParam("vmUuid") String vmUuid, VmCopyMoveRequest spec)
      Moves an existing VM into the specified Vapp.
      Parameters:
      vmUuid - vm uuid
      spec - specification for newly moved vm
      Returns:
      asynchronous task details
    • getRestorePoints

      @GET @Path("/{vmUuid}/backups") RestorePointListResponse getRestorePoints(@PathParam("vmUuid") String vmUuid)
      Get restore points for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      list of restore points
    • deleteVm

      @DELETE @Path("/{vmUuid}") com.iland.core.web.rest.response.task.TaskResponse deleteVm(@PathParam("vmUuid") String vmUuid)
      Delete a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • restoreVm

      @POST @Path("/{vmUuid}/actions/restore") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse restoreVm(@PathParam("vmUuid") String vmUuid, VmRestoreRequest spec)
      Restore a VM from a restore point into the same vApp.
      Parameters:
      vmUuid - vm uuid
      spec - VM restore specification
      Returns:
      asynchronous task details
    • restoreVmIntoVapp

      @POST @Path("/{vmUuid}/actions/restore-into-vapp") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse restoreVmIntoVapp(@PathParam("vmUuid") String vmUuid, VmRestoreIntoVappRequest spec)
      Restore a VM from a restore point into the given vApp.
      Parameters:
      vmUuid - vm uuid
      spec - VM restore specification
      Returns:
      asynchronous task details
    • resetMacAddresses

      @POST @Path("/{vmUuid}/actions/reset-mac-addresses") com.iland.core.web.rest.response.task.TaskResponse resetMacAddresses(@PathParam("vmUuid") String vmUuid)
      Reset the MAC addresses for all VNICs of the VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • rename

      @POST @Path("/{vmUuid}/actions/update-name") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse rename(@PathParam("vmUuid") String vmUuid, VmNameUpdateRequest spec)
      Rename a VM.
      Parameters:
      vmUuid - vm uuid
      spec - specification for renaming the VM
      Returns:
      asynchronous task details
    • getVirtualNetworkCards

      @GET @Path("/{vmUuid}/vnics") VirtualNetworkCardListResponse getVirtualNetworkCards(@PathParam("vmUuid") String vmUuid)
      Get a list of virtual network cards for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      list of virtual network cards
    • getNetworksForVm

      @GET @Path("/{vmUuid}/networks") VmNetworkListResponse getNetworksForVm(@PathParam("vmUuid") String vmUuid)
      Get the networks for a given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      list of networks
    • deleteVirtualNetworkCard

      @DELETE @Path("/{vmUuid}/vnics/{vnicId}") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse deleteVirtualNetworkCard(@PathParam("vmUuid") String vmUuid, @PathParam("vnicId") String vnicId)
      Delete a vnic with the given ID for the given VM.
      Parameters:
      vmUuid - vm uuid
      vnicId - vnic id
      Returns:
      asynchronous task details
    • updateVirtualNetworkCards

      @POST @Path("/{vmUuid}/actions/update-vnics") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateVirtualNetworkCards(@PathParam("vmUuid") String vmUuid, List<VirtualNetworkCardRequest> vnics)
      Update virtual network cards for a VM.
      Parameters:
      vmUuid - vm uuid
      vnics - of instances
      Returns:
      asynchronous task details
    • deleteVirtualDisk

      @DELETE @Path("/{vmUuid}/disks/{diskName}") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse deleteVirtualDisk(@PathParam("vmUuid") String vmUuid, @PathParam("diskName") String diskName)
      Delete a virtual disk from a VM.
      Parameters:
      vmUuid - vm uuid
      diskName - diskName
      Returns:
      asynchronous task details
    • getSnapshotForVm

      @GET @Path("/{vmUuid}/snapshot") SnapshotResponse getSnapshotForVm(@PathParam("vmUuid") String vmUuid)
      Get the snapshot for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      snapshot
    • hasVmSnapshot

      @GET @Path("/{vmUuid}/has-snapshot") HasSnapshotResponse hasVmSnapshot(@PathParam("vmUuid") String vmUuid)
      Check for the existence of a snapshot for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      boolean indicating whether snapshot exists
    • createSnapshotForVm

      @POST @Path("/{vmUuid}/actions/create-snapshot") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse createSnapshotForVm(@PathParam("vmUuid") String vmUuid, SnapshotCreateRequest spec)
      Create a snapshot for the given VM.
      Parameters:
      vmUuid - vm uuid
      spec - specification for creating a VM snapshot
      Returns:
      asynchronous task details
    • restoreSnapshotForVm

      @POST @Path("/{vmUuid}/actions/restore-snapshot") com.iland.core.web.rest.response.task.TaskResponse restoreSnapshotForVm(@PathParam("vmUuid") String vmUuid)
      Restore a VM from a snapshot.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • removeSnapshotForVm

      @POST @Path("/{vmUuid}/actions/remove-snapshot") com.iland.core.web.rest.response.task.TaskResponse removeSnapshotForVm(@Context @PathParam("vmUuid") String vmUuid)
      Remove a snapshot from a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • getRecommendedDiskBusType

      @GET @Path("/{vmUuid}/recommended-disk-bus-type") RecommendedDiskBusTypeResponse getRecommendedDiskBusType(@PathParam("vmUuid") String vmUuid)
      Get the recommended hard disk bus type for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      recommended hard disk bus type
    • getGuestTools

      @GET @Path("/{vmUuid}/guest-tools") GuestToolsResponse getGuestTools(@PathParam("vmUuid") String vmUuid)
      Get VMWare tools information for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      guest tools information
    • upgradeGuestTools

      @POST @Path("/{vmUuid}/actions/upgrade-guest-tools") com.iland.core.web.rest.response.task.TaskResponse upgradeGuestTools(@PathParam("vmUuid") String vmUuid)
      Upgrade VMWare tools for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • getPerformanceForVm

      @GET @Path("/{vmUuid}/performance/{group}::{name}::{type}") PerfSampleSerieResponse getPerformanceForVm(@PathParam("vmUuid") String vmUuid, @PathParam("group") String group, @PathParam("name") String name, @PathParam("type") String type, @QueryParam("start") Long start, @QueryParam("end") Long end, @QueryParam("interval") String interval, @QueryParam("limit") String limit)
      Get VM performance data for the given VM, counter, and time range.
      Parameters:
      vmUuid - VM uuid
      group - the performance counter group
      name - the performance counter name
      type - the performance counter type
      start - start date
      end - end date
      interval - interval
      limit - limit
      Returns:
      performance samples serie for the given VM, counter and date range
    • getPerformanceCountersForVm

      @GET @Path("/{vmUuid}/performance-counters") PerformanceCounterListResponse getPerformanceCountersForVm(@PathParam("vmUuid") String vmUuid)
      Get the list of performance counters that can be used to query for VM performance data.
      Parameters:
      vmUuid - VM UUID
      Returns:
      the list of performance counters
    • powerOnVm

      @POST @Path("/{vmUuid}/actions/poweron") com.iland.core.web.rest.response.task.TaskResponse powerOnVm(@PathParam("vmUuid") String vmUuid, @QueryParam("forceGuestCustomization") boolean forceGuestCustomization)
      Power on a VM.
      Parameters:
      vmUuid - vm uuid
      forceGuestCustomization - optional param to force guest re-customization on restart defaults to false
      Returns:
      asynchronous task details
    • powerOffVm

      @POST @Path("/{vmUuid}/actions/poweroff") com.iland.core.web.rest.response.task.TaskResponse powerOffVm(@PathParam("vmUuid") String vmUuid)
      Power off a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • suspendVm

      @POST @Path("/{vmUuid}/actions/suspend") com.iland.core.web.rest.response.task.TaskResponse suspendVm(@PathParam("vmUuid") String vmUuid)
      Suspend a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • shutdownVm

      @POST @Path("/{vmUuid}/actions/shutdown") com.iland.core.web.rest.response.task.TaskResponse shutdownVm(@PathParam("vmUuid") String vmUuid)
      Shutdown a VM guest operating system.

      This action requires VMWare tools to be installed.

      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • resetVm

      @POST @Path("/{vmUuid}/actions/reset") com.iland.core.web.rest.response.task.TaskResponse resetVm(@PathParam("vmUuid") String vmUuid)
      Reset a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • rebootVm

      @POST @Path("/{vmUuid}/actions/reboot") com.iland.core.web.rest.response.task.TaskResponse rebootVm(@PathParam("vmUuid") String vmUuid)
      Reboot a VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • updateCpuCount

      @POST @Path("/{vmUuid}/actions/update-cpu-count") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateCpuCount(@PathParam("vmUuid") String vmUuid, VmCpuCountUpdateRequest spec)
      Update the cpu count for the given VM.
      Parameters:
      vmUuid - vm uuid
      spec - specification detailing number of cpus to update VM with
      Returns:
      asynchronous task details
    • updateMemorySize

      @POST @Path("/{vmUuid}/actions/update-memory-size") com.iland.core.web.rest.response.task.TaskResponse updateMemorySize(@PathParam("vmUuid") String vmUuid, VmMemorySizeUpdateRequest spec)
      Update the memory size for the given VM.
      Parameters:
      vmUuid - vm uuid
      spec - specification detailing memory size to update VM with
      Returns:
      asynchronous task details
    • getVm

      @GET @Path("/{vmUuid}") VmResponse getVm(@PathParam("vmUuid") String vmUuid)
      Get a Vm by UUID.
      Parameters:
      vmUuid - vm uuid
      Returns:
      vm
    • getVmLatest

      @GET @Path("/{uuid}/latest") VmResponse getVmLatest(@PathParam("uuid") String uuid)
      Get a Vm by UUID. Returns most recent version from history if deleted.
      Parameters:
      uuid - an iland platform VM UUID.
      Returns:
      vm
    • getVmSummary

      @GET @Path("/{vmUuid}/summary") VmResourceSummaryResponse getVmSummary(@PathParam("vmUuid") String vmUuid)
      Get the resource summary for the given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      vm resource summary
    • updateGuestCustomization

      @POST @Path("/{vmUuid}/actions/update-guest-customization") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateGuestCustomization(@PathParam("vmUuid") String vmUuid, GuestCustomizationUpdateRequest guestCustomizationSection)
      Update the guest customization section of a VM.

      The guest customization section includes properties of the guest operating system that can be modified such as passwords, and domain names.

      Parameters:
      vmUuid - vm uuid
      guestCustomizationSection - guest customization section
      Returns:
      asynchronous task details
    • getGuestCustomization

      @GET @Path("/{vmUuid}/guest-customization") GuestCustomizationResponse getGuestCustomization(@PathParam("vmUuid") String vmUuid, @QueryParam("omitPasswords") Boolean omitPasswords)
      Get the guest customization section of a Vm.

      The guest customization section includes properties of the guest operating system that can be modified such as passwords, and domain names.

      Parameters:
      vmUuid - vm uuid
      omitPasswords - whether to omit the guest customization passwords
      Returns:
      guest customization section
    • getBootOptions

      @GET @Path("/{vmUuid}/boot-options") VmBootOptionsResponse getBootOptions(@PathParam("vmUuid") String vmUuid)
      Get the boot options for a given VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      vm boot options
    • updateBootOptions

      @POST @Path("/{vmUuid}/actions/update-boot-options") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateBootOptions(@PathParam("vmUuid") String vmUuid, VmBootOptionsUpdateRequest bootOptions)
      Update boot options associated with a VM.

      Properties capable of being updated are boot delay and whether to force enter BIOS.

      Parameters:
      vmUuid - vm uuid
      bootOptions - vm boot options
      Returns:
      asynchronous task details
    • getVmToolsUpgradePolicy

      @GET @Path("/{vmUuid}/tools-upgrade-policy") VmToolsUpgradePolicyResponse getVmToolsUpgradePolicy(@PathParam("vmUuid") String vmUuid)
      Get the VMWare tools upgrade policy for the VM.
      Parameters:
      vmUuid - vm uuid
      Returns:
      vmware tools upgrade polciy
    • updateVmToolsUpgradePolicy

      @POST @Path("/{vmUuid}/actions/update-tools-upgrade-policy") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateVmToolsUpgradePolicy(@PathParam("vmUuid") String vmUuid, VmToolsUpgradePolicyUpdateRequest upgradePolicy)
      Update the VMware tools upgrade policy.
      Parameters:
      vmUuid - vm uuid
      Returns:
      asynchronous task details
    • getVmCapabilities

      @GET @Path("/{vmUuid}/capabilities") VmCapabilityResponse getVmCapabilities(@PathParam("vmUuid") String vmUuid)
      Get the VM capabilities for a VM.

      VM capabilites include cpu and memory hot add abilities.

      Parameters:
      vmUuid - vm uuid
      Returns:
      vm capabilities
    • updateVmCapabilities

      @POST @Path("/{vmUuid}/actions/update-capabilities") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateVmCapabilities(@PathParam("vmUuid") String vmUuid, VmCapabilityUpdateRequest spec)
      Update the VM capabilites for a VM.

      VM capabilities include cpu and memory hot add.

      Parameters:
      vmUuid - vm uuid
      spec - vm capability spec
      Returns:
      asynchronous task details
    • getVirtualDisks

      @GET @Path("/{vmUuid}/virtual-disks") VirtualDiskListResponse getVirtualDisks(@PathParam("vmUuid") String vmUuid)
      Gets the virtual disks for a VM.
      Parameters:
      vmUuid - the VM uuid
      Returns:
      list of virtual disks for the VM
    • updateVirtualDisks

      @POST @Path("/{vmUuid}/actions/update-virtual-disks") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateVirtualDisks(@PathParam("vmUuid") String vmUuid, List<VirtualDiskRequest> disks)
      Updates the virtual disks for a VM. The name attribute should be null for new disks.
      Parameters:
      vmUuid - the VM uuid
      disks - the new list of disks
      Returns:
      asynchronous task details
    • updateVirtualDisk

      @POST @Path("/{vmUuid}/actions/update-virtual-disk") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateVirtualDisk(@PathParam("vmUuid") String vmUuid, VmVirtualDiskUpdateRequest disk)
      Updates a virtual disk.
      Parameters:
      vmUuid - the VM uuid
      disk - the new disk
      Returns:
      asynchronous task details
    • addVirtualDisk

      @POST @Path("/{vmUuid}/actions/add-virtual-disk") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse addVirtualDisk(@PathParam("vmUuid") String vmUuid, VmVirtualDiskCreateRequest disk)
      Updates the virtual disks for a VM.
      Parameters:
      vmUuid - the VM uuid
      disk - the new disk
      Returns:
      asynchronous task details
    • installVMWareTools

      @POST @Path("/{vmUuid}/actions/install-vmware-tools") com.iland.core.web.rest.response.task.TaskResponse installVMWareTools(@PathParam("vmUuid") String vmUuid)
      The actual action performed will be to mount the VMWare tools ISO on the given VM. It is the responsiblity of the user to actually log into the VM and install the VMWare tools.
      Parameters:
      vmUuid - the VM uuid
      Returns:
      asynchrounous task details
    • reconfigure

      @POST @Path("/{vmUuid}/actions/reconfigure") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse reconfigure(@PathParam("vmUuid") String vmUuid, VmReconfigureRequest spec)
      Reconfigure a VM. This will update the name and description of the VM as well as the guest customization section, the cpu, memory and disk specifications.

      Any sections left out of the VmReconfigureRequest will be left unchanged.

      Parameters:
      vmUuid - VM uuid
      spec - reconfigure specification
      Returns:
      asynchronous task details
    • getScreen

      @GET @Path("/{vmUuid}/screen") @Produces("image/vnd.ilandcloud.api.v1.0+jpeg") InputStream getScreen(@PathParam("vmUuid") String vmUuid)
      Gets the current screen JPEG thumbnail image.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      JPEG thumbnail image
    • enableNestedHypervisor

      @POST @Path("/{vmUuid}/actions/enable-nested-hypervisor") com.iland.core.web.rest.response.task.TaskResponse enableNestedHypervisor(@PathParam("vmUuid") String vmUuid)
      Enable nested hypervisor for given VM.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      asynchrounous task details
    • disableNestedHypervisor

      @POST @Path("/{vmUuid}/actions/disable-nested-hypervisor") com.iland.core.web.rest.response.task.TaskResponse disableNestedHypervisor(@PathParam("vmUuid") String vmUuid)
      Disable nested hypervisor for given VM.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      asynchrounous task details
    • getAvailableStorageProfilesForVm

      @GET @Path("/{vmUuid}/available-storage-profiles") StorageProfileListResponse getAvailableStorageProfilesForVm(@PathParam("vmUuid") String vmUuid, @QueryParam("includeDisabled") Boolean includeDisabled)
      Get the storage profiles available to the VM.
      Parameters:
      vmUuid - VM uuid
      includeDisabled - whether to include disabled profiles (defaults to false if not explicitly provided)
      Returns:
      list of storage profiles available to the VM
    • getProductSections

      @GET @Path("/{vmUuid}/product-sections") ProductSectionListResponse getProductSections(@PathParam("vmUuid") String vmUuid)
      Get the product sections for a VM.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      a list of product sections
    • updateProductSectionProperties

      @POST @Path("/{vmUuid}/actions/update-product-section-properties") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateProductSectionProperties(@PathParam("vmUuid") String vmUuid, UpdateProductSectionPropertiesRequest params)
      Update product section properties of a VM.
      Parameters:
      vmUuid - the UUID of the VM
      params - the map of keys/values to update
      Returns:
      a list of product sections
    • getBackupStatus

      @GET @Path("/{vmUuid}/backup-status") VmBackupStatusDetailResponse getBackupStatus(@PathParam("vmUuid") String vmUuid)
      Gets the VM's backup status.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      VM backup status details
    • getIntegratedBackupStatus

      @GET @Path("/{vmUuid}/integrated-backup-status") VmIntegratedBackupStatusDetailResponse getIntegratedBackupStatus(@PathParam("vmUuid") String vmUuid)
      Gets the VM's integrated backup status.
      Parameters:
      vmUuid - the UUID of the VM
      Returns:
      VM integrated backup status details
    • searchRecoverableFilesAndFolders

      @GET @Path("/{vmUuid}/recoverable-files-and-folders") RecoverableFilesSearchResultListResponse searchRecoverableFilesAndFolders(@PathParam("vmUuid") String vmUuid, @BeanParam SearchVmRecoverableFilesAndFoldersFilters filters)
      Searches for recoverable backup files and folders that are associated with the VM.
      Parameters:
      vmUuid - the UUID of the VM
      filters - optional query filters
      Returns:
      a list of recoverable files and folders
    • listBackupRuns

      @GET @Path("/{vmUuid}/backup-runs") BackupGroupRunListResponse listBackupRuns(@PathParam("vmUuid") String vmUuid, @BeanParam ListVmBackupGroupRunsFilters filters)
      Lists all backup runs that are associated with the specified VM.
      Parameters:
      vmUuid - the UUID of the VM
      filters - optional query filters
      Returns:
      a list of backup runs that are associated with the VM
    • listBackupFileSnapshots

      @GET @Path("/{vmUuid}/backup-groups/{backupGroupUid}/files/{filename}") FileSnapshotInfoListResponse listBackupFileSnapshots(@PathParam("vmUuid") String vmUuid, @PathParam("backupGroupUid") String backupGroupUid, @PathParam("filename") @Encoded String filename)
      Lists all snapshots that are available for a specified file, in association with a specific backup group.
      Parameters:
      vmUuid - the UUID of the VM
      backupGroupUid - the UID of the backup group
      filename - the name of the file
      Returns:
      list of all snapshots available for the file
    • downloadBackupFileSnapshot

      @GET @Path("/{vmUuid}/backup-runs/{backupRunUid}/files/{filename}") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream downloadBackupFileSnapshot(@PathParam("vmUuid") String vmUuid, @PathParam("backupRunUid") String backupRunUid, @PathParam("filename") @Encoded String filename)
      Downloads a file from a specified backup run.
      Parameters:
      vmUuid - the UUID of the VM
      backupRunUid - the UID of the backup run that created the snapshot
      filename - the name of the file
      Returns:
      content of the file
    • listBackupVolumeSnapshots

      @GET @Path("/{vmUuid}/backup-runs/{backupRunUid}/volumes") FilesystemVolumeListResponse listBackupVolumeSnapshots(@PathParam("vmUuid") String vmUuid, @PathParam("backupRunUid") String backupRunUid, @QueryParam("attemptNumber") Integer attemptNumber)
      Lists all volumes that are present on a VM backup snapshot.
      Parameters:
      vmUuid - the UUID of the VM
      backupRunUid - the UID of the backup run
      attemptNumber - the snapshot attempt number
      Returns:
      list of vm backup volume snapshots
    • listBackupDirectoryContents

      @GET @Path("/{vmUuid}/backup-runs/{backupRunUid}/volumes/{volumeName}/directories/{directoryPath}/contents") DirectoryListingResponse listBackupDirectoryContents(@PathParam("vmUuid") String vmUuid, @PathParam("backupRunUid") String backupRunUid, @PathParam("volumeName") @Encoded String volumeName, @PathParam("directoryPath") @Encoded String directoryPath, @BeanParam ListBackupSnapshotFilesAndFoldersFilters filters)
      Gets a directory listing for a VM backup snapshot.
      Parameters:
      vmUuid - the UUID of the VM
      backupRunUid - the UID of the backup run that the snapshot is associated with
      volumeName - the name of the volume
      directoryPath - the full directory path to list
      filters - optional query filters
      Returns:
      vm backup directory listing
    • generateBackupFileDownloadBundle

      @POST @Path("/{vmUuid}/actions/generate-backup-file-download-bundle") com.iland.core.web.rest.response.task.TaskResponse generateBackupFileDownloadBundle(@PathParam("vmUuid") String vmUuid, GenerateBackupFileDownloadBundleParams params)
      Generates a new downloadable bundle (ZIP archive) of a collection of file snapshots. The returned task includes a download_token in its otherAttributes which can be used with the prepared download endpoint. Query the task individually via GET /tasks/{uuid} to retrieve the token after creation.
      Parameters:
      vmUuid - the UUID of the VM
      params - the specification for which files to download
      Returns:
      asynchronous task that indicates eventual completion and success/failure
    • downloadBackupFileDownloadBundle

      @GET @Path("/{vmUuid}/backup-file-download-bundles/{taskUuid}") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream downloadBackupFileDownloadBundle(@PathParam("vmUuid") String vmUuid, @PathParam("taskUuid") String taskUuid)
      Downloads the backup file bundle (ZIP archive) that is associated with the specified bundle task.
      Parameters:
      vmUuid - the UUID of the VM
      taskUuid - the UUID of the bundle task
      Returns:
      zip archive content
    • restoreVMBackup

      @POST @Path("/{vmUuid}/actions/restore-vm-backup") com.iland.core.web.rest.response.task.TaskResponse restoreVMBackup(@PathParam("vmUuid") String vmUuid, RestoreVMBackupParams params)
      Restores a VM backup.
      Parameters:
      vmUuid - the UUID of the VM
      params - restoration parameters
      Returns:
      the restore task, used to track the asynchronous operation