2020-01-30 11:41:24 +00:00
|
|
|
syntax = "proto3";
|
2020-08-05 08:49:51 +00:00
|
|
|
|
2020-08-12 21:43:51 +00:00
|
|
|
package neo.fs.v2.storagegroup;
|
2020-08-05 08:49:51 +00:00
|
|
|
|
2023-03-07 08:50:02 +00:00
|
|
|
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/storagegroup/grpc;storagegroup";
|
2021-03-10 10:54:06 +00:00
|
|
|
option csharp_namespace = "Neo.FileStorage.API.StorageGroup";
|
2020-01-30 11:41:24 +00:00
|
|
|
|
2020-08-04 14:21:44 +00:00
|
|
|
import "refs/types.proto";
|
2020-01-30 11:41:24 +00:00
|
|
|
|
2020-10-16 08:05:19 +00:00
|
|
|
// StorageGroup keeps verification information for Data Audit sessions. Objects
|
2022-04-13 06:21:33 +00:00
|
|
|
// that require paid storage guarantees are gathered in `StorageGroups` with
|
|
|
|
// additional information used for the proof of storage. `StorageGroup` only
|
2020-10-16 08:05:19 +00:00
|
|
|
// contains objects from the same container.
|
2022-03-09 11:39:08 +00:00
|
|
|
//
|
|
|
|
// Being an object payload, StorageGroup may have expiration Epoch set with
|
2023-03-06 11:56:09 +00:00
|
|
|
// `__NEOFS__EXPIRATION_EPOCH`/`__FROSTFS__EXPIRATION_EPOCH` well-known attribute. When expired, StorageGroup
|
2022-03-09 11:39:08 +00:00
|
|
|
// will be ignored by InnerRing nodes during Data Audit cycles and will be
|
|
|
|
// deleted by Storage Nodes.
|
|
|
|
//
|
2020-01-30 11:41:24 +00:00
|
|
|
message StorageGroup {
|
2020-10-16 08:05:19 +00:00
|
|
|
// Total size of the payloads of objects in the storage group
|
2020-10-19 10:07:58 +00:00
|
|
|
uint64 validation_data_size = 1 [json_name = "validationDataSize"];
|
2020-08-05 08:49:51 +00:00
|
|
|
|
2020-10-16 08:05:19 +00:00
|
|
|
// Homomorphic hash from the concatenation of the payloads of the storage
|
|
|
|
// group members. The order of concatenation is the same as the order of the
|
|
|
|
// members in the `members` field.
|
2020-10-19 10:07:58 +00:00
|
|
|
neo.fs.v2.refs.Checksum validation_hash = 2 [json_name = "validationHash"];
|
2020-01-30 11:41:24 +00:00
|
|
|
|
2022-03-09 11:39:08 +00:00
|
|
|
// DEPRECATED. Last NeoFS epoch number of the storage group lifetime
|
|
|
|
uint64 expiration_epoch = 3 [json_name = "expirationEpoch", deprecated = true];
|
2020-08-04 14:21:44 +00:00
|
|
|
|
2022-06-06 15:38:15 +00:00
|
|
|
// Strictly ordered list of storage group member objects. Members MUST be unique
|
2020-10-19 10:07:58 +00:00
|
|
|
repeated neo.fs.v2.refs.ObjectID members = 4 [json_name = "members"];
|
2020-01-30 11:41:24 +00:00
|
|
|
}
|