Interface SwaggerVappResource


@Path("/vapps") @Consumes("application/json") @Produces("application/vnd.ilandcloud.api.v1.0+json") public interface SwaggerVappResource
  • Method Details

    • getBillingForVapp

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

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

      Parameters:
      vappUuid - vapp 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 vApp and given invoice period
    • updateDescription

      @POST @Path("/{vappUuid}/actions/update-description") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateDescription(@PathParam("vappUuid") String vappUuid, VappDescriptionUpdateRequest request)
      Update the description for a vapp.
      Parameters:
      vappUuid - vapp uuid
      request - request to update vapp description
      Returns:
      asynchronous task details
    • getStartupSection

      @GET @Path("/{vappUuid}/startup-section") VappStartupSectionItemListResponse getStartupSection(@PathParam("vappUuid") String vappUuid)
      Get the startup section for a particular Vapp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      list of vapp startup section items
    • updateStartupSection

      @POST @Path("/{vappUuid}/actions/update-startup-section") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateStartupSection(@PathParam("vappUuid") String vappUuid, List<VappStartupSectionItemRequest> startupSection)
      Update the startup section of a particular Vapp.
      Parameters:
      vappUuid - vapp uuid
      startupSection - of instances
      Returns:
      list of vapp startup section items
    • getMetadataForVapp

      @GET @Path("/{vappUuid}/metadata") MetadataListResponse getMetadataForVapp(@PathParam("vappUuid") String vappUuid)
      Retrieve metadata associated with a Vapp.
      Parameters:
      vappUuid - vm uuid
      Returns:
      list of metadata for the vapp
    • updateMetadataForVapp

      @PUT @Path("/{vappUuid}/metadata") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateMetadataForVapp(@PathParam("vappUuid") String vappUuid, List<UpdateMetadataRequest> metadata)
      Add / update metadata associated with a Vapp.
      Parameters:
      vappUuid - vapp uuid
      metadata - of instances
      Returns:
      asynchronous task details
    • deleteMetadataForVapp

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

      @POST @Path("/{vappUuid}/actions/copy") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse copyVapp(@PathParam("vappUuid") String vappUuid, VappCopyMoveRequest spec)
      Creates a new vApp in the Vdc based on an existing vapp.
      Parameters:
      vappUuid - vapp uuid
      spec - specifications for newly copyied vapp
      Returns:
      asynchronous task details
    • moveVapp

      @POST @Path("/{vappUuid}/actions/move") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse moveVapp(@PathParam("vappUuid") String vappUuid, VappCopyMoveRequest spec)
      Creates a new vApp in the Vdc based on an existing vapp.
      Parameters:
      vappUuid - vapp uuid
      spec - specifications for newly copyied vapp
      Returns:
      asynchronous task details
    • addOrgVdcNetworkToVapp

      @POST @Path("/{vappUuid}/org-vdc-network/{networkUuid}") com.iland.core.web.rest.response.task.TaskResponse addOrgVdcNetworkToVapp(@PathParam("vappUuid") String vappUuid, @PathParam("networkUuid") String networkUuid)
      Add a new Org Vdc Network Direct Network to the given vApp.
      Parameters:
      vappUuid - vapp uuid
      networkUuid - network uuid
      Returns:
      asynchronous task details
    • addVappNetwork

      @POST @Path("/{vappUuid}/actions/add-vapp-network") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse addVappNetwork(@PathParam("vappUuid") String vappUuid, VappNetworkCreateRequest vappNetworkCreateRequest)
      Add a new vApp network to the given vApp.
      Parameters:
      vappUuid - vapp uuid
      vappNetworkCreateRequest - add vapp network request
      Returns:
      asynchronous task details
    • updateName

      @POST @Path("/{vappUuid}/actions/update-name") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateName(@PathParam("vappUuid") String vappUuid, VappRenameRequest request)
      Rename a vApp.
      Parameters:
      vappUuid - vapp uuid
      request - request for renaming a vApp
      Returns:
      asynchronous task details
    • deleteVapp

      @DELETE @Path("/{vappUuid}") com.iland.core.web.rest.response.task.TaskResponse deleteVapp(@PathParam("vappUuid") String vappUuid)
      Delete a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • getSnapshot

      @GET @Path("/{vappUuid}/snapshot") SnapshotResponse getSnapshot(@PathParam("vappUuid") String vappUuid)
      Get the snapshot for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      snapshot
    • hasVappSnapshot

      @GET @Path("/{vappUuid}/has-snapshot") HasSnapshotResponse hasVappSnapshot(@PathParam("vappUuid") String vappUuid)
      Check for the existence of a snapshot for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      whether snapshot exists
    • createSnapshot

      @POST @Path("/{vappUuid}/actions/create-snapshot") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse createSnapshot(@PathParam("vappUuid") String vappUuid, SnapshotCreateRequest request)
      Create a snapshot for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      request - request for creating a snapshot of a vApp
      Returns:
      asynchronous task details
    • restoreSnapshot

      @POST @Path("/{vappUuid}/actions/restore-snapshot") com.iland.core.web.rest.response.task.TaskResponse restoreSnapshot(@PathParam("vappUuid") String vappUuid)
      Restore a vApp from a snapshot.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • removeSnapshot

      @POST @Path("/{vappUuid}/actions/remove-snapshot") com.iland.core.web.rest.response.task.TaskResponse removeSnapshot(@PathParam("vappUuid") String vappUuid)
      Remove a snapshot from a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • updateRuntimeLease

      @POST @Path("/{vappUuid}/actions/update-runtime-lease") com.iland.core.web.rest.response.task.TaskResponse updateRuntimeLease(@PathParam("vappUuid") String vappUuid, RuntimeLeaseUpdateRequest request)
      Update the runtime lease for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      request - lease expiration from now in (seconds)
      Returns:
      asynchronous task details
    • updateStorageLease

      @POST @Path("/{vappUuid}/actions/update-storage-lease") com.iland.core.web.rest.response.task.TaskResponse updateStorageLease(@PathParam("vappUuid") String vappUuid, StorageLeaseUpdateRequest request)
      Update the storage lease for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      request - lease expiration from now in (seconds)
      Returns:
      asynchronous task details
    • addVms

      @POST @Path("/{vappUuid}/actions/add-vms-from-templates") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse addVms(@PathParam("vappUuid") String vappUuid, List<VmCreateRequest> requests)
      Add virtual machines to the vApp from templates.

      Invocation of this endpoint implies that the user has reviewed and accepted any and all EULAs associated with referenced templates.

      Parameters:
      vappUuid - vapp uuid
      requests - list of add vm requests
      Returns:
      asynchronous task details
    • buildVms

      @POST @Path("/{vappUuid}/actions/build-vms") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse buildVms(@PathParam("vappUuid") String vappUuid, List<BuildVmRequest> vms)
      Create virtual machines in a vApp
      Parameters:
      vappUuid - vapp uuid
      vms - list of vapp vms
      Returns:
      asynchronous task details
    • getNetworksFor

      @GET @Path("/{vappUuid}/networks") VappNetworkListResponse getNetworksFor(@PathParam("vappUuid") String vappUuid)
      Get the networks for a given vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      list of networks
    • getPerformanceForVapp

      @GET @Path("/{vappUuid}/performance/{group}::{name}::{type}") PerfSampleSerieResponse getPerformanceForVapp(@PathParam("vappUuid") String vappUuid, @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 vApp performance data for the given vApp, counter, and time range.
      Parameters:
      vappUuid - vapp 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 vApp, counter and date range
    • getPerformanceCounters

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

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

      @POST @Path("/{vappUuid}/actions/poweroff") com.iland.core.web.rest.response.task.TaskResponse powerOffVapp(@PathParam("vappUuid") String vappUuid)
      Power off a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • managedShutdown

      @POST @Path("/{vappUuid}/actions/managed-shutdown") com.iland.core.web.rest.response.task.TaskResponse managedShutdown(@PathParam("vappUuid") String vappUuid)
      Managed shutdown of a vApp using the vApp's startup section settings.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • suspendVapp

      @POST @Path("/{vappUuid}/actions/suspend") com.iland.core.web.rest.response.task.TaskResponse suspendVapp(@PathParam("vappUuid") String vappUuid)
      Suspend a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • shutdownVapp

      @POST @Path("/{vappUuid}/actions/shutdown") com.iland.core.web.rest.response.task.TaskResponse shutdownVapp(@PathParam("vappUuid") String vappUuid)
      Shutdown a vApp.

      This action requires VMWare Tools to be installed on each VM in the vApp.

      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • resetVapp

      @POST @Path("/{vappUuid}/actions/reset") com.iland.core.web.rest.response.task.TaskResponse resetVapp(@PathParam("vappUuid") String vappUuid)
      Reset a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • rebootVapp

      @POST @Path("/{vappUuid}/actions/reboot") com.iland.core.web.rest.response.task.TaskResponse rebootVapp(@PathParam("vappUuid") String vappUuid)
      Reboot a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      asynchronous task details
    • getVapp

      @GET @Path("/{vappUuid}") VappResponse getVapp(@PathParam("vappUuid") String vAppUuid)
      Get a vApp by UUID.
      Parameters:
      vAppUuid - vapp uuid
      Returns:
      vapp
    • getVmsForVapp

      @GET @Path("/{vAppUuid}/vms") VmListResponse getVmsForVapp(@PathParam("vAppUuid") String vappUuid)
      Get the list of VMs for a vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      list of vms
    • getSummary

      @GET @Path("/{vappUuid}/summary") VappResourceSummaryResponse getSummary(@PathParam("vappUuid") String vappUuid)
      Get the resource summary for the given vApp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      resource summary for the given vapp
    • enableDownload

      @POST @Path("/{vappUuid}/actions/enable-download") com.iland.core.web.rest.response.task.TaskResponse enableDownload(@PathParam("vappUuid") String vappUuid)
      Enable the download of the vapp. Returns a TaskResponse which monitors the progress of the download. Use downloadVapp(String) endpoint when task progress is synced to download the vapp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      TaskResponse core task
    • downloadVapp

      @GET @Path("/{vappUuid}/download") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream downloadVapp(@PathParam("vappUuid") String vappUuid)
      Download the vApp as an OVA package. enableDownload(String) must be called and synced before attempting to download the vapp.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      InputStream ova file
    • getDownloadDetailsForVapp

      @GET @Path("/{vappUuid}/download-details") DownloadDetailsResponse getDownloadDetailsForVapp(@PathParam("vappUuid") String vappUuid)
      Gets download details for the vApp. Details include whether the vapp is enabled for download, and, if enabled, the size and name of the download.
      Parameters:
      vappUuid - vapp uuid
      Returns:
      the download details
    • getVmResourceSummariesForVapp

      @GET @Path("{vappUuid}/vm-summary-map") VmResourceSummaryMapResponse getVmResourceSummariesForVapp(@PathParam("vappUuid") String vappUuid)
      Get the map of resource summaries for all VMs in the given vApp.
      Parameters:
      vappUuid - vApp uuid
      Returns:
      map of VM uuid to vm resource summary
    • getAvailableStorageProfiles

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

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

      @GET @Path("/{vappUuid}/integrated-backup-status") VappIntegratedBackupStatusDetailResponse getIntegratedBackupStatus(@PathParam("vappUuid") String vappUuid)
      Gets the vApp's integrated backup status.
      Parameters:
      vappUuid - the UUID of the vApp
      Returns:
      vApp integrated backup status details
    • getProductSections

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

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