Interface MediaResource


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

    • getMedia

      @GET @Path("/{mediaUuid}") MediaResponse getMedia(@PathParam("mediaUuid") String mediaUuid)
      Retrieve media.
      Parameters:
      mediaUuid - media uuid
      Returns:
      media object
    • getMetadataForMedia

      @GET @Path("/{mediaUuid}/metadata") MetadataListResponse getMetadataForMedia(@PathParam("mediaUuid") String mediaUuid)
      Retrieve metadata associated with a media.
      Parameters:
      mediaUuid - media uuid
      Returns:
      list of metadata for the given media
    • updateMetadataForMedia

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

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

      @PUT @Path("/{mediaUuid}") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse updateMedia(@PathParam("mediaUuid") String mediaUuid, MediaUpdateRequest spec)
      Update a Media.

      Capable of updating the media name, description and storage profile.

      Parameters:
      mediaUuid - media uuid
      spec - specification for updating media
      Returns:
      asynchronous task details
    • deleteMedia

      @DELETE @Path("/{mediaUuid}") com.iland.core.web.rest.response.task.TaskResponse deleteMedia(@PathParam("mediaUuid") String mediaUuid)
      Delete a Media.
      Parameters:
      mediaUuid - media uuid
      Returns:
      asynchronous task details
    • cloneMedia

      @POST @Path("/{mediaUuid}/actions/clone") @Consumes("application/json") com.iland.core.web.rest.response.task.TaskResponse cloneMedia(@PathParam("mediaUuid") String mediaUuid, MediaCloneRequest spec)
      Clone a given media.

      The name of the media as well as the catalog, vDC, and storage profile placement of the newly created media are determined by the parameters submitted in the specification.

      If no storage profile is explicitly submitted in the spec, the vDC default storage profile will be used.

      Parameters:
      mediaUuid - media uuid to clone
      spec - specification for cloning media
      Returns:
      asynchronous task details
    • downloadMedia

      @GET @Path("/{mediaUuid}/download") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream downloadMedia(@PathParam("mediaUuid") String mediaUuid)
      Download a Media as an ISO file.
      Parameters:
      mediaUuid - media uuid
    • syncMedia

      @POST @Path("/{mediaUuid}/actions/sync") com.iland.core.web.rest.response.task.TaskResponse syncMedia(@PathParam("mediaUuid") String mediaUuid)
      Sync a media item belonging to a catalog with its source object
      Parameters:
      mediaUuid - media uuid to sync
      Returns:
      asynchronous task details