Add `OBJECT_ALREADY_REMOVED` value to `Object` enumeration. Return this
status from object GET/HEAD/RANGE operations.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Add `status.Object` section for object failures. Add `LOCKED` and
`LOCK_NON_REGULAR_OBJECT` codes to it. Return these codes from `Put` and
`Delete` RPCs of `ObjectService`.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
It may be confusing for the user to get all types of objects as the
result of a search with no filters set. Human users may expect to see
only the objects intended for direct manipulation by humans.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
The behavior of the node when processing system search filters with match
type NOT_PRESENT is declared undefined.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Raw flag used to get range of physically stored objects and
ignoring split objects. In case of split object node should
return SplitInfo message.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
SplitInfo structure from split_info field contains meta information
to assembly the object that has been split into parts.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
- Define payload structure for Tombstone object type.
- Return address of the created TS on object delete. Useful for testing
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
* It's expected by app developers that ROOT filter will return the list of objects
created by user, without supplementary objects like split object parts,
tombstones and storage groups.
* Rename LEAF to PHY as it's purpose it to return physically existing objects.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Extended ACL description lacks `objectID` key in filters. It's useful to control
access to specific object.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Object.Head method returns either full header or short header.
Since it can't return anything else, signature must be paired
with full header in explicit tuple message.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
Proposed protobuf format for Placement Policy simplifies direct editing in
visual editors and import/export from other formats like JSON.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
NeoFS uses different checksum algorithms. It looks like we need to explicitly
define what algorithm is used in each particular case.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
To simplify adding more transport level protocols to neofs-api-go in future, we
need to separate currently default gRPC.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
- Changed package names adding version
- Added documentation descriptions (sometimes useless) for all fields
- Changed enum format
- Made SessionToken and BearerToken field names more clear
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
NeoFS Object are now Content-addressed. It means the Object's address depends on
it's content. ObjectID is now calculated as hash of Header, which contains a
hash of payload. If either if Object's payload of Headers change, the ID will
also change.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>