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>
This commit removes ResponseMetaHeader from the repository since it is not
verifiable and its purpose is questionable. If needed, it can be added to
queries without losing compatibility with the API version.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
In previous version of the format RequestMetaHeader, which is included in
all requests, contained the boolean flag Raw. However, this option was
processed only in object.Head and object.Get rpc. Therefore, this commit
strips the field from the request meta header and adds it to the mentioned
requests.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from object package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Move Query message definition to object package since it is only used there.
Package query is completely removed from the repository.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Change the type of all fields for identifier of the container owner to
refs.OwnerID. This will allow you to follow a single format and not duplicate
its description.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Change the type of all fields for the container identifier to refs.ContainerID.
This will allow to follow a single format and not duplicate its description.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>