diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b288f17a..e5a78b005 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - (Feature) (Integration) Basic Envs - (Maintenance) Inspector Generics - (Bugfix) Fix Gateway Options +- (Feature) StorageV2 Integration Service Definition ## [1.2.43](https://github.com/arangodb/kube-arangodb/tree/1.2.43) (2024-10-14) - (Feature) ArangoRoute CRD diff --git a/integrations/storage/v2/definition/consts.go b/integrations/storage/v2/definition/consts.go new file mode 100644 index 000000000..e90744d98 --- /dev/null +++ b/integrations/storage/v2/definition/consts.go @@ -0,0 +1,25 @@ +// +// DISCLAIMER +// +// Copyright 2024 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + +package definition + +const ( + Name = "storage.v2" +) diff --git a/integrations/storage/v2/definition/storage.pb.go b/integrations/storage/v2/definition/storage.pb.go new file mode 100644 index 000000000..c72fc2c7e --- /dev/null +++ b/integrations/storage/v2/definition/storage.pb.go @@ -0,0 +1,1025 @@ +// +// DISCLAIMER +// +// Copyright 2024 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.21.1 +// source: integrations/storage/v2/definition/storage.proto + +package definition + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + 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) +) + +type StorageV2Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StorageV2Path) Reset() { + *x = StorageV2Path{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2Path) ProtoMessage() {} + +func (x *StorageV2Path) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_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 StorageV2Path.ProtoReflect.Descriptor instead. +func (*StorageV2Path) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{0} +} + +func (x *StorageV2Path) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +type StorageV2Object struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Info *StorageV2ObjectInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` +} + +func (x *StorageV2Object) Reset() { + *x = StorageV2Object{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2Object) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2Object) ProtoMessage() {} + +func (x *StorageV2Object) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_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 StorageV2Object.ProtoReflect.Descriptor instead. +func (*StorageV2Object) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{1} +} + +func (x *StorageV2Object) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +func (x *StorageV2Object) GetInfo() *StorageV2ObjectInfo { + if x != nil { + return x.Info + } + return nil +} + +type StorageV2ObjectInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` + LastUpdated *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` +} + +func (x *StorageV2ObjectInfo) Reset() { + *x = StorageV2ObjectInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2ObjectInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2ObjectInfo) ProtoMessage() {} + +func (x *StorageV2ObjectInfo) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[2] + 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 StorageV2ObjectInfo.ProtoReflect.Descriptor instead. +func (*StorageV2ObjectInfo) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{2} +} + +func (x *StorageV2ObjectInfo) GetSize() uint64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *StorageV2ObjectInfo) GetLastUpdated() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdated + } + return nil +} + +type StorageV2ReadObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StorageV2ReadObjectRequest) Reset() { + *x = StorageV2ReadObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2ReadObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2ReadObjectRequest) ProtoMessage() {} + +func (x *StorageV2ReadObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[3] + 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 StorageV2ReadObjectRequest.ProtoReflect.Descriptor instead. +func (*StorageV2ReadObjectRequest) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{3} +} + +func (x *StorageV2ReadObjectRequest) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +type StorageV2ReadObjectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"` +} + +func (x *StorageV2ReadObjectResponse) Reset() { + *x = StorageV2ReadObjectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2ReadObjectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2ReadObjectResponse) ProtoMessage() {} + +func (x *StorageV2ReadObjectResponse) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[4] + 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 StorageV2ReadObjectResponse.ProtoReflect.Descriptor instead. +func (*StorageV2ReadObjectResponse) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{4} +} + +func (x *StorageV2ReadObjectResponse) GetChunk() []byte { + if x != nil { + return x.Chunk + } + return nil +} + +type StorageV2WriteObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"` +} + +func (x *StorageV2WriteObjectRequest) Reset() { + *x = StorageV2WriteObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2WriteObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2WriteObjectRequest) ProtoMessage() {} + +func (x *StorageV2WriteObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[5] + 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 StorageV2WriteObjectRequest.ProtoReflect.Descriptor instead. +func (*StorageV2WriteObjectRequest) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{5} +} + +func (x *StorageV2WriteObjectRequest) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +func (x *StorageV2WriteObjectRequest) GetChunk() []byte { + if x != nil { + return x.Chunk + } + return nil +} + +type StorageV2WriteObjectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bytes int64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + Checksum string `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"` +} + +func (x *StorageV2WriteObjectResponse) Reset() { + *x = StorageV2WriteObjectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2WriteObjectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2WriteObjectResponse) ProtoMessage() {} + +func (x *StorageV2WriteObjectResponse) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[6] + 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 StorageV2WriteObjectResponse.ProtoReflect.Descriptor instead. +func (*StorageV2WriteObjectResponse) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{6} +} + +func (x *StorageV2WriteObjectResponse) GetBytes() int64 { + if x != nil { + return x.Bytes + } + return 0 +} + +func (x *StorageV2WriteObjectResponse) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +type StorageV2HeadObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StorageV2HeadObjectRequest) Reset() { + *x = StorageV2HeadObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2HeadObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2HeadObjectRequest) ProtoMessage() {} + +func (x *StorageV2HeadObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[7] + 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 StorageV2HeadObjectRequest.ProtoReflect.Descriptor instead. +func (*StorageV2HeadObjectRequest) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{7} +} + +func (x *StorageV2HeadObjectRequest) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +type StorageV2HeadObjectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info *StorageV2ObjectInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` +} + +func (x *StorageV2HeadObjectResponse) Reset() { + *x = StorageV2HeadObjectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2HeadObjectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2HeadObjectResponse) ProtoMessage() {} + +func (x *StorageV2HeadObjectResponse) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[8] + 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 StorageV2HeadObjectResponse.ProtoReflect.Descriptor instead. +func (*StorageV2HeadObjectResponse) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{8} +} + +func (x *StorageV2HeadObjectResponse) GetInfo() *StorageV2ObjectInfo { + if x != nil { + return x.Info + } + return nil +} + +type StorageV2DeleteObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StorageV2DeleteObjectRequest) Reset() { + *x = StorageV2DeleteObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2DeleteObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2DeleteObjectRequest) ProtoMessage() {} + +func (x *StorageV2DeleteObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[9] + 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 StorageV2DeleteObjectRequest.ProtoReflect.Descriptor instead. +func (*StorageV2DeleteObjectRequest) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{9} +} + +func (x *StorageV2DeleteObjectRequest) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +type StorageV2DeleteObjectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StorageV2DeleteObjectResponse) Reset() { + *x = StorageV2DeleteObjectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2DeleteObjectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2DeleteObjectResponse) ProtoMessage() {} + +func (x *StorageV2DeleteObjectResponse) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[10] + 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 StorageV2DeleteObjectResponse.ProtoReflect.Descriptor instead. +func (*StorageV2DeleteObjectResponse) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{10} +} + +type StorageV2ListObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *StorageV2Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StorageV2ListObjectsRequest) Reset() { + *x = StorageV2ListObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2ListObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2ListObjectsRequest) ProtoMessage() {} + +func (x *StorageV2ListObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[11] + 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 StorageV2ListObjectsRequest.ProtoReflect.Descriptor instead. +func (*StorageV2ListObjectsRequest) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{11} +} + +func (x *StorageV2ListObjectsRequest) GetPath() *StorageV2Path { + if x != nil { + return x.Path + } + return nil +} + +type StorageV2ListObjectsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Files []*StorageV2Object `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` +} + +func (x *StorageV2ListObjectsResponse) Reset() { + *x = StorageV2ListObjectsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageV2ListObjectsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageV2ListObjectsResponse) ProtoMessage() {} + +func (x *StorageV2ListObjectsResponse) ProtoReflect() protoreflect.Message { + mi := &file_integrations_storage_v2_definition_storage_proto_msgTypes[12] + 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 StorageV2ListObjectsResponse.ProtoReflect.Descriptor instead. +func (*StorageV2ListObjectsResponse) Descriptor() ([]byte, []int) { + return file_integrations_storage_v2_definition_storage_proto_rawDescGZIP(), []int{12} +} + +func (x *StorageV2ListObjectsResponse) GetFiles() []*StorageV2Object { + if x != nil { + return x.Files + } + return nil +} + +var File_integrations_storage_v2_definition_storage_proto protoreflect.FileDescriptor + +var file_integrations_storage_v2_definition_storage_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x08, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, + 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x22, 0x71, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x31, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x56, 0x32, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x68, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x56, 0x32, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, + 0x49, 0x0a, 0x1a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x52, 0x65, 0x61, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x33, 0x0a, 0x1b, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x75, + 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x22, + 0x60, 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, + 0x32, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, + 0x6b, 0x22, 0x50, 0x0a, 0x1c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x22, 0x49, 0x0a, 0x1a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, + 0x48, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x56, 0x32, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x50, + 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x48, 0x65, 0x61, 0x64, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x22, 0x4b, 0x0a, 0x1c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x56, 0x32, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x1f, 0x0a, + 0x1d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, + 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x4f, 0x0a, 0x1c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x32, 0xe4, 0x03, 0x0a, 0x09, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x5b, 0x0a, 0x0a, 0x52, 0x65, 0x61, + 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, + 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x52, 0x65, 0x61, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x56, 0x32, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5e, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, + 0x32, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x59, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x68, 0x75, + 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x48, + 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x26, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x12, 0x25, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x42, 0x46, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x2d, 0x61, + 0x72, 0x61, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x2f, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_integrations_storage_v2_definition_storage_proto_rawDescOnce sync.Once + file_integrations_storage_v2_definition_storage_proto_rawDescData = file_integrations_storage_v2_definition_storage_proto_rawDesc +) + +func file_integrations_storage_v2_definition_storage_proto_rawDescGZIP() []byte { + file_integrations_storage_v2_definition_storage_proto_rawDescOnce.Do(func() { + file_integrations_storage_v2_definition_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_integrations_storage_v2_definition_storage_proto_rawDescData) + }) + return file_integrations_storage_v2_definition_storage_proto_rawDescData +} + +var file_integrations_storage_v2_definition_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_integrations_storage_v2_definition_storage_proto_goTypes = []interface{}{ + (*StorageV2Path)(nil), // 0: shutdown.StorageV2Path + (*StorageV2Object)(nil), // 1: shutdown.StorageV2Object + (*StorageV2ObjectInfo)(nil), // 2: shutdown.StorageV2ObjectInfo + (*StorageV2ReadObjectRequest)(nil), // 3: shutdown.StorageV2ReadObjectRequest + (*StorageV2ReadObjectResponse)(nil), // 4: shutdown.StorageV2ReadObjectResponse + (*StorageV2WriteObjectRequest)(nil), // 5: shutdown.StorageV2WriteObjectRequest + (*StorageV2WriteObjectResponse)(nil), // 6: shutdown.StorageV2WriteObjectResponse + (*StorageV2HeadObjectRequest)(nil), // 7: shutdown.StorageV2HeadObjectRequest + (*StorageV2HeadObjectResponse)(nil), // 8: shutdown.StorageV2HeadObjectResponse + (*StorageV2DeleteObjectRequest)(nil), // 9: shutdown.StorageV2DeleteObjectRequest + (*StorageV2DeleteObjectResponse)(nil), // 10: shutdown.StorageV2DeleteObjectResponse + (*StorageV2ListObjectsRequest)(nil), // 11: shutdown.StorageV2ListObjectsRequest + (*StorageV2ListObjectsResponse)(nil), // 12: shutdown.StorageV2ListObjectsResponse + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp +} +var file_integrations_storage_v2_definition_storage_proto_depIdxs = []int32{ + 0, // 0: shutdown.StorageV2Object.path:type_name -> shutdown.StorageV2Path + 2, // 1: shutdown.StorageV2Object.info:type_name -> shutdown.StorageV2ObjectInfo + 13, // 2: shutdown.StorageV2ObjectInfo.last_updated:type_name -> google.protobuf.Timestamp + 0, // 3: shutdown.StorageV2ReadObjectRequest.path:type_name -> shutdown.StorageV2Path + 0, // 4: shutdown.StorageV2WriteObjectRequest.path:type_name -> shutdown.StorageV2Path + 0, // 5: shutdown.StorageV2HeadObjectRequest.path:type_name -> shutdown.StorageV2Path + 2, // 6: shutdown.StorageV2HeadObjectResponse.info:type_name -> shutdown.StorageV2ObjectInfo + 0, // 7: shutdown.StorageV2DeleteObjectRequest.path:type_name -> shutdown.StorageV2Path + 0, // 8: shutdown.StorageV2ListObjectsRequest.path:type_name -> shutdown.StorageV2Path + 1, // 9: shutdown.StorageV2ListObjectsResponse.files:type_name -> shutdown.StorageV2Object + 3, // 10: shutdown.StorageV2.ReadObject:input_type -> shutdown.StorageV2ReadObjectRequest + 5, // 11: shutdown.StorageV2.WriteObject:input_type -> shutdown.StorageV2WriteObjectRequest + 7, // 12: shutdown.StorageV2.HeadObject:input_type -> shutdown.StorageV2HeadObjectRequest + 9, // 13: shutdown.StorageV2.DeleteObject:input_type -> shutdown.StorageV2DeleteObjectRequest + 11, // 14: shutdown.StorageV2.ListObjects:input_type -> shutdown.StorageV2ListObjectsRequest + 4, // 15: shutdown.StorageV2.ReadObject:output_type -> shutdown.StorageV2ReadObjectResponse + 6, // 16: shutdown.StorageV2.WriteObject:output_type -> shutdown.StorageV2WriteObjectResponse + 8, // 17: shutdown.StorageV2.HeadObject:output_type -> shutdown.StorageV2HeadObjectResponse + 10, // 18: shutdown.StorageV2.DeleteObject:output_type -> shutdown.StorageV2DeleteObjectResponse + 12, // 19: shutdown.StorageV2.ListObjects:output_type -> shutdown.StorageV2ListObjectsResponse + 15, // [15:20] is the sub-list for method output_type + 10, // [10:15] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_integrations_storage_v2_definition_storage_proto_init() } +func file_integrations_storage_v2_definition_storage_proto_init() { + if File_integrations_storage_v2_definition_storage_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_integrations_storage_v2_definition_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2Path); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2Object); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2ObjectInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2ReadObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2ReadObjectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2WriteObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2WriteObjectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2HeadObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2HeadObjectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2DeleteObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2DeleteObjectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2ListObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_integrations_storage_v2_definition_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageV2ListObjectsResponse); 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_integrations_storage_v2_definition_storage_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_integrations_storage_v2_definition_storage_proto_goTypes, + DependencyIndexes: file_integrations_storage_v2_definition_storage_proto_depIdxs, + MessageInfos: file_integrations_storage_v2_definition_storage_proto_msgTypes, + }.Build() + File_integrations_storage_v2_definition_storage_proto = out.File + file_integrations_storage_v2_definition_storage_proto_rawDesc = nil + file_integrations_storage_v2_definition_storage_proto_goTypes = nil + file_integrations_storage_v2_definition_storage_proto_depIdxs = nil +} diff --git a/integrations/storage/v2/definition/storage.proto b/integrations/storage/v2/definition/storage.proto new file mode 100644 index 000000000..98de6f51c --- /dev/null +++ b/integrations/storage/v2/definition/storage.proto @@ -0,0 +1,129 @@ +// +// DISCLAIMER +// +// Copyright 2024 ArangoDB GmbH, Cologne, Germany +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Copyright holder is ArangoDB GmbH, Cologne, Germany +// + +syntax = "proto3"; + +package shutdown; + +import "google/protobuf/timestamp.proto"; + +option go_package = "github.com/arangodb/kube-arangodb/integrations/storage/v2/definition"; + +// Defines StorageV2 Service +service StorageV2 { + // Allows to Read Objects using stream + rpc ReadObject(StorageV2ReadObjectRequest) returns (stream StorageV2ReadObjectResponse); + + // Allows to Write Objects using stream + rpc WriteObject(stream StorageV2WriteObjectRequest) returns (StorageV2WriteObjectResponse); + + // Gets basic info about object + rpc HeadObject(StorageV2HeadObjectRequest) returns (StorageV2HeadObjectResponse); + + // Deletes object + rpc DeleteObject(StorageV2DeleteObjectRequest) returns (StorageV2DeleteObjectResponse); + + // List all objects in batches + rpc ListObjects(StorageV2ListObjectsRequest) returns (stream StorageV2ListObjectsResponse); +} + +// Defines Object Path/Key +message StorageV2Path { + // Defines Object Path/Key + string path = 1; +} + +// Defines Object Details +message StorageV2Object { + // Defines Object Path/Key + StorageV2Path path = 1; + // Defines Object Info + StorageV2ObjectInfo info = 2; +} + +// Defines Object Info +message StorageV2ObjectInfo { + // Size in bytes of the object + uint64 size = 1; + // Timestamp of last update + google.protobuf.Timestamp last_updated = 2; +} + +// StorageV2 ReadObject Request +message StorageV2ReadObjectRequest { + // Defines Object Path/Key + StorageV2Path path = 1; +} + +// StorageV2 ReadObject Response +message StorageV2ReadObjectResponse { + // Bytes of the object + bytes chunk = 1; +} + +// StorageV2 WriteObject Request +message StorageV2WriteObjectRequest { + // Defines Object Path/Key + StorageV2Path path = 1; + // Bytes of the object + bytes chunk = 2; +} + +// StorageV2 WriteObject Response +message StorageV2WriteObjectResponse { + // Bytes Saved + int64 bytes =1; + // Checksum (sha256) of the object + string checksum = 2; +} + +// StorageV2 HeadObject Request +message StorageV2HeadObjectRequest { + // Defines Object Path/Key + StorageV2Path path = 1; +} + +// StorageV2 HeadObject Response +message StorageV2HeadObjectResponse { + // Defines Object Info + StorageV2ObjectInfo info = 1; +} + +// StorageV2 DeleteObject Request +message StorageV2DeleteObjectRequest { + // Defines Object Path/Key + StorageV2Path path = 1; +} + +// StorageV2 DeleteObject Response +message StorageV2DeleteObjectResponse { +} + +// StorageV2 ListObjects Request +message StorageV2ListObjectsRequest { + // Defines Object Path/Key + StorageV2Path path = 1; +} + +// StorageV2 ListObjects Response +message StorageV2ListObjectsResponse { + // List of the objects + repeated StorageV2Object files = 1; +} \ No newline at end of file diff --git a/integrations/storage/v2/definition/storage_grpc.pb.go b/integrations/storage/v2/definition/storage_grpc.pb.go new file mode 100644 index 000000000..2f8e92dee --- /dev/null +++ b/integrations/storage/v2/definition/storage_grpc.pb.go @@ -0,0 +1,338 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.21.1 +// source: integrations/storage/v2/definition/storage.proto + +package definition + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// StorageV2Client is the client API for StorageV2 service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type StorageV2Client interface { + ReadObject(ctx context.Context, in *StorageV2ReadObjectRequest, opts ...grpc.CallOption) (StorageV2_ReadObjectClient, error) + WriteObject(ctx context.Context, opts ...grpc.CallOption) (StorageV2_WriteObjectClient, error) + HeadObject(ctx context.Context, in *StorageV2HeadObjectRequest, opts ...grpc.CallOption) (*StorageV2HeadObjectResponse, error) + DeleteObject(ctx context.Context, in *StorageV2DeleteObjectRequest, opts ...grpc.CallOption) (*StorageV2DeleteObjectResponse, error) + ListObjects(ctx context.Context, in *StorageV2ListObjectsRequest, opts ...grpc.CallOption) (StorageV2_ListObjectsClient, error) +} + +type storageV2Client struct { + cc grpc.ClientConnInterface +} + +func NewStorageV2Client(cc grpc.ClientConnInterface) StorageV2Client { + return &storageV2Client{cc} +} + +func (c *storageV2Client) ReadObject(ctx context.Context, in *StorageV2ReadObjectRequest, opts ...grpc.CallOption) (StorageV2_ReadObjectClient, error) { + stream, err := c.cc.NewStream(ctx, &StorageV2_ServiceDesc.Streams[0], "/shutdown.StorageV2/ReadObject", opts...) + if err != nil { + return nil, err + } + x := &storageV2ReadObjectClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type StorageV2_ReadObjectClient interface { + Recv() (*StorageV2ReadObjectResponse, error) + grpc.ClientStream +} + +type storageV2ReadObjectClient struct { + grpc.ClientStream +} + +func (x *storageV2ReadObjectClient) Recv() (*StorageV2ReadObjectResponse, error) { + m := new(StorageV2ReadObjectResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *storageV2Client) WriteObject(ctx context.Context, opts ...grpc.CallOption) (StorageV2_WriteObjectClient, error) { + stream, err := c.cc.NewStream(ctx, &StorageV2_ServiceDesc.Streams[1], "/shutdown.StorageV2/WriteObject", opts...) + if err != nil { + return nil, err + } + x := &storageV2WriteObjectClient{stream} + return x, nil +} + +type StorageV2_WriteObjectClient interface { + Send(*StorageV2WriteObjectRequest) error + CloseAndRecv() (*StorageV2WriteObjectResponse, error) + grpc.ClientStream +} + +type storageV2WriteObjectClient struct { + grpc.ClientStream +} + +func (x *storageV2WriteObjectClient) Send(m *StorageV2WriteObjectRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *storageV2WriteObjectClient) CloseAndRecv() (*StorageV2WriteObjectResponse, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(StorageV2WriteObjectResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *storageV2Client) HeadObject(ctx context.Context, in *StorageV2HeadObjectRequest, opts ...grpc.CallOption) (*StorageV2HeadObjectResponse, error) { + out := new(StorageV2HeadObjectResponse) + err := c.cc.Invoke(ctx, "/shutdown.StorageV2/HeadObject", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storageV2Client) DeleteObject(ctx context.Context, in *StorageV2DeleteObjectRequest, opts ...grpc.CallOption) (*StorageV2DeleteObjectResponse, error) { + out := new(StorageV2DeleteObjectResponse) + err := c.cc.Invoke(ctx, "/shutdown.StorageV2/DeleteObject", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storageV2Client) ListObjects(ctx context.Context, in *StorageV2ListObjectsRequest, opts ...grpc.CallOption) (StorageV2_ListObjectsClient, error) { + stream, err := c.cc.NewStream(ctx, &StorageV2_ServiceDesc.Streams[2], "/shutdown.StorageV2/ListObjects", opts...) + if err != nil { + return nil, err + } + x := &storageV2ListObjectsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type StorageV2_ListObjectsClient interface { + Recv() (*StorageV2ListObjectsResponse, error) + grpc.ClientStream +} + +type storageV2ListObjectsClient struct { + grpc.ClientStream +} + +func (x *storageV2ListObjectsClient) Recv() (*StorageV2ListObjectsResponse, error) { + m := new(StorageV2ListObjectsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// StorageV2Server is the server API for StorageV2 service. +// All implementations must embed UnimplementedStorageV2Server +// for forward compatibility +type StorageV2Server interface { + ReadObject(*StorageV2ReadObjectRequest, StorageV2_ReadObjectServer) error + WriteObject(StorageV2_WriteObjectServer) error + HeadObject(context.Context, *StorageV2HeadObjectRequest) (*StorageV2HeadObjectResponse, error) + DeleteObject(context.Context, *StorageV2DeleteObjectRequest) (*StorageV2DeleteObjectResponse, error) + ListObjects(*StorageV2ListObjectsRequest, StorageV2_ListObjectsServer) error + mustEmbedUnimplementedStorageV2Server() +} + +// UnimplementedStorageV2Server must be embedded to have forward compatible implementations. +type UnimplementedStorageV2Server struct { +} + +func (UnimplementedStorageV2Server) ReadObject(*StorageV2ReadObjectRequest, StorageV2_ReadObjectServer) error { + return status.Errorf(codes.Unimplemented, "method ReadObject not implemented") +} +func (UnimplementedStorageV2Server) WriteObject(StorageV2_WriteObjectServer) error { + return status.Errorf(codes.Unimplemented, "method WriteObject not implemented") +} +func (UnimplementedStorageV2Server) HeadObject(context.Context, *StorageV2HeadObjectRequest) (*StorageV2HeadObjectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method HeadObject not implemented") +} +func (UnimplementedStorageV2Server) DeleteObject(context.Context, *StorageV2DeleteObjectRequest) (*StorageV2DeleteObjectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteObject not implemented") +} +func (UnimplementedStorageV2Server) ListObjects(*StorageV2ListObjectsRequest, StorageV2_ListObjectsServer) error { + return status.Errorf(codes.Unimplemented, "method ListObjects not implemented") +} +func (UnimplementedStorageV2Server) mustEmbedUnimplementedStorageV2Server() {} + +// UnsafeStorageV2Server may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to StorageV2Server will +// result in compilation errors. +type UnsafeStorageV2Server interface { + mustEmbedUnimplementedStorageV2Server() +} + +func RegisterStorageV2Server(s grpc.ServiceRegistrar, srv StorageV2Server) { + s.RegisterService(&StorageV2_ServiceDesc, srv) +} + +func _StorageV2_ReadObject_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StorageV2ReadObjectRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(StorageV2Server).ReadObject(m, &storageV2ReadObjectServer{stream}) +} + +type StorageV2_ReadObjectServer interface { + Send(*StorageV2ReadObjectResponse) error + grpc.ServerStream +} + +type storageV2ReadObjectServer struct { + grpc.ServerStream +} + +func (x *storageV2ReadObjectServer) Send(m *StorageV2ReadObjectResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _StorageV2_WriteObject_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(StorageV2Server).WriteObject(&storageV2WriteObjectServer{stream}) +} + +type StorageV2_WriteObjectServer interface { + SendAndClose(*StorageV2WriteObjectResponse) error + Recv() (*StorageV2WriteObjectRequest, error) + grpc.ServerStream +} + +type storageV2WriteObjectServer struct { + grpc.ServerStream +} + +func (x *storageV2WriteObjectServer) SendAndClose(m *StorageV2WriteObjectResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *storageV2WriteObjectServer) Recv() (*StorageV2WriteObjectRequest, error) { + m := new(StorageV2WriteObjectRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _StorageV2_HeadObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StorageV2HeadObjectRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageV2Server).HeadObject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/shutdown.StorageV2/HeadObject", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageV2Server).HeadObject(ctx, req.(*StorageV2HeadObjectRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _StorageV2_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StorageV2DeleteObjectRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageV2Server).DeleteObject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/shutdown.StorageV2/DeleteObject", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageV2Server).DeleteObject(ctx, req.(*StorageV2DeleteObjectRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _StorageV2_ListObjects_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StorageV2ListObjectsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(StorageV2Server).ListObjects(m, &storageV2ListObjectsServer{stream}) +} + +type StorageV2_ListObjectsServer interface { + Send(*StorageV2ListObjectsResponse) error + grpc.ServerStream +} + +type storageV2ListObjectsServer struct { + grpc.ServerStream +} + +func (x *storageV2ListObjectsServer) Send(m *StorageV2ListObjectsResponse) error { + return x.ServerStream.SendMsg(m) +} + +// StorageV2_ServiceDesc is the grpc.ServiceDesc for StorageV2 service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var StorageV2_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "shutdown.StorageV2", + HandlerType: (*StorageV2Server)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "HeadObject", + Handler: _StorageV2_HeadObject_Handler, + }, + { + MethodName: "DeleteObject", + Handler: _StorageV2_DeleteObject_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ReadObject", + Handler: _StorageV2_ReadObject_Handler, + ServerStreams: true, + }, + { + StreamName: "WriteObject", + Handler: _StorageV2_WriteObject_Handler, + ClientStreams: true, + }, + { + StreamName: "ListObjects", + Handler: _StorageV2_ListObjects_Handler, + ServerStreams: true, + }, + }, + Metadata: "integrations/storage/v2/definition/storage.proto", +}