forked from TrueCloudLab/frostfs-api
Compare commits
1 commit
master
...
KirillovDe
Author | SHA1 | Date | |
---|---|---|---|
a8344d964d |
31 changed files with 90 additions and 199 deletions
45
.github/ISSUE_TEMPLATE/bug_report.md
vendored
45
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -1,45 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: community, triage, bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--- Provide a general summary of the issue in the Title above -->
|
|
||||||
|
|
||||||
## Expected Behavior
|
|
||||||
<!--- If you're describing a bug, tell us what should happen -->
|
|
||||||
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
|
||||||
|
|
||||||
## Current Behavior
|
|
||||||
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
|
||||||
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
|
||||||
|
|
||||||
## Possible Solution
|
|
||||||
<!--- Not obligatory -->
|
|
||||||
<!--- If no reason/fix/additions for the bug can be suggested, -->
|
|
||||||
<!--- uncomment the following phrase: -->
|
|
||||||
|
|
||||||
<!--- No fix can be suggested by a QA engineer. Further solutions shall be up to developers. -->
|
|
||||||
|
|
||||||
## Steps to Reproduce (for bugs)
|
|
||||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
|
||||||
<!--- reproduce this bug. -->
|
|
||||||
|
|
||||||
1.
|
|
||||||
|
|
||||||
## Context
|
|
||||||
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
|
||||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
|
||||||
|
|
||||||
## Regression
|
|
||||||
<!-- Is this issue a regression? (Yes / No) -->
|
|
||||||
<!-- If Yes, optionally please include version or commit id or PR# that caused this regression, if you have these details. -->
|
|
||||||
|
|
||||||
## Your Environment
|
|
||||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
|
||||||
* Version used:
|
|
||||||
* Server setup and configuration:
|
|
||||||
* Operating System and version (`uname -a`):
|
|
1
.github/ISSUE_TEMPLATE/config.yml
vendored
1
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1 +0,0 @@
|
||||||
blank_issues_enabled: false
|
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: community, triage
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Is your feature request related to a problem? Please describe.
|
|
||||||
<!--- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
|
||||||
|
|
||||||
## Describe the solution you'd like
|
|
||||||
<!--- A clear and concise description of what you want to happen. -->
|
|
||||||
|
|
||||||
## Describe alternatives you've considered
|
|
||||||
<!--- A clear and concise description of any alternative solutions or features you've considered. -->
|
|
||||||
|
|
||||||
## Additional context
|
|
||||||
<!--- Add any other context or screenshots about the feature request here. -->
|
|
|
@ -1,10 +1,5 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
- Add `__SYSTEM__` attribute prefix (#12, #14)
|
|
||||||
|
|
||||||
## [2.14.0] - 2022-09-23 - Anmado (안마도, 鞍馬島)
|
## [2.14.0] - 2022-09-23 - Anmado (안마도, 鞍馬島)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.accounting;
|
package neo.fs.v2.accounting;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Accounting";
|
option csharp_namespace = "Neo.FileStorage.API.Accounting";
|
||||||
|
|
||||||
import "accounting/types.proto";
|
import "accounting/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.accounting;
|
package neo.fs.v2.accounting;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Accounting";
|
option csharp_namespace = "Neo.FileStorage.API.Accounting";
|
||||||
|
|
||||||
// Standard floating point data type can't be used in NeoFS due to inexactness
|
// Standard floating point data type can't be used in NeoFS due to inexactness
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.acl;
|
package neo.fs.v2.acl;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/acl/grpc;acl";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/acl/grpc;acl";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Acl";
|
option csharp_namespace = "Neo.FileStorage.API.Acl";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -213,6 +213,10 @@ message BearerToken {
|
||||||
}
|
}
|
||||||
// Token expiration and valid time period parameters
|
// Token expiration and valid time period parameters
|
||||||
TokenLifetime lifetime = 3 [json_name="lifetime"];
|
TokenLifetime lifetime = 3 [json_name="lifetime"];
|
||||||
|
|
||||||
|
// AllowImpersonate flag to consider token signer as request owner.
|
||||||
|
// If this field is true extended ACL table in token body isn't processed.
|
||||||
|
bool AllowImpersonate = 4 [json_name="allow_impersonate"];
|
||||||
}
|
}
|
||||||
// Bearer Token body
|
// Bearer Token body
|
||||||
Body body = 1 [json_name="body"];
|
Body body = 1 [json_name="body"];
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.audit;
|
package neo.fs.v2.audit;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/grpc;audit";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/audit/grpc;audit";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Audit";
|
option csharp_namespace = "Neo.FileStorage.API.Audit";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.container;
|
package neo.fs.v2.container;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/container/grpc;container";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/container/grpc;container";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Container";
|
option csharp_namespace = "Neo.FileStorage.API.Container";
|
||||||
|
|
||||||
import "acl/types.proto";
|
import "acl/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.container;
|
package neo.fs.v2.container;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/container/grpc;container";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/container/grpc;container";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Container";
|
option csharp_namespace = "Neo.FileStorage.API.Container";
|
||||||
|
|
||||||
import "netmap/types.proto";
|
import "netmap/types.proto";
|
||||||
|
@ -37,20 +37,16 @@ message Container {
|
||||||
//
|
//
|
||||||
// There are some "well-known" attributes affecting system behaviour:
|
// There are some "well-known" attributes affecting system behaviour:
|
||||||
//
|
//
|
||||||
// * [ __SYSTEM__SUBNET ] \
|
// * __NEOFS__SUBNET \
|
||||||
// (`__NEOFS__SUBNET` is deprecated) \
|
|
||||||
// String ID of a container's storage subnet. Any container can be attached to
|
// String ID of a container's storage subnet. Any container can be attached to
|
||||||
// one subnet only.
|
// one subnet only.
|
||||||
// * [ __SYSTEM__NAME ] \
|
// * __NEOFS__NAME \
|
||||||
// (`__NEOFS__NAME` is deprecated) \
|
|
||||||
// String of a human-friendly container name registered as a domain in
|
// String of a human-friendly container name registered as a domain in
|
||||||
// NNS contract.
|
// NNS contract.
|
||||||
// * [ __SYSTEM__ZONE ] \
|
// * __NEOFS__ZONE \
|
||||||
// (`__NEOFS__ZONE` is deprecated) \
|
// String of a zone for `__NEOFS__NAME`. Used as a TLD of a domain name in NNS
|
||||||
// String of a zone for `__SYSTEM__NAME` (`__NEOFS__NAME` is deprecated). Used as a TLD of a domain name in NNS
|
|
||||||
// contract. If no zone is specified, use default zone: `container`.
|
// contract. If no zone is specified, use default zone: `container`.
|
||||||
// * [ __SYSTEM__DISABLE_HOMOMORPHIC_HASHING ] \
|
// * __NEOFS__DISABLE_HOMOMORPHIC_HASHING \
|
||||||
// (`__NEOFS__DISABLE_HOMOMORPHIC_HASHING` is deprecated) \
|
|
||||||
// Disables homomorphic hashing for the container if the value equals "true" string.
|
// Disables homomorphic hashing for the container if the value equals "true" string.
|
||||||
// Any other values are interpreted as missing attribute. Container could be
|
// Any other values are interpreted as missing attribute. Container could be
|
||||||
// accepted in a NeoFS network only if the global network hashing configuration
|
// accepted in a NeoFS network only if the global network hashing configuration
|
||||||
|
|
|
@ -2,14 +2,14 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.lock;
|
package neo.fs.v2.lock;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/lock/grpc;lock";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/lock/grpc;lock";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Lock";
|
option csharp_namespace = "Neo.FileStorage.API.Lock";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
|
||||||
// Lock objects protects a list of objects from being deleted. The lifetime of a
|
// Lock objects protects a list of objects from being deleted. The lifetime of a
|
||||||
// lock object is limited similar to regular objects in
|
// lock object is limited similar to regular objects in
|
||||||
// `__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated) attribute. Lock object MUST have expiration epoch.
|
// `__NEOFS__EXPIRATION_EPOCH` attribute. Lock object MUST have expiration epoch.
|
||||||
// It is impossible to delete a lock object via ObjectService.Delete RPC call.
|
// It is impossible to delete a lock object via ObjectService.Delete RPC call.
|
||||||
message Lock {
|
message Lock {
|
||||||
// List of objects to lock. Must not be empty or carry empty IDs.
|
// List of objects to lock. Must not be empty or carry empty IDs.
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.netmap;
|
package neo.fs.v2.netmap;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/netmap/grpc;netmap";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/netmap/grpc;netmap";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Netmap";
|
option csharp_namespace = "Neo.FileStorage.API.Netmap";
|
||||||
|
|
||||||
import "netmap/types.proto";
|
import "netmap/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.netmap;
|
package neo.fs.v2.netmap;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/netmap/grpc;netmap";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/netmap/grpc;netmap";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Netmap";
|
option csharp_namespace = "Neo.FileStorage.API.Netmap";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -164,8 +164,7 @@ message NodeInfo {
|
||||||
// attributes it's a string presenting floating point number with comma or
|
// attributes it's a string presenting floating point number with comma or
|
||||||
// point delimiter for decimal part. In the Network Map it will be saved as
|
// point delimiter for decimal part. In the Network Map it will be saved as
|
||||||
// 64-bit unsigned integer representing number of minimal token fractions.
|
// 64-bit unsigned integer representing number of minimal token fractions.
|
||||||
// * [ __SYSTEM__SUBNET_%s ] \
|
// * __NEOFS__SUBNET_%s \
|
||||||
// (`__NEOFS__SUBNET_%s` is deprecated) \
|
|
||||||
// `True` or `False`. Defines if the node is included in the `%s` subnetwork
|
// `True` or `False`. Defines if the node is included in the `%s` subnetwork
|
||||||
// or not. `%s` must be an existing subnetwork's ID (non-negative integer number).
|
// or not. `%s` must be an existing subnetwork's ID (non-negative integer number).
|
||||||
// A node can be included in more than one subnetwork and, therefore, can contain
|
// A node can be included in more than one subnetwork and, therefore, can contain
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.object;
|
package neo.fs.v2.object;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/object/grpc;object";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/object/grpc;object";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Object";
|
option csharp_namespace = "Neo.FileStorage.API.Object";
|
||||||
|
|
||||||
import "object/types.proto";
|
import "object/types.proto";
|
||||||
|
@ -20,13 +20,11 @@ service ObjectService {
|
||||||
// keeping the receiving order.
|
// keeping the receiving order.
|
||||||
//
|
//
|
||||||
// Extended headers can change `Get` behaviour:
|
// Extended headers can change `Get` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
// Will use the requsted version of Network Map for object placement
|
// Will use the requsted version of Network Map for object placement
|
||||||
// calculation.
|
// calculation.
|
||||||
// * [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
// (`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
||||||
// Will try older versions (starting from `__SYSTEM__NETMAP_EPOCH` (`__NEOFS__NETMAP_EPOCH` is deprecated) if specified or
|
|
||||||
// the latest one otherwise) of Network Map to find an object until the depth
|
// the latest one otherwise) of Network Map to find an object until the depth
|
||||||
// limit is reached.
|
// limit is reached.
|
||||||
//
|
//
|
||||||
|
@ -56,8 +54,7 @@ service ObjectService {
|
||||||
// Chunk messages SHOULD be sent in the direct order of fragmentation.
|
// Chunk messages SHOULD be sent in the direct order of fragmentation.
|
||||||
//
|
//
|
||||||
// Extended headers can change `Put` behaviour:
|
// Extended headers can change `Put` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
// Will use the requsted version of Network Map for object placement
|
// Will use the requsted version of Network Map for object placement
|
||||||
// calculation.
|
// calculation.
|
||||||
//
|
//
|
||||||
|
@ -88,9 +85,8 @@ service ObjectService {
|
||||||
// guarantee. Object will be marked for removal and deleted eventually.
|
// guarantee. Object will be marked for removal and deleted eventually.
|
||||||
//
|
//
|
||||||
// Extended headers can change `Delete` behaviour:
|
// Extended headers can change `Delete` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
// Will use the requsted version of Network Map for object placement
|
||||||
// Will use the requested version of Network Map for object placement
|
|
||||||
// calculation.
|
// calculation.
|
||||||
//
|
//
|
||||||
// Please refer to detailed `XHeader` description.
|
// Please refer to detailed `XHeader` description.
|
||||||
|
@ -114,9 +110,8 @@ service ObjectService {
|
||||||
// the very minimal information will be returned instead.
|
// the very minimal information will be returned instead.
|
||||||
//
|
//
|
||||||
// Extended headers can change `Head` behaviour:
|
// Extended headers can change `Head` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
// Will use the requsted version of Network Map for object placement
|
||||||
// Will use the requested version of Network Map for object placement
|
|
||||||
// calculation.
|
// calculation.
|
||||||
//
|
//
|
||||||
// Please refer to detailed `XHeader` description.
|
// Please refer to detailed `XHeader` description.
|
||||||
|
@ -142,9 +137,8 @@ service ObjectService {
|
||||||
// Specification section for more details.
|
// Specification section for more details.
|
||||||
//
|
//
|
||||||
// Extended headers can change `Search` behaviour:
|
// Extended headers can change `Search` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
// Will use the requsted version of Network Map for object placement
|
||||||
// Will use the requested version of Network Map for object placement
|
|
||||||
// calculation.
|
// calculation.
|
||||||
//
|
//
|
||||||
// Please refer to detailed `XHeader` description.
|
// Please refer to detailed `XHeader` description.
|
||||||
|
@ -167,12 +161,10 @@ service ObjectService {
|
||||||
// order.
|
// order.
|
||||||
//
|
//
|
||||||
// Extended headers can change `GetRange` behaviour:
|
// Extended headers can change `GetRange` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
// Will use the requsted version of Network Map for object placement
|
||||||
// Will use the requested version of Network Map for object placement
|
|
||||||
// calculation.
|
// calculation.
|
||||||
// * [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
// (`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
// Will try older versions of Network Map to find an object until the depth
|
// Will try older versions of Network Map to find an object until the depth
|
||||||
// limit is reached.
|
// limit is reached.
|
||||||
//
|
//
|
||||||
|
@ -202,12 +194,10 @@ service ObjectService {
|
||||||
// the request. Note that hash is calculated for XORed data.
|
// the request. Note that hash is calculated for XORed data.
|
||||||
//
|
//
|
||||||
// Extended headers can change `GetRangeHash` behaviour:
|
// Extended headers can change `GetRangeHash` behaviour:
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
// Will use the requsted version of Network Map for object placement
|
||||||
// Will use the requested version of Network Map for object placement
|
|
||||||
// calculation.
|
// calculation.
|
||||||
// * [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
// (`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
// Will try older versions of Network Map to find an object until the depth
|
// Will try older versions of Network Map to find an object until the depth
|
||||||
// limit is reached.
|
// limit is reached.
|
||||||
//
|
//
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.object;
|
package neo.fs.v2.object;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/object/grpc;object";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/object/grpc;object";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Object";
|
option csharp_namespace = "Neo.FileStorage.API.Object";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -114,23 +114,19 @@ message Header {
|
||||||
// Objects with duplicated attribute names or attributes with empty values
|
// Objects with duplicated attribute names or attributes with empty values
|
||||||
// will be considered invalid.
|
// will be considered invalid.
|
||||||
//
|
//
|
||||||
// There are some "well-known" attributes starting with `__SYSTEM__` (`__NEOFS__` is deprecated) prefix
|
// There are some "well-known" attributes starting with `__NEOFS__` prefix
|
||||||
// that affect system behaviour:
|
// that affect system behaviour:
|
||||||
//
|
//
|
||||||
// * [ __SYSTEM__UPLOAD_ID ] \
|
// * __NEOFS__UPLOAD_ID \
|
||||||
// (`__NEOFS__UPLOAD_ID` is deprecated) \
|
|
||||||
// Marks smaller parts of a split bigger object
|
// Marks smaller parts of a split bigger object
|
||||||
// * [ __SYSTEM__EXPIRATION_EPOCH ] \
|
// * __NEOFS__EXPIRATION_EPOCH \
|
||||||
// (`__NEOFS__EXPIRATION_EPOCH` is deprecated) \
|
|
||||||
// Tells GC to delete object after that epoch
|
// Tells GC to delete object after that epoch
|
||||||
// * [ __SYSTEM__TICK_EPOCH ] \
|
// * __NEOFS__TICK_EPOCH \
|
||||||
// (`__NEOFS__TICK_EPOCH` is deprecated) \
|
|
||||||
// Decimal number that defines what epoch must produce
|
// Decimal number that defines what epoch must produce
|
||||||
// object notification with UTF-8 object address in a
|
// object notification with UTF-8 object address in a
|
||||||
// body (`0` value produces notification right after
|
// body (`0` value produces notification right after
|
||||||
// object put)
|
// object put)
|
||||||
// * [ __SYSTEM__TICK_TOPIC ] \
|
// * __NEOFS__TICK_TOPIC \
|
||||||
// (`__NEOFS__TICK_TOPIC` is deprecated) \
|
|
||||||
// UTF-8 string topic ID that is used for object notification
|
// UTF-8 string topic ID that is used for object notification
|
||||||
//
|
//
|
||||||
// And some well-known attributes used by applications only:
|
// And some well-known attributes used by applications only:
|
||||||
|
|
|
@ -587,20 +587,16 @@ values will be considered invalid.
|
||||||
|
|
||||||
There are some "well-known" attributes affecting system behaviour:
|
There are some "well-known" attributes affecting system behaviour:
|
||||||
|
|
||||||
* [ __SYSTEM__SUBNET ] \
|
* __NEOFS__SUBNET \
|
||||||
(`__NEOFS__SUBNET` is deprecated) \
|
|
||||||
String ID of a container's storage subnet. Any container can be attached to
|
String ID of a container's storage subnet. Any container can be attached to
|
||||||
one subnet only.
|
one subnet only.
|
||||||
* [ __SYSTEM__NAME ] \
|
* __NEOFS__NAME \
|
||||||
(`__NEOFS__NAME` is deprecated) \
|
|
||||||
String of a human-friendly container name registered as a domain in
|
String of a human-friendly container name registered as a domain in
|
||||||
NNS contract.
|
NNS contract.
|
||||||
* [ __SYSTEM__ZONE ] \
|
* __NEOFS__ZONE \
|
||||||
(`__NEOFS__ZONE` is deprecated) \
|
String of a zone for `__NEOFS__NAME`. Used as a TLD of a domain name in NNS
|
||||||
String of a zone for `__SYSTEM__NAME` (`__NEOFS__NAME` is deprecated). Used as a TLD of a domain name in NNS
|
|
||||||
contract. If no zone is specified, use default zone: `container`.
|
contract. If no zone is specified, use default zone: `container`.
|
||||||
* [ __SYSTEM__DISABLE_HOMOMORPHIC_HASHING ] \
|
* __NEOFS__DISABLE_HOMOMORPHIC_HASHING \
|
||||||
(`__NEOFS__DISABLE_HOMOMORPHIC_HASHING` is deprecated) \
|
|
||||||
Disables homomorphic hashing for the container if the value equals "true" string.
|
Disables homomorphic hashing for the container if the value equals "true" string.
|
||||||
Any other values are interpreted as missing attribute. Container could be
|
Any other values are interpreted as missing attribute. Container could be
|
||||||
accepted in a NeoFS network only if the global network hashing configuration
|
accepted in a NeoFS network only if the global network hashing configuration
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
### Message Lock
|
### Message Lock
|
||||||
Lock objects protects a list of objects from being deleted. The lifetime of a
|
Lock objects protects a list of objects from being deleted. The lifetime of a
|
||||||
lock object is limited similar to regular objects in
|
lock object is limited similar to regular objects in
|
||||||
`__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated) attribute. Lock object MUST have expiration epoch.
|
`__NEOFS__EXPIRATION_EPOCH` attribute. Lock object MUST have expiration epoch.
|
||||||
It is impossible to delete a lock object via ObjectService.Delete RPC call.
|
It is impossible to delete a lock object via ObjectService.Delete RPC call.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -406,8 +406,7 @@ explicitly set:
|
||||||
attributes it's a string presenting floating point number with comma or
|
attributes it's a string presenting floating point number with comma or
|
||||||
point delimiter for decimal part. In the Network Map it will be saved as
|
point delimiter for decimal part. In the Network Map it will be saved as
|
||||||
64-bit unsigned integer representing number of minimal token fractions.
|
64-bit unsigned integer representing number of minimal token fractions.
|
||||||
* [ __SYSTEM__SUBNET_%s ] \
|
* __NEOFS__SUBNET_%s \
|
||||||
(`__NEOFS__SUBNET_%s` is deprecated) \
|
|
||||||
`True` or `False`. Defines if the node is included in the `%s` subnetwork
|
`True` or `False`. Defines if the node is included in the `%s` subnetwork
|
||||||
or not. `%s` must be an existing subnetwork's ID (non-negative integer number).
|
or not. `%s` must be an existing subnetwork's ID (non-negative integer number).
|
||||||
A node can be included in more than one subnetwork and, therefore, can contain
|
A node can be included in more than one subnetwork and, therefore, can contain
|
||||||
|
|
|
@ -93,13 +93,11 @@ be restored by concatenation of object message payload and all chunks
|
||||||
keeping the receiving order.
|
keeping the receiving order.
|
||||||
|
|
||||||
Extended headers can change `Get` behaviour:
|
Extended headers can change `Get` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
Will use the requsted version of Network Map for object placement
|
Will use the requsted version of Network Map for object placement
|
||||||
calculation.
|
calculation.
|
||||||
* [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
* __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
(`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
|
||||||
Will try older versions (starting from `__SYSTEM__NETMAP_EPOCH` (`__NEOFS__NETMAP_EPOCH` is deprecated) if specified or
|
|
||||||
the latest one otherwise) of Network Map to find an object until the depth
|
the latest one otherwise) of Network Map to find an object until the depth
|
||||||
limit is reached.
|
limit is reached.
|
||||||
|
|
||||||
|
@ -133,8 +131,7 @@ object payload. All messages, except first one, SHOULD be payload chunks.
|
||||||
Chunk messages SHOULD be sent in the direct order of fragmentation.
|
Chunk messages SHOULD be sent in the direct order of fragmentation.
|
||||||
|
|
||||||
Extended headers can change `Put` behaviour:
|
Extended headers can change `Put` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
Will use the requsted version of Network Map for object placement
|
Will use the requsted version of Network Map for object placement
|
||||||
calculation.
|
calculation.
|
||||||
|
|
||||||
|
@ -169,9 +166,8 @@ Delete the object from a container. There is no immediate removal
|
||||||
guarantee. Object will be marked for removal and deleted eventually.
|
guarantee. Object will be marked for removal and deleted eventually.
|
||||||
|
|
||||||
Extended headers can change `Delete` behaviour:
|
Extended headers can change `Delete` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
Will use the requsted version of Network Map for object placement
|
||||||
Will use the requested version of Network Map for object placement
|
|
||||||
calculation.
|
calculation.
|
||||||
|
|
||||||
Please refer to detailed `XHeader` description.
|
Please refer to detailed `XHeader` description.
|
||||||
|
@ -199,9 +195,8 @@ returned. If `main_only` request field is set, the short header with only
|
||||||
the very minimal information will be returned instead.
|
the very minimal information will be returned instead.
|
||||||
|
|
||||||
Extended headers can change `Head` behaviour:
|
Extended headers can change `Head` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
Will use the requsted version of Network Map for object placement
|
||||||
Will use the requested version of Network Map for object placement
|
|
||||||
calculation.
|
calculation.
|
||||||
|
|
||||||
Please refer to detailed `XHeader` description.
|
Please refer to detailed `XHeader` description.
|
||||||
|
@ -231,9 +226,8 @@ Header's filed values. Please see the corresponding NeoFS Technical
|
||||||
Specification section for more details.
|
Specification section for more details.
|
||||||
|
|
||||||
Extended headers can change `Search` behaviour:
|
Extended headers can change `Search` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
Will use the requsted version of Network Map for object placement
|
||||||
Will use the requested version of Network Map for object placement
|
|
||||||
calculation.
|
calculation.
|
||||||
|
|
||||||
Please refer to detailed `XHeader` description.
|
Please refer to detailed `XHeader` description.
|
||||||
|
@ -260,12 +254,10 @@ restored by concatenation of all received payload chunks keeping the receiving
|
||||||
order.
|
order.
|
||||||
|
|
||||||
Extended headers can change `GetRange` behaviour:
|
Extended headers can change `GetRange` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
Will use the requsted version of Network Map for object placement
|
||||||
Will use the requested version of Network Map for object placement
|
|
||||||
calculation.
|
calculation.
|
||||||
* [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
* __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
(`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
Will try older versions of Network Map to find an object until the depth
|
Will try older versions of Network Map to find an object until the depth
|
||||||
limit is reached.
|
limit is reached.
|
||||||
|
|
||||||
|
@ -299,12 +291,10 @@ length) tuples. Hashes order in response corresponds to the ranges order in
|
||||||
the request. Note that hash is calculated for XORed data.
|
the request. Note that hash is calculated for XORed data.
|
||||||
|
|
||||||
Extended headers can change `GetRangeHash` behaviour:
|
Extended headers can change `GetRangeHash` behaviour:
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
Will use the requsted version of Network Map for object placement
|
||||||
Will use the requested version of Network Map for object placement
|
|
||||||
calculation.
|
calculation.
|
||||||
* [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
* __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
(`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
Will try older versions of Network Map to find an object until the depth
|
Will try older versions of Network Map to find an object until the depth
|
||||||
limit is reached.
|
limit is reached.
|
||||||
|
|
||||||
|
@ -858,23 +848,19 @@ Key name must be an object-unique valid UTF-8 string. Value can't be empty.
|
||||||
Objects with duplicated attribute names or attributes with empty values
|
Objects with duplicated attribute names or attributes with empty values
|
||||||
will be considered invalid.
|
will be considered invalid.
|
||||||
|
|
||||||
There are some "well-known" attributes starting with `__SYSTEM__` (`__NEOFS__` is deprecated) prefix
|
There are some "well-known" attributes starting with `__NEOFS__` prefix
|
||||||
that affect system behaviour:
|
that affect system behaviour:
|
||||||
|
|
||||||
* [ __SYSTEM__UPLOAD_ID ] \
|
* __NEOFS__UPLOAD_ID \
|
||||||
(`__NEOFS__UPLOAD_ID` is deprecated) \
|
|
||||||
Marks smaller parts of a split bigger object
|
Marks smaller parts of a split bigger object
|
||||||
* [ __SYSTEM__EXPIRATION_EPOCH ] \
|
* __NEOFS__EXPIRATION_EPOCH \
|
||||||
(`__NEOFS__EXPIRATION_EPOCH` is deprecated) \
|
|
||||||
Tells GC to delete object after that epoch
|
Tells GC to delete object after that epoch
|
||||||
* [ __SYSTEM__TICK_EPOCH ] \
|
* __NEOFS__TICK_EPOCH \
|
||||||
(`__NEOFS__TICK_EPOCH` is deprecated) \
|
|
||||||
Decimal number that defines what epoch must produce
|
Decimal number that defines what epoch must produce
|
||||||
object notification with UTF-8 object address in a
|
object notification with UTF-8 object address in a
|
||||||
body (`0` value produces notification right after
|
body (`0` value produces notification right after
|
||||||
object put)
|
object put)
|
||||||
* [ __SYSTEM__TICK_TOPIC ] \
|
* __NEOFS__TICK_TOPIC \
|
||||||
(`__NEOFS__TICK_TOPIC` is deprecated) \
|
|
||||||
UTF-8 string topic ID that is used for object notification
|
UTF-8 string topic ID that is used for object notification
|
||||||
|
|
||||||
And some well-known attributes used by applications only:
|
And some well-known attributes used by applications only:
|
||||||
|
|
|
@ -285,16 +285,14 @@ Key name must be a unique valid UTF-8 string. Value can't be empty. Requests or
|
||||||
Responses with duplicated header names or headers with empty values will be
|
Responses with duplicated header names or headers with empty values will be
|
||||||
considered invalid.
|
considered invalid.
|
||||||
|
|
||||||
There are some "well-known" headers starting with `__SYSTEM__` (`__NEOFS__` is deprecated) prefix that
|
There are some "well-known" headers starting with `__NEOFS__` prefix that
|
||||||
affect system behaviour:
|
affect system behaviour:
|
||||||
|
|
||||||
* [ __SYSTEM__NETMAP_EPOCH ] \
|
* __NEOFS__NETMAP_EPOCH \
|
||||||
(`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
Netmap epoch to use for object placement calculation. The `value` is string
|
Netmap epoch to use for object placement calculation. The `value` is string
|
||||||
encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
||||||
current epoch only will be used.
|
current epoch only will be used.
|
||||||
* [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
* __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
(`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
If object can't be found using current epoch's netmap, this header limits
|
If object can't be found using current epoch's netmap, this header limits
|
||||||
how many past epochs the node can look up through. The `value` is string
|
how many past epochs the node can look up through. The `value` is string
|
||||||
encoded `uint64` in decimal presentation. If set to '0' or not set, only the
|
encoded `uint64` in decimal presentation. If set to '0' or not set, only the
|
||||||
|
|
|
@ -31,7 +31,7 @@ additional information used for the proof of storage. `StorageGroup` only
|
||||||
contains objects from the same container.
|
contains objects from the same container.
|
||||||
|
|
||||||
Being an object payload, StorageGroup may have expiration Epoch set with
|
Being an object payload, StorageGroup may have expiration Epoch set with
|
||||||
`__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated) well-known attribute. When expired, StorageGroup
|
`__NEOFS__EXPIRATION_EPOCH` well-known attribute. When expired, StorageGroup
|
||||||
will be ignored by InnerRing nodes during Data Audit cycles and will be
|
will be ignored by InnerRing nodes during Data Audit cycles and will be
|
||||||
deleted by Storage Nodes.
|
deleted by Storage Nodes.
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ purged from the NeoFS network.
|
||||||
|
|
||||||
| Field | Type | Label | Description |
|
| Field | Type | Label | Description |
|
||||||
| ----- | ---- | ----- | ----------- |
|
| ----- | ---- | ----- | ----------- |
|
||||||
| expiration_epoch | [uint64](#uint64) | | Last NeoFS epoch number of the tombstone lifetime. It's set by the tombstone creator depending on the current NeoFS network settings. A tombstone object must have the same expiration epoch value in `__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated) attribute. Otherwise, the tombstone will be rejected by a storage node. |
|
| expiration_epoch | [uint64](#uint64) | | Last NeoFS epoch number of the tombstone lifetime. It's set by the tombstone creator depending on the current NeoFS network settings. A tombstone object must have the same expiration epoch value in `__NEOFS__EXPIRATION_EPOCH` attribute. Otherwise, the tombstone will be rejected by a storage node. |
|
||||||
| split_id | [bytes](#bytes) | | 16 byte UUID used to identify the split object hierarchy parts. Must be unique inside a container. All objects participating in the split must have the same `split_id` value. |
|
| split_id | [bytes](#bytes) | | 16 byte UUID used to identify the split object hierarchy parts. Must be unique inside a container. All objects participating in the split must have the same `split_id` value. |
|
||||||
| members | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | List of objects to be deleted. |
|
| members | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | List of objects to be deleted. |
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.refs;
|
package neo.fs.v2.refs;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc;refs";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc;refs";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Refs";
|
option csharp_namespace = "Neo.FileStorage.API.Refs";
|
||||||
|
|
||||||
// Objects in NeoFS are addressed by their ContainerID and ObjectID.
|
// Objects in NeoFS are addressed by their ContainerID and ObjectID.
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.reputation;
|
package neo.fs.v2.reputation;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/reputation/grpc;reputation";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/reputation/grpc;reputation";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Reputation";
|
option csharp_namespace = "Neo.FileStorage.API.Reputation";
|
||||||
|
|
||||||
import "reputation/types.proto";
|
import "reputation/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.reputation;
|
package neo.fs.v2.reputation;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/reputation/grpc;reputation";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/reputation/grpc;reputation";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Reputation";
|
option csharp_namespace = "Neo.FileStorage.API.Reputation";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.session;
|
package neo.fs.v2.session;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/session/grpc;session";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/session/grpc;session";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Session";
|
option csharp_namespace = "Neo.FileStorage.API.Session";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.session;
|
package neo.fs.v2.session;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/session/grpc;session";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/session/grpc;session";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Session";
|
option csharp_namespace = "Neo.FileStorage.API.Session";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -137,16 +137,14 @@ message SessionToken {
|
||||||
// Responses with duplicated header names or headers with empty values will be
|
// Responses with duplicated header names or headers with empty values will be
|
||||||
// considered invalid.
|
// considered invalid.
|
||||||
//
|
//
|
||||||
// There are some "well-known" headers starting with `__SYSTEM__` (`__NEOFS__` is deprecated) prefix that
|
// There are some "well-known" headers starting with `__NEOFS__` prefix that
|
||||||
// affect system behaviour:
|
// affect system behaviour:
|
||||||
//
|
//
|
||||||
// * [ __SYSTEM__NETMAP_EPOCH ] \
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
|
|
||||||
// Netmap epoch to use for object placement calculation. The `value` is string
|
// Netmap epoch to use for object placement calculation. The `value` is string
|
||||||
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
||||||
// current epoch only will be used.
|
// current epoch only will be used.
|
||||||
// * [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
// (`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
|
|
||||||
// If object can't be found using current epoch's netmap, this header limits
|
// If object can't be found using current epoch's netmap, this header limits
|
||||||
// how many past epochs the node can look up through. The `value` is string
|
// how many past epochs the node can look up through. The `value` is string
|
||||||
// encoded `uint64` in decimal presentation. If set to '0' or not set, only the
|
// encoded `uint64` in decimal presentation. If set to '0' or not set, only the
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.status;
|
package neo.fs.v2.status;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/status/grpc;status";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/status/grpc;status";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Status";
|
option csharp_namespace = "Neo.FileStorage.API.Status";
|
||||||
|
|
||||||
// Declares the general format of the status returns of the NeoFS RPC protocol.
|
// Declares the general format of the status returns of the NeoFS RPC protocol.
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.storagegroup;
|
package neo.fs.v2.storagegroup;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/storagegroup/grpc;storagegroup";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/storagegroup/grpc;storagegroup";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.StorageGroup";
|
option csharp_namespace = "Neo.FileStorage.API.StorageGroup";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -13,7 +13,7 @@ import "refs/types.proto";
|
||||||
// contains objects from the same container.
|
// contains objects from the same container.
|
||||||
//
|
//
|
||||||
// Being an object payload, StorageGroup may have expiration Epoch set with
|
// Being an object payload, StorageGroup may have expiration Epoch set with
|
||||||
// `__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated) well-known attribute. When expired, StorageGroup
|
// `__NEOFS__EXPIRATION_EPOCH` well-known attribute. When expired, StorageGroup
|
||||||
// will be ignored by InnerRing nodes during Data Audit cycles and will be
|
// will be ignored by InnerRing nodes during Data Audit cycles and will be
|
||||||
// deleted by Storage Nodes.
|
// deleted by Storage Nodes.
|
||||||
//
|
//
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.subnet;
|
package neo.fs.v2.subnet;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/subnet/grpc;subnet";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/subnet/grpc;subnet";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Subnet";
|
option csharp_namespace = "Neo.FileStorage.API.Subnet";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
|
|
@ -2,7 +2,7 @@ syntax = "proto3";
|
||||||
|
|
||||||
package neo.fs.v2.tombstone;
|
package neo.fs.v2.tombstone;
|
||||||
|
|
||||||
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/tombstone/grpc;tombstone";
|
option go_package = "github.com/TrueCloudLab/frostfs-api-go/v2/tombstone/grpc;tombstone";
|
||||||
option csharp_namespace = "Neo.FileStorage.API.Tombstone";
|
option csharp_namespace = "Neo.FileStorage.API.Tombstone";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
|
@ -12,7 +12,7 @@ import "refs/types.proto";
|
||||||
message Tombstone {
|
message Tombstone {
|
||||||
// Last NeoFS epoch number of the tombstone lifetime. It's set by the tombstone
|
// Last NeoFS epoch number of the tombstone lifetime. It's set by the tombstone
|
||||||
// creator depending on the current NeoFS network settings. A tombstone object
|
// creator depending on the current NeoFS network settings. A tombstone object
|
||||||
// must have the same expiration epoch value in `__SYSTEM__EXPIRATION_EPOCH` (`__NEOFS__EXPIRATION_EPOCH` is deprecated)
|
// must have the same expiration epoch value in `__NEOFS__EXPIRATION_EPOCH`
|
||||||
// attribute. Otherwise, the tombstone will be rejected by a storage node.
|
// attribute. Otherwise, the tombstone will be rejected by a storage node.
|
||||||
uint64 expiration_epoch = 1 [json_name = "expirationEpoch"];
|
uint64 expiration_epoch = 1 [json_name = "expirationEpoch"];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue