diff --git a/netmap/types.proto b/netmap/types.proto index 7183add..cacee4b 100644 --- a/netmap/types.proto +++ b/netmap/types.proto @@ -5,6 +5,8 @@ package neo.fs.v2.netmap; option go_package = "github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc;netmap"; option csharp_namespace = "Neo.FileStorage.API.Netmap"; +import "refs/types.proto"; + // Operations on filters enum Operation { // No Operation defined @@ -119,6 +121,10 @@ message PlacementPolicy { // List of named filters to reference in selectors repeated Filter filters = 4 [json_name = "filters"]; + + // Subnetwork ID to select nodes from. Zero subnet (default) represents + // all of the nodes which didn't explicitly opt out of membership. + refs.SubnetID subnet_id = 5 [json_name = "subnetId"]; } // NeoFS node description diff --git a/refs/types.proto b/refs/types.proto index ef2141c..9675026 100644 --- a/refs/types.proto +++ b/refs/types.proto @@ -77,6 +77,16 @@ message OwnerID { bytes value = 1 [json_name = "value"]; } +// NeoFS subnetwork identifier. +// +// String representation of a value is base-10 integer. +// +// JSON representation is an object containing single `value` number field. +message SubnetID { + // 4-byte integer subnetwork identifier. + fixed32 value = 1 [json_name = "value"]; +} + // API version used by a node. // // String presentation is a Semantic Versioning 2.0.0 compatible version string