Class AccessExternalResource
- java.lang.Object
-
- fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
-
- fr.gouv.vitam.access.external.rest.AccessExternalResource
-
@Path("/access-external/v1") public class AccessExternalResource extends ApplicationStatusResource
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DATA_OBJECT_VERSION
-
Fields inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
STATUS_URL, TENANTS_URL
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description javax.ws.rs.core.Response
bulkAtomicUpdateUnits(com.fasterxml.jackson.databind.JsonNode updateQueriesJson)
Bulk atomic update of archive units with json queries.javax.ws.rs.core.Response
checkAccessRequestStatuses(java.util.List<AccessRequestReference> accessRequestReferences)
Bulk check of the status of a set of Access Requests.javax.ws.rs.core.Response
createObjectAccessRequestByUnitId(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId)
Create an access request for accessing the object of an archive unit stored on an async storage offer (tape storage offer) Access requests for objects stored on non-asynchronous storage offers does NOT require Access Request creation.javax.ws.rs.core.Response
deleteComputeInheritedRules(com.fasterxml.jackson.databind.JsonNode dslQuery)
javax.ws.rs.core.Response
deleteGotVersions(DeleteGotVersionsRequest deleteGotVersionsRequest)
javax.ws.rs.core.Response
exportDIP(com.fasterxml.jackson.databind.JsonNode queryJson)
get a DIP by dsl queryjavax.ws.rs.core.Response
findExportByID(java.lang.String id)
javax.ws.rs.core.Response
findTransferByID(java.lang.String id)
javax.ws.rs.core.Response
getAccessLog(com.fasterxml.jackson.databind.JsonNode params)
javax.ws.rs.core.Response
getDataObjectByObjectPersistentIdentifier(javax.ws.rs.core.HttpHeaders headers, java.lang.String persistentIdentifier)
The caller is responsible to close the Response after consuming the inputStream.javax.ws.rs.core.Response
getDataObjectByUnitId(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId)
The caller is responsible to close the Response after consuming the inputStream.javax.ws.rs.core.Response
getDataObjectByUnitPersistentIdentifier(javax.ws.rs.core.HttpHeaders headers, java.lang.String persistentIdentifier, java.lang.String qualifier, java.lang.Integer version)
The caller is responsible to close the Response after consuming the inputStream.javax.ws.rs.core.Response
getObjectGroupMetadataByUnitId(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId, com.fasterxml.jackson.databind.JsonNode queryJson)
Retrieve Object group list by query based on identifier of the unitjavax.ws.rs.core.Response
getObjects(com.fasterxml.jackson.databind.JsonNode queryJson)
get Objects group list based on DSL queryjavax.ws.rs.core.Response
getObjectsByPersistentIdentifier(java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
get Objects list based on persistent identifierjavax.ws.rs.core.Response
getUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, java.lang.String idUnit)
get units list by query based on identifierjavax.ws.rs.core.Response
getUnitByPersistentIdentifier(java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
Retrieve archive units by unit persistent identifierjavax.ws.rs.core.Response
getUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
get units list by queryjavax.ws.rs.core.Response
listResourceEndpoints()
List secured resource end pointsjavax.ws.rs.core.Response
massUpdateUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
Mass update of archive units with json query.javax.ws.rs.core.Response
massUpdateUnitsRules(MassUpdateUnitRuleRequest massUpdateUnitRuleRequest)
Mass update of archive units rules with json request.javax.ws.rs.core.Response
reclassification(com.fasterxml.jackson.databind.JsonNode queryJson)
Performs a reclassification workflow.javax.ws.rs.core.Response
removeAccessRequest(AccessRequestReference accessRequestReference)
Removes an Access Request from an async storage offer (tape storage offer) After removing an Access Request, object in not more guaranteed to be accessible for download.javax.ws.rs.core.Response
revertUpdateUnits(RevertUpdateOptions revertUpdateOptions)
Revert an update of archive units with json query.javax.ws.rs.core.Response
selectUnitsWithInheritedRules(com.fasterxml.jackson.databind.JsonNode queryJson)
Select units with inherited rulesjavax.ws.rs.core.Response
startComputeInheritedRules(com.fasterxml.jackson.databind.JsonNode dslQuery)
javax.ws.rs.core.Response
startEliminationAction(EliminationRequestBody eliminationRequestBody)
Performs an elimination action workflow.javax.ws.rs.core.Response
startEliminationAnalysis(EliminationRequestBody eliminationRequestBody)
Performs an elimination analysis workflow.javax.ws.rs.core.Response
startPreservation(PreservationRequest preservationRequest)
javax.ws.rs.core.Response
streamObjects(com.fasterxml.jackson.databind.JsonNode queryJson)
get objects list by queryjavax.ws.rs.core.Response
streamUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
get units list by queryjavax.ws.rs.core.Response
transfer(TransferRequest transferRequest)
javax.ws.rs.core.Response
transferReply(java.io.InputStream transferReply)
javax.ws.rs.core.Response
updateUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, java.lang.String idUnit)
Deprecated.This Method is no longer maintained and is no longer acceptable for updating units.-
Methods inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
getServerTenants, status
-
-
-
-
Field Detail
-
DATA_OBJECT_VERSION
public static final java.lang.String DATA_OBJECT_VERSION
- See Also:
- Constant Field Values
-
-
Method Detail
-
listResourceEndpoints
@Path("/") @OPTIONS @Produces("application/json") public javax.ws.rs.core.Response listResourceEndpoints()
List secured resource end points- Returns:
- response
-
getUnits
@GET @Path("/units") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response getUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
get units list by query- Parameters:
queryJson
- the query to get units- Returns:
- Response
-
getUnitByPersistentIdentifier
@GET @Path("/units/byunitspersistentidentifier/{persistentIdentifier:.+}") @Produces("application/json") @Consumes("application/json") public javax.ws.rs.core.Response getUnitByPersistentIdentifier(@PathParam("persistentIdentifier") java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
Retrieve archive units by unit persistent identifier- Parameters:
persistentIdentifier
- Persistent Identifier value, the name should be persistentIdentifier to accept the custom validation, otherwise, ark format identifier will not be acceptedqueryJson
- the query to get object- Returns:
- response
-
streamUnits
@GET @Path("/units/stream") @Consumes("application/json") @Produces("application/octet-stream") public javax.ws.rs.core.Response streamUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
get units list by query- Parameters:
queryJson
- the query to get units- Returns:
- Response
-
streamObjects
@GET @Path("/objects/stream") @Consumes("application/json") @Produces("application/octet-stream") public javax.ws.rs.core.Response streamObjects(com.fasterxml.jackson.databind.JsonNode queryJson)
get objects list by query- Parameters:
queryJson
- the query to get objects- Returns:
- Response
-
exportDIP
@POST @Path("/dipexport") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response exportDIP(com.fasterxml.jackson.databind.JsonNode queryJson)
get a DIP by dsl query- Parameters:
queryJson
- the query to get units- Returns:
- Response
-
transfer
@POST @Path("/transfers") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response transfer(TransferRequest transferRequest)
-
transferReply
@POST @Path("/transfers/reply") @Consumes("application/xml") @Produces("application/json") public javax.ws.rs.core.Response transferReply(java.io.InputStream transferReply)
-
findTransferByID
@GET @Path("/transfers/{id}/sip") @Produces("application/octet-stream") public javax.ws.rs.core.Response findTransferByID(@PathParam("id") java.lang.String id)
-
reclassification
@POST @Path("/reclassification") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response reclassification(com.fasterxml.jackson.databind.JsonNode queryJson)
Performs a reclassification workflow.- Parameters:
queryJson
- List of reclassification DSL queries.- Returns:
- Response
-
startEliminationAnalysis
@POST @Path("/elimination/analysis") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response startEliminationAnalysis(EliminationRequestBody eliminationRequestBody)
Performs an elimination analysis workflow.- Parameters:
eliminationRequestBody
- object that contain dsl request and a given date.- Returns:
- Response
-
startEliminationAction
@POST @Path("/elimination/action") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response startEliminationAction(EliminationRequestBody eliminationRequestBody)
Performs an elimination action workflow.- Parameters:
eliminationRequestBody
- object that contain dsl request and a given date.- Returns:
- Response
-
findExportByID
@GET @Path("/dipexport/{id}/dip") @Produces("application/octet-stream") public javax.ws.rs.core.Response findExportByID(@PathParam("id") java.lang.String id)
- Parameters:
id
- operationId correponding to the current dip- Returns:
- Response
-
getUnitById
@GET @Path("/units/{idu}") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response getUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, @PathParam("idu") java.lang.String idUnit)
get units list by query based on identifier- Parameters:
queryJson
- query as StringidUnit
- the id of archive unit to get- Returns:
- Archive Unit
-
updateUnitById
@Deprecated @PUT @Path("/units/{idu}") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response updateUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, @PathParam("idu") java.lang.String idUnit)
Deprecated.This Method is no longer maintained and is no longer acceptable for updating units.Use
massUpdateUnits(JsonNode)
ormassUpdateUnitsRules(MassUpdateUnitRuleRequest)
instead.Update archive units by Id with Json query- Parameters:
queryJson
- the update query (null not allowed)idUnit
- units identifier- Returns:
- a archive unit result list
-
getObjectGroupMetadataByUnitId
@GET @Path("/units/{idu}/objects") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response getObjectGroupMetadataByUnitId(@Context javax.ws.rs.core.HttpHeaders headers, @PathParam("idu") java.lang.String unitId, com.fasterxml.jackson.databind.JsonNode queryJson)
Retrieve Object group list by query based on identifier of the unit- Parameters:
headers
- the http header defined parameters of requestunitId
- the id of archive unitqueryJson
- the query to get object- Returns:
- Response
-
getDataObjectByUnitId
@GET @Path("/units/{idu}/objects") @Consumes("application/json") @Produces("application/octet-stream") public javax.ws.rs.core.Response getDataObjectByUnitId(@Context javax.ws.rs.core.HttpHeaders headers, @PathParam("idu") java.lang.String unitId)
The caller is responsible to close the Response after consuming the inputStream.- Parameters:
headers
- the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.unitId
- the id of archive unit- Returns:
- object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
-
getDataObjectByUnitPersistentIdentifier
@GET @Path("/objects/byunitspersistentidentifier/{persistentIdentifier:.+}") @Produces("application/octet-stream") public javax.ws.rs.core.Response getDataObjectByUnitPersistentIdentifier(@Context javax.ws.rs.core.HttpHeaders headers, @PathParam("persistentIdentifier") java.lang.String persistentIdentifier, @DefaultValue("BinaryMaster") @QueryParam("qualifier") java.lang.String qualifier, @DefaultValue("1") @QueryParam("version") java.lang.Integer version)
The caller is responsible to close the Response after consuming the inputStream.- Parameters:
persistentIdentifier
- unit Persistent Identifierqualifier
- the qualifier, not mondatory, default value BinaryMasterversion
- the version, not mondatory, default value 1headers
- the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.- Returns:
- object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
-
getDataObjectByObjectPersistentIdentifier
@GET @Path("/objects/byobjectspersistentidentifier/{persistentIdentifier:.+}") @Produces("application/octet-stream") public javax.ws.rs.core.Response getDataObjectByObjectPersistentIdentifier(@Context javax.ws.rs.core.HttpHeaders headers, @PathParam("persistentIdentifier") java.lang.String persistentIdentifier)
The caller is responsible to close the Response after consuming the inputStream.- Parameters:
headers
- the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.persistentIdentifier
- object Persistent Identifier value- Returns:
- object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
-
getObjectsByPersistentIdentifier
@GET @Path("/objects/byobjectspersistentidentifier/{persistentIdentifier:.+}") @Produces("application/json") public javax.ws.rs.core.Response getObjectsByPersistentIdentifier(@PathParam("persistentIdentifier") java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
get Objects list based on persistent identifier- Parameters:
persistentIdentifier
- the persistent identifier to get Object- Returns:
- Response
-
createObjectAccessRequestByUnitId
@POST @Path("/units/{idu}/objects/accessRequests") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response createObjectAccessRequestByUnitId(@Context javax.ws.rs.core.HttpHeaders headers, @PathParam("idu") java.lang.String unitId)
Create an access request for accessing the object of an archive unit stored on an async storage offer (tape storage offer) Access requests for objects stored on non-asynchronous storage offers does NOT require Access Request creation. The status of returned Access Requests should be monitoring periodically (typically every few minutes) to check the availability of data. Once an Access Request status isAccessRequestStatus.READY
, the data can be downloaded within the Access Request expiration delay defined in the tape storage offer configuration by the administrator. CAUTION : After successful download of object, caller SHOULD remove the Access Request to free up disk resources on tape storage offer.- Parameters:
headers
- the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.unitId
- the id of archive unit- Returns:
- HTTP 200 with RequestResponse body with an
AccessRequestReference
entry when Access Request created, or an RequestResponse when no Access Request required (synchronous storage offer). HTTP 404 when not found. HTTP 40X / 50X on error.
-
checkAccessRequestStatuses
@GET @Path("/accessRequests/") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response checkAccessRequestStatuses(java.util.List<AccessRequestReference> accessRequestReferences)
Bulk check of the status of a set of Access Requests. Once Access Request status isAccessRequestStatus.READY
, the object is guaranteed to be available for download within the Access Request expiration delay defined in the tape storage offer configuration by the administrator. Access Requests are only visible within their tenant. Attempts to check status of Access Requests of another tenant will return aAccessRequestStatus.NOT_FOUND
. Attempts to check an Access Request status for a non-asynchronous storage offer (tape storage offer) causes an HTTP 406 Not-Acceptable error code.- Parameters:
accessRequestReferences
- the Access Requests whose status is to be checked- Returns:
- HTTP 200 with a RequestResponse of
StatusByAccessRequest
entries, one perAccessRequestReference
. HTTP 40X / 50X on error.
-
removeAccessRequest
@DELETE @Path("/accessRequests/") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response removeAccessRequest(AccessRequestReference accessRequestReference)
Removes an Access Request from an async storage offer (tape storage offer) After removing an Access Request, object in not more guaranteed to be accessible for download. Attempts to remove an Access Request from a non-asynchronous storage offer causes an HTTP 406 Not-Acceptable error code. Attempts to remove an already removed Access Request does NOT fail (idempotency). Access Requests are only visible within their tenant. Attempts to remove an Access Request of another tenant does NOT delete access request.- Parameters:
accessRequestReference
- the access request to remove- Returns:
- HTTP 200 on success or in case of Access Request not found (already removed, purged after timeout, non-visible from current tenant). HTTP 40x / 50x on error.
-
massUpdateUnits
@POST @Path("/units") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response massUpdateUnits(com.fasterxml.jackson.databind.JsonNode queryJson)
Mass update of archive units with json query.- Parameters:
queryJson
- the mass_update query (null not allowed)- Returns:
-
revertUpdateUnits
@POST @Path("/revert/units") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response revertUpdateUnits(RevertUpdateOptions revertUpdateOptions)
Revert an update of archive units with json query.- Parameters:
revertUpdateOptions
- the revert_update query (null not allowed)
-
massUpdateUnitsRules
@POST @Path("/units/rules") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response massUpdateUnitsRules(MassUpdateUnitRuleRequest massUpdateUnitRuleRequest)
Mass update of archive units rules with json request.- Parameters:
massUpdateUnitRuleRequest
- the mass update rules request (null not allowed)- Returns:
-
bulkAtomicUpdateUnits
@POST @Path("/units/bulk") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response bulkAtomicUpdateUnits(com.fasterxml.jackson.databind.JsonNode updateQueriesJson)
Bulk atomic update of archive units with json queries.- Parameters:
updateQueriesJson
- the bulk update queries (null not allowed)- Returns:
-
startComputeInheritedRules
@Path("/units/computedInheritedRules") @POST @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response startComputeInheritedRules(com.fasterxml.jackson.databind.JsonNode dslQuery)
-
deleteComputeInheritedRules
@Path("/units/computedInheritedRules") @DELETE @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response deleteComputeInheritedRules(com.fasterxml.jackson.databind.JsonNode dslQuery)
-
selectUnitsWithInheritedRules
@GET @Path("/unitsWithInheritedRules") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response selectUnitsWithInheritedRules(com.fasterxml.jackson.databind.JsonNode queryJson)
Select units with inherited rules- Parameters:
queryJson
- the query to get units- Returns:
- Response
-
getObjects
@GET @Path("/objects") @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response getObjects(com.fasterxml.jackson.databind.JsonNode queryJson)
get Objects group list based on DSL query- Parameters:
queryJson
- the query to get units- Returns:
- Response
-
getAccessLog
@Path("/storageaccesslog") @GET @Consumes("application/json") @Produces("application/octet-stream") public javax.ws.rs.core.Response getAccessLog(com.fasterxml.jackson.databind.JsonNode params)
-
startPreservation
@Path("/preservation") @POST @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response startPreservation(PreservationRequest preservationRequest)
-
deleteGotVersions
@Path("/deleteGotVersions") @POST @Consumes("application/json") @Produces("application/json") public javax.ws.rs.core.Response deleteGotVersions(DeleteGotVersionsRequest deleteGotVersionsRequest)
-
-