|
|
|
@ -30,30 +30,30 @@ type ObjectServiceClient interface {
|
|
|
|
|
// keeping the receiving order.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Get` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
|
|
|
|
// the latest one otherwise) of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
|
|
|
|
// the latest one otherwise) of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// read access to the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// read access to the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (ObjectService_GetClient, error)
|
|
|
|
|
// Put the object into container. Request uses gRPC stream. First message
|
|
|
|
|
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
|
|
|
@ -63,102 +63,103 @@ type ObjectServiceClient interface {
|
|
|
|
|
// Chunk messages SHOULD be sent in the direct order of fragmentation.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Put` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully saved in the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// write access to the container is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
|
|
|
|
// object is prohibited;
|
|
|
|
|
// - **LOCK_NON_REGULAR_OBJECT** (2051, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type LOCK that includes at least one object of
|
|
|
|
|
// type other than REGULAR is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object storage container not found;
|
|
|
|
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
|
|
|
|
// (for trusted object preparation) session private key does not exist or has
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully saved in the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// write access to the container is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
|
|
|
|
// object is prohibited;
|
|
|
|
|
// - **LOCK_NON_REGULAR_OBJECT** (2051, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type LOCK that includes at least one object of
|
|
|
|
|
// type other than REGULAR is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object storage container not found;
|
|
|
|
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
|
|
|
|
// (for trusted object preparation) session private key does not exist or has
|
|
|
|
|
//
|
|
|
|
|
// been deleted;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Put(ctx context.Context, opts ...grpc.CallOption) (ObjectService_PutClient, error)
|
|
|
|
|
// Delete the object from a container. There is no immediate removal
|
|
|
|
|
// guarantee. Object will be marked for removal and deleted eventually.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Delete` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully marked to be removed from the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// delete access to the object is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// deleting a locked object is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully marked to be removed from the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// delete access to the object is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// deleting a locked object is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
|
|
|
|
|
// Returns the object Headers without data payload. By default full header is
|
|
|
|
|
// returned. If `main_only` request field is set, the short header with only
|
|
|
|
|
// the very minimal information will be returned instead.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Head` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object header has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation HEAD of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object header has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation HEAD of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Head(ctx context.Context, in *HeadRequest, opts ...grpc.CallOption) (*HeadResponse, error)
|
|
|
|
|
// Search objects in container. Search query allows to match by Object
|
|
|
|
|
// Header's filed values. Please see the corresponding NeoFS Technical
|
|
|
|
|
// Specification section for more details.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Search` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// objects have been successfully selected;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation SEARCH of the object is denied;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// search container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// objects have been successfully selected;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation SEARCH of the object is denied;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// search container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (ObjectService_SearchClient, error)
|
|
|
|
|
// Get byte range of data payload. Range is set as an (offset, length) tuple.
|
|
|
|
|
// Like in `Get` method, the response uses gRPC stream. Requested range can be
|
|
|
|
@ -166,31 +167,31 @@ type ObjectServiceClient interface {
|
|
|
|
|
// order.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `GetRange` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGE of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted.
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGE of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted.
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (ObjectService_GetRangeClient, error)
|
|
|
|
|
// Returns homomorphic or regular hash of object's payload range after
|
|
|
|
|
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
|
|
|
@ -198,29 +199,29 @@ type ObjectServiceClient interface {
|
|
|
|
|
// the request. Note that hash is calculated for XORed data.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `GetRangeHash` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully hashed;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGEHASH of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully hashed;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGEHASH of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
GetRangeHash(ctx context.Context, in *GetRangeHashRequest, opts ...grpc.CallOption) (*GetRangeHashResponse, error)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -401,30 +402,30 @@ type ObjectServiceServer interface {
|
|
|
|
|
// keeping the receiving order.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Get` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
|
|
|
|
// the latest one otherwise) of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
|
|
|
|
// the latest one otherwise) of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// read access to the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// read access to the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Get(*GetRequest, ObjectService_GetServer) error
|
|
|
|
|
// Put the object into container. Request uses gRPC stream. First message
|
|
|
|
|
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
|
|
|
@ -434,102 +435,103 @@ type ObjectServiceServer interface {
|
|
|
|
|
// Chunk messages SHOULD be sent in the direct order of fragmentation.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Put` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully saved in the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// write access to the container is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
|
|
|
|
// object is prohibited;
|
|
|
|
|
// - **LOCK_NON_REGULAR_OBJECT** (2051, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type LOCK that includes at least one object of
|
|
|
|
|
// type other than REGULAR is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object storage container not found;
|
|
|
|
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
|
|
|
|
// (for trusted object preparation) session private key does not exist or has
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully saved in the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// write access to the container is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
|
|
|
|
// object is prohibited;
|
|
|
|
|
// - **LOCK_NON_REGULAR_OBJECT** (2051, SECTION_OBJECT): \
|
|
|
|
|
// placement of an object of type LOCK that includes at least one object of
|
|
|
|
|
// type other than REGULAR is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object storage container not found;
|
|
|
|
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
|
|
|
|
// (for trusted object preparation) session private key does not exist or has
|
|
|
|
|
//
|
|
|
|
|
// been deleted;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Put(ObjectService_PutServer) error
|
|
|
|
|
// Delete the object from a container. There is no immediate removal
|
|
|
|
|
// guarantee. Object will be marked for removal and deleted eventually.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Delete` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully marked to be removed from the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// delete access to the object is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// deleting a locked object is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object has been successfully marked to be removed from the container;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// delete access to the object is denied;
|
|
|
|
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
|
|
|
|
// deleting a locked object is prohibited;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
|
|
|
|
|
// Returns the object Headers without data payload. By default full header is
|
|
|
|
|
// returned. If `main_only` request field is set, the short header with only
|
|
|
|
|
// the very minimal information will be returned instead.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Head` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object header has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation HEAD of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// object header has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation HEAD of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Head(context.Context, *HeadRequest) (*HeadResponse, error)
|
|
|
|
|
// Search objects in container. Search query allows to match by Object
|
|
|
|
|
// Header's filed values. Please see the corresponding NeoFS Technical
|
|
|
|
|
// Specification section for more details.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `Search` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// objects have been successfully selected;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation SEARCH of the object is denied;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// search container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// objects have been successfully selected;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation SEARCH of the object is denied;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// search container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
Search(*SearchRequest, ObjectService_SearchServer) error
|
|
|
|
|
// Get byte range of data payload. Range is set as an (offset, length) tuple.
|
|
|
|
|
// Like in `Get` method, the response uses gRPC stream. Requested range can be
|
|
|
|
@ -537,31 +539,31 @@ type ObjectServiceServer interface {
|
|
|
|
|
// order.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `GetRange` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGE of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted.
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully read;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGE of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
|
|
|
|
// the requested object has been marked as deleted.
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
GetRange(*GetRangeRequest, ObjectService_GetRangeServer) error
|
|
|
|
|
// Returns homomorphic or regular hash of object's payload range after
|
|
|
|
|
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
|
|
|
@ -569,29 +571,29 @@ type ObjectServiceServer interface {
|
|
|
|
|
// the request. Note that hash is calculated for XORed data.
|
|
|
|
|
//
|
|
|
|
|
// Extended headers can change `GetRangeHash` behaviour:
|
|
|
|
|
// * __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
// - __NEOFS__NETMAP_EPOCH \
|
|
|
|
|
// Will use the requsted version of Network Map for object placement
|
|
|
|
|
// calculation.
|
|
|
|
|
// - __NEOFS__NETMAP_LOOKUP_DEPTH \
|
|
|
|
|
// Will try older versions of Network Map to find an object until the depth
|
|
|
|
|
// limit is reached.
|
|
|
|
|
//
|
|
|
|
|
// Please refer to detailed `XHeader` description.
|
|
|
|
|
//
|
|
|
|
|
// Statuses:
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully hashed;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGEHASH of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
// - **OK** (0, SECTION_SUCCESS): \
|
|
|
|
|
// data range of the object payload has been successfully hashed;
|
|
|
|
|
// - Common failures (SECTION_FAILURE_COMMON);
|
|
|
|
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
|
|
|
// access to operation RANGEHASH of the object is denied;
|
|
|
|
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
|
|
|
|
// object not found in container;
|
|
|
|
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
|
|
|
|
// the requested range is out of bounds;
|
|
|
|
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
|
|
|
// object container not found;
|
|
|
|
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
|
|
|
// provided session token has expired.
|
|
|
|
|
GetRangeHash(context.Context, *GetRangeHashRequest) (*GetRangeHashResponse, error)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|