// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.9 // source: container/grpc/types.proto package container import ( grpc1 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/netmap/grpc" grpc "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Container is a structure that defines object placement behaviour. Objects can // be stored only within containers. They define placement rule, attributes and // access control information. An ID of a container is a 32 byte long SHA256 hash // of stable-marshalled container message. type Container struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Container format version. Effectively, the version of API library used to // create the container. Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Identifier of the container owner OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"` // Nonce is a 16 byte UUIDv4, used to avoid collisions of `ContainerID`s Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"` // `BasicACL` contains access control rules for the owner, system and others groups, // as well as permission bits for `BearerToken` and `Extended ACL` BasicAcl uint32 `protobuf:"varint,4,opt,name=basic_acl,json=basicACL,proto3" json:"basic_acl,omitempty"` // Attributes represent immutable container's meta data Attributes []*Container_Attribute `protobuf:"bytes,5,rep,name=attributes,proto3" json:"attributes,omitempty"` // Placement policy for the object inside the container PlacementPolicy *grpc1.PlacementPolicy `protobuf:"bytes,6,opt,name=placement_policy,json=placementPolicy,proto3" json:"placement_policy,omitempty"` } func (x *Container) Reset() { *x = Container{} if protoimpl.UnsafeEnabled { mi := &file_container_grpc_types_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Container) String() string { return protoimpl.X.MessageStringOf(x) } func (*Container) ProtoMessage() {} func (x *Container) ProtoReflect() protoreflect.Message { mi := &file_container_grpc_types_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Container.ProtoReflect.Descriptor instead. func (*Container) Descriptor() ([]byte, []int) { return file_container_grpc_types_proto_rawDescGZIP(), []int{0} } func (x *Container) GetVersion() *grpc.Version { if x != nil { return x.Version } return nil } func (x *Container) GetOwnerId() *grpc.OwnerID { if x != nil { return x.OwnerId } return nil } func (x *Container) GetNonce() []byte { if x != nil { return x.Nonce } return nil } func (x *Container) GetBasicAcl() uint32 { if x != nil { return x.BasicAcl } return 0 } func (x *Container) GetAttributes() []*Container_Attribute { if x != nil { return x.Attributes } return nil } func (x *Container) GetPlacementPolicy() *grpc1.PlacementPolicy { if x != nil { return x.PlacementPolicy } return nil } // `Attribute` is a user-defined Key-Value metadata pair attached to the // container. Container attributes are immutable. They are set at the moment of // container creation and can never be added or updated. // // Key name must be a container-unique valid UTF-8 string. Value can't be // empty. Containers with duplicated attribute names or attributes with empty // values will be considered invalid. // // There are some "well-known" attributes affecting system behaviour: // // - [ __SYSTEM__SUBNET ] \ // (`__NEOFS__SUBNET` is deprecated) \ // String ID of a container's storage subnet. Any container can be attached to // one subnet only. // - [ __SYSTEM__NAME ] \ // (`__NEOFS__NAME` is deprecated) \ // String of a human-friendly container name registered as a domain in // NNS contract. // - [ __SYSTEM__ZONE ] \ // (`__NEOFS__ZONE` is deprecated) \ // 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`. // - [ __SYSTEM__DISABLE_HOMOMORPHIC_HASHING ] \ // (`__NEOFS__DISABLE_HOMOMORPHIC_HASHING` is deprecated) \ // Disables homomorphic hashing for the container if the value equals "true" string. // Any other values are interpreted as missing attribute. Container could be // accepted in a NeoFS network only if the global network hashing configuration // value corresponds with that attribute's value. After container inclusion, network // setting is ignored. // // And some well-known attributes used by applications only: // // - Name \ // Human-friendly name // - Timestamp \ // User-defined local time of container creation in Unix Timestamp format type Container_Attribute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Attribute name key Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Attribute value Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *Container_Attribute) Reset() { *x = Container_Attribute{} if protoimpl.UnsafeEnabled { mi := &file_container_grpc_types_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Container_Attribute) String() string { return protoimpl.X.MessageStringOf(x) } func (*Container_Attribute) ProtoMessage() {} func (x *Container_Attribute) ProtoReflect() protoreflect.Message { mi := &file_container_grpc_types_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Container_Attribute.ProtoReflect.Descriptor instead. func (*Container_Attribute) Descriptor() ([]byte, []int) { return file_container_grpc_types_proto_rawDescGZIP(), []int{0, 0} } func (x *Container_Attribute) GetKey() string { if x != nil { return x.Key } return "" } func (x *Container_Attribute) GetValue() string { if x != nil { return x.Value } return "" } var File_container_grpc_types_proto protoreflect.FileDescriptor var file_container_grpc_types_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x1a, 0x17, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x43, 0x4c, 0x12, 0x48, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6a, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x2e, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x1d, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_container_grpc_types_proto_rawDescOnce sync.Once file_container_grpc_types_proto_rawDescData = file_container_grpc_types_proto_rawDesc ) func file_container_grpc_types_proto_rawDescGZIP() []byte { file_container_grpc_types_proto_rawDescOnce.Do(func() { file_container_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_container_grpc_types_proto_rawDescData) }) return file_container_grpc_types_proto_rawDescData } var file_container_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_container_grpc_types_proto_goTypes = []interface{}{ (*Container)(nil), // 0: neo.fs.v2.container.Container (*Container_Attribute)(nil), // 1: neo.fs.v2.container.Container.Attribute (*grpc.Version)(nil), // 2: neo.fs.v2.refs.Version (*grpc.OwnerID)(nil), // 3: neo.fs.v2.refs.OwnerID (*grpc1.PlacementPolicy)(nil), // 4: neo.fs.v2.netmap.PlacementPolicy } var file_container_grpc_types_proto_depIdxs = []int32{ 2, // 0: neo.fs.v2.container.Container.version:type_name -> neo.fs.v2.refs.Version 3, // 1: neo.fs.v2.container.Container.owner_id:type_name -> neo.fs.v2.refs.OwnerID 1, // 2: neo.fs.v2.container.Container.attributes:type_name -> neo.fs.v2.container.Container.Attribute 4, // 3: neo.fs.v2.container.Container.placement_policy:type_name -> neo.fs.v2.netmap.PlacementPolicy 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_container_grpc_types_proto_init() } func file_container_grpc_types_proto_init() { if File_container_grpc_types_proto != nil { return } if !protoimpl.UnsafeEnabled { file_container_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Container); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_container_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Container_Attribute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_container_grpc_types_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_container_grpc_types_proto_goTypes, DependencyIndexes: file_container_grpc_types_proto_depIdxs, MessageInfos: file_container_grpc_types_proto_msgTypes, }.Build() File_container_grpc_types_proto = out.File file_container_grpc_types_proto_rawDesc = nil file_container_grpc_types_proto_goTypes = nil file_container_grpc_types_proto_depIdxs = nil }