github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/container/grpc/types.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.28.0 4 // protoc v3.21.9 5 // source: container/grpc/types.proto 6 7 package container 8 9 import ( 10 grpc1 "github.com/TrueCloudLab/frostfs-api-go/v2/netmap/grpc" 11 grpc "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc" 12 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 13 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 14 reflect "reflect" 15 sync "sync" 16 ) 17 18 const ( 19 // Verify that this generated code is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 21 // Verify that runtime/protoimpl is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 23 ) 24 25 // Container is a structure that defines object placement behaviour. Objects can 26 // be stored only within containers. They define placement rule, attributes and 27 // access control information. An ID of a container is a 32 byte long SHA256 hash 28 // of stable-marshalled container message. 29 type Container struct { 30 state protoimpl.MessageState 31 sizeCache protoimpl.SizeCache 32 unknownFields protoimpl.UnknownFields 33 34 // Container format version. Effectively, the version of API library used to 35 // create the container. 36 Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` 37 // Identifier of the container owner 38 OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"` 39 // Nonce is a 16 byte UUIDv4, used to avoid collisions of `ContainerID`s 40 Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"` 41 // `BasicACL` contains access control rules for the owner, system and others groups, 42 // as well as permission bits for `BearerToken` and `Extended ACL` 43 BasicAcl uint32 `protobuf:"varint,4,opt,name=basic_acl,json=basicACL,proto3" json:"basic_acl,omitempty"` 44 // Attributes represent immutable container's meta data 45 Attributes []*Container_Attribute `protobuf:"bytes,5,rep,name=attributes,proto3" json:"attributes,omitempty"` 46 // Placement policy for the object inside the container 47 PlacementPolicy *grpc1.PlacementPolicy `protobuf:"bytes,6,opt,name=placement_policy,json=placementPolicy,proto3" json:"placement_policy,omitempty"` 48 } 49 50 func (x *Container) Reset() { 51 *x = Container{} 52 if protoimpl.UnsafeEnabled { 53 mi := &file_container_grpc_types_proto_msgTypes[0] 54 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 55 ms.StoreMessageInfo(mi) 56 } 57 } 58 59 func (x *Container) String() string { 60 return protoimpl.X.MessageStringOf(x) 61 } 62 63 func (*Container) ProtoMessage() {} 64 65 func (x *Container) ProtoReflect() protoreflect.Message { 66 mi := &file_container_grpc_types_proto_msgTypes[0] 67 if protoimpl.UnsafeEnabled && x != nil { 68 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 69 if ms.LoadMessageInfo() == nil { 70 ms.StoreMessageInfo(mi) 71 } 72 return ms 73 } 74 return mi.MessageOf(x) 75 } 76 77 // Deprecated: Use Container.ProtoReflect.Descriptor instead. 78 func (*Container) Descriptor() ([]byte, []int) { 79 return file_container_grpc_types_proto_rawDescGZIP(), []int{0} 80 } 81 82 func (x *Container) GetVersion() *grpc.Version { 83 if x != nil { 84 return x.Version 85 } 86 return nil 87 } 88 89 func (x *Container) GetOwnerId() *grpc.OwnerID { 90 if x != nil { 91 return x.OwnerId 92 } 93 return nil 94 } 95 96 func (x *Container) GetNonce() []byte { 97 if x != nil { 98 return x.Nonce 99 } 100 return nil 101 } 102 103 func (x *Container) GetBasicAcl() uint32 { 104 if x != nil { 105 return x.BasicAcl 106 } 107 return 0 108 } 109 110 func (x *Container) GetAttributes() []*Container_Attribute { 111 if x != nil { 112 return x.Attributes 113 } 114 return nil 115 } 116 117 func (x *Container) GetPlacementPolicy() *grpc1.PlacementPolicy { 118 if x != nil { 119 return x.PlacementPolicy 120 } 121 return nil 122 } 123 124 // `Attribute` is a user-defined Key-Value metadata pair attached to the 125 // container. Container attributes are immutable. They are set at the moment of 126 // container creation and can never be added or updated. 127 // 128 // Key name must be a container-unique valid UTF-8 string. Value can't be 129 // empty. Containers with duplicated attribute names or attributes with empty 130 // values will be considered invalid. 131 // 132 // There are some "well-known" attributes affecting system behaviour: 133 // 134 // - __NEOFS__SUBNET \ 135 // String ID of a container's storage subnet. Any container can be attached to 136 // one subnet only. 137 // - __NEOFS__NAME \ 138 // String of a human-friendly container name registered as a domain in 139 // NNS contract. 140 // - __NEOFS__ZONE \ 141 // String of a zone for `__NEOFS__NAME`. Used as a TLD of a domain name in NNS 142 // contract. If no zone is specified, use default zone: `container`. 143 // - __NEOFS__DISABLE_HOMOMORPHIC_HASHING \ 144 // Disables homomorphic hashing for the container if the value equals "true" string. 145 // Any other values are interpreted as missing attribute. Container could be 146 // accepted in a NeoFS network only if the global network hashing configuration 147 // value corresponds with that attribute's value. After container inclusion, network 148 // setting is ignored. 149 // 150 // And some well-known attributes used by applications only: 151 // 152 // - Name \ 153 // Human-friendly name 154 // - Timestamp \ 155 // User-defined local time of container creation in Unix Timestamp format 156 type Container_Attribute struct { 157 state protoimpl.MessageState 158 sizeCache protoimpl.SizeCache 159 unknownFields protoimpl.UnknownFields 160 161 // Attribute name key 162 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 163 // Attribute value 164 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 165 } 166 167 func (x *Container_Attribute) Reset() { 168 *x = Container_Attribute{} 169 if protoimpl.UnsafeEnabled { 170 mi := &file_container_grpc_types_proto_msgTypes[1] 171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 172 ms.StoreMessageInfo(mi) 173 } 174 } 175 176 func (x *Container_Attribute) String() string { 177 return protoimpl.X.MessageStringOf(x) 178 } 179 180 func (*Container_Attribute) ProtoMessage() {} 181 182 func (x *Container_Attribute) ProtoReflect() protoreflect.Message { 183 mi := &file_container_grpc_types_proto_msgTypes[1] 184 if protoimpl.UnsafeEnabled && x != nil { 185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 186 if ms.LoadMessageInfo() == nil { 187 ms.StoreMessageInfo(mi) 188 } 189 return ms 190 } 191 return mi.MessageOf(x) 192 } 193 194 // Deprecated: Use Container_Attribute.ProtoReflect.Descriptor instead. 195 func (*Container_Attribute) Descriptor() ([]byte, []int) { 196 return file_container_grpc_types_proto_rawDescGZIP(), []int{0, 0} 197 } 198 199 func (x *Container_Attribute) GetKey() string { 200 if x != nil { 201 return x.Key 202 } 203 return "" 204 } 205 206 func (x *Container_Attribute) GetValue() string { 207 if x != nil { 208 return x.Value 209 } 210 return "" 211 } 212 213 var File_container_grpc_types_proto protoreflect.FileDescriptor 214 215 var file_container_grpc_types_proto_rawDesc = []byte{ 216 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 217 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x6e, 0x65, 218 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 219 0x72, 0x1a, 0x17, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 220 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 221 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 222 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 223 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 224 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 225 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 226 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 227 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 228 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x6f, 229 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 230 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 231 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 232 0x08, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x43, 0x4c, 0x12, 0x48, 0x0a, 0x0a, 0x61, 0x74, 0x74, 233 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 234 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 235 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x74, 236 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 237 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 238 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 239 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6e, 0x65, 0x74, 0x6d, 0x61, 0x70, 240 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 241 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 242 0x79, 0x1a, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 243 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 244 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 245 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x64, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 246 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 247 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 248 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x67, 0x72, 249 0x70, 0x63, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x1d, 0x4e, 250 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 251 0x50, 0x49, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 252 0x6f, 0x74, 0x6f, 0x33, 253 } 254 255 var ( 256 file_container_grpc_types_proto_rawDescOnce sync.Once 257 file_container_grpc_types_proto_rawDescData = file_container_grpc_types_proto_rawDesc 258 ) 259 260 func file_container_grpc_types_proto_rawDescGZIP() []byte { 261 file_container_grpc_types_proto_rawDescOnce.Do(func() { 262 file_container_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_container_grpc_types_proto_rawDescData) 263 }) 264 return file_container_grpc_types_proto_rawDescData 265 } 266 267 var file_container_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 2) 268 var file_container_grpc_types_proto_goTypes = []interface{}{ 269 (*Container)(nil), // 0: neo.fs.v2.container.Container 270 (*Container_Attribute)(nil), // 1: neo.fs.v2.container.Container.Attribute 271 (*grpc.Version)(nil), // 2: neo.fs.v2.refs.Version 272 (*grpc.OwnerID)(nil), // 3: neo.fs.v2.refs.OwnerID 273 (*grpc1.PlacementPolicy)(nil), // 4: neo.fs.v2.netmap.PlacementPolicy 274 } 275 var file_container_grpc_types_proto_depIdxs = []int32{ 276 2, // 0: neo.fs.v2.container.Container.version:type_name -> neo.fs.v2.refs.Version 277 3, // 1: neo.fs.v2.container.Container.owner_id:type_name -> neo.fs.v2.refs.OwnerID 278 1, // 2: neo.fs.v2.container.Container.attributes:type_name -> neo.fs.v2.container.Container.Attribute 279 4, // 3: neo.fs.v2.container.Container.placement_policy:type_name -> neo.fs.v2.netmap.PlacementPolicy 280 4, // [4:4] is the sub-list for method output_type 281 4, // [4:4] is the sub-list for method input_type 282 4, // [4:4] is the sub-list for extension type_name 283 4, // [4:4] is the sub-list for extension extendee 284 0, // [0:4] is the sub-list for field type_name 285 } 286 287 func init() { file_container_grpc_types_proto_init() } 288 func file_container_grpc_types_proto_init() { 289 if File_container_grpc_types_proto != nil { 290 return 291 } 292 if !protoimpl.UnsafeEnabled { 293 file_container_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 294 switch v := v.(*Container); i { 295 case 0: 296 return &v.state 297 case 1: 298 return &v.sizeCache 299 case 2: 300 return &v.unknownFields 301 default: 302 return nil 303 } 304 } 305 file_container_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 306 switch v := v.(*Container_Attribute); i { 307 case 0: 308 return &v.state 309 case 1: 310 return &v.sizeCache 311 case 2: 312 return &v.unknownFields 313 default: 314 return nil 315 } 316 } 317 } 318 type x struct{} 319 out := protoimpl.TypeBuilder{ 320 File: protoimpl.DescBuilder{ 321 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 322 RawDescriptor: file_container_grpc_types_proto_rawDesc, 323 NumEnums: 0, 324 NumMessages: 2, 325 NumExtensions: 0, 326 NumServices: 0, 327 }, 328 GoTypes: file_container_grpc_types_proto_goTypes, 329 DependencyIndexes: file_container_grpc_types_proto_depIdxs, 330 MessageInfos: file_container_grpc_types_proto_msgTypes, 331 }.Build() 332 File_container_grpc_types_proto = out.File 333 file_container_grpc_types_proto_rawDesc = nil 334 file_container_grpc_types_proto_goTypes = nil 335 file_container_grpc_types_proto_depIdxs = nil 336 }