Class StorageResource

All Implemented Interfaces:
VitamAutoCloseable, AutoCloseable

@Path("/storage/v1") public class StorageResource extends ApplicationStatusResource implements VitamAutoCloseable
  • Field Summary

    Fields inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource

    STATUS_URL, TENANTS_URL
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.ws.rs.core.Response
    Backup access log
    jakarta.ws.rs.core.Response
    Backup storage log
    jakarta.ws.rs.core.Response
    bulkCreateFromWorkspace(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String folder, BulkObjectStoreRequest bulkObjectStoreRequest)
     
    jakarta.ws.rs.core.Response
    checkAccessRequestStatuses(List<String> accessRequestIds, jakarta.ws.rs.core.HttpHeaders headers)
    Check access request statuses of asynchronous offer.
    jakarta.ws.rs.core.Response
    checkObject(jakarta.ws.rs.core.HttpHeaders headers, DataCategory type, String objectId)
    Check the existence of an object
    jakarta.ws.rs.core.Response
    checkObjectAvailability(DataCategory dataCategory, List<String> objectsNames, jakarta.ws.rs.core.HttpHeaders headers)
    Bulk check of immediate object availability in offer If target offer supports synchronous read requests, objects can be read immediately.
    void
     
    jakarta.ws.rs.core.Response
    copy(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String objectId)
     
    jakarta.ws.rs.core.Response
    create(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String operationId, InputStream inputStream)
    Post a new backup operation
    jakarta.ws.rs.core.Response
    createAccessionRegisterDetail(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String fileName, ObjectDescription createObjectDescription)
    Post a new unit metadata
    jakarta.ws.rs.core.Response
    createAccessionRegisterSymbolic(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String fileName, ObjectDescription createObjectDescription)
    Post a new unit metadata
    jakarta.ws.rs.core.Response
    createAccessRequestIfRequired(DataCategory dataCategory, List<String> objectsNames, jakarta.ws.rs.core.HttpHeaders headers)
    Create access request if target offer does not support synchronous read (tape library storage).
    jakarta.ws.rs.core.Response
    createAgencyFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String agencyfile, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createBackupFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String backupfile, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createDistributionReportFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String distributionreportfile, ObjectDescription createObjectDescription)
    Post a new distribution report file
    jakarta.ws.rs.core.Response
    createLogbook(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String logbookId, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createManifest(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String manifestId, ObjectDescription createObjectDescription)
    Post a new object manifest
    jakarta.ws.rs.core.Response
    createObject(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String objectId, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createObjectGroup(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String metadataId, ObjectDescription createObjectDescription)
    Post a new Object Group metadata
    jakarta.ws.rs.core.Response
    createObjectGroupGraphFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String graph_file_name, ObjectDescription createObjectDescription)
    Create a new graph zip file
    jakarta.ws.rs.core.Response
    createOrUpdateBackupOperation(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String operationId, ObjectDescription createObjectDescription)
    Post a new backup operation
    jakarta.ws.rs.core.Response
    createProfile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String profileFileName, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createReport(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String reportId, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createRuleFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String ruleFile, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createStorageAccessLog(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String storageAccessLogName, ObjectDescription createObjectDescription)
    Post a new accesslog object
    jakarta.ws.rs.core.Response
    createStorageLog(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String storageLogname, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createStorageTraceability(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String storagetraceabilityname, ObjectDescription createObjectDescription)
    Post a new object
    jakarta.ws.rs.core.Response
    createUnitGraphFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String graph_file_name, ObjectDescription createObjectDescription)
    Create a new graph zip file
    jakarta.ws.rs.core.Response
    createUnitMetadata(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String metadataId, ObjectDescription createObjectDescription)
    Post a new unit metadata
    jakarta.ws.rs.core.Response
    deleteObject(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String objectId)
    Delete an object
    jakarta.ws.rs.core.Response
    downloadProfile(jakarta.ws.rs.core.HttpHeaders headers, String profileFileName)
    Get a profile
    jakarta.ws.rs.core.Response
    downloadStorageTraceability(jakarta.ws.rs.core.HttpHeaders headers, String filename)
    Get a storage traceability file
    jakarta.ws.rs.core.Response
    getAccessionRegisterDetail(jakarta.ws.rs.core.HttpHeaders headers, String fileName)
    Get an accessionregistersdetail
    jakarta.ws.rs.core.Response
    getAccessionRegisterSymbolic(jakarta.ws.rs.core.HttpHeaders headers, String fileName)
    Get an accessionregisterssymbolic
    jakarta.ws.rs.core.Response
    getAccessLogFile(jakarta.ws.rs.core.HttpHeaders headers, String storageAccessLogFile)
    Get access log data.
    jakarta.ws.rs.core.Response
    getBackupFile(jakarta.ws.rs.core.HttpHeaders headers, String backupfile)
    Get colection data.
    jakarta.ws.rs.core.Response
    getBackupOperation(jakarta.ws.rs.core.HttpHeaders headers, String operationId)
    Get a backup operation
    jakarta.ws.rs.core.Response
    getBatchObjectInformation(jakarta.ws.rs.core.HttpHeaders headers, String typeStr, List<String> objectIds)
    Get object metadata as json Note : this is NOT to be handled in item #72.
    jakarta.ws.rs.core.Response
    getDistributionReport(jakarta.ws.rs.core.HttpHeaders headers, String objectId)
    Get a report
    jakarta.ws.rs.core.Response
    getInformation(jakarta.ws.rs.core.HttpHeaders headers, String typeStr, String objectId)
    Get object metadata as json Note : this is NOT to be handled in item #72.
    jakarta.ws.rs.core.Response
    getLogbookStream(jakarta.ws.rs.core.HttpHeaders headers, String objectId)
     
    jakarta.ws.rs.core.Response
    getManifest(jakarta.ws.rs.core.HttpHeaders headers, String objectId)
    getManifest stored by ingest operation
    jakarta.ws.rs.core.Response
    getObject(jakarta.ws.rs.core.HttpHeaders headers, String objectId, AccessLogInfoModel logInfo)
    Get an object data
    jakarta.ws.rs.core.Response
    getObjectGroup(jakarta.ws.rs.core.HttpHeaders headers, String metadataId)
    Get a Object Group
    jakarta.ws.rs.core.Response
    getObjectGroupGraphFile(jakarta.ws.rs.core.HttpHeaders headers, String graph_file_name)
    Get graph zip file
    jakarta.ws.rs.core.Response
    getOfferLogs(jakarta.ws.rs.core.HttpHeaders headers, DataCategory type, OfferLogRequest offerLogRequest)
    Get offer log from referent offer
    jakarta.ws.rs.core.Response
    getOffers(String strategyId)
     
    jakarta.ws.rs.core.Response
    Get referent Offer in strategy
    jakarta.ws.rs.core.Response
    getReport(jakarta.ws.rs.core.HttpHeaders headers, String objectId)
    Get a report
    jakarta.ws.rs.core.Response
    getRuleFile(jakarta.ws.rs.core.HttpHeaders headers, String objectId)
     
    jakarta.ws.rs.core.Response
    getStorageInformation(jakarta.ws.rs.core.HttpHeaders headers)
    Get storage information for a specific tenant/strategy For example the usable space
    jakarta.ws.rs.core.Response
    getStorageLogFile(jakarta.ws.rs.core.HttpHeaders headers, String storageAccessLogFile)
    Get access log data.
    jakarta.ws.rs.core.Response
    Get the strategies available in the module
    jakarta.ws.rs.core.Response
    getTemporaryFile(jakarta.ws.rs.core.HttpHeaders headers, String file_name)
     
    jakarta.ws.rs.core.Response
    getUnit(jakarta.ws.rs.core.HttpHeaders headers, String unitId)
    Get a unit
    jakarta.ws.rs.core.Response
    getUnitGraphFile(jakarta.ws.rs.core.HttpHeaders headers, String graph_file_name)
    Get graph zip file
    void
    launchOfferLogCompaction(String offerId, jakarta.ws.rs.core.HttpHeaders headers)
     
    jakarta.ws.rs.core.Response
    listObjects(jakarta.ws.rs.core.HttpHeaders headers, DataCategory type)
    Get list of object type
    jakarta.ws.rs.core.Response
    removeAccessRequest(String accessRequestId, jakarta.ws.rs.core.HttpHeaders headers)
    Remove access request from asynchronous offer.
    jakarta.ws.rs.core.Response
    storeArchivalTransferReply(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String id, ObjectDescription description)
     
    jakarta.ws.rs.core.Response
    storeTemporaryFile(jakarta.servlet.http.HttpServletRequest httpServletRequest, jakarta.ws.rs.core.HttpHeaders headers, String id, ObjectDescription description)
     
    jakarta.ws.rs.core.Response
    Run storage logbook secure operation

    Methods inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource

    getServerTenants, status

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • copy

      @Path("/copy/{id_object}") @POST @Produces("application/json") public jakarta.ws.rs.core.Response copy(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_object") String objectId)
    • create

      @Path("/create/{id_operation}") @POST @Consumes("application/octet-stream") @Produces("application/json") public jakarta.ws.rs.core.Response create(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_operation") String operationId, InputStream inputStream)
      Post a new backup operation
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      operationId - the id of the operation
      inputStream - inputStream
      Returns:
      Response
    • getStorageInformation

      @GET @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response getStorageInformation(@Context jakarta.ws.rs.core.HttpHeaders headers)
      Get storage information for a specific tenant/strategy For example the usable space
      Parameters:
      headers - http headers
      Returns:
      Response containing the storage information as json, or an error (404, 500)
    • listObjects

      @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGEACCESSLOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}") @GET @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response listObjects(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("type") DataCategory type)
      Get list of object type
      Parameters:
      headers - X-Strategy-Id header
      type - the object type to list
      Returns:
      a response with listing elements
    • getOfferLogs

      @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}/logs") @GET @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response getOfferLogs(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("type") DataCategory type, OfferLogRequest offerLogRequest)
      Get offer log from referent offer
      Parameters:
      headers -
      type - the object type to list
      offerLogRequest - offer log request params
      Returns:
      list of offer log
    • getInformation

      @Path("/info/{type}/{id_object}") @GET @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response getInformation(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("type") String typeStr, @PathParam("id_object") String objectId)
      Get object metadata as json Note : this is NOT to be handled in item #72.
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      Response NOT_IMPLEMENTED
    • getBatchObjectInformation

      @Path("/batch_info/{type}") @GET @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response getBatchObjectInformation(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("type") String typeStr, List<String> objectIds)
      Get object metadata as json Note : this is NOT to be handled in item #72.
      Parameters:
      headers - http header
      objectIds - the id of the object
    • getObject

      @Path("/objects/{id_object}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getObject(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_object") String objectId, AccessLogInfoModel logInfo)
      Get an object data
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      the stream
    • getBackupFile

      @Path("/backup/{backupfile}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getBackupFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("backupfile") String backupfile)
      Get colection data.
      Parameters:
      headers - headers
      backupfile - backupfile
      Returns:
    • createObject

      @Path("/objects/{id_object}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createObject(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_object") String objectId, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      objectId - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • createOrUpdateBackupOperation

      @Path("/backupoperations/{id_operation}") @POST @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response createOrUpdateBackupOperation(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_operation") String operationId, ObjectDescription createObjectDescription)
      Post a new backup operation
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      operationId - the id of the operation
      createObjectDescription - the object description for storage
      Returns:
    • getAccessLogFile

      @Path("/storageaccesslog/{storageaccesslogfile}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getAccessLogFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storageaccesslogfile") String storageAccessLogFile)
      Get access log data.
      Parameters:
      headers - headers
      storageAccessLogFile - backupfile
      Returns:
      the file as stream
    • getStorageLogFile

      @Path("/storagelog/{storagelogfile}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getStorageLogFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storagelogfile") String storageAccessLogFile)
      Get access log data.
      Parameters:
      headers - headers
      storageAccessLogFile - backupfile
      Returns:
      the file as stream
    • getOffers

      @Path("/offers") @GET @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response getOffers(@HeaderParam("X-Strategy-Id") String strategyId)
      Parameters:
      strategyId - the strategy to get offers
      Returns:
    • getReferentOffer

      @Path("/referentOffer") @GET @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response getReferentOffer(@HeaderParam("X-Strategy-Id") String strategyId)
      Get referent Offer in strategy
      Parameters:
      strategyId - the strategy to get offers
      Returns:
    • getBackupOperation

      @Path("/backupoperations/{id_operation}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getBackupOperation(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_operation") String operationId)
      Get a backup operation
      Parameters:
      headers - http header
      operationId - the id of the operation
      Returns:
      the stream
    • deleteObject

      @Path("/delete/{id_object}") @DELETE @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response deleteObject(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_object") String objectId)
      Delete an object
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      Response
    • checkObject

      @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}/{id_object}") @HEAD @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response checkObject(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("type") DataCategory type, @PathParam("id_object") String objectId)
      Check the existence of an object
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      Response NOT_IMPLEMENTED
    • getLogbookStream

      @Path("/logbooks/{id_logbook}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getLogbookStream(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_logbook") String objectId)
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      the stream
    • createLogbook

      @Path("/logbooks/{id_logbook}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createLogbook(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_logbook") String logbookId, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      logbookId - the id of the logbookId
      createObjectDescription - the workspace information about logbook to be created
      Returns:
      the stream
    • getUnit

      @Path("/units/{id_md}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getUnit(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_md") String unitId)
      Get a unit
      Parameters:
      headers - http header
      unitId - the id of the unit
      Returns:
      the stream
    • createUnitMetadata

      @Path("/units/{id_md}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createUnitMetadata(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_md") String metadataId, ObjectDescription createObjectDescription)
      Post a new unit metadata
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      metadataId - the id of the unit metadata
      createObjectDescription - the workspace description of the unit to be created
      Returns:
      Response containing result infos
    • getObjectGroup

      @Path("/objectgroups/{id_md}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getObjectGroup(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_md") String metadataId)
      Get a Object Group

      Note : this is NOT to be handled in item #72.

      Parameters:
      headers - http header
      metadataId - the id of the Object Group metadata
      Returns:
      Response NOT_IMPLEMENTED
    • createObjectGroup

      @Path("/objectgroups/{id_md}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createObjectGroup(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_md") String metadataId, ObjectDescription createObjectDescription)
      Post a new Object Group metadata
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      metadataId - the id of the Object Group metadata
      createObjectDescription - the workspace description of the unit to be created
      Returns:
      Response Created with informations
    • storeArchivalTransferReply

      @POST @Path("/archivaltransferreply/{id}") @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response storeArchivalTransferReply(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id") String id, ObjectDescription description)
    • storeTemporaryFile

      @POST @Path("/tmp/{id}") @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response storeTemporaryFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id") String id, ObjectDescription description)
    • getTemporaryFile

      @Path("/tmp/{file_name}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getTemporaryFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("file_name") String file_name)
    • createReport

      @Path("/reports/{id_report}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createReport(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_report") String reportId, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      reportId - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • getReport

      @Path("/reports/{id_report}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getReport(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_report") String objectId)
      Get a report
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      the stream
    • getDistributionReport

      @Path("/distributionreports/{id_report}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getDistributionReport(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_report") String objectId)
      Get a report
      Parameters:
      headers - http header
      objectId - the id of the object
      Returns:
      the stream
    • createManifest

      @Path("/manifests/{id_manifest}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createManifest(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_manifest") String manifestId, ObjectDescription createObjectDescription)
      Post a new object manifest
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      manifestId - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • getManifest

      @Path("/manifests/{id_manifest}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getManifest(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_manifest") String objectId)
      getManifest stored by ingest operation
      Parameters:
      headers -
      objectId -
      Returns:
      the stream
    • backupStorageAccessLog

      @POST @Path("/storage/backup/accesslog") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response backupStorageAccessLog(List<Integer> tenants)
      Backup access log
      Parameters:
      tenants - tenant list to backup
      Returns:
      the response with a specific HTTP status
    • backupStorageLog

      @POST @Path("/storage/backup") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response backupStorageLog(List<Integer> tenants)
      Backup storage log
      Parameters:
      tenants - tenant list to backup
      Returns:
      the response with a specific HTTP status
    • traceabilityStorageLogbook

      @POST @Path("/storage/traceability") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response traceabilityStorageLogbook(List<Integer> tenants)
      Run storage logbook secure operation
      Parameters:
      tenants - tenant list to secure
      Returns:
      the response with a specific HTTP status
    • createStorageLog

      @Path("/storagelog/{storagelogname}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createStorageLog(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storagelogname") String storageLogname, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      storageLogname - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • createStorageAccessLog

      @Path("/storageaccesslog/{storageaccesslogname}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createStorageAccessLog(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storageaccesslogname") String storageAccessLogName, ObjectDescription createObjectDescription)
      Post a new accesslog object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      createObjectDescription - the object description
      Returns:
      Response
    • createStorageTraceability

      @Path("/storagetraceability/{storagetraceabilityname}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createStorageTraceability(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storagetraceabilityname") String storagetraceabilityname, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      storagetraceabilityname - storage traceability name
      createObjectDescription - the object description
      Returns:
      Response
    • downloadStorageTraceability

      @Path("/storagetraceability/{storagetraceability_name}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response downloadStorageTraceability(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("storagetraceability_name") String filename)
      Get a storage traceability file
      Parameters:
      headers - http header
      filename - the id of the object
      Returns:
      the stream
    • createBackupFile

      @Path("/backup/{backupfile}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createBackupFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("backupfile") String backupfile, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      backupfile - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • createRuleFile

      @Path("/rules/{rulefile}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createRuleFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("rulefile") String ruleFile, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      ruleFile - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • getRuleFile

      @Path("/rules/{id_object}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getRuleFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("id_object") String objectId)
    • createUnitGraphFile

      @Path("/unitgraph/{graph_file_name}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createUnitGraphFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("graph_file_name") String graph_file_name, ObjectDescription createObjectDescription)
      Create a new graph zip file
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      graph_file_name - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • getUnitGraphFile

      @Path("/unitgraph/{graph_file_name}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getUnitGraphFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("graph_file_name") String graph_file_name)
      Get graph zip file
      Parameters:
      headers -
      graph_file_name -
      Returns:
    • createObjectGroupGraphFile

      @Path("/objectgroupgraph/{graph_file_name}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createObjectGroupGraphFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("graph_file_name") String graph_file_name, ObjectDescription createObjectDescription)
      Create a new graph zip file
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      graph_file_name - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • getObjectGroupGraphFile

      @Path("/objectgroupgraph/{graph_file_name}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getObjectGroupGraphFile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("graph_file_name") String graph_file_name)
      Get graph zip file
      Parameters:
      headers -
      graph_file_name -
      Returns:
    • createAgencyFile

      @Path("/agencies/{agencyfile}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createAgencyFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("agencyfile") String agencyfile, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      agencyfile - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • createProfile

      @Path("/profiles/{profile_file_name}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createProfile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("profile_file_name") String profileFileName, ObjectDescription createObjectDescription)
      Post a new object
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      profileFileName - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • downloadProfile

      @Path("/profiles/{profile_file_name}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response downloadProfile(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("profile_file_name") String profileFileName)
      Get a profile
      Parameters:
      headers - http header
      profileFileName - the id of the object
      Returns:
      the stream
    • createDistributionReportFile

      @Path("/distributionreports/{distributionreportfile}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createDistributionReportFile(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("distributionreportfile") String distributionreportfile, ObjectDescription createObjectDescription)
      Post a new distribution report file
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      distributionreportfile - the id of the object
      createObjectDescription - the object description
      Returns:
      Response
    • createAccessionRegisterDetail

      @Path("/accessionregistersdetail/{fileName}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createAccessionRegisterDetail(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("fileName") String fileName, ObjectDescription createObjectDescription)
      Post a new unit metadata
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      fileName - the file name of the Accession Register Detail
      createObjectDescription - the workspace description of the unit to be created
      Returns:
      Response containing result infos
    • getAccessionRegisterDetail

      @Path("/accessionregistersdetail/{fileName}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getAccessionRegisterDetail(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("fileName") String fileName)
      Get an accessionregistersdetail
      Parameters:
      headers - http header
      fileName - the file name of the Accession Register Detail
      Returns:
      the stream
    • createAccessionRegisterSymbolic

      @Path("/accessionregisterssymbolic/{fileName}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response createAccessionRegisterSymbolic(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("fileName") String fileName, ObjectDescription createObjectDescription)
      Post a new unit metadata
      Parameters:
      httpServletRequest - http servlet request to get requester
      headers - http header
      fileName - the file name of the Accession Register Symbolic
      createObjectDescription - the workspace description of the unit to be created
      Returns:
      Response containing result infos
    • getAccessionRegisterSymbolic

      @Path("/accessionregisterssymbolic/{fileName}") @GET @Produces({"application/octet-stream","application/zip"}) public jakarta.ws.rs.core.Response getAccessionRegisterSymbolic(@Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("fileName") String fileName)
      Get an accessionregisterssymbolic
      Parameters:
      headers - http header
      fileName - the file name of the Accession Register Symbolic
      Returns:
      the stream
    • bulkCreateFromWorkspace

      @Path("/bulk/{folder}") @POST @Produces("application/json") @Consumes("application/json") public jakarta.ws.rs.core.Response bulkCreateFromWorkspace(@Context jakarta.servlet.http.HttpServletRequest httpServletRequest, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("folder") String folder, BulkObjectStoreRequest bulkObjectStoreRequest)
    • getStrategies

      @Path("/strategies") @GET @Produces("application/json") public jakarta.ws.rs.core.Response getStrategies()
      Get the strategies available in the module
      Returns:
      the strategies
    • createAccessRequestIfRequired

      @POST @Path("/access-request/{dataCategory}") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response createAccessRequestIfRequired(@PathParam("dataCategory") DataCategory dataCategory, List<String> objectsNames, @Context jakarta.ws.rs.core.HttpHeaders headers)
      Create access request if target offer does not support synchronous read (tape library storage). If target offer supports synchronous read requests, then no access request is created. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used.
      Parameters:
      objectsNames - objects for which access is requested
      headers - http header
      Returns:
      HTTP 20O-OK with accessRequestId is access request created, HTTP 204-NO_CONTENT if no access request required
    • checkAccessRequestStatuses

      @GET @Path("/access-request/statuses") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response checkAccessRequestStatuses(List<String> accessRequestIds, @Context jakarta.ws.rs.core.HttpHeaders headers)
      Check access request statuses of asynchronous offer. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used. HEADER X-Admin-Cross-Tenant-Access-Request-Allowed (mandatory) : when true, removal of access requests of other tenants is allowed from Admin tenant
      Parameters:
      accessRequestIds - accessRequestIds whose status is to be checked
      headers - http header
      Returns:
      HTTP 20O-OK with the AccessRequestStatus for each access request id
    • removeAccessRequest

      @DELETE @Path("/access-request/{accessRequestId}") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response removeAccessRequest(@PathParam("accessRequestId") String accessRequestId, @Context jakarta.ws.rs.core.HttpHeaders headers)
      Remove access request from asynchronous offer. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used. HEADER X-Admin-Cross-Tenant-Access-Request-Allowed (mandatory) : when true, access to access requests of other tenants is allowed from Admin tenant
      Parameters:
      accessRequestId - the accessRequestId to be removed
      headers - http header
      Returns:
      HTTP 20O-OK with the AccessRequestStatus for each access request id
    • checkObjectAvailability

      @GET @Path("/object-availability-check/{dataCategory}") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response checkObjectAvailability(@PathParam("dataCategory") DataCategory dataCategory, List<String> objectsNames, @Context jakarta.ws.rs.core.HttpHeaders headers)
      Bulk check of immediate object availability in offer If target offer supports synchronous read requests, objects can be read immediately. If target offer does not support synchronous read requests (tape library storage), request is forwarded to the offer for effective check. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used.
      Parameters:
      objectsNames - objects for which access is requested
      headers - http header
      Returns:
      HTTP 20O-OK with availability status
    • launchOfferLogCompaction

      @POST @Path("/compaction") @Consumes("application/json") public void launchOfferLogCompaction(String offerId, @Context jakarta.ws.rs.core.HttpHeaders headers) throws StorageException
      Throws:
      StorageException
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface VitamAutoCloseable