Initial QSfera import

This commit is contained in:
Курнат Андрей
2026-06-07 10:20:04 +03:00
commit 2315f25754
16485 changed files with 4826827 additions and 0 deletions
+203
View File
@@ -0,0 +1,203 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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.
@@ -0,0 +1,372 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/app/provider/v1beta1/provider_api.proto
package providerv1beta1
import (
v1beta12 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type OpenInAppRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The resourceInfo to be opened. The gateway grpc message has a ref instead.
ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,2,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
// REQUIRED.
// View mode.
ViewMode ViewMode `protobuf:"varint,3,opt,name=view_mode,json=viewMode,proto3,enum=cs3.app.provider.v1beta1.ViewMode" json:"view_mode,omitempty"`
// REQUIRED.
// The access token this application provider will use when contacting
// the storage provider to read and write.
// Service implementors MUST make sure that the access token only grants
// access to the requested resource.
// Service implementors should use a ResourceId rather than a filepath to grant access, as
// ResourceIds MUST NOT change when a resource is renamed.
// The access token MUST be short-lived.
// TODO(labkode): investigate token derivation techniques.
AccessToken string `protobuf:"bytes,4,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
}
func (x *OpenInAppRequest) Reset() {
*x = OpenInAppRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpenInAppRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpenInAppRequest) ProtoMessage() {}
func (x *OpenInAppRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_app_provider_v1beta1_provider_api_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 OpenInAppRequest.ProtoReflect.Descriptor instead.
func (*OpenInAppRequest) Descriptor() ([]byte, []int) {
return file_cs3_app_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{0}
}
func (x *OpenInAppRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *OpenInAppRequest) GetResourceInfo() *v1beta11.ResourceInfo {
if x != nil {
return x.ResourceInfo
}
return nil
}
func (x *OpenInAppRequest) GetViewMode() ViewMode {
if x != nil {
return x.ViewMode
}
return ViewMode_VIEW_MODE_INVALID
}
func (x *OpenInAppRequest) GetAccessToken() string {
if x != nil {
return x.AccessToken
}
return ""
}
type OpenInAppResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta12.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The url that user agents will render to clients.
// Usually the rendering happens by using HTML iframes or in separate browser tabs.
AppUrl *OpenInAppURL `protobuf:"bytes,3,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"`
// OPTIONAL.
// A reason in case the requested view_mode was overridden due to e.g. external locks.
ForcedViewModeReason string `protobuf:"bytes,4,opt,name=forced_view_mode_reason,json=forcedViewModeReason,proto3" json:"forced_view_mode_reason,omitempty"`
}
func (x *OpenInAppResponse) Reset() {
*x = OpenInAppResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpenInAppResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpenInAppResponse) ProtoMessage() {}
func (x *OpenInAppResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_app_provider_v1beta1_provider_api_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 OpenInAppResponse.ProtoReflect.Descriptor instead.
func (*OpenInAppResponse) Descriptor() ([]byte, []int) {
return file_cs3_app_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{1}
}
func (x *OpenInAppResponse) GetStatus() *v1beta12.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *OpenInAppResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *OpenInAppResponse) GetAppUrl() *OpenInAppURL {
if x != nil {
return x.AppUrl
}
return nil
}
func (x *OpenInAppResponse) GetForcedViewModeReason() string {
if x != nil {
return x.ForcedViewModeReason
}
return ""
}
var File_cs3_app_provider_v1beta1_provider_api_proto protoreflect.FileDescriptor
var file_cs3_app_provider_v1beta1_provider_api_proto_rawDesc = []byte{
0x0a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63,
0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70,
0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63,
0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a,
0x10, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61,
0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x76, 0x69,
0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x11, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x55, 0x52, 0x4c, 0x52, 0x06, 0x61, 0x70,
0x70, 0x55, 0x72, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x5f, 0x76,
0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x56, 0x69, 0x65,
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x32, 0x73, 0x0a, 0x0b, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x50, 0x49, 0x12, 0x64, 0x0a, 0x09, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x12, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70,
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0xfa, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x42, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43,
0x41, 0x50, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18,
0x43, 0x73, 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x41,
0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
0x02, 0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_app_provider_v1beta1_provider_api_proto_rawDescOnce sync.Once
file_cs3_app_provider_v1beta1_provider_api_proto_rawDescData = file_cs3_app_provider_v1beta1_provider_api_proto_rawDesc
)
func file_cs3_app_provider_v1beta1_provider_api_proto_rawDescGZIP() []byte {
file_cs3_app_provider_v1beta1_provider_api_proto_rawDescOnce.Do(func() {
file_cs3_app_provider_v1beta1_provider_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_app_provider_v1beta1_provider_api_proto_rawDescData)
})
return file_cs3_app_provider_v1beta1_provider_api_proto_rawDescData
}
var file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_app_provider_v1beta1_provider_api_proto_goTypes = []interface{}{
(*OpenInAppRequest)(nil), // 0: cs3.app.provider.v1beta1.OpenInAppRequest
(*OpenInAppResponse)(nil), // 1: cs3.app.provider.v1beta1.OpenInAppResponse
(*v1beta1.Opaque)(nil), // 2: cs3.types.v1beta1.Opaque
(*v1beta11.ResourceInfo)(nil), // 3: cs3.storage.provider.v1beta1.ResourceInfo
(ViewMode)(0), // 4: cs3.app.provider.v1beta1.ViewMode
(*v1beta12.Status)(nil), // 5: cs3.rpc.v1beta1.Status
(*OpenInAppURL)(nil), // 6: cs3.app.provider.v1beta1.OpenInAppURL
}
var file_cs3_app_provider_v1beta1_provider_api_proto_depIdxs = []int32{
2, // 0: cs3.app.provider.v1beta1.OpenInAppRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
3, // 1: cs3.app.provider.v1beta1.OpenInAppRequest.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo
4, // 2: cs3.app.provider.v1beta1.OpenInAppRequest.view_mode:type_name -> cs3.app.provider.v1beta1.ViewMode
5, // 3: cs3.app.provider.v1beta1.OpenInAppResponse.status:type_name -> cs3.rpc.v1beta1.Status
2, // 4: cs3.app.provider.v1beta1.OpenInAppResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 5: cs3.app.provider.v1beta1.OpenInAppResponse.app_url:type_name -> cs3.app.provider.v1beta1.OpenInAppURL
0, // 6: cs3.app.provider.v1beta1.ProviderAPI.OpenInApp:input_type -> cs3.app.provider.v1beta1.OpenInAppRequest
1, // 7: cs3.app.provider.v1beta1.ProviderAPI.OpenInApp:output_type -> cs3.app.provider.v1beta1.OpenInAppResponse
7, // [7:8] is the sub-list for method output_type
6, // [6:7] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_cs3_app_provider_v1beta1_provider_api_proto_init() }
func file_cs3_app_provider_v1beta1_provider_api_proto_init() {
if File_cs3_app_provider_v1beta1_provider_api_proto != nil {
return
}
file_cs3_app_provider_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpenInAppRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpenInAppResponse); 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_cs3_app_provider_v1beta1_provider_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_app_provider_v1beta1_provider_api_proto_goTypes,
DependencyIndexes: file_cs3_app_provider_v1beta1_provider_api_proto_depIdxs,
MessageInfos: file_cs3_app_provider_v1beta1_provider_api_proto_msgTypes,
}.Build()
File_cs3_app_provider_v1beta1_provider_api_proto = out.File
file_cs3_app_provider_v1beta1_provider_api_proto_rawDesc = nil
file_cs3_app_provider_v1beta1_provider_api_proto_goTypes = nil
file_cs3_app_provider_v1beta1_provider_api_proto_depIdxs = nil
}
@@ -0,0 +1,129 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/app/provider/v1beta1/provider_api.proto
package providerv1beta1
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
const (
ProviderAPI_OpenInApp_FullMethodName = "/cs3.app.provider.v1beta1.ProviderAPI/OpenInApp"
)
// ProviderAPIClient is the client API for ProviderAPI 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 ProviderAPIClient interface {
// Returns the App URL and all necessary info to open a resource in an online editor.
// MUST return CODE_NOT_FOUND if the resource does not exist.
OpenInApp(ctx context.Context, in *OpenInAppRequest, opts ...grpc.CallOption) (*OpenInAppResponse, error)
}
type providerAPIClient struct {
cc grpc.ClientConnInterface
}
func NewProviderAPIClient(cc grpc.ClientConnInterface) ProviderAPIClient {
return &providerAPIClient{cc}
}
func (c *providerAPIClient) OpenInApp(ctx context.Context, in *OpenInAppRequest, opts ...grpc.CallOption) (*OpenInAppResponse, error) {
out := new(OpenInAppResponse)
err := c.cc.Invoke(ctx, ProviderAPI_OpenInApp_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProviderAPIServer is the server API for ProviderAPI service.
// All implementations should embed UnimplementedProviderAPIServer
// for forward compatibility
type ProviderAPIServer interface {
// Returns the App URL and all necessary info to open a resource in an online editor.
// MUST return CODE_NOT_FOUND if the resource does not exist.
OpenInApp(context.Context, *OpenInAppRequest) (*OpenInAppResponse, error)
}
// UnimplementedProviderAPIServer should be embedded to have forward compatible implementations.
type UnimplementedProviderAPIServer struct {
}
func (UnimplementedProviderAPIServer) OpenInApp(context.Context, *OpenInAppRequest) (*OpenInAppResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method OpenInApp not implemented")
}
// UnsafeProviderAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ProviderAPIServer will
// result in compilation errors.
type UnsafeProviderAPIServer interface {
mustEmbedUnimplementedProviderAPIServer()
}
func RegisterProviderAPIServer(s grpc.ServiceRegistrar, srv ProviderAPIServer) {
s.RegisterService(&ProviderAPI_ServiceDesc, srv)
}
func _ProviderAPI_OpenInApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OpenInAppRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProviderAPIServer).OpenInApp(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ProviderAPI_OpenInApp_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProviderAPIServer).OpenInApp(ctx, req.(*OpenInAppRequest))
}
return interceptor(ctx, in, info, handler)
}
// ProviderAPI_ServiceDesc is the grpc.ServiceDesc for ProviderAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ProviderAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.app.provider.v1beta1.ProviderAPI",
HandlerType: (*ProviderAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "OpenInApp",
Handler: _ProviderAPI_OpenInApp_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/app/provider/v1beta1/provider_api.proto",
}
@@ -0,0 +1,390 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/app/provider/v1beta1/resources.proto
package providerv1beta1
import (
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)
)
// Defines the view modes.
type ViewMode int32
const (
ViewMode_VIEW_MODE_INVALID ViewMode = 0
// The resource can be opened but not downloaded.
ViewMode_VIEW_MODE_VIEW_ONLY ViewMode = 1
// The resource can be downloaded.
ViewMode_VIEW_MODE_READ_ONLY ViewMode = 2
// The resource can be downloaded and updated. The underlying application
// MUST be a fully capable editor to support this mode.
ViewMode_VIEW_MODE_READ_WRITE ViewMode = 3
// The resource can be downloaded and updated, but must be shown in
// preview mode. If the underlying application does not support a preview mode,
// or if in a view-only mode users are not allowed to switch to edit mode,
// then this mode MUST fall back to READ_WRITE.
ViewMode_VIEW_MODE_PREVIEW ViewMode = 4
// The resource can be viewed in embedded mode. Editing is disabled.
ViewMode_VIEW_MODE_EMBEDDED ViewMode = 5
)
// Enum value maps for ViewMode.
var (
ViewMode_name = map[int32]string{
0: "VIEW_MODE_INVALID",
1: "VIEW_MODE_VIEW_ONLY",
2: "VIEW_MODE_READ_ONLY",
3: "VIEW_MODE_READ_WRITE",
4: "VIEW_MODE_PREVIEW",
5: "VIEW_MODE_EMBEDDED",
}
ViewMode_value = map[string]int32{
"VIEW_MODE_INVALID": 0,
"VIEW_MODE_VIEW_ONLY": 1,
"VIEW_MODE_READ_ONLY": 2,
"VIEW_MODE_READ_WRITE": 3,
"VIEW_MODE_PREVIEW": 4,
"VIEW_MODE_EMBEDDED": 5,
}
)
func (x ViewMode) Enum() *ViewMode {
p := new(ViewMode)
*p = x
return p
}
func (x ViewMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ViewMode) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_app_provider_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (ViewMode) Type() protoreflect.EnumType {
return &file_cs3_app_provider_v1beta1_resources_proto_enumTypes[0]
}
func (x ViewMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ViewMode.Descriptor instead.
func (ViewMode) EnumDescriptor() ([]byte, []int) {
return file_cs3_app_provider_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
// Defines the valid targets for an app URL.
type Target int32
const (
Target_TARGET_INVALID Target = 0
// The app URL is to be opened within an iframe
Target_TARGET_IFRAME Target = 1
// The app URL is to be opened on a new blank page
Target_TARGET_BLANK Target = 2
)
// Enum value maps for Target.
var (
Target_name = map[int32]string{
0: "TARGET_INVALID",
1: "TARGET_IFRAME",
2: "TARGET_BLANK",
}
Target_value = map[string]int32{
"TARGET_INVALID": 0,
"TARGET_IFRAME": 1,
"TARGET_BLANK": 2,
}
)
func (x Target) Enum() *Target {
p := new(Target)
*p = x
return p
}
func (x Target) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Target) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_app_provider_v1beta1_resources_proto_enumTypes[1].Descriptor()
}
func (Target) Type() protoreflect.EnumType {
return &file_cs3_app_provider_v1beta1_resources_proto_enumTypes[1]
}
func (x Target) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Target.Descriptor instead.
func (Target) EnumDescriptor() ([]byte, []int) {
return file_cs3_app_provider_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
// Represents the information for the app URL to be called by the clients.
type OpenInAppURL struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The URL that clients will perform requests to.
AppUrl string `protobuf:"bytes,1,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"`
// REQUIRED.
// The method for the request to be made.
// Only GET and POST are supported.
Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
// OPTIONAL.
// The form parameters which have to be passed along with the request.
// These are sent only if the method is 'POST'.
FormParameters map[string]string `protobuf:"bytes,3,rep,name=form_parameters,json=formParameters,proto3" json:"form_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// OPTIONAL.
// The headers to be added to the request.
Headers map[string]string `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// REQUIRED.
// Whether the target for the app URL is an iframe or a new page.
Target Target `protobuf:"varint,5,opt,name=target,proto3,enum=cs3.app.provider.v1beta1.Target" json:"target,omitempty"`
}
func (x *OpenInAppURL) Reset() {
*x = OpenInAppURL{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_app_provider_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpenInAppURL) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpenInAppURL) ProtoMessage() {}
func (x *OpenInAppURL) ProtoReflect() protoreflect.Message {
mi := &file_cs3_app_provider_v1beta1_resources_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 OpenInAppURL.ProtoReflect.Descriptor instead.
func (*OpenInAppURL) Descriptor() ([]byte, []int) {
return file_cs3_app_provider_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *OpenInAppURL) GetAppUrl() string {
if x != nil {
return x.AppUrl
}
return ""
}
func (x *OpenInAppURL) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *OpenInAppURL) GetFormParameters() map[string]string {
if x != nil {
return x.FormParameters
}
return nil
}
func (x *OpenInAppURL) GetHeaders() map[string]string {
if x != nil {
return x.Headers
}
return nil
}
func (x *OpenInAppURL) GetTarget() Target {
if x != nil {
return x.Target
}
return Target_TARGET_INVALID
}
var File_cs3_app_provider_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_app_provider_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e,
0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x22, 0xac, 0x03, 0x0a, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41,
0x70, 0x70, 0x55, 0x52, 0x4c, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x16,
0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x6e, 0x41, 0x70, 0x70, 0x55, 0x52, 0x4c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x66, 0x6f, 0x72,
0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x68,
0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70,
0x70, 0x55, 0x52, 0x4c, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x1a, 0x41, 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a,
0x02, 0x38, 0x01, 0x2a, 0x9c, 0x01, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65,
0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e,
0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f,
0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01,
0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x49, 0x45,
0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54,
0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49,
0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x45, 0x44,
0x10, 0x05, 0x2a, 0x41, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x0e,
0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00,
0x12, 0x11, 0x0a, 0x0d, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x46, 0x52, 0x41, 0x4d,
0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c,
0x41, 0x4e, 0x4b, 0x10, 0x02, 0x42, 0xf8, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63,
0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2,
0x02, 0x03, 0x43, 0x41, 0x50, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x2e,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73,
0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_app_provider_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_app_provider_v1beta1_resources_proto_rawDescData = file_cs3_app_provider_v1beta1_resources_proto_rawDesc
)
func file_cs3_app_provider_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_app_provider_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_app_provider_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_app_provider_v1beta1_resources_proto_rawDescData)
})
return file_cs3_app_provider_v1beta1_resources_proto_rawDescData
}
var file_cs3_app_provider_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_cs3_app_provider_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_cs3_app_provider_v1beta1_resources_proto_goTypes = []interface{}{
(ViewMode)(0), // 0: cs3.app.provider.v1beta1.ViewMode
(Target)(0), // 1: cs3.app.provider.v1beta1.Target
(*OpenInAppURL)(nil), // 2: cs3.app.provider.v1beta1.OpenInAppURL
nil, // 3: cs3.app.provider.v1beta1.OpenInAppURL.FormParametersEntry
nil, // 4: cs3.app.provider.v1beta1.OpenInAppURL.HeadersEntry
}
var file_cs3_app_provider_v1beta1_resources_proto_depIdxs = []int32{
3, // 0: cs3.app.provider.v1beta1.OpenInAppURL.form_parameters:type_name -> cs3.app.provider.v1beta1.OpenInAppURL.FormParametersEntry
4, // 1: cs3.app.provider.v1beta1.OpenInAppURL.headers:type_name -> cs3.app.provider.v1beta1.OpenInAppURL.HeadersEntry
1, // 2: cs3.app.provider.v1beta1.OpenInAppURL.target:type_name -> cs3.app.provider.v1beta1.Target
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_cs3_app_provider_v1beta1_resources_proto_init() }
func file_cs3_app_provider_v1beta1_resources_proto_init() {
if File_cs3_app_provider_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_app_provider_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpenInAppURL); 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_cs3_app_provider_v1beta1_resources_proto_rawDesc,
NumEnums: 2,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_app_provider_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_app_provider_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_app_provider_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_app_provider_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_app_provider_v1beta1_resources_proto = out.File
file_cs3_app_provider_v1beta1_resources_proto_rawDesc = nil
file_cs3_app_provider_v1beta1_resources_proto_goTypes = nil
file_cs3_app_provider_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,324 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/app/registry/v1beta1/registry_api.proto
package registryv1beta1
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
const (
RegistryAPI_GetAppProviders_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/GetAppProviders"
RegistryAPI_AddAppProvider_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/AddAppProvider"
RegistryAPI_ListAppProviders_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/ListAppProviders"
RegistryAPI_ListSupportedMimeTypes_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/ListSupportedMimeTypes"
RegistryAPI_GetDefaultAppProviderForMimeType_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/GetDefaultAppProviderForMimeType"
RegistryAPI_SetDefaultAppProviderForMimeType_FullMethodName = "/cs3.app.registry.v1beta1.RegistryAPI/SetDefaultAppProviderForMimeType"
)
// RegistryAPIClient is the client API for RegistryAPI 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 RegistryAPIClient interface {
// Returns the app providers that are capable of handling this resource info.
// MUST return CODE_NOT_FOUND if no providers are available.
GetAppProviders(ctx context.Context, in *GetAppProvidersRequest, opts ...grpc.CallOption) (*GetAppProvidersResponse, error)
// Registers a new app provider to the registry.
AddAppProvider(ctx context.Context, in *AddAppProviderRequest, opts ...grpc.CallOption) (*AddAppProviderResponse, error)
// Returns a list of the available app providers known by this registry.
ListAppProviders(ctx context.Context, in *ListAppProvidersRequest, opts ...grpc.CallOption) (*ListAppProvidersResponse, error)
// Returns a list of the supported mime types along with the apps which they can be opened with.
ListSupportedMimeTypes(ctx context.Context, in *ListSupportedMimeTypesRequest, opts ...grpc.CallOption) (*ListSupportedMimeTypesResponse, error)
// Returns the default app provider which serves a specified mime type.
GetDefaultAppProviderForMimeType(ctx context.Context, in *GetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*GetDefaultAppProviderForMimeTypeResponse, error)
// Sets the default app provider for a specified mime type.
SetDefaultAppProviderForMimeType(ctx context.Context, in *SetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*SetDefaultAppProviderForMimeTypeResponse, error)
}
type registryAPIClient struct {
cc grpc.ClientConnInterface
}
func NewRegistryAPIClient(cc grpc.ClientConnInterface) RegistryAPIClient {
return &registryAPIClient{cc}
}
func (c *registryAPIClient) GetAppProviders(ctx context.Context, in *GetAppProvidersRequest, opts ...grpc.CallOption) (*GetAppProvidersResponse, error) {
out := new(GetAppProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_GetAppProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) AddAppProvider(ctx context.Context, in *AddAppProviderRequest, opts ...grpc.CallOption) (*AddAppProviderResponse, error) {
out := new(AddAppProviderResponse)
err := c.cc.Invoke(ctx, RegistryAPI_AddAppProvider_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) ListAppProviders(ctx context.Context, in *ListAppProvidersRequest, opts ...grpc.CallOption) (*ListAppProvidersResponse, error) {
out := new(ListAppProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_ListAppProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) ListSupportedMimeTypes(ctx context.Context, in *ListSupportedMimeTypesRequest, opts ...grpc.CallOption) (*ListSupportedMimeTypesResponse, error) {
out := new(ListSupportedMimeTypesResponse)
err := c.cc.Invoke(ctx, RegistryAPI_ListSupportedMimeTypes_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) GetDefaultAppProviderForMimeType(ctx context.Context, in *GetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*GetDefaultAppProviderForMimeTypeResponse, error) {
out := new(GetDefaultAppProviderForMimeTypeResponse)
err := c.cc.Invoke(ctx, RegistryAPI_GetDefaultAppProviderForMimeType_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) SetDefaultAppProviderForMimeType(ctx context.Context, in *SetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*SetDefaultAppProviderForMimeTypeResponse, error) {
out := new(SetDefaultAppProviderForMimeTypeResponse)
err := c.cc.Invoke(ctx, RegistryAPI_SetDefaultAppProviderForMimeType_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RegistryAPIServer is the server API for RegistryAPI service.
// All implementations should embed UnimplementedRegistryAPIServer
// for forward compatibility
type RegistryAPIServer interface {
// Returns the app providers that are capable of handling this resource info.
// MUST return CODE_NOT_FOUND if no providers are available.
GetAppProviders(context.Context, *GetAppProvidersRequest) (*GetAppProvidersResponse, error)
// Registers a new app provider to the registry.
AddAppProvider(context.Context, *AddAppProviderRequest) (*AddAppProviderResponse, error)
// Returns a list of the available app providers known by this registry.
ListAppProviders(context.Context, *ListAppProvidersRequest) (*ListAppProvidersResponse, error)
// Returns a list of the supported mime types along with the apps which they can be opened with.
ListSupportedMimeTypes(context.Context, *ListSupportedMimeTypesRequest) (*ListSupportedMimeTypesResponse, error)
// Returns the default app provider which serves a specified mime type.
GetDefaultAppProviderForMimeType(context.Context, *GetDefaultAppProviderForMimeTypeRequest) (*GetDefaultAppProviderForMimeTypeResponse, error)
// Sets the default app provider for a specified mime type.
SetDefaultAppProviderForMimeType(context.Context, *SetDefaultAppProviderForMimeTypeRequest) (*SetDefaultAppProviderForMimeTypeResponse, error)
}
// UnimplementedRegistryAPIServer should be embedded to have forward compatible implementations.
type UnimplementedRegistryAPIServer struct {
}
func (UnimplementedRegistryAPIServer) GetAppProviders(context.Context, *GetAppProvidersRequest) (*GetAppProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAppProviders not implemented")
}
func (UnimplementedRegistryAPIServer) AddAppProvider(context.Context, *AddAppProviderRequest) (*AddAppProviderResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddAppProvider not implemented")
}
func (UnimplementedRegistryAPIServer) ListAppProviders(context.Context, *ListAppProvidersRequest) (*ListAppProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAppProviders not implemented")
}
func (UnimplementedRegistryAPIServer) ListSupportedMimeTypes(context.Context, *ListSupportedMimeTypesRequest) (*ListSupportedMimeTypesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListSupportedMimeTypes not implemented")
}
func (UnimplementedRegistryAPIServer) GetDefaultAppProviderForMimeType(context.Context, *GetDefaultAppProviderForMimeTypeRequest) (*GetDefaultAppProviderForMimeTypeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetDefaultAppProviderForMimeType not implemented")
}
func (UnimplementedRegistryAPIServer) SetDefaultAppProviderForMimeType(context.Context, *SetDefaultAppProviderForMimeTypeRequest) (*SetDefaultAppProviderForMimeTypeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetDefaultAppProviderForMimeType not implemented")
}
// UnsafeRegistryAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to RegistryAPIServer will
// result in compilation errors.
type UnsafeRegistryAPIServer interface {
mustEmbedUnimplementedRegistryAPIServer()
}
func RegisterRegistryAPIServer(s grpc.ServiceRegistrar, srv RegistryAPIServer) {
s.RegisterService(&RegistryAPI_ServiceDesc, srv)
}
func _RegistryAPI_GetAppProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAppProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).GetAppProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_GetAppProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).GetAppProviders(ctx, req.(*GetAppProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_AddAppProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddAppProviderRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).AddAppProvider(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_AddAppProvider_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).AddAppProvider(ctx, req.(*AddAppProviderRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_ListAppProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAppProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).ListAppProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_ListAppProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).ListAppProviders(ctx, req.(*ListAppProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_ListSupportedMimeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListSupportedMimeTypesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).ListSupportedMimeTypes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_ListSupportedMimeTypes_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).ListSupportedMimeTypes(ctx, req.(*ListSupportedMimeTypesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_GetDefaultAppProviderForMimeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDefaultAppProviderForMimeTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).GetDefaultAppProviderForMimeType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_GetDefaultAppProviderForMimeType_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).GetDefaultAppProviderForMimeType(ctx, req.(*GetDefaultAppProviderForMimeTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_SetDefaultAppProviderForMimeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SetDefaultAppProviderForMimeTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).SetDefaultAppProviderForMimeType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_SetDefaultAppProviderForMimeType_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).SetDefaultAppProviderForMimeType(ctx, req.(*SetDefaultAppProviderForMimeTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
// RegistryAPI_ServiceDesc is the grpc.ServiceDesc for RegistryAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RegistryAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.app.registry.v1beta1.RegistryAPI",
HandlerType: (*RegistryAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetAppProviders",
Handler: _RegistryAPI_GetAppProviders_Handler,
},
{
MethodName: "AddAppProvider",
Handler: _RegistryAPI_AddAppProvider_Handler,
},
{
MethodName: "ListAppProviders",
Handler: _RegistryAPI_ListAppProviders_Handler,
},
{
MethodName: "ListSupportedMimeTypes",
Handler: _RegistryAPI_ListSupportedMimeTypes_Handler,
},
{
MethodName: "GetDefaultAppProviderForMimeType",
Handler: _RegistryAPI_GetDefaultAppProviderForMimeType_Handler,
},
{
MethodName: "SetDefaultAppProviderForMimeType",
Handler: _RegistryAPI_SetDefaultAppProviderForMimeType_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/app/registry/v1beta1/registry_api.proto",
}
@@ -0,0 +1,532 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/app/registry/v1beta1/resources.proto
package registryv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// REQUIRED.
// The capability of the underlying app.
type ProviderInfo_Capability int32
const (
ProviderInfo_CAPABILITY_INVALID ProviderInfo_Capability = 0
// The app is a simple viewer.
ProviderInfo_CAPABILITY_VIEWER ProviderInfo_Capability = 1
// The app is a full editor.
ProviderInfo_CAPABILITY_EDITOR ProviderInfo_Capability = 2
)
// Enum value maps for ProviderInfo_Capability.
var (
ProviderInfo_Capability_name = map[int32]string{
0: "CAPABILITY_INVALID",
1: "CAPABILITY_VIEWER",
2: "CAPABILITY_EDITOR",
}
ProviderInfo_Capability_value = map[string]int32{
"CAPABILITY_INVALID": 0,
"CAPABILITY_VIEWER": 1,
"CAPABILITY_EDITOR": 2,
}
)
func (x ProviderInfo_Capability) Enum() *ProviderInfo_Capability {
p := new(ProviderInfo_Capability)
*p = x
return p
}
func (x ProviderInfo_Capability) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProviderInfo_Capability) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_app_registry_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (ProviderInfo_Capability) Type() protoreflect.EnumType {
return &file_cs3_app_registry_v1beta1_resources_proto_enumTypes[0]
}
func (x ProviderInfo_Capability) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProviderInfo_Capability.Descriptor instead.
func (ProviderInfo_Capability) EnumDescriptor() ([]byte, []int) {
return file_cs3_app_registry_v1beta1_resources_proto_rawDescGZIP(), []int{0, 0}
}
// Represents the information of the app provider.
type ProviderInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The mimetypes handled by this provider.
MimeTypes []string `protobuf:"bytes,2,rep,name=mime_types,json=mimeTypes,proto3" json:"mime_types,omitempty"`
// REQUIRED.
// The address where the app provider can be reached.
// For example, localhost:1099.
Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
Capability ProviderInfo_Capability `protobuf:"varint,4,opt,name=capability,proto3,enum=cs3.app.registry.v1beta1.ProviderInfo_Capability" json:"capability,omitempty"`
// OPTIONAL.
// A human-readable name of the underlying app.
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
// OPTIONAL.
// Information to describe the functionalities
// offered by the underlying app. Meant to be read
// by humans.
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL.
// A URI to a static asset which represents the app icon.
Icon string `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
// OPTIONAL.
// Whether the app can be opened only on desktop
DesktopOnly bool `protobuf:"varint,8,opt,name=desktop_only,json=desktopOnly,proto3" json:"desktop_only,omitempty"`
// OPTIONAL.
// The action to be displayed to the user on the context menu.
// By default this is "Open with".
Action string `protobuf:"bytes,9,opt,name=action,proto3" json:"action,omitempty"`
// REQUIRED.
// The product name of the underlying app, to be used to handle
// product-specific differences.
// For example: Collabora, OnlyOffice, Microsoft365 or MicrosoftOfficeOnline
ProductName string `protobuf:"bytes,10,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
}
func (x *ProviderInfo) Reset() {
*x = ProviderInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_app_registry_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProviderInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderInfo) ProtoMessage() {}
func (x *ProviderInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_app_registry_v1beta1_resources_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 ProviderInfo.ProtoReflect.Descriptor instead.
func (*ProviderInfo) Descriptor() ([]byte, []int) {
return file_cs3_app_registry_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *ProviderInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ProviderInfo) GetMimeTypes() []string {
if x != nil {
return x.MimeTypes
}
return nil
}
func (x *ProviderInfo) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *ProviderInfo) GetCapability() ProviderInfo_Capability {
if x != nil {
return x.Capability
}
return ProviderInfo_CAPABILITY_INVALID
}
func (x *ProviderInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProviderInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *ProviderInfo) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
func (x *ProviderInfo) GetDesktopOnly() bool {
if x != nil {
return x.DesktopOnly
}
return false
}
func (x *ProviderInfo) GetAction() string {
if x != nil {
return x.Action
}
return ""
}
func (x *ProviderInfo) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
// Represents a mime type and its corresponding file extension.
type MimeTypeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The mime type.
MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
// REQUIRED.
// The file extension mapped to this mime type.
Ext string `protobuf:"bytes,3,opt,name=ext,proto3" json:"ext,omitempty"`
// REQUIRED.
// The list of app providers which can open this mime type
AppProviders []*ProviderInfo `protobuf:"bytes,4,rep,name=app_providers,json=appProviders,proto3" json:"app_providers,omitempty"`
// OPTIONAL.
// The friendly name of this mime type.
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
// OPTIONAL.
// Human-readable information to describe the mime type.
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL.
// A URI to a static asset which represents the mime type icon.
Icon string `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
// OPTIONAL.
// Whether the mime type is eligible for file creation in the web UI.
// Defaults to false, i.e. files with this mime type can be opened
// but not directly created from the web UI.
AllowCreation bool `protobuf:"varint,8,opt,name=allow_creation,json=allowCreation,proto3" json:"allow_creation,omitempty"`
// OPTIONAL.
// name of the default application to open this mime type
DefaultApplication string `protobuf:"bytes,9,opt,name=default_application,json=defaultApplication,proto3" json:"default_application,omitempty"`
}
func (x *MimeTypeInfo) Reset() {
*x = MimeTypeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_app_registry_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MimeTypeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MimeTypeInfo) ProtoMessage() {}
func (x *MimeTypeInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_app_registry_v1beta1_resources_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 MimeTypeInfo.ProtoReflect.Descriptor instead.
func (*MimeTypeInfo) Descriptor() ([]byte, []int) {
return file_cs3_app_registry_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *MimeTypeInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *MimeTypeInfo) GetMimeType() string {
if x != nil {
return x.MimeType
}
return ""
}
func (x *MimeTypeInfo) GetExt() string {
if x != nil {
return x.Ext
}
return ""
}
func (x *MimeTypeInfo) GetAppProviders() []*ProviderInfo {
if x != nil {
return x.AppProviders
}
return nil
}
func (x *MimeTypeInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MimeTypeInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *MimeTypeInfo) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
func (x *MimeTypeInfo) GetAllowCreation() bool {
if x != nil {
return x.AllowCreation
}
return false
}
func (x *MimeTypeInfo) GetDefaultApplication() string {
if x != nil {
return x.DefaultApplication
}
return ""
}
var File_cs3_app_registry_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_app_registry_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e,
0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x03, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6d, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x69, 0x6d,
0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x51, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x70,
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f,
0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x21, 0x0a,
0x0c, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x4f, 0x6e, 0x6c, 0x79,
0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x0a, 0x43,
0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x41, 0x50,
0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10,
0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f,
0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x50, 0x41,
0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x22,
0xdf, 0x02, 0x0a, 0x0c, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65,
0x78, 0x74, 0x12, 0x4b, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c,
0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x42, 0xf8, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70,
0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41,
0x52, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43,
0x73, 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x70,
0x70, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_app_registry_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_app_registry_v1beta1_resources_proto_rawDescData = file_cs3_app_registry_v1beta1_resources_proto_rawDesc
)
func file_cs3_app_registry_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_app_registry_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_app_registry_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_app_registry_v1beta1_resources_proto_rawDescData)
})
return file_cs3_app_registry_v1beta1_resources_proto_rawDescData
}
var file_cs3_app_registry_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cs3_app_registry_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_app_registry_v1beta1_resources_proto_goTypes = []interface{}{
(ProviderInfo_Capability)(0), // 0: cs3.app.registry.v1beta1.ProviderInfo.Capability
(*ProviderInfo)(nil), // 1: cs3.app.registry.v1beta1.ProviderInfo
(*MimeTypeInfo)(nil), // 2: cs3.app.registry.v1beta1.MimeTypeInfo
(*v1beta1.Opaque)(nil), // 3: cs3.types.v1beta1.Opaque
}
var file_cs3_app_registry_v1beta1_resources_proto_depIdxs = []int32{
3, // 0: cs3.app.registry.v1beta1.ProviderInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
0, // 1: cs3.app.registry.v1beta1.ProviderInfo.capability:type_name -> cs3.app.registry.v1beta1.ProviderInfo.Capability
3, // 2: cs3.app.registry.v1beta1.MimeTypeInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
1, // 3: cs3.app.registry.v1beta1.MimeTypeInfo.app_providers:type_name -> cs3.app.registry.v1beta1.ProviderInfo
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_cs3_app_registry_v1beta1_resources_proto_init() }
func file_cs3_app_registry_v1beta1_resources_proto_init() {
if File_cs3_app_registry_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_app_registry_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProviderInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_app_registry_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MimeTypeInfo); 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_cs3_app_registry_v1beta1_resources_proto_rawDesc,
NumEnums: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_app_registry_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_app_registry_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_app_registry_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_app_registry_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_app_registry_v1beta1_resources_proto = out.File
file_cs3_app_registry_v1beta1_resources_proto_rawDesc = nil
file_cs3_app_registry_v1beta1_resources_proto_goTypes = nil
file_cs3_app_registry_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,925 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/applications/v1beta1/applications_api.proto
package applicationsv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/auth/provider/v1beta1"
v1beta13 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type GenerateAppPasswordRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// OPTIONAL.
// The scope of the token to be issued.
// This would be a list of resources with corresponding role-based access scope.
TokenScope map[string]*v1beta11.Scope `protobuf:"bytes,2,rep,name=token_scope,json=tokenScope,proto3" json:"token_scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// OPTIONAL.
// A label to be associated with the password.
Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
// OPTIONAL.
// The time when the token will expire.
Expiration *v1beta1.Timestamp `protobuf:"bytes,4,opt,name=expiration,proto3" json:"expiration,omitempty"`
}
func (x *GenerateAppPasswordRequest) Reset() {
*x = GenerateAppPasswordRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateAppPasswordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateAppPasswordRequest) ProtoMessage() {}
func (x *GenerateAppPasswordRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 GenerateAppPasswordRequest.ProtoReflect.Descriptor instead.
func (*GenerateAppPasswordRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{0}
}
func (x *GenerateAppPasswordRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GenerateAppPasswordRequest) GetTokenScope() map[string]*v1beta11.Scope {
if x != nil {
return x.TokenScope
}
return nil
}
func (x *GenerateAppPasswordRequest) GetLabel() string {
if x != nil {
return x.Label
}
return ""
}
func (x *GenerateAppPasswordRequest) GetExpiration() *v1beta1.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
type GenerateAppPasswordResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta12.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The generated access password.
AppPassword *AppPassword `protobuf:"bytes,3,opt,name=app_password,json=appPassword,proto3" json:"app_password,omitempty"`
}
func (x *GenerateAppPasswordResponse) Reset() {
*x = GenerateAppPasswordResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateAppPasswordResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateAppPasswordResponse) ProtoMessage() {}
func (x *GenerateAppPasswordResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 GenerateAppPasswordResponse.ProtoReflect.Descriptor instead.
func (*GenerateAppPasswordResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{1}
}
func (x *GenerateAppPasswordResponse) GetStatus() *v1beta12.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GenerateAppPasswordResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GenerateAppPasswordResponse) GetAppPassword() *AppPassword {
if x != nil {
return x.AppPassword
}
return nil
}
type ListAppPasswordsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *ListAppPasswordsRequest) Reset() {
*x = ListAppPasswordsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAppPasswordsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAppPasswordsRequest) ProtoMessage() {}
func (x *ListAppPasswordsRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 ListAppPasswordsRequest.ProtoReflect.Descriptor instead.
func (*ListAppPasswordsRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{2}
}
func (x *ListAppPasswordsRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type ListAppPasswordsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta12.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The generated access password.
AppPasswords []*AppPassword `protobuf:"bytes,3,rep,name=app_passwords,json=appPasswords,proto3" json:"app_passwords,omitempty"`
}
func (x *ListAppPasswordsResponse) Reset() {
*x = ListAppPasswordsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAppPasswordsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAppPasswordsResponse) ProtoMessage() {}
func (x *ListAppPasswordsResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 ListAppPasswordsResponse.ProtoReflect.Descriptor instead.
func (*ListAppPasswordsResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{3}
}
func (x *ListAppPasswordsResponse) GetStatus() *v1beta12.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *ListAppPasswordsResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ListAppPasswordsResponse) GetAppPasswords() []*AppPassword {
if x != nil {
return x.AppPasswords
}
return nil
}
type InvalidateAppPasswordRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The password which has to be invalidated.
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
}
func (x *InvalidateAppPasswordRequest) Reset() {
*x = InvalidateAppPasswordRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvalidateAppPasswordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvalidateAppPasswordRequest) ProtoMessage() {}
func (x *InvalidateAppPasswordRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 InvalidateAppPasswordRequest.ProtoReflect.Descriptor instead.
func (*InvalidateAppPasswordRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{4}
}
func (x *InvalidateAppPasswordRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *InvalidateAppPasswordRequest) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
type InvalidateAppPasswordResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta12.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *InvalidateAppPasswordResponse) Reset() {
*x = InvalidateAppPasswordResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvalidateAppPasswordResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvalidateAppPasswordResponse) ProtoMessage() {}
func (x *InvalidateAppPasswordResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 InvalidateAppPasswordResponse.ProtoReflect.Descriptor instead.
func (*InvalidateAppPasswordResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{5}
}
func (x *InvalidateAppPasswordResponse) GetStatus() *v1beta12.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *InvalidateAppPasswordResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type GetAppPasswordRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The user who created the app password.
User *v1beta13.UserId `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
// REQUIRED.
// The password which has to be retrieved.
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
}
func (x *GetAppPasswordRequest) Reset() {
*x = GetAppPasswordRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAppPasswordRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAppPasswordRequest) ProtoMessage() {}
func (x *GetAppPasswordRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 GetAppPasswordRequest.ProtoReflect.Descriptor instead.
func (*GetAppPasswordRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{6}
}
func (x *GetAppPasswordRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetAppPasswordRequest) GetUser() *v1beta13.UserId {
if x != nil {
return x.User
}
return nil
}
func (x *GetAppPasswordRequest) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
type GetAppPasswordResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta12.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The generated access password.
AppPassword *AppPassword `protobuf:"bytes,3,opt,name=app_password,json=appPassword,proto3" json:"app_password,omitempty"`
}
func (x *GetAppPasswordResponse) Reset() {
*x = GetAppPasswordResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAppPasswordResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAppPasswordResponse) ProtoMessage() {}
func (x *GetAppPasswordResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_applications_api_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 GetAppPasswordResponse.ProtoReflect.Descriptor instead.
func (*GetAppPasswordResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP(), []int{7}
}
func (x *GetAppPasswordResponse) GetStatus() *v1beta12.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetAppPasswordResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetAppPasswordResponse) GetAppPassword() *AppPassword {
if x != nil {
return x.AppPassword
}
return nil
}
var File_cs3_auth_applications_v1beta1_applications_api_proto protoreflect.FileDescriptor
var file_cs3_auth_applications_v1beta1_applications_api_proto_rawDesc = []byte{
0x0a, 0x34, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x70, 0x69,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68,
0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f,
0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x6a, 0x0a, 0x0b, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53,
0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x0a, 0x65,
0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65,
0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5f, 0x0a, 0x0f, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x1b, 0x47,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x4d,
0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x52, 0x0b, 0x61, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x4c, 0x0a,
0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x18,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72,
0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x0d,
0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52,
0x0c, 0x61, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x6d, 0x0a,
0x1c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x83, 0x01, 0x0a,
0x1d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x35, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65,
0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31,
0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x32, 0xba, 0x04, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x41, 0x50, 0x49, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x39, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61,
0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70,
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x15, 0x49, 0x6e,
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x3b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70,
0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d,
0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74,
0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xa0, 0x02,
0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x42, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67,
0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75,
0x74, 0x68, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41,
0x41, 0xaa, 0x02, 0x1d, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xca, 0x02, 0x1d, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x41, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xe2, 0x02, 0x29, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x41, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20,
0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescOnce sync.Once
file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescData = file_cs3_auth_applications_v1beta1_applications_api_proto_rawDesc
)
func file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescGZIP() []byte {
file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescOnce.Do(func() {
file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescData)
})
return file_cs3_auth_applications_v1beta1_applications_api_proto_rawDescData
}
var file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_cs3_auth_applications_v1beta1_applications_api_proto_goTypes = []interface{}{
(*GenerateAppPasswordRequest)(nil), // 0: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest
(*GenerateAppPasswordResponse)(nil), // 1: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse
(*ListAppPasswordsRequest)(nil), // 2: cs3.auth.applications.v1beta1.ListAppPasswordsRequest
(*ListAppPasswordsResponse)(nil), // 3: cs3.auth.applications.v1beta1.ListAppPasswordsResponse
(*InvalidateAppPasswordRequest)(nil), // 4: cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest
(*InvalidateAppPasswordResponse)(nil), // 5: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse
(*GetAppPasswordRequest)(nil), // 6: cs3.auth.applications.v1beta1.GetAppPasswordRequest
(*GetAppPasswordResponse)(nil), // 7: cs3.auth.applications.v1beta1.GetAppPasswordResponse
nil, // 8: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.TokenScopeEntry
(*v1beta1.Opaque)(nil), // 9: cs3.types.v1beta1.Opaque
(*v1beta1.Timestamp)(nil), // 10: cs3.types.v1beta1.Timestamp
(*v1beta12.Status)(nil), // 11: cs3.rpc.v1beta1.Status
(*AppPassword)(nil), // 12: cs3.auth.applications.v1beta1.AppPassword
(*v1beta13.UserId)(nil), // 13: cs3.identity.user.v1beta1.UserId
(*v1beta11.Scope)(nil), // 14: cs3.auth.provider.v1beta1.Scope
}
var file_cs3_auth_applications_v1beta1_applications_api_proto_depIdxs = []int32{
9, // 0: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 1: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.token_scope:type_name -> cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.TokenScopeEntry
10, // 2: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp
11, // 3: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse.status:type_name -> cs3.rpc.v1beta1.Status
9, // 4: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
12, // 5: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse.app_password:type_name -> cs3.auth.applications.v1beta1.AppPassword
9, // 6: cs3.auth.applications.v1beta1.ListAppPasswordsRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
11, // 7: cs3.auth.applications.v1beta1.ListAppPasswordsResponse.status:type_name -> cs3.rpc.v1beta1.Status
9, // 8: cs3.auth.applications.v1beta1.ListAppPasswordsResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
12, // 9: cs3.auth.applications.v1beta1.ListAppPasswordsResponse.app_passwords:type_name -> cs3.auth.applications.v1beta1.AppPassword
9, // 10: cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
11, // 11: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse.status:type_name -> cs3.rpc.v1beta1.Status
9, // 12: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
9, // 13: cs3.auth.applications.v1beta1.GetAppPasswordRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
13, // 14: cs3.auth.applications.v1beta1.GetAppPasswordRequest.user:type_name -> cs3.identity.user.v1beta1.UserId
11, // 15: cs3.auth.applications.v1beta1.GetAppPasswordResponse.status:type_name -> cs3.rpc.v1beta1.Status
9, // 16: cs3.auth.applications.v1beta1.GetAppPasswordResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
12, // 17: cs3.auth.applications.v1beta1.GetAppPasswordResponse.app_password:type_name -> cs3.auth.applications.v1beta1.AppPassword
14, // 18: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest.TokenScopeEntry.value:type_name -> cs3.auth.provider.v1beta1.Scope
0, // 19: cs3.auth.applications.v1beta1.ApplicationsAPI.GenerateAppPassword:input_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordRequest
2, // 20: cs3.auth.applications.v1beta1.ApplicationsAPI.ListAppPasswords:input_type -> cs3.auth.applications.v1beta1.ListAppPasswordsRequest
4, // 21: cs3.auth.applications.v1beta1.ApplicationsAPI.InvalidateAppPassword:input_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest
6, // 22: cs3.auth.applications.v1beta1.ApplicationsAPI.GetAppPassword:input_type -> cs3.auth.applications.v1beta1.GetAppPasswordRequest
1, // 23: cs3.auth.applications.v1beta1.ApplicationsAPI.GenerateAppPassword:output_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordResponse
3, // 24: cs3.auth.applications.v1beta1.ApplicationsAPI.ListAppPasswords:output_type -> cs3.auth.applications.v1beta1.ListAppPasswordsResponse
5, // 25: cs3.auth.applications.v1beta1.ApplicationsAPI.InvalidateAppPassword:output_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse
7, // 26: cs3.auth.applications.v1beta1.ApplicationsAPI.GetAppPassword:output_type -> cs3.auth.applications.v1beta1.GetAppPasswordResponse
23, // [23:27] is the sub-list for method output_type
19, // [19:23] is the sub-list for method input_type
19, // [19:19] is the sub-list for extension type_name
19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
}
func init() { file_cs3_auth_applications_v1beta1_applications_api_proto_init() }
func file_cs3_auth_applications_v1beta1_applications_api_proto_init() {
if File_cs3_auth_applications_v1beta1_applications_api_proto != nil {
return
}
file_cs3_auth_applications_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateAppPasswordRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateAppPasswordResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAppPasswordsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAppPasswordsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvalidateAppPasswordRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvalidateAppPasswordResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAppPasswordRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAppPasswordResponse); 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_cs3_auth_applications_v1beta1_applications_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_auth_applications_v1beta1_applications_api_proto_goTypes,
DependencyIndexes: file_cs3_auth_applications_v1beta1_applications_api_proto_depIdxs,
MessageInfos: file_cs3_auth_applications_v1beta1_applications_api_proto_msgTypes,
}.Build()
File_cs3_auth_applications_v1beta1_applications_api_proto = out.File
file_cs3_auth_applications_v1beta1_applications_api_proto_rawDesc = nil
file_cs3_auth_applications_v1beta1_applications_api_proto_goTypes = nil
file_cs3_auth_applications_v1beta1_applications_api_proto_depIdxs = nil
}
@@ -0,0 +1,246 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/auth/applications/v1beta1/applications_api.proto
package applicationsv1beta1
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
const (
ApplicationsAPI_GenerateAppPassword_FullMethodName = "/cs3.auth.applications.v1beta1.ApplicationsAPI/GenerateAppPassword"
ApplicationsAPI_ListAppPasswords_FullMethodName = "/cs3.auth.applications.v1beta1.ApplicationsAPI/ListAppPasswords"
ApplicationsAPI_InvalidateAppPassword_FullMethodName = "/cs3.auth.applications.v1beta1.ApplicationsAPI/InvalidateAppPassword"
ApplicationsAPI_GetAppPassword_FullMethodName = "/cs3.auth.applications.v1beta1.ApplicationsAPI/GetAppPassword"
)
// ApplicationsAPIClient is the client API for ApplicationsAPI 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 ApplicationsAPIClient interface {
// GenerateAppPassword creates a password with specified scope to be used by
// third-party applications.
GenerateAppPassword(ctx context.Context, in *GenerateAppPasswordRequest, opts ...grpc.CallOption) (*GenerateAppPasswordResponse, error)
// ListAppPasswords lists the application passwords created by a user.
ListAppPasswords(ctx context.Context, in *ListAppPasswordsRequest, opts ...grpc.CallOption) (*ListAppPasswordsResponse, error)
// InvalidateAppPassword invalidates a generated password.
InvalidateAppPassword(ctx context.Context, in *InvalidateAppPasswordRequest, opts ...grpc.CallOption) (*InvalidateAppPasswordResponse, error)
// GetAppPassword retrieves the password information by the combination of username and password.
GetAppPassword(ctx context.Context, in *GetAppPasswordRequest, opts ...grpc.CallOption) (*GetAppPasswordResponse, error)
}
type applicationsAPIClient struct {
cc grpc.ClientConnInterface
}
func NewApplicationsAPIClient(cc grpc.ClientConnInterface) ApplicationsAPIClient {
return &applicationsAPIClient{cc}
}
func (c *applicationsAPIClient) GenerateAppPassword(ctx context.Context, in *GenerateAppPasswordRequest, opts ...grpc.CallOption) (*GenerateAppPasswordResponse, error) {
out := new(GenerateAppPasswordResponse)
err := c.cc.Invoke(ctx, ApplicationsAPI_GenerateAppPassword_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *applicationsAPIClient) ListAppPasswords(ctx context.Context, in *ListAppPasswordsRequest, opts ...grpc.CallOption) (*ListAppPasswordsResponse, error) {
out := new(ListAppPasswordsResponse)
err := c.cc.Invoke(ctx, ApplicationsAPI_ListAppPasswords_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *applicationsAPIClient) InvalidateAppPassword(ctx context.Context, in *InvalidateAppPasswordRequest, opts ...grpc.CallOption) (*InvalidateAppPasswordResponse, error) {
out := new(InvalidateAppPasswordResponse)
err := c.cc.Invoke(ctx, ApplicationsAPI_InvalidateAppPassword_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *applicationsAPIClient) GetAppPassword(ctx context.Context, in *GetAppPasswordRequest, opts ...grpc.CallOption) (*GetAppPasswordResponse, error) {
out := new(GetAppPasswordResponse)
err := c.cc.Invoke(ctx, ApplicationsAPI_GetAppPassword_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ApplicationsAPIServer is the server API for ApplicationsAPI service.
// All implementations should embed UnimplementedApplicationsAPIServer
// for forward compatibility
type ApplicationsAPIServer interface {
// GenerateAppPassword creates a password with specified scope to be used by
// third-party applications.
GenerateAppPassword(context.Context, *GenerateAppPasswordRequest) (*GenerateAppPasswordResponse, error)
// ListAppPasswords lists the application passwords created by a user.
ListAppPasswords(context.Context, *ListAppPasswordsRequest) (*ListAppPasswordsResponse, error)
// InvalidateAppPassword invalidates a generated password.
InvalidateAppPassword(context.Context, *InvalidateAppPasswordRequest) (*InvalidateAppPasswordResponse, error)
// GetAppPassword retrieves the password information by the combination of username and password.
GetAppPassword(context.Context, *GetAppPasswordRequest) (*GetAppPasswordResponse, error)
}
// UnimplementedApplicationsAPIServer should be embedded to have forward compatible implementations.
type UnimplementedApplicationsAPIServer struct {
}
func (UnimplementedApplicationsAPIServer) GenerateAppPassword(context.Context, *GenerateAppPasswordRequest) (*GenerateAppPasswordResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GenerateAppPassword not implemented")
}
func (UnimplementedApplicationsAPIServer) ListAppPasswords(context.Context, *ListAppPasswordsRequest) (*ListAppPasswordsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAppPasswords not implemented")
}
func (UnimplementedApplicationsAPIServer) InvalidateAppPassword(context.Context, *InvalidateAppPasswordRequest) (*InvalidateAppPasswordResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method InvalidateAppPassword not implemented")
}
func (UnimplementedApplicationsAPIServer) GetAppPassword(context.Context, *GetAppPasswordRequest) (*GetAppPasswordResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAppPassword not implemented")
}
// UnsafeApplicationsAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ApplicationsAPIServer will
// result in compilation errors.
type UnsafeApplicationsAPIServer interface {
mustEmbedUnimplementedApplicationsAPIServer()
}
func RegisterApplicationsAPIServer(s grpc.ServiceRegistrar, srv ApplicationsAPIServer) {
s.RegisterService(&ApplicationsAPI_ServiceDesc, srv)
}
func _ApplicationsAPI_GenerateAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GenerateAppPasswordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApplicationsAPIServer).GenerateAppPassword(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ApplicationsAPI_GenerateAppPassword_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationsAPIServer).GenerateAppPassword(ctx, req.(*GenerateAppPasswordRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ApplicationsAPI_ListAppPasswords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAppPasswordsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApplicationsAPIServer).ListAppPasswords(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ApplicationsAPI_ListAppPasswords_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationsAPIServer).ListAppPasswords(ctx, req.(*ListAppPasswordsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ApplicationsAPI_InvalidateAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InvalidateAppPasswordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApplicationsAPIServer).InvalidateAppPassword(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ApplicationsAPI_InvalidateAppPassword_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationsAPIServer).InvalidateAppPassword(ctx, req.(*InvalidateAppPasswordRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ApplicationsAPI_GetAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAppPasswordRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApplicationsAPIServer).GetAppPassword(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ApplicationsAPI_GetAppPassword_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationsAPIServer).GetAppPassword(ctx, req.(*GetAppPasswordRequest))
}
return interceptor(ctx, in, info, handler)
}
// ApplicationsAPI_ServiceDesc is the grpc.ServiceDesc for ApplicationsAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ApplicationsAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.auth.applications.v1beta1.ApplicationsAPI",
HandlerType: (*ApplicationsAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GenerateAppPassword",
Handler: _ApplicationsAPI_GenerateAppPassword_Handler,
},
{
MethodName: "ListAppPasswords",
Handler: _ApplicationsAPI_ListAppPasswords_Handler,
},
{
MethodName: "InvalidateAppPassword",
Handler: _ApplicationsAPI_InvalidateAppPassword_Handler,
},
{
MethodName: "GetAppPassword",
Handler: _ApplicationsAPI_GetAppPassword_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/auth/applications/v1beta1/applications_api.proto",
}
@@ -0,0 +1,293 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/applications/v1beta1/resources.proto
package applicationsv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/auth/provider/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// AppPassword stores information about secondary passwords generated by users
// to be used with third-party applications.
type AppPassword struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The generated access password.
Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
// OPTIONAL.
// The scope of the token to be issued.
// This would be a list of resources with corresponding role-based access scope.
TokenScope map[string]*v1beta1.Scope `protobuf:"bytes,2,rep,name=token_scope,json=tokenScope,proto3" json:"token_scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// OPTIONAL.
// A label to be associated with the password.
Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
// REQUIRED.
// The user who created the password.
User *v1beta11.UserId `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
// OPTIONAL.
// The time when the token will expire.
Expiration *v1beta12.Timestamp `protobuf:"bytes,5,opt,name=expiration,proto3" json:"expiration,omitempty"`
// REQUIRED.
// The creation time of the password.
Ctime *v1beta12.Timestamp `protobuf:"bytes,6,opt,name=ctime,proto3" json:"ctime,omitempty"`
// REQUIRED.
// The last time the password was used.
Utime *v1beta12.Timestamp `protobuf:"bytes,7,opt,name=utime,proto3" json:"utime,omitempty"`
}
func (x *AppPassword) Reset() {
*x = AppPassword{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_applications_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppPassword) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppPassword) ProtoMessage() {}
func (x *AppPassword) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_applications_v1beta1_resources_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 AppPassword.ProtoReflect.Descriptor instead.
func (*AppPassword) Descriptor() ([]byte, []int) {
return file_cs3_auth_applications_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *AppPassword) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *AppPassword) GetTokenScope() map[string]*v1beta1.Scope {
if x != nil {
return x.TokenScope
}
return nil
}
func (x *AppPassword) GetLabel() string {
if x != nil {
return x.Label
}
return ""
}
func (x *AppPassword) GetUser() *v1beta11.UserId {
if x != nil {
return x.User
}
return nil
}
func (x *AppPassword) GetExpiration() *v1beta12.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *AppPassword) GetCtime() *v1beta12.Timestamp {
if x != nil {
return x.Ctime
}
return nil
}
func (x *AppPassword) GetUtime() *v1beta12.Timestamp {
if x != nil {
return x.Utime
}
return nil
}
var File_cs3_auth_applications_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_auth_applications_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x1d, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29,
0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
0x5b, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62,
0x65, 0x6c, 0x12, 0x35, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70,
0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70,
0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x75,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6d, 0x65, 0x1a,
0x5f, 0x0a, 0x0f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x42, 0x9a, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74,
0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63,
0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x41, 0xaa, 0x02,
0x1d, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
0x1d, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02,
0x29, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47,
0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20, 0x43, 0x73, 0x33,
0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_auth_applications_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_auth_applications_v1beta1_resources_proto_rawDescData = file_cs3_auth_applications_v1beta1_resources_proto_rawDesc
)
func file_cs3_auth_applications_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_auth_applications_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_auth_applications_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_applications_v1beta1_resources_proto_rawDescData)
})
return file_cs3_auth_applications_v1beta1_resources_proto_rawDescData
}
var file_cs3_auth_applications_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_auth_applications_v1beta1_resources_proto_goTypes = []interface{}{
(*AppPassword)(nil), // 0: cs3.auth.applications.v1beta1.AppPassword
nil, // 1: cs3.auth.applications.v1beta1.AppPassword.TokenScopeEntry
(*v1beta11.UserId)(nil), // 2: cs3.identity.user.v1beta1.UserId
(*v1beta12.Timestamp)(nil), // 3: cs3.types.v1beta1.Timestamp
(*v1beta1.Scope)(nil), // 4: cs3.auth.provider.v1beta1.Scope
}
var file_cs3_auth_applications_v1beta1_resources_proto_depIdxs = []int32{
1, // 0: cs3.auth.applications.v1beta1.AppPassword.token_scope:type_name -> cs3.auth.applications.v1beta1.AppPassword.TokenScopeEntry
2, // 1: cs3.auth.applications.v1beta1.AppPassword.user:type_name -> cs3.identity.user.v1beta1.UserId
3, // 2: cs3.auth.applications.v1beta1.AppPassword.expiration:type_name -> cs3.types.v1beta1.Timestamp
3, // 3: cs3.auth.applications.v1beta1.AppPassword.ctime:type_name -> cs3.types.v1beta1.Timestamp
3, // 4: cs3.auth.applications.v1beta1.AppPassword.utime:type_name -> cs3.types.v1beta1.Timestamp
4, // 5: cs3.auth.applications.v1beta1.AppPassword.TokenScopeEntry.value:type_name -> cs3.auth.provider.v1beta1.Scope
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_cs3_auth_applications_v1beta1_resources_proto_init() }
func file_cs3_auth_applications_v1beta1_resources_proto_init() {
if File_cs3_auth_applications_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_auth_applications_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppPassword); 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_cs3_auth_applications_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_auth_applications_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_auth_applications_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_auth_applications_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_auth_applications_v1beta1_resources_proto = out.File
file_cs3_auth_applications_v1beta1_resources_proto_rawDesc = nil
file_cs3_auth_applications_v1beta1_resources_proto_goTypes = nil
file_cs3_auth_applications_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,346 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/provider/v1beta1/provider_api.proto
package providerv1beta1
import (
v1beta12 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type AuthenticateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// OPTIONAL.
// The id of the client.
// For basic authentication with username and password
// both client_id and client_secret are expected to be filled.
// However, for example, for OIDC only a token is necessary.
ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
// OPTIONAL.
// The secret of the client.
ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
}
func (x *AuthenticateRequest) Reset() {
*x = AuthenticateRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AuthenticateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AuthenticateRequest) ProtoMessage() {}
func (x *AuthenticateRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_provider_v1beta1_provider_api_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 AuthenticateRequest.ProtoReflect.Descriptor instead.
func (*AuthenticateRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{0}
}
func (x *AuthenticateRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *AuthenticateRequest) GetClientId() string {
if x != nil {
return x.ClientId
}
return ""
}
func (x *AuthenticateRequest) GetClientSecret() string {
if x != nil {
return x.ClientSecret
}
return ""
}
type AuthenticateResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// REQUIRED.
// The authenticated user.
User *v1beta12.User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
// REQUIRED.
// The scope of the token to be issued.
// This would be a list of resources with corresponding role-based access scope.
TokenScope map[string]*Scope `protobuf:"bytes,3,rep,name=token_scope,json=tokenScope,proto3" json:"token_scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *AuthenticateResponse) Reset() {
*x = AuthenticateResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AuthenticateResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AuthenticateResponse) ProtoMessage() {}
func (x *AuthenticateResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_provider_v1beta1_provider_api_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 AuthenticateResponse.ProtoReflect.Descriptor instead.
func (*AuthenticateResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{1}
}
func (x *AuthenticateResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *AuthenticateResponse) GetUser() *v1beta12.User {
if x != nil {
return x.User
}
return nil
}
func (x *AuthenticateResponse) GetTokenScope() map[string]*Scope {
if x != nil {
return x.TokenScope
}
return nil
}
var File_cs3_auth_provider_v1beta1_provider_api_proto protoreflect.FileDescriptor
var file_cs3_auth_provider_v1beta1_provider_api_proto_rawDesc = []byte{
0x0a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19,
0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x61,
0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63,
0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a,
0x13, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xbf, 0x02, 0x0a, 0x14, 0x41, 0x75,
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x1a, 0x5f, 0x0a, 0x0f, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x7e, 0x0a, 0x0b, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x50, 0x49, 0x12, 0x6f, 0x0a, 0x0c, 0x41, 0x75,
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x80, 0x02, 0x0a, 0x1d,
0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73,
0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f,
0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x50, 0xaa,
0x02, 0x19, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x19, 0x43, 0x73,
0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75,
0x74, 0x68, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
0x02, 0x1c, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x3a, 0x3a, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescOnce sync.Once
file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescData = file_cs3_auth_provider_v1beta1_provider_api_proto_rawDesc
)
func file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescGZIP() []byte {
file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescOnce.Do(func() {
file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescData)
})
return file_cs3_auth_provider_v1beta1_provider_api_proto_rawDescData
}
var file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_cs3_auth_provider_v1beta1_provider_api_proto_goTypes = []interface{}{
(*AuthenticateRequest)(nil), // 0: cs3.auth.provider.v1beta1.AuthenticateRequest
(*AuthenticateResponse)(nil), // 1: cs3.auth.provider.v1beta1.AuthenticateResponse
nil, // 2: cs3.auth.provider.v1beta1.AuthenticateResponse.TokenScopeEntry
(*v1beta1.Opaque)(nil), // 3: cs3.types.v1beta1.Opaque
(*v1beta11.Status)(nil), // 4: cs3.rpc.v1beta1.Status
(*v1beta12.User)(nil), // 5: cs3.identity.user.v1beta1.User
(*Scope)(nil), // 6: cs3.auth.provider.v1beta1.Scope
}
var file_cs3_auth_provider_v1beta1_provider_api_proto_depIdxs = []int32{
3, // 0: cs3.auth.provider.v1beta1.AuthenticateRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
4, // 1: cs3.auth.provider.v1beta1.AuthenticateResponse.status:type_name -> cs3.rpc.v1beta1.Status
5, // 2: cs3.auth.provider.v1beta1.AuthenticateResponse.user:type_name -> cs3.identity.user.v1beta1.User
2, // 3: cs3.auth.provider.v1beta1.AuthenticateResponse.token_scope:type_name -> cs3.auth.provider.v1beta1.AuthenticateResponse.TokenScopeEntry
6, // 4: cs3.auth.provider.v1beta1.AuthenticateResponse.TokenScopeEntry.value:type_name -> cs3.auth.provider.v1beta1.Scope
0, // 5: cs3.auth.provider.v1beta1.ProviderAPI.Authenticate:input_type -> cs3.auth.provider.v1beta1.AuthenticateRequest
1, // 6: cs3.auth.provider.v1beta1.ProviderAPI.Authenticate:output_type -> cs3.auth.provider.v1beta1.AuthenticateResponse
6, // [6:7] is the sub-list for method output_type
5, // [5:6] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_cs3_auth_provider_v1beta1_provider_api_proto_init() }
func file_cs3_auth_provider_v1beta1_provider_api_proto_init() {
if File_cs3_auth_provider_v1beta1_provider_api_proto != nil {
return
}
file_cs3_auth_provider_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AuthenticateRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AuthenticateResponse); 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_cs3_auth_provider_v1beta1_provider_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_auth_provider_v1beta1_provider_api_proto_goTypes,
DependencyIndexes: file_cs3_auth_provider_v1beta1_provider_api_proto_depIdxs,
MessageInfos: file_cs3_auth_provider_v1beta1_provider_api_proto_msgTypes,
}.Build()
File_cs3_auth_provider_v1beta1_provider_api_proto = out.File
file_cs3_auth_provider_v1beta1_provider_api_proto_rawDesc = nil
file_cs3_auth_provider_v1beta1_provider_api_proto_goTypes = nil
file_cs3_auth_provider_v1beta1_provider_api_proto_depIdxs = nil
}
@@ -0,0 +1,127 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/auth/provider/v1beta1/provider_api.proto
package providerv1beta1
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
const (
ProviderAPI_Authenticate_FullMethodName = "/cs3.auth.provider.v1beta1.ProviderAPI/Authenticate"
)
// ProviderAPIClient is the client API for ProviderAPI 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 ProviderAPIClient interface {
// Authenticate authenticates a client.
Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error)
}
type providerAPIClient struct {
cc grpc.ClientConnInterface
}
func NewProviderAPIClient(cc grpc.ClientConnInterface) ProviderAPIClient {
return &providerAPIClient{cc}
}
func (c *providerAPIClient) Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error) {
out := new(AuthenticateResponse)
err := c.cc.Invoke(ctx, ProviderAPI_Authenticate_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProviderAPIServer is the server API for ProviderAPI service.
// All implementations should embed UnimplementedProviderAPIServer
// for forward compatibility
type ProviderAPIServer interface {
// Authenticate authenticates a client.
Authenticate(context.Context, *AuthenticateRequest) (*AuthenticateResponse, error)
}
// UnimplementedProviderAPIServer should be embedded to have forward compatible implementations.
type UnimplementedProviderAPIServer struct {
}
func (UnimplementedProviderAPIServer) Authenticate(context.Context, *AuthenticateRequest) (*AuthenticateResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Authenticate not implemented")
}
// UnsafeProviderAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ProviderAPIServer will
// result in compilation errors.
type UnsafeProviderAPIServer interface {
mustEmbedUnimplementedProviderAPIServer()
}
func RegisterProviderAPIServer(s grpc.ServiceRegistrar, srv ProviderAPIServer) {
s.RegisterService(&ProviderAPI_ServiceDesc, srv)
}
func _ProviderAPI_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AuthenticateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProviderAPIServer).Authenticate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ProviderAPI_Authenticate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProviderAPIServer).Authenticate(ctx, req.(*AuthenticateRequest))
}
return interceptor(ctx, in, info, handler)
}
// ProviderAPI_ServiceDesc is the grpc.ServiceDesc for ProviderAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ProviderAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.auth.provider.v1beta1.ProviderAPI",
HandlerType: (*ProviderAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Authenticate",
Handler: _ProviderAPI_Authenticate_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/auth/provider/v1beta1/provider_api.proto",
}
@@ -0,0 +1,289 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/provider/v1beta1/resources.proto
package providerv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// The role associated with the scope.
type Role int32
const (
// Used for invalid roles
Role_ROLE_INVALID Role = 0
// Grants owner permissions on a resource
Role_ROLE_OWNER Role = 1
// Provides backwards compatibility
Role_ROLE_LEGACY Role = 2
// Grants non-editor role on a resource
Role_ROLE_VIEWER Role = 3
// Grants editor permission on a resource, including folders
Role_ROLE_EDITOR Role = 4
// Grants editor permission on a single file
Role_ROLE_FILE_EDITOR Role = 5
// Grants co-owner permissions on a resource
Role_ROLE_COOWNER Role = 6
// Role with only write permission can use InitiateFileUpload, nothing else
Role_ROLE_UPLOADER Role = 7
)
// Enum value maps for Role.
var (
Role_name = map[int32]string{
0: "ROLE_INVALID",
1: "ROLE_OWNER",
2: "ROLE_LEGACY",
3: "ROLE_VIEWER",
4: "ROLE_EDITOR",
5: "ROLE_FILE_EDITOR",
6: "ROLE_COOWNER",
7: "ROLE_UPLOADER",
}
Role_value = map[string]int32{
"ROLE_INVALID": 0,
"ROLE_OWNER": 1,
"ROLE_LEGACY": 2,
"ROLE_VIEWER": 3,
"ROLE_EDITOR": 4,
"ROLE_FILE_EDITOR": 5,
"ROLE_COOWNER": 6,
"ROLE_UPLOADER": 7,
}
)
func (x Role) Enum() *Role {
p := new(Role)
*p = x
return p
}
func (x Role) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Role) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_auth_provider_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (Role) Type() protoreflect.EnumType {
return &file_cs3_auth_provider_v1beta1_resources_proto_enumTypes[0]
}
func (x Role) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Role.Descriptor instead.
func (Role) EnumDescriptor() ([]byte, []int) {
return file_cs3_auth_provider_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
// Scope defines role-based permissions for various resources.
type Scope struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The resource embedded in the request of a particular method. It depends on
// the method, hence is left as opaque.
Resource *v1beta1.OpaqueEntry `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
// REQUIRED.
// The role associated with the resource.
Role Role `protobuf:"varint,2,opt,name=role,proto3,enum=cs3.auth.provider.v1beta1.Role" json:"role,omitempty"`
}
func (x *Scope) Reset() {
*x = Scope{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_provider_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Scope) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Scope) ProtoMessage() {}
func (x *Scope) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_provider_v1beta1_resources_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 Scope.ProtoReflect.Descriptor instead.
func (*Scope) Descriptor() ([]byte, []int) {
return file_cs3_auth_provider_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *Scope) GetResource() *v1beta1.OpaqueEntry {
if x != nil {
return x.Resource
}
return nil
}
func (x *Scope) GetRole() Role {
if x != nil {
return x.Role
}
return Role_ROLE_INVALID
}
var File_cs3_auth_provider_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_auth_provider_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x3a,
0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x72, 0x6f,
0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61,
0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x2a,
0x96, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45,
0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f,
0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f,
0x4c, 0x45, 0x5f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52,
0x4f, 0x4c, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b,
0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a,
0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x4f,
0x52, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x57,
0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x50,
0x4c, 0x4f, 0x41, 0x44, 0x45, 0x52, 0x10, 0x07, 0x42, 0xfe, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f,
0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61,
0x75, 0x74, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x50, 0xaa, 0x02, 0x19, 0x43, 0x73, 0x33,
0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x19, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74,
0x68, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47,
0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43, 0x73, 0x33,
0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_cs3_auth_provider_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_auth_provider_v1beta1_resources_proto_rawDescData = file_cs3_auth_provider_v1beta1_resources_proto_rawDesc
)
func file_cs3_auth_provider_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_auth_provider_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_auth_provider_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_provider_v1beta1_resources_proto_rawDescData)
})
return file_cs3_auth_provider_v1beta1_resources_proto_rawDescData
}
var file_cs3_auth_provider_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cs3_auth_provider_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_auth_provider_v1beta1_resources_proto_goTypes = []interface{}{
(Role)(0), // 0: cs3.auth.provider.v1beta1.Role
(*Scope)(nil), // 1: cs3.auth.provider.v1beta1.Scope
(*v1beta1.OpaqueEntry)(nil), // 2: cs3.types.v1beta1.OpaqueEntry
}
var file_cs3_auth_provider_v1beta1_resources_proto_depIdxs = []int32{
2, // 0: cs3.auth.provider.v1beta1.Scope.resource:type_name -> cs3.types.v1beta1.OpaqueEntry
0, // 1: cs3.auth.provider.v1beta1.Scope.role:type_name -> cs3.auth.provider.v1beta1.Role
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_auth_provider_v1beta1_resources_proto_init() }
func file_cs3_auth_provider_v1beta1_resources_proto_init() {
if File_cs3_auth_provider_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_auth_provider_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Scope); 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_cs3_auth_provider_v1beta1_resources_proto_rawDesc,
NumEnums: 1,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_auth_provider_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_auth_provider_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_auth_provider_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_auth_provider_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_auth_provider_v1beta1_resources_proto = out.File
file_cs3_auth_provider_v1beta1_resources_proto_rawDesc = nil
file_cs3_auth_provider_v1beta1_resources_proto_goTypes = nil
file_cs3_auth_provider_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,491 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/registry/v1beta1/registry_api.proto
package registryv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type GetAuthProvidersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The type of authentication provider.
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
}
func (x *GetAuthProvidersRequest) Reset() {
*x = GetAuthProvidersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAuthProvidersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAuthProvidersRequest) ProtoMessage() {}
func (x *GetAuthProvidersRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_registry_v1beta1_registry_api_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 GetAuthProvidersRequest.ProtoReflect.Descriptor instead.
func (*GetAuthProvidersRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{0}
}
func (x *GetAuthProvidersRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetAuthProvidersRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
type GetAuthProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The auth providers handling the requested auth call.
Providers []*ProviderInfo `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty"`
}
func (x *GetAuthProvidersResponse) Reset() {
*x = GetAuthProvidersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAuthProvidersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAuthProvidersResponse) ProtoMessage() {}
func (x *GetAuthProvidersResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_registry_v1beta1_registry_api_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 GetAuthProvidersResponse.ProtoReflect.Descriptor instead.
func (*GetAuthProvidersResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{1}
}
func (x *GetAuthProvidersResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetAuthProvidersResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetAuthProvidersResponse) GetProviders() []*ProviderInfo {
if x != nil {
return x.Providers
}
return nil
}
type ListAuthProvidersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` // TODO(labkode): maybe add some filter?
}
func (x *ListAuthProvidersRequest) Reset() {
*x = ListAuthProvidersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAuthProvidersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAuthProvidersRequest) ProtoMessage() {}
func (x *ListAuthProvidersRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_registry_v1beta1_registry_api_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 ListAuthProvidersRequest.ProtoReflect.Descriptor instead.
func (*ListAuthProvidersRequest) Descriptor() ([]byte, []int) {
return file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{2}
}
func (x *ListAuthProvidersRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type ListAuthProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The list of auth providers this registry knows about.
Providers []*ProviderInfo `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty"`
}
func (x *ListAuthProvidersResponse) Reset() {
*x = ListAuthProvidersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAuthProvidersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAuthProvidersResponse) ProtoMessage() {}
func (x *ListAuthProvidersResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_registry_v1beta1_registry_api_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 ListAuthProvidersResponse.ProtoReflect.Descriptor instead.
func (*ListAuthProvidersResponse) Descriptor() ([]byte, []int) {
return file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{3}
}
func (x *ListAuthProvidersResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *ListAuthProvidersResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ListAuthProvidersResponse) GetProviders() []*ProviderInfo {
if x != nil {
return x.Providers
}
return nil
}
var File_cs3_auth_registry_v1beta1_registry_api_proto protoreflect.FileDescriptor
var file_cs3_auth_registry_v1beta1_registry_api_proto_rawDesc = []byte{
0x0a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19,
0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x61,
0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x18, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x19, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72,
0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x32, 0x8a, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x41, 0x50, 0x49, 0x12, 0x7b, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x7e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68,
0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0x80, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74,
0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x42, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x41, 0x70, 0x69, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33,
0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02,
0x03, 0x43, 0x41, 0x52, 0xaa, 0x02, 0x19, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0xca, 0x02, 0x19, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43,
0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68,
0x3a, 0x3a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescOnce sync.Once
file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescData = file_cs3_auth_registry_v1beta1_registry_api_proto_rawDesc
)
func file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescGZIP() []byte {
file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescOnce.Do(func() {
file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescData)
})
return file_cs3_auth_registry_v1beta1_registry_api_proto_rawDescData
}
var file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_cs3_auth_registry_v1beta1_registry_api_proto_goTypes = []interface{}{
(*GetAuthProvidersRequest)(nil), // 0: cs3.auth.registry.v1beta1.GetAuthProvidersRequest
(*GetAuthProvidersResponse)(nil), // 1: cs3.auth.registry.v1beta1.GetAuthProvidersResponse
(*ListAuthProvidersRequest)(nil), // 2: cs3.auth.registry.v1beta1.ListAuthProvidersRequest
(*ListAuthProvidersResponse)(nil), // 3: cs3.auth.registry.v1beta1.ListAuthProvidersResponse
(*v1beta1.Opaque)(nil), // 4: cs3.types.v1beta1.Opaque
(*v1beta11.Status)(nil), // 5: cs3.rpc.v1beta1.Status
(*ProviderInfo)(nil), // 6: cs3.auth.registry.v1beta1.ProviderInfo
}
var file_cs3_auth_registry_v1beta1_registry_api_proto_depIdxs = []int32{
4, // 0: cs3.auth.registry.v1beta1.GetAuthProvidersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
5, // 1: cs3.auth.registry.v1beta1.GetAuthProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status
4, // 2: cs3.auth.registry.v1beta1.GetAuthProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 3: cs3.auth.registry.v1beta1.GetAuthProvidersResponse.providers:type_name -> cs3.auth.registry.v1beta1.ProviderInfo
4, // 4: cs3.auth.registry.v1beta1.ListAuthProvidersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
5, // 5: cs3.auth.registry.v1beta1.ListAuthProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status
4, // 6: cs3.auth.registry.v1beta1.ListAuthProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 7: cs3.auth.registry.v1beta1.ListAuthProvidersResponse.providers:type_name -> cs3.auth.registry.v1beta1.ProviderInfo
0, // 8: cs3.auth.registry.v1beta1.RegistryAPI.GetAuthProviders:input_type -> cs3.auth.registry.v1beta1.GetAuthProvidersRequest
2, // 9: cs3.auth.registry.v1beta1.RegistryAPI.ListAuthProviders:input_type -> cs3.auth.registry.v1beta1.ListAuthProvidersRequest
1, // 10: cs3.auth.registry.v1beta1.RegistryAPI.GetAuthProviders:output_type -> cs3.auth.registry.v1beta1.GetAuthProvidersResponse
3, // 11: cs3.auth.registry.v1beta1.RegistryAPI.ListAuthProviders:output_type -> cs3.auth.registry.v1beta1.ListAuthProvidersResponse
10, // [10:12] is the sub-list for method output_type
8, // [8:10] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
}
func init() { file_cs3_auth_registry_v1beta1_registry_api_proto_init() }
func file_cs3_auth_registry_v1beta1_registry_api_proto_init() {
if File_cs3_auth_registry_v1beta1_registry_api_proto != nil {
return
}
file_cs3_auth_registry_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAuthProvidersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAuthProvidersResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAuthProvidersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAuthProvidersResponse); 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_cs3_auth_registry_v1beta1_registry_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_auth_registry_v1beta1_registry_api_proto_goTypes,
DependencyIndexes: file_cs3_auth_registry_v1beta1_registry_api_proto_depIdxs,
MessageInfos: file_cs3_auth_registry_v1beta1_registry_api_proto_msgTypes,
}.Build()
File_cs3_auth_registry_v1beta1_registry_api_proto = out.File
file_cs3_auth_registry_v1beta1_registry_api_proto_rawDesc = nil
file_cs3_auth_registry_v1beta1_registry_api_proto_goTypes = nil
file_cs3_auth_registry_v1beta1_registry_api_proto_depIdxs = nil
}
@@ -0,0 +1,170 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/auth/registry/v1beta1/registry_api.proto
package registryv1beta1
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
const (
RegistryAPI_GetAuthProviders_FullMethodName = "/cs3.auth.registry.v1beta1.RegistryAPI/GetAuthProviders"
RegistryAPI_ListAuthProviders_FullMethodName = "/cs3.auth.registry.v1beta1.RegistryAPI/ListAuthProviders"
)
// RegistryAPIClient is the client API for RegistryAPI 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 RegistryAPIClient interface {
// Returns the auth provider that is reponsible for the given
// resource reference.
// MUST return CODE_NOT_FOUND if the reference does not exist.
GetAuthProviders(ctx context.Context, in *GetAuthProvidersRequest, opts ...grpc.CallOption) (*GetAuthProvidersResponse, error)
// Returns a list of the available auth providers known by this registry.
ListAuthProviders(ctx context.Context, in *ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error)
}
type registryAPIClient struct {
cc grpc.ClientConnInterface
}
func NewRegistryAPIClient(cc grpc.ClientConnInterface) RegistryAPIClient {
return &registryAPIClient{cc}
}
func (c *registryAPIClient) GetAuthProviders(ctx context.Context, in *GetAuthProvidersRequest, opts ...grpc.CallOption) (*GetAuthProvidersResponse, error) {
out := new(GetAuthProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_GetAuthProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) ListAuthProviders(ctx context.Context, in *ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) {
out := new(ListAuthProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_ListAuthProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RegistryAPIServer is the server API for RegistryAPI service.
// All implementations should embed UnimplementedRegistryAPIServer
// for forward compatibility
type RegistryAPIServer interface {
// Returns the auth provider that is reponsible for the given
// resource reference.
// MUST return CODE_NOT_FOUND if the reference does not exist.
GetAuthProviders(context.Context, *GetAuthProvidersRequest) (*GetAuthProvidersResponse, error)
// Returns a list of the available auth providers known by this registry.
ListAuthProviders(context.Context, *ListAuthProvidersRequest) (*ListAuthProvidersResponse, error)
}
// UnimplementedRegistryAPIServer should be embedded to have forward compatible implementations.
type UnimplementedRegistryAPIServer struct {
}
func (UnimplementedRegistryAPIServer) GetAuthProviders(context.Context, *GetAuthProvidersRequest) (*GetAuthProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAuthProviders not implemented")
}
func (UnimplementedRegistryAPIServer) ListAuthProviders(context.Context, *ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAuthProviders not implemented")
}
// UnsafeRegistryAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to RegistryAPIServer will
// result in compilation errors.
type UnsafeRegistryAPIServer interface {
mustEmbedUnimplementedRegistryAPIServer()
}
func RegisterRegistryAPIServer(s grpc.ServiceRegistrar, srv RegistryAPIServer) {
s.RegisterService(&RegistryAPI_ServiceDesc, srv)
}
func _RegistryAPI_GetAuthProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAuthProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).GetAuthProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_GetAuthProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).GetAuthProviders(ctx, req.(*GetAuthProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_ListAuthProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAuthProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).ListAuthProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_ListAuthProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).ListAuthProviders(ctx, req.(*ListAuthProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
// RegistryAPI_ServiceDesc is the grpc.ServiceDesc for RegistryAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RegistryAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.auth.registry.v1beta1.RegistryAPI",
HandlerType: (*RegistryAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetAuthProviders",
Handler: _RegistryAPI_GetAuthProviders_Handler,
},
{
MethodName: "ListAuthProviders",
Handler: _RegistryAPI_ListAuthProviders_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/auth/registry/v1beta1/registry_api.proto",
}
@@ -0,0 +1,231 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/auth/registry/v1beta1/resources.proto
package registryv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// ProviderInfo provides the information about an authentication provider.
type ProviderInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information (containing storage-specific information).
// For example, additional metadata attached to the resource.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The storage provider id that will become part of the
// resource id.
// For example, if the provider_id is "home", resources obtained
// from this storage provider will have a resource id like "home:1234".
ProviderType string `protobuf:"bytes,2,opt,name=provider_type,json=providerType,proto3" json:"provider_type,omitempty"`
// REQUIRED.
// The address where the storage provider can be reached.
// For example, tcp://localhost:1099.
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
// OPTIONAL.
// Information to describe the functionalities
// offered by the storage provider. Meant to be read
// by humans.
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *ProviderInfo) Reset() {
*x = ProviderInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_auth_registry_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProviderInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderInfo) ProtoMessage() {}
func (x *ProviderInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_auth_registry_v1beta1_resources_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 ProviderInfo.ProtoReflect.Descriptor instead.
func (*ProviderInfo) Descriptor() ([]byte, []int) {
return file_cs3_auth_registry_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *ProviderInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ProviderInfo) GetProviderType() string {
if x != nil {
return x.ProviderType
}
return ""
}
func (x *ProviderInfo) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *ProviderInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
var File_cs3_auth_registry_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_auth_registry_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x73, 0x33,
0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xfe, 0x01, 0x0a, 0x1d, 0x63,
0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72,
0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33,
0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x52, 0xaa, 0x02, 0x19, 0x43,
0x73, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x19, 0x43, 0x73, 0x33, 0x5c, 0x41,
0x75, 0x74, 0x68, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43,
0x73, 0x33, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x3a, 0x3a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_cs3_auth_registry_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_auth_registry_v1beta1_resources_proto_rawDescData = file_cs3_auth_registry_v1beta1_resources_proto_rawDesc
)
func file_cs3_auth_registry_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_auth_registry_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_auth_registry_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_auth_registry_v1beta1_resources_proto_rawDescData)
})
return file_cs3_auth_registry_v1beta1_resources_proto_rawDescData
}
var file_cs3_auth_registry_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_auth_registry_v1beta1_resources_proto_goTypes = []interface{}{
(*ProviderInfo)(nil), // 0: cs3.auth.registry.v1beta1.ProviderInfo
(*v1beta1.Opaque)(nil), // 1: cs3.types.v1beta1.Opaque
}
var file_cs3_auth_registry_v1beta1_resources_proto_depIdxs = []int32{
1, // 0: cs3.auth.registry.v1beta1.ProviderInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_cs3_auth_registry_v1beta1_resources_proto_init() }
func file_cs3_auth_registry_v1beta1_resources_proto_init() {
if File_cs3_auth_registry_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_auth_registry_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProviderInfo); 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_cs3_auth_registry_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_auth_registry_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_auth_registry_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_auth_registry_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_auth_registry_v1beta1_resources_proto = out.File
file_cs3_auth_registry_v1beta1_resources_proto_rawDesc = nil
file_cs3_auth_registry_v1beta1_resources_proto_goTypes = nil
file_cs3_auth_registry_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,780 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/gateway/v1beta1/resources.proto
package gatewayv1beta1
import (
v1beta12 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1"
v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1"
v1beta14 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// A file upload protocol object stores information about
// uploading resources using a specific protocol.
type FileUploadProtocol struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The protocol to be followed.
Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
// REQUIRED.
// The endpoint where to upload the data.
// The value MUST be a Uniform Resource Identifier (URI)
// as specified in RFC 3986.
UploadEndpoint string `protobuf:"bytes,3,opt,name=upload_endpoint,json=uploadEndpoint,proto3" json:"upload_endpoint,omitempty"`
// REQUIRED.
// List of available checksums
// the client can use when sending
// the file.
AvailableChecksums []*v1beta11.ResourceChecksumPriority `protobuf:"bytes,4,rep,name=available_checksums,json=availableChecksums,proto3" json:"available_checksums,omitempty"`
// OPTIONAL.
// A token that MUST be validated by the data gateway for the upload.
// Only makes sense for uploads passing through the data gateway.
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *FileUploadProtocol) Reset() {
*x = FileUploadProtocol{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileUploadProtocol) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileUploadProtocol) ProtoMessage() {}
func (x *FileUploadProtocol) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 FileUploadProtocol.ProtoReflect.Descriptor instead.
func (*FileUploadProtocol) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *FileUploadProtocol) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *FileUploadProtocol) GetProtocol() string {
if x != nil {
return x.Protocol
}
return ""
}
func (x *FileUploadProtocol) GetUploadEndpoint() string {
if x != nil {
return x.UploadEndpoint
}
return ""
}
func (x *FileUploadProtocol) GetAvailableChecksums() []*v1beta11.ResourceChecksumPriority {
if x != nil {
return x.AvailableChecksums
}
return nil
}
func (x *FileUploadProtocol) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
// A file download protocol object stores information about
// downloading resources using a specific protocol.
type FileDownloadProtocol struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The protocol to be followed.
Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
// REQUIRED.
// The endpoint where to download the data.
// The value MUST be a Uniform Resource Identifier (URI)
// as specified in RFC 3986.
DownloadEndpoint string `protobuf:"bytes,3,opt,name=download_endpoint,json=downloadEndpoint,proto3" json:"download_endpoint,omitempty"`
// OPTIONAL.
// A token that MUST be validated by the data gateway for the download.
// Only makes sense for downloads passing through the data gateway.
Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *FileDownloadProtocol) Reset() {
*x = FileDownloadProtocol{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileDownloadProtocol) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileDownloadProtocol) ProtoMessage() {}
func (x *FileDownloadProtocol) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 FileDownloadProtocol.ProtoReflect.Descriptor instead.
func (*FileDownloadProtocol) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *FileDownloadProtocol) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *FileDownloadProtocol) GetProtocol() string {
if x != nil {
return x.Protocol
}
return ""
}
func (x *FileDownloadProtocol) GetDownloadEndpoint() string {
if x != nil {
return x.DownloadEndpoint
}
return ""
}
func (x *FileDownloadProtocol) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
// ShareResourceInfo includes the sharing information
// and the storage-related information about a share resource.
type ShareResourceInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The underlying share as returned by the collaboration service.
Share *v1beta12.Share `protobuf:"bytes,2,opt,name=share,proto3" json:"share,omitempty"`
// REQUIRED.
// The corresponding resource information as returned by the storage provider.
ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,3,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
}
func (x *ShareResourceInfo) Reset() {
*x = ShareResourceInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShareResourceInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShareResourceInfo) ProtoMessage() {}
func (x *ShareResourceInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 ShareResourceInfo.ProtoReflect.Descriptor instead.
func (*ShareResourceInfo) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{2}
}
func (x *ShareResourceInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ShareResourceInfo) GetShare() *v1beta12.Share {
if x != nil {
return x.Share
}
return nil
}
func (x *ShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo {
if x != nil {
return x.ResourceInfo
}
return nil
}
// ReceivedShareResourceInfo includes the sharing information
// and the storage-related information about a received share resource.
type ReceivedShareResourceInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The underlying share as returned by the collaboration service.
ReceivedShare *v1beta12.ReceivedShare `protobuf:"bytes,2,opt,name=received_share,json=receivedShare,proto3" json:"received_share,omitempty"`
// REQUIRED.
// The corresponding resource information as returned by the storage provider.
ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,3,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
}
func (x *ReceivedShareResourceInfo) Reset() {
*x = ReceivedShareResourceInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReceivedShareResourceInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReceivedShareResourceInfo) ProtoMessage() {}
func (x *ReceivedShareResourceInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 ReceivedShareResourceInfo.ProtoReflect.Descriptor instead.
func (*ReceivedShareResourceInfo) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{3}
}
func (x *ReceivedShareResourceInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ReceivedShareResourceInfo) GetReceivedShare() *v1beta12.ReceivedShare {
if x != nil {
return x.ReceivedShare
}
return nil
}
func (x *ReceivedShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo {
if x != nil {
return x.ResourceInfo
}
return nil
}
// PublicShareResourceInfo includes the sharing information
// and the storage-related information about a public share resource.
type PublicShareResourceInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The underlying share as returned by the collaboration service.
PublicShare *v1beta13.PublicShare `protobuf:"bytes,2,opt,name=public_share,json=publicShare,proto3" json:"public_share,omitempty"`
// REQUIRED.
// The corresponding resource information as returned by the storage provider.
ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,3,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
}
func (x *PublicShareResourceInfo) Reset() {
*x = PublicShareResourceInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareResourceInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareResourceInfo) ProtoMessage() {}
func (x *PublicShareResourceInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 PublicShareResourceInfo.ProtoReflect.Descriptor instead.
func (*PublicShareResourceInfo) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{4}
}
func (x *PublicShareResourceInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *PublicShareResourceInfo) GetPublicShare() *v1beta13.PublicShare {
if x != nil {
return x.PublicShare
}
return nil
}
func (x *PublicShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo {
if x != nil {
return x.ResourceInfo
}
return nil
}
// OCMShareResourceInfo includes the sharing information
// and the storage-related information about an OCM share resource.
type OCMShareResourceInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The underlying share as returned by the collaboration service.
OcmShare *v1beta14.Share `protobuf:"bytes,2,opt,name=ocm_share,json=ocmShare,proto3" json:"ocm_share,omitempty"`
// REQUIRED.
// The corresponding resource information as returned by the storage provider.
ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,3,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
}
func (x *OCMShareResourceInfo) Reset() {
*x = OCMShareResourceInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OCMShareResourceInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OCMShareResourceInfo) ProtoMessage() {}
func (x *OCMShareResourceInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_gateway_v1beta1_resources_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 OCMShareResourceInfo.ProtoReflect.Descriptor instead.
func (*OCMShareResourceInfo) Descriptor() ([]byte, []int) {
return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{5}
}
func (x *OCMShareResourceInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *OCMShareResourceInfo) GetOcmShare() *v1beta14.Share {
if x != nil {
return x.OcmShare
}
return nil
}
func (x *OCMShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo {
if x != nil {
return x.ResourceInfo
}
return nil
}
var File_cs3_gateway_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_gateway_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x23, 0x63, 0x73, 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33,
0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e,
0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d,
0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02,
0x0a, 0x12, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x13,
0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
0x79, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x14,
0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x3e, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c,
0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12,
0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f,
0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x22, 0xf8, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61,
0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31,
0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x68,
0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65,
0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63,
0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x17,
0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c,
0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53,
0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x14, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61,
0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31,
0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6f, 0x63, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69,
0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x68, 0x61, 0x72, 0x65, 0x52, 0x08, 0x6f, 0x63, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f,
0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42,
0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67,
0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f,
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02,
0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x73, 0x33, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x73, 0x33,
0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0xe2, 0x02, 0x1f, 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_cs3_gateway_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_gateway_v1beta1_resources_proto_rawDescData = file_cs3_gateway_v1beta1_resources_proto_rawDesc
)
func file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_gateway_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_gateway_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_gateway_v1beta1_resources_proto_rawDescData)
})
return file_cs3_gateway_v1beta1_resources_proto_rawDescData
}
var file_cs3_gateway_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_gateway_v1beta1_resources_proto_goTypes = []interface{}{
(*FileUploadProtocol)(nil), // 0: cs3.gateway.v1beta1.FileUploadProtocol
(*FileDownloadProtocol)(nil), // 1: cs3.gateway.v1beta1.FileDownloadProtocol
(*ShareResourceInfo)(nil), // 2: cs3.gateway.v1beta1.ShareResourceInfo
(*ReceivedShareResourceInfo)(nil), // 3: cs3.gateway.v1beta1.ReceivedShareResourceInfo
(*PublicShareResourceInfo)(nil), // 4: cs3.gateway.v1beta1.PublicShareResourceInfo
(*OCMShareResourceInfo)(nil), // 5: cs3.gateway.v1beta1.OCMShareResourceInfo
(*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque
(*v1beta11.ResourceChecksumPriority)(nil), // 7: cs3.storage.provider.v1beta1.ResourceChecksumPriority
(*v1beta12.Share)(nil), // 8: cs3.sharing.collaboration.v1beta1.Share
(*v1beta11.ResourceInfo)(nil), // 9: cs3.storage.provider.v1beta1.ResourceInfo
(*v1beta12.ReceivedShare)(nil), // 10: cs3.sharing.collaboration.v1beta1.ReceivedShare
(*v1beta13.PublicShare)(nil), // 11: cs3.sharing.link.v1beta1.PublicShare
(*v1beta14.Share)(nil), // 12: cs3.sharing.ocm.v1beta1.Share
}
var file_cs3_gateway_v1beta1_resources_proto_depIdxs = []int32{
6, // 0: cs3.gateway.v1beta1.FileUploadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 1: cs3.gateway.v1beta1.FileUploadProtocol.available_checksums:type_name -> cs3.storage.provider.v1beta1.ResourceChecksumPriority
6, // 2: cs3.gateway.v1beta1.FileDownloadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 3: cs3.gateway.v1beta1.ShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 4: cs3.gateway.v1beta1.ShareResourceInfo.share:type_name -> cs3.sharing.collaboration.v1beta1.Share
9, // 5: cs3.gateway.v1beta1.ShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo
6, // 6: cs3.gateway.v1beta1.ReceivedShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
10, // 7: cs3.gateway.v1beta1.ReceivedShareResourceInfo.received_share:type_name -> cs3.sharing.collaboration.v1beta1.ReceivedShare
9, // 8: cs3.gateway.v1beta1.ReceivedShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo
6, // 9: cs3.gateway.v1beta1.PublicShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
11, // 10: cs3.gateway.v1beta1.PublicShareResourceInfo.public_share:type_name -> cs3.sharing.link.v1beta1.PublicShare
9, // 11: cs3.gateway.v1beta1.PublicShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo
6, // 12: cs3.gateway.v1beta1.OCMShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
12, // 13: cs3.gateway.v1beta1.OCMShareResourceInfo.ocm_share:type_name -> cs3.sharing.ocm.v1beta1.Share
9, // 14: cs3.gateway.v1beta1.OCMShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_cs3_gateway_v1beta1_resources_proto_init() }
func file_cs3_gateway_v1beta1_resources_proto_init() {
if File_cs3_gateway_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_gateway_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileUploadProtocol); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_gateway_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileDownloadProtocol); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_gateway_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShareResourceInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_gateway_v1beta1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReceivedShareResourceInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_gateway_v1beta1_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareResourceInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_gateway_v1beta1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OCMShareResourceInfo); 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_cs3_gateway_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_gateway_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_gateway_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_gateway_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_gateway_v1beta1_resources_proto = out.File
file_cs3_gateway_v1beta1_resources_proto_rawDesc = nil
file_cs3_gateway_v1beta1_resources_proto_goTypes = nil
file_cs3_gateway_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,285 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/identity/group/v1beta1/group_api.proto
package groupv1beta1
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
const (
GroupAPI_GetGroup_FullMethodName = "/cs3.identity.group.v1beta1.GroupAPI/GetGroup"
GroupAPI_GetGroupByClaim_FullMethodName = "/cs3.identity.group.v1beta1.GroupAPI/GetGroupByClaim"
GroupAPI_GetMembers_FullMethodName = "/cs3.identity.group.v1beta1.GroupAPI/GetMembers"
GroupAPI_HasMember_FullMethodName = "/cs3.identity.group.v1beta1.GroupAPI/HasMember"
GroupAPI_FindGroups_FullMethodName = "/cs3.identity.group.v1beta1.GroupAPI/FindGroups"
)
// GroupAPIClient is the client API for GroupAPI 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 GroupAPIClient interface {
// Gets the information about a group by the group id.
GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*GetGroupResponse, error)
// Gets the information about a group based on a specified claim.
GetGroupByClaim(ctx context.Context, in *GetGroupByClaimRequest, opts ...grpc.CallOption) (*GetGroupByClaimResponse, error)
// Gets the members of a group.
GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersResponse, error)
// Tells if the group has certain member.
HasMember(ctx context.Context, in *HasMemberRequest, opts ...grpc.CallOption) (*HasMemberResponse, error)
// Finds groups whose names match the specified filters.
// MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses.
FindGroups(ctx context.Context, in *FindGroupsRequest, opts ...grpc.CallOption) (*FindGroupsResponse, error)
}
type groupAPIClient struct {
cc grpc.ClientConnInterface
}
func NewGroupAPIClient(cc grpc.ClientConnInterface) GroupAPIClient {
return &groupAPIClient{cc}
}
func (c *groupAPIClient) GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*GetGroupResponse, error) {
out := new(GetGroupResponse)
err := c.cc.Invoke(ctx, GroupAPI_GetGroup_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupAPIClient) GetGroupByClaim(ctx context.Context, in *GetGroupByClaimRequest, opts ...grpc.CallOption) (*GetGroupByClaimResponse, error) {
out := new(GetGroupByClaimResponse)
err := c.cc.Invoke(ctx, GroupAPI_GetGroupByClaim_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupAPIClient) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersResponse, error) {
out := new(GetMembersResponse)
err := c.cc.Invoke(ctx, GroupAPI_GetMembers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupAPIClient) HasMember(ctx context.Context, in *HasMemberRequest, opts ...grpc.CallOption) (*HasMemberResponse, error) {
out := new(HasMemberResponse)
err := c.cc.Invoke(ctx, GroupAPI_HasMember_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupAPIClient) FindGroups(ctx context.Context, in *FindGroupsRequest, opts ...grpc.CallOption) (*FindGroupsResponse, error) {
out := new(FindGroupsResponse)
err := c.cc.Invoke(ctx, GroupAPI_FindGroups_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// GroupAPIServer is the server API for GroupAPI service.
// All implementations should embed UnimplementedGroupAPIServer
// for forward compatibility
type GroupAPIServer interface {
// Gets the information about a group by the group id.
GetGroup(context.Context, *GetGroupRequest) (*GetGroupResponse, error)
// Gets the information about a group based on a specified claim.
GetGroupByClaim(context.Context, *GetGroupByClaimRequest) (*GetGroupByClaimResponse, error)
// Gets the members of a group.
GetMembers(context.Context, *GetMembersRequest) (*GetMembersResponse, error)
// Tells if the group has certain member.
HasMember(context.Context, *HasMemberRequest) (*HasMemberResponse, error)
// Finds groups whose names match the specified filters.
// MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses.
FindGroups(context.Context, *FindGroupsRequest) (*FindGroupsResponse, error)
}
// UnimplementedGroupAPIServer should be embedded to have forward compatible implementations.
type UnimplementedGroupAPIServer struct {
}
func (UnimplementedGroupAPIServer) GetGroup(context.Context, *GetGroupRequest) (*GetGroupResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented")
}
func (UnimplementedGroupAPIServer) GetGroupByClaim(context.Context, *GetGroupByClaimRequest) (*GetGroupByClaimResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetGroupByClaim not implemented")
}
func (UnimplementedGroupAPIServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented")
}
func (UnimplementedGroupAPIServer) HasMember(context.Context, *HasMemberRequest) (*HasMemberResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method HasMember not implemented")
}
func (UnimplementedGroupAPIServer) FindGroups(context.Context, *FindGroupsRequest) (*FindGroupsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindGroups not implemented")
}
// UnsafeGroupAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to GroupAPIServer will
// result in compilation errors.
type UnsafeGroupAPIServer interface {
mustEmbedUnimplementedGroupAPIServer()
}
func RegisterGroupAPIServer(s grpc.ServiceRegistrar, srv GroupAPIServer) {
s.RegisterService(&GroupAPI_ServiceDesc, srv)
}
func _GroupAPI_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetGroupRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupAPIServer).GetGroup(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: GroupAPI_GetGroup_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupAPIServer).GetGroup(ctx, req.(*GetGroupRequest))
}
return interceptor(ctx, in, info, handler)
}
func _GroupAPI_GetGroupByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetGroupByClaimRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupAPIServer).GetGroupByClaim(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: GroupAPI_GetGroupByClaim_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupAPIServer).GetGroupByClaim(ctx, req.(*GetGroupByClaimRequest))
}
return interceptor(ctx, in, info, handler)
}
func _GroupAPI_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMembersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupAPIServer).GetMembers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: GroupAPI_GetMembers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupAPIServer).GetMembers(ctx, req.(*GetMembersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _GroupAPI_HasMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(HasMemberRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupAPIServer).HasMember(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: GroupAPI_HasMember_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupAPIServer).HasMember(ctx, req.(*HasMemberRequest))
}
return interceptor(ctx, in, info, handler)
}
func _GroupAPI_FindGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindGroupsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupAPIServer).FindGroups(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: GroupAPI_FindGroups_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupAPIServer).FindGroups(ctx, req.(*FindGroupsRequest))
}
return interceptor(ctx, in, info, handler)
}
// GroupAPI_ServiceDesc is the grpc.ServiceDesc for GroupAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var GroupAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.identity.group.v1beta1.GroupAPI",
HandlerType: (*GroupAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetGroup",
Handler: _GroupAPI_GetGroup_Handler,
},
{
MethodName: "GetGroupByClaim",
Handler: _GroupAPI_GetGroupByClaim_Handler,
},
{
MethodName: "GetMembers",
Handler: _GroupAPI_GetMembers_Handler,
},
{
MethodName: "HasMember",
Handler: _GroupAPI_HasMember_Handler,
},
{
MethodName: "FindGroups",
Handler: _GroupAPI_FindGroups_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/identity/group/v1beta1/group_api.proto",
}
@@ -0,0 +1,435 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/identity/group/v1beta1/resources.proto
package groupv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// The type of group.
type GroupType int32
const (
// The group is invalid.
GroupType_GROUP_TYPE_INVALID GroupType = 0
// A regular group.
GroupType_GROUP_TYPE_REGULAR GroupType = 1
// A federated group provided by external IDPs.
GroupType_GROUP_TYPE_FEDERATED GroupType = 2
)
// Enum value maps for GroupType.
var (
GroupType_name = map[int32]string{
0: "GROUP_TYPE_INVALID",
1: "GROUP_TYPE_REGULAR",
2: "GROUP_TYPE_FEDERATED",
}
GroupType_value = map[string]int32{
"GROUP_TYPE_INVALID": 0,
"GROUP_TYPE_REGULAR": 1,
"GROUP_TYPE_FEDERATED": 2,
}
)
func (x GroupType) Enum() *GroupType {
p := new(GroupType)
*p = x
return p
}
func (x GroupType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GroupType) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_identity_group_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (GroupType) Type() protoreflect.EnumType {
return &file_cs3_identity_group_v1beta1_resources_proto_enumTypes[0]
}
func (x GroupType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GroupType.Descriptor instead.
func (GroupType) EnumDescriptor() ([]byte, []int) {
return file_cs3_identity_group_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
// A GroupId represents a group.
type GroupId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The identity provider for the group.
Idp string `protobuf:"bytes,1,opt,name=idp,proto3" json:"idp,omitempty"`
// REQUIRED.
// the unique identifier for the group in the scope of
// the identity provider.
OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
// OPTIONAL.
// The type of group.
Type GroupType `protobuf:"varint,3,opt,name=type,proto3,enum=cs3.identity.group.v1beta1.GroupType" json:"type,omitempty"`
}
func (x *GroupId) Reset() {
*x = GroupId{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_group_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupId) ProtoMessage() {}
func (x *GroupId) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_group_v1beta1_resources_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 GroupId.ProtoReflect.Descriptor instead.
func (*GroupId) Descriptor() ([]byte, []int) {
return file_cs3_identity_group_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *GroupId) GetIdp() string {
if x != nil {
return x.Idp
}
return ""
}
func (x *GroupId) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
func (x *GroupId) GetType() GroupType {
if x != nil {
return x.Type
}
return GroupType_GROUP_TYPE_INVALID
}
// Represents a group known by the system.
type Group struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The unique identifier of this group.
Id *GroupId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
// A human-friendly unique identifier of this group.
GroupName string `protobuf:"bytes,2,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
// OPTIONAL.
// The group id of this group in the Unix world.
GidNumber int64 `protobuf:"varint,3,opt,name=gid_number,json=gidNumber,proto3" json:"gid_number,omitempty"`
// OPTIONAL.
// The e-mail address of this group if available.
Mail string `protobuf:"bytes,4,opt,name=mail,proto3" json:"mail,omitempty"`
// OPTIONAL.
// Whether the e-mail address was verified by the IDP.
MailVerified bool `protobuf:"varint,5,opt,name=mail_verified,json=mailVerified,proto3" json:"mail_verified,omitempty"`
// OPTIONAL.
// A human-friendly display name for this group, e.g. "Foo Group"
DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// OPTIONAL.
// The list of users that are members of this group.
Members []*v1beta1.UserId `protobuf:"bytes,7,rep,name=members,proto3" json:"members,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta11.Opaque `protobuf:"bytes,8,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *Group) Reset() {
*x = Group{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_group_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Group) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Group) ProtoMessage() {}
func (x *Group) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_group_v1beta1_resources_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 Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
return file_cs3_identity_group_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *Group) GetId() *GroupId {
if x != nil {
return x.Id
}
return nil
}
func (x *Group) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *Group) GetGidNumber() int64 {
if x != nil {
return x.GidNumber
}
return 0
}
func (x *Group) GetMail() string {
if x != nil {
return x.Mail
}
return ""
}
func (x *Group) GetMailVerified() bool {
if x != nil {
return x.MailVerified
}
return false
}
func (x *Group) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Group) GetMembers() []*v1beta1.UserId {
if x != nil {
return x.Members
}
return nil
}
func (x *Group) GetOpaque() *v1beta11.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
var File_cs3_identity_group_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_identity_group_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x2a, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x73,
0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x73, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x10, 0x0a,
0x03, 0x69, 0x64, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x70, 0x12,
0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70,
0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x12, 0x33, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x69, 0x64, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6c,
0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x21, 0x0a,
0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x2a, 0x55, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x01, 0x12, 0x18, 0x0a,
0x14, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x44, 0x45,
0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x42, 0x81, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f,
0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x47, 0xaa, 0x02, 0x1a, 0x43, 0x73, 0x33, 0x2e, 0x49,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1a, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xe2, 0x02, 0x26, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x73,
0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_cs3_identity_group_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_identity_group_v1beta1_resources_proto_rawDescData = file_cs3_identity_group_v1beta1_resources_proto_rawDesc
)
func file_cs3_identity_group_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_identity_group_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_identity_group_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_group_v1beta1_resources_proto_rawDescData)
})
return file_cs3_identity_group_v1beta1_resources_proto_rawDescData
}
var file_cs3_identity_group_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cs3_identity_group_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_identity_group_v1beta1_resources_proto_goTypes = []interface{}{
(GroupType)(0), // 0: cs3.identity.group.v1beta1.GroupType
(*GroupId)(nil), // 1: cs3.identity.group.v1beta1.GroupId
(*Group)(nil), // 2: cs3.identity.group.v1beta1.Group
(*v1beta1.UserId)(nil), // 3: cs3.identity.user.v1beta1.UserId
(*v1beta11.Opaque)(nil), // 4: cs3.types.v1beta1.Opaque
}
var file_cs3_identity_group_v1beta1_resources_proto_depIdxs = []int32{
0, // 0: cs3.identity.group.v1beta1.GroupId.type:type_name -> cs3.identity.group.v1beta1.GroupType
1, // 1: cs3.identity.group.v1beta1.Group.id:type_name -> cs3.identity.group.v1beta1.GroupId
3, // 2: cs3.identity.group.v1beta1.Group.members:type_name -> cs3.identity.user.v1beta1.UserId
4, // 3: cs3.identity.group.v1beta1.Group.opaque:type_name -> cs3.types.v1beta1.Opaque
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_cs3_identity_group_v1beta1_resources_proto_init() }
func file_cs3_identity_group_v1beta1_resources_proto_init() {
if File_cs3_identity_group_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_identity_group_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_group_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Group); 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_cs3_identity_group_v1beta1_resources_proto_rawDesc,
NumEnums: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_identity_group_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_identity_group_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_identity_group_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_identity_group_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_identity_group_v1beta1_resources_proto = out.File
file_cs3_identity_group_v1beta1_resources_proto_rawDesc = nil
file_cs3_identity_group_v1beta1_resources_proto_goTypes = nil
file_cs3_identity_group_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,209 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/identity/tenant/v1beta1/resources.proto
package tenantv1beta1
import (
_ "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// A Tenant represents an isolated organization. Users can be member of
// exactly one tenant. Members of different tenants are unable to access
// each others resources.
type Tenant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The unique identifier of the tenant. This is a UUID
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// OPTIONAL
// The name of the Tenant
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// OPTIONAL
// An external identifier to able to lookup Tenants by externally managed IDs
ExternalId string `protobuf:"bytes,3,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
}
func (x *Tenant) Reset() {
*x = Tenant{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Tenant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Tenant) ProtoMessage() {}
func (x *Tenant) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_tenant_v1beta1_resources_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 Tenant.ProtoReflect.Descriptor instead.
func (*Tenant) Descriptor() ([]byte, []int) {
return file_cs3_identity_tenant_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *Tenant) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Tenant) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Tenant) GetExternalId() string {
if x != nil {
return x.ExternalId
}
return ""
}
var File_cs3_identity_tenant_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x63,
0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f,
0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x06, 0x54, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72,
0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33,
0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x54, 0xaa, 0x02, 0x1b, 0x43,
0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x73, 0x33,
0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x73, 0x33, 0x5c, 0x49,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0xea, 0x02, 0x1e, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_identity_tenant_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData = file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc
)
func file_cs3_identity_tenant_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_identity_tenant_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData)
})
return file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData
}
var file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_identity_tenant_v1beta1_resources_proto_goTypes = []interface{}{
(*Tenant)(nil), // 0: cs3.identity.tenant.v1beta1.Tenant
}
var file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_cs3_identity_tenant_v1beta1_resources_proto_init() }
func file_cs3_identity_tenant_v1beta1_resources_proto_init() {
if File_cs3_identity_tenant_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Tenant); 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_cs3_identity_tenant_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_identity_tenant_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_identity_tenant_v1beta1_resources_proto = out.File
file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc = nil
file_cs3_identity_tenant_v1beta1_resources_proto_goTypes = nil
file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,454 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/identity/tenant/v1beta1/tenant_api.proto
package tenantv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
_ "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type GetTenantRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The id of the tenant.
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
}
func (x *GetTenantRequest) Reset() {
*x = GetTenantRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTenantRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTenantRequest) ProtoMessage() {}
func (x *GetTenantRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_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 GetTenantRequest.ProtoReflect.Descriptor instead.
func (*GetTenantRequest) Descriptor() ([]byte, []int) {
return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{0}
}
func (x *GetTenantRequest) GetTenantId() string {
if x != nil {
return x.TenantId
}
return ""
}
type GetTenantResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// REQUIRED.
// The tenant information.
Tenant *Tenant `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"`
}
func (x *GetTenantResponse) Reset() {
*x = GetTenantResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTenantResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTenantResponse) ProtoMessage() {}
func (x *GetTenantResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_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 GetTenantResponse.ProtoReflect.Descriptor instead.
func (*GetTenantResponse) Descriptor() ([]byte, []int) {
return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{1}
}
func (x *GetTenantResponse) GetStatus() *v1beta1.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetTenantResponse) GetTenant() *Tenant {
if x != nil {
return x.Tenant
}
return nil
}
type GetTenantByClaimRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The claim on the basis of which users will be filtered.
Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"`
// REQUIRED.
// The value of the claim to find the specific user.
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *GetTenantByClaimRequest) Reset() {
*x = GetTenantByClaimRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTenantByClaimRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTenantByClaimRequest) ProtoMessage() {}
func (x *GetTenantByClaimRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_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 GetTenantByClaimRequest.ProtoReflect.Descriptor instead.
func (*GetTenantByClaimRequest) Descriptor() ([]byte, []int) {
return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{2}
}
func (x *GetTenantByClaimRequest) GetClaim() string {
if x != nil {
return x.Claim
}
return ""
}
func (x *GetTenantByClaimRequest) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
type GetTenantByClaimResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// REQUIRED.
// The tenant information.
Tenant *Tenant `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"`
}
func (x *GetTenantByClaimResponse) Reset() {
*x = GetTenantByClaimResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTenantByClaimResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTenantByClaimResponse) ProtoMessage() {}
func (x *GetTenantByClaimResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_tenant_v1beta1_tenant_api_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 GetTenantByClaimResponse.ProtoReflect.Descriptor instead.
func (*GetTenantByClaimResponse) Descriptor() ([]byte, []int) {
return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{3}
}
func (x *GetTenantByClaimResponse) GetStatus() *v1beta1.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetTenantByClaimResponse) GetTenant() *Tenant {
if x != nil {
return x.Tenant
}
return nil
}
var File_cs3_identity_tenant_v1beta1_tenant_api_proto protoreflect.FileDescriptor
var file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc = []byte{
0x0a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2b, 0x63, 0x73, 0x33,
0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70,
0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a,
0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x45, 0x0a, 0x17, 0x47, 0x65,
0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42,
0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x3b, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x32, 0xf8, 0x01, 0x0a,
0x09, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x41, 0x50, 0x49, 0x12, 0x6a, 0x0a, 0x09, 0x47, 0x65,
0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61,
0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x54, 0x65, 0x6e,
0x61, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67,
0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x54, 0xaa, 0x02, 0x1b, 0x43, 0x73,
0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x5c,
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x1e, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescOnce sync.Once
file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData = file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc
)
func file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP() []byte {
file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescOnce.Do(func() {
file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData)
})
return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData
}
var file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes = []interface{}{
(*GetTenantRequest)(nil), // 0: cs3.identity.tenant.v1beta1.GetTenantRequest
(*GetTenantResponse)(nil), // 1: cs3.identity.tenant.v1beta1.GetTenantResponse
(*GetTenantByClaimRequest)(nil), // 2: cs3.identity.tenant.v1beta1.GetTenantByClaimRequest
(*GetTenantByClaimResponse)(nil), // 3: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse
(*v1beta1.Status)(nil), // 4: cs3.rpc.v1beta1.Status
(*Tenant)(nil), // 5: cs3.identity.tenant.v1beta1.Tenant
}
var file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs = []int32{
4, // 0: cs3.identity.tenant.v1beta1.GetTenantResponse.status:type_name -> cs3.rpc.v1beta1.Status
5, // 1: cs3.identity.tenant.v1beta1.GetTenantResponse.tenant:type_name -> cs3.identity.tenant.v1beta1.Tenant
4, // 2: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse.status:type_name -> cs3.rpc.v1beta1.Status
5, // 3: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse.tenant:type_name -> cs3.identity.tenant.v1beta1.Tenant
0, // 4: cs3.identity.tenant.v1beta1.TenantAPI.GetTenant:input_type -> cs3.identity.tenant.v1beta1.GetTenantRequest
2, // 5: cs3.identity.tenant.v1beta1.TenantAPI.GetTenantByClaim:input_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimRequest
1, // 6: cs3.identity.tenant.v1beta1.TenantAPI.GetTenant:output_type -> cs3.identity.tenant.v1beta1.GetTenantResponse
3, // 7: cs3.identity.tenant.v1beta1.TenantAPI.GetTenantByClaim:output_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimResponse
6, // [6:8] is the sub-list for method output_type
4, // [4:6] 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_cs3_identity_tenant_v1beta1_tenant_api_proto_init() }
func file_cs3_identity_tenant_v1beta1_tenant_api_proto_init() {
if File_cs3_identity_tenant_v1beta1_tenant_api_proto != nil {
return
}
file_cs3_identity_tenant_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTenantRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTenantResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTenantByClaimRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTenantByClaimResponse); 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_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes,
DependencyIndexes: file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs,
MessageInfos: file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes,
}.Build()
File_cs3_identity_tenant_v1beta1_tenant_api_proto = out.File
file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc = nil
file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes = nil
file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs = nil
}
@@ -0,0 +1,166 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/identity/tenant/v1beta1/tenant_api.proto
package tenantv1beta1
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
const (
TenantAPI_GetTenant_FullMethodName = "/cs3.identity.tenant.v1beta1.TenantAPI/GetTenant"
TenantAPI_GetTenantByClaim_FullMethodName = "/cs3.identity.tenant.v1beta1.TenantAPI/GetTenantByClaim"
)
// TenantAPIClient is the client API for TenantAPI 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 TenantAPIClient interface {
// Gets the information about a Tenant by the tenant id.
GetTenant(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error)
// Gets the information about a Tenant based on a specified claim.
GetTenantByClaim(ctx context.Context, in *GetTenantByClaimRequest, opts ...grpc.CallOption) (*GetTenantByClaimResponse, error)
}
type tenantAPIClient struct {
cc grpc.ClientConnInterface
}
func NewTenantAPIClient(cc grpc.ClientConnInterface) TenantAPIClient {
return &tenantAPIClient{cc}
}
func (c *tenantAPIClient) GetTenant(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error) {
out := new(GetTenantResponse)
err := c.cc.Invoke(ctx, TenantAPI_GetTenant_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *tenantAPIClient) GetTenantByClaim(ctx context.Context, in *GetTenantByClaimRequest, opts ...grpc.CallOption) (*GetTenantByClaimResponse, error) {
out := new(GetTenantByClaimResponse)
err := c.cc.Invoke(ctx, TenantAPI_GetTenantByClaim_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// TenantAPIServer is the server API for TenantAPI service.
// All implementations should embed UnimplementedTenantAPIServer
// for forward compatibility
type TenantAPIServer interface {
// Gets the information about a Tenant by the tenant id.
GetTenant(context.Context, *GetTenantRequest) (*GetTenantResponse, error)
// Gets the information about a Tenant based on a specified claim.
GetTenantByClaim(context.Context, *GetTenantByClaimRequest) (*GetTenantByClaimResponse, error)
}
// UnimplementedTenantAPIServer should be embedded to have forward compatible implementations.
type UnimplementedTenantAPIServer struct {
}
func (UnimplementedTenantAPIServer) GetTenant(context.Context, *GetTenantRequest) (*GetTenantResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTenant not implemented")
}
func (UnimplementedTenantAPIServer) GetTenantByClaim(context.Context, *GetTenantByClaimRequest) (*GetTenantByClaimResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTenantByClaim not implemented")
}
// UnsafeTenantAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to TenantAPIServer will
// result in compilation errors.
type UnsafeTenantAPIServer interface {
mustEmbedUnimplementedTenantAPIServer()
}
func RegisterTenantAPIServer(s grpc.ServiceRegistrar, srv TenantAPIServer) {
s.RegisterService(&TenantAPI_ServiceDesc, srv)
}
func _TenantAPI_GetTenant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTenantRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TenantAPIServer).GetTenant(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TenantAPI_GetTenant_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantAPIServer).GetTenant(ctx, req.(*GetTenantRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TenantAPI_GetTenantByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTenantByClaimRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TenantAPIServer).GetTenantByClaim(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TenantAPI_GetTenantByClaim_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantAPIServer).GetTenantByClaim(ctx, req.(*GetTenantByClaimRequest))
}
return interceptor(ctx, in, info, handler)
}
// TenantAPI_ServiceDesc is the grpc.ServiceDesc for TenantAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TenantAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.identity.tenant.v1beta1.TenantAPI",
HandlerType: (*TenantAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetTenant",
Handler: _TenantAPI_GetTenant_Handler,
},
{
MethodName: "GetTenantByClaim",
Handler: _TenantAPI_GetTenantByClaim_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/identity/tenant/v1beta1/tenant_api.proto",
}
@@ -0,0 +1,660 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/identity/user/v1beta1/resources.proto
package userv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// The type of user.
type UserType int32
const (
// The user is invalid, for example, is missing primary attributes.
UserType_USER_TYPE_INVALID UserType = 0
// A primary user.
UserType_USER_TYPE_PRIMARY UserType = 1
// A secondary user for cases with multiple identities.
UserType_USER_TYPE_SECONDARY UserType = 2
// A user catering to specific services.
UserType_USER_TYPE_SERVICE UserType = 3
// A user to be used by specific applications.
UserType_USER_TYPE_APPLICATION UserType = 4
// A guest user not affiliated to the IDP.
UserType_USER_TYPE_GUEST UserType = 5
// A federated user provided by external IDPs.
UserType_USER_TYPE_FEDERATED UserType = 6
// A lightweight user account without access to various major functionalities.
UserType_USER_TYPE_LIGHTWEIGHT UserType = 7
// A space owner to allow access for public link or content indexing.
UserType_USER_TYPE_SPACE_OWNER UserType = 8
)
// Enum value maps for UserType.
var (
UserType_name = map[int32]string{
0: "USER_TYPE_INVALID",
1: "USER_TYPE_PRIMARY",
2: "USER_TYPE_SECONDARY",
3: "USER_TYPE_SERVICE",
4: "USER_TYPE_APPLICATION",
5: "USER_TYPE_GUEST",
6: "USER_TYPE_FEDERATED",
7: "USER_TYPE_LIGHTWEIGHT",
8: "USER_TYPE_SPACE_OWNER",
}
UserType_value = map[string]int32{
"USER_TYPE_INVALID": 0,
"USER_TYPE_PRIMARY": 1,
"USER_TYPE_SECONDARY": 2,
"USER_TYPE_SERVICE": 3,
"USER_TYPE_APPLICATION": 4,
"USER_TYPE_GUEST": 5,
"USER_TYPE_FEDERATED": 6,
"USER_TYPE_LIGHTWEIGHT": 7,
"USER_TYPE_SPACE_OWNER": 8,
}
)
func (x UserType) Enum() *UserType {
p := new(UserType)
*p = x
return p
}
func (x UserType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (UserType) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_identity_user_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (UserType) Type() protoreflect.EnumType {
return &file_cs3_identity_user_v1beta1_resources_proto_enumTypes[0]
}
func (x UserType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use UserType.Descriptor instead.
func (UserType) EnumDescriptor() ([]byte, []int) {
return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
// The status of a user.
type UserStatus int32
const (
// The user is active and allowed to log in.
UserStatus_USER_STATUS_ACTIVE UserStatus = 0
// The user can log in but its validity is about to expire.
// The actual grace period the user is granted depends on its tenant's policy.
UserStatus_USER_STATUS_EXPIRING UserStatus = 1
// The user is valid but it has been blocked from login in its tenant.
UserStatus_USER_STATUS_BLOCKED UserStatus = 2
)
// Enum value maps for UserStatus.
var (
UserStatus_name = map[int32]string{
0: "USER_STATUS_ACTIVE",
1: "USER_STATUS_EXPIRING",
2: "USER_STATUS_BLOCKED",
}
UserStatus_value = map[string]int32{
"USER_STATUS_ACTIVE": 0,
"USER_STATUS_EXPIRING": 1,
"USER_STATUS_BLOCKED": 2,
}
)
func (x UserStatus) Enum() *UserStatus {
p := new(UserStatus)
*p = x
return p
}
func (x UserStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (UserStatus) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_identity_user_v1beta1_resources_proto_enumTypes[1].Descriptor()
}
func (UserStatus) Type() protoreflect.EnumType {
return &file_cs3_identity_user_v1beta1_resources_proto_enumTypes[1]
}
func (x UserStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use UserStatus.Descriptor instead.
func (UserStatus) EnumDescriptor() ([]byte, []int) {
return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
// ExternalIdentity represents an external identifier of a user.
// This can be populated when multiple identities collapse onto
// the same user, for example when signing in with e-mail or with
// an SSO using an account with the same e-mail.
type ExternalIdentity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The identity provider for the user.
Idp string `protobuf:"bytes,1,opt,name=idp,proto3" json:"idp,omitempty"`
// REQUIRED.
// the unique identifier for the user in the scope of
// the identity provider.
OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
}
func (x *ExternalIdentity) Reset() {
*x = ExternalIdentity{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExternalIdentity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalIdentity) ProtoMessage() {}
func (x *ExternalIdentity) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_user_v1beta1_resources_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 ExternalIdentity.ProtoReflect.Descriptor instead.
func (*ExternalIdentity) Descriptor() ([]byte, []int) {
return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *ExternalIdentity) GetIdp() string {
if x != nil {
return x.Idp
}
return ""
}
func (x *ExternalIdentity) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
// A UserId represents a unique identifier of a user.
type UserId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The identity provider for the user.
Idp string `protobuf:"bytes,1,opt,name=idp,proto3" json:"idp,omitempty"`
// REQUIRED.
// the unique identifier for the user in the scope of
// the identity provider.
OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
// REQUIRED.
// The type of user.
Type UserType `protobuf:"varint,3,opt,name=type,proto3,enum=cs3.identity.user.v1beta1.UserType" json:"type,omitempty"`
// OPTIONAL.
// The tenant id of the user, if applicable.
// This is used to identify users in multi-tenant systems.
TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
// OPTIONAL.
// External identities of the user, if applicable.
// This is used to track identities of the same user on multiple systems.
ExternalIdentities []*ExternalIdentity `protobuf:"bytes,5,rep,name=external_identities,json=externalIdentities,proto3" json:"external_identities,omitempty"`
}
func (x *UserId) Reset() {
*x = UserId{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserId) ProtoMessage() {}
func (x *UserId) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_user_v1beta1_resources_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 UserId.ProtoReflect.Descriptor instead.
func (*UserId) Descriptor() ([]byte, []int) {
return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *UserId) GetIdp() string {
if x != nil {
return x.Idp
}
return ""
}
func (x *UserId) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
func (x *UserId) GetType() UserType {
if x != nil {
return x.Type
}
return UserType_USER_TYPE_INVALID
}
func (x *UserId) GetTenantId() string {
if x != nil {
return x.TenantId
}
return ""
}
func (x *UserId) GetExternalIdentities() []*ExternalIdentity {
if x != nil {
return x.ExternalIdentities
}
return nil
}
// Represents a user of the system.
type User struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The unique identifier of this user.
Id *UserId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
// A human-friendly unique identifier of this user.
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
// OPTIONAL.
// The e-mail address of this user.
Mail string `protobuf:"bytes,3,opt,name=mail,proto3" json:"mail,omitempty"`
// OPTIONAL.
// Whether the e-mail address was verified by the IDP.
MailVerified bool `protobuf:"varint,4,opt,name=mail_verified,json=mailVerified,proto3" json:"mail_verified,omitempty"`
// OPTIONAL.
// A human-friendly display name for this user, e.g. "Family and First Name"
DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// OPTIONAL.
// A list of groups this user belongs to.
Groups []string `protobuf:"bytes,6,rep,name=groups,proto3" json:"groups,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,7,opt,name=opaque,proto3" json:"opaque,omitempty"`
// OPTIONAL.
// The user id of this user in the Unix world.
UidNumber int64 `protobuf:"varint,8,opt,name=uid_number,json=uidNumber,proto3" json:"uid_number,omitempty"`
// OPTIONAL.
// The group id of this user in the Unix world.
GidNumber int64 `protobuf:"varint,9,opt,name=gid_number,json=gidNumber,proto3" json:"gid_number,omitempty"`
// OPTIONAL.
// The status of this user in the tenant it belongs to.
// Useful for tenants implementing a users lifecycle,
// otherwise it defaults to ACTIVE.
Status UserStatus `protobuf:"varint,10,opt,name=status,proto3,enum=cs3.identity.user.v1beta1.UserStatus" json:"status,omitempty"`
}
func (x *User) Reset() {
*x = User{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *User) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*User) ProtoMessage() {}
func (x *User) ProtoReflect() protoreflect.Message {
mi := &file_cs3_identity_user_v1beta1_resources_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 User.ProtoReflect.Descriptor instead.
func (*User) Descriptor() ([]byte, []int) {
return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{2}
}
func (x *User) GetId() *UserId {
if x != nil {
return x.Id
}
return nil
}
func (x *User) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *User) GetMail() string {
if x != nil {
return x.Mail
}
return ""
}
func (x *User) GetMailVerified() bool {
if x != nil {
return x.MailVerified
}
return false
}
func (x *User) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *User) GetGroups() []string {
if x != nil {
return x.Groups
}
return nil
}
func (x *User) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *User) GetUidNumber() int64 {
if x != nil {
return x.UidNumber
}
return 0
}
func (x *User) GetGidNumber() int64 {
if x != nil {
return x.GidNumber
}
return 0
}
func (x *User) GetStatus() UserStatus {
if x != nil {
return x.Status
}
return UserStatus_USER_STATUS_ACTIVE
}
var File_cs3_identity_user_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_identity_user_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75,
0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x73, 0x33,
0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x06, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x69, 0x64, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x49, 0x64, 0x12, 0x37, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12,
0x31, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x02,
0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61,
0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66,
0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x56,
0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c,
0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x69, 0x64, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x2a, 0xe7, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56,
0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a,
0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e,
0x44, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a,
0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49,
0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x53, 0x45, 0x52,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x05, 0x12, 0x17, 0x0a,
0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x44, 0x45, 0x52,
0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10,
0x07, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
0x50, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x2a, 0x57, 0x0a, 0x0a,
0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53,
0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45,
0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13,
0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43,
0x4b, 0x45, 0x44, 0x10, 0x02, 0x42, 0xfa, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d,
0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03,
0x43, 0x49, 0x55, 0xaa, 0x02, 0x19, 0x43, 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca,
0x02, 0x19, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x55,
0x73, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73,
0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_identity_user_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_identity_user_v1beta1_resources_proto_rawDescData = file_cs3_identity_user_v1beta1_resources_proto_rawDesc
)
func file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_identity_user_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_identity_user_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_user_v1beta1_resources_proto_rawDescData)
})
return file_cs3_identity_user_v1beta1_resources_proto_rawDescData
}
var file_cs3_identity_user_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_cs3_identity_user_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_cs3_identity_user_v1beta1_resources_proto_goTypes = []interface{}{
(UserType)(0), // 0: cs3.identity.user.v1beta1.UserType
(UserStatus)(0), // 1: cs3.identity.user.v1beta1.UserStatus
(*ExternalIdentity)(nil), // 2: cs3.identity.user.v1beta1.ExternalIdentity
(*UserId)(nil), // 3: cs3.identity.user.v1beta1.UserId
(*User)(nil), // 4: cs3.identity.user.v1beta1.User
(*v1beta1.Opaque)(nil), // 5: cs3.types.v1beta1.Opaque
}
var file_cs3_identity_user_v1beta1_resources_proto_depIdxs = []int32{
0, // 0: cs3.identity.user.v1beta1.UserId.type:type_name -> cs3.identity.user.v1beta1.UserType
2, // 1: cs3.identity.user.v1beta1.UserId.external_identities:type_name -> cs3.identity.user.v1beta1.ExternalIdentity
3, // 2: cs3.identity.user.v1beta1.User.id:type_name -> cs3.identity.user.v1beta1.UserId
5, // 3: cs3.identity.user.v1beta1.User.opaque:type_name -> cs3.types.v1beta1.Opaque
1, // 4: cs3.identity.user.v1beta1.User.status:type_name -> cs3.identity.user.v1beta1.UserStatus
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_cs3_identity_user_v1beta1_resources_proto_init() }
func file_cs3_identity_user_v1beta1_resources_proto_init() {
if File_cs3_identity_user_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExternalIdentity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_identity_user_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*User); 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_cs3_identity_user_v1beta1_resources_proto_rawDesc,
NumEnums: 2,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_identity_user_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_identity_user_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_identity_user_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_identity_user_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_identity_user_v1beta1_resources_proto = out.File
file_cs3_identity_user_v1beta1_resources_proto_rawDesc = nil
file_cs3_identity_user_v1beta1_resources_proto_goTypes = nil
file_cs3_identity_user_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,246 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/identity/user/v1beta1/user_api.proto
package userv1beta1
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
const (
UserAPI_GetUser_FullMethodName = "/cs3.identity.user.v1beta1.UserAPI/GetUser"
UserAPI_GetUserByClaim_FullMethodName = "/cs3.identity.user.v1beta1.UserAPI/GetUserByClaim"
UserAPI_GetUserGroups_FullMethodName = "/cs3.identity.user.v1beta1.UserAPI/GetUserGroups"
UserAPI_FindUsers_FullMethodName = "/cs3.identity.user.v1beta1.UserAPI/FindUsers"
)
// UserAPIClient is the client API for UserAPI 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 UserAPIClient interface {
// Gets the information about a user by the user id.
GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error)
// Gets the information about a user based on a specified claim.
GetUserByClaim(ctx context.Context, in *GetUserByClaimRequest, opts ...grpc.CallOption) (*GetUserByClaimResponse, error)
// Gets the groups of a user.
GetUserGroups(ctx context.Context, in *GetUserGroupsRequest, opts ...grpc.CallOption) (*GetUserGroupsResponse, error)
// Finds users that match the specified filters.
// MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses.
FindUsers(ctx context.Context, in *FindUsersRequest, opts ...grpc.CallOption) (*FindUsersResponse, error)
}
type userAPIClient struct {
cc grpc.ClientConnInterface
}
func NewUserAPIClient(cc grpc.ClientConnInterface) UserAPIClient {
return &userAPIClient{cc}
}
func (c *userAPIClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error) {
out := new(GetUserResponse)
err := c.cc.Invoke(ctx, UserAPI_GetUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAPIClient) GetUserByClaim(ctx context.Context, in *GetUserByClaimRequest, opts ...grpc.CallOption) (*GetUserByClaimResponse, error) {
out := new(GetUserByClaimResponse)
err := c.cc.Invoke(ctx, UserAPI_GetUserByClaim_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAPIClient) GetUserGroups(ctx context.Context, in *GetUserGroupsRequest, opts ...grpc.CallOption) (*GetUserGroupsResponse, error) {
out := new(GetUserGroupsResponse)
err := c.cc.Invoke(ctx, UserAPI_GetUserGroups_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAPIClient) FindUsers(ctx context.Context, in *FindUsersRequest, opts ...grpc.CallOption) (*FindUsersResponse, error) {
out := new(FindUsersResponse)
err := c.cc.Invoke(ctx, UserAPI_FindUsers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserAPIServer is the server API for UserAPI service.
// All implementations should embed UnimplementedUserAPIServer
// for forward compatibility
type UserAPIServer interface {
// Gets the information about a user by the user id.
GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error)
// Gets the information about a user based on a specified claim.
GetUserByClaim(context.Context, *GetUserByClaimRequest) (*GetUserByClaimResponse, error)
// Gets the groups of a user.
GetUserGroups(context.Context, *GetUserGroupsRequest) (*GetUserGroupsResponse, error)
// Finds users that match the specified filters.
// MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses.
FindUsers(context.Context, *FindUsersRequest) (*FindUsersResponse, error)
}
// UnimplementedUserAPIServer should be embedded to have forward compatible implementations.
type UnimplementedUserAPIServer struct {
}
func (UnimplementedUserAPIServer) GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented")
}
func (UnimplementedUserAPIServer) GetUserByClaim(context.Context, *GetUserByClaimRequest) (*GetUserByClaimResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUserByClaim not implemented")
}
func (UnimplementedUserAPIServer) GetUserGroups(context.Context, *GetUserGroupsRequest) (*GetUserGroupsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUserGroups not implemented")
}
func (UnimplementedUserAPIServer) FindUsers(context.Context, *FindUsersRequest) (*FindUsersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindUsers not implemented")
}
// UnsafeUserAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to UserAPIServer will
// result in compilation errors.
type UnsafeUserAPIServer interface {
mustEmbedUnimplementedUserAPIServer()
}
func RegisterUserAPIServer(s grpc.ServiceRegistrar, srv UserAPIServer) {
s.RegisterService(&UserAPI_ServiceDesc, srv)
}
func _UserAPI_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAPIServer).GetUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserAPI_GetUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAPIServer).GetUser(ctx, req.(*GetUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAPI_GetUserByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserByClaimRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAPIServer).GetUserByClaim(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserAPI_GetUserByClaim_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAPIServer).GetUserByClaim(ctx, req.(*GetUserByClaimRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAPI_GetUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserGroupsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAPIServer).GetUserGroups(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserAPI_GetUserGroups_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAPIServer).GetUserGroups(ctx, req.(*GetUserGroupsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAPI_FindUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindUsersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAPIServer).FindUsers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserAPI_FindUsers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAPIServer).FindUsers(ctx, req.(*FindUsersRequest))
}
return interceptor(ctx, in, info, handler)
}
// UserAPI_ServiceDesc is the grpc.ServiceDesc for UserAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var UserAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.identity.user.v1beta1.UserAPI",
HandlerType: (*UserAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetUser",
Handler: _UserAPI_GetUser_Handler,
},
{
MethodName: "GetUserByClaim",
Handler: _UserAPI_GetUserByClaim_Handler,
},
{
MethodName: "GetUserGroups",
Handler: _UserAPI_GetUserGroups_Handler,
},
{
MethodName: "FindUsers",
Handler: _UserAPI_FindUsers_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/identity/user/v1beta1/user_api.proto",
}
@@ -0,0 +1,881 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/ocm/core/v1beta1/ocm_core_api.proto
package corev1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta14 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type CreateOCMCoreShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// OPTIONAL.
// Description for the share.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
// REQUIRED.
// Name of the resource (file or folder).
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
// REQUIRED.
// Identifier to identify the resource at the provider side. This is unique per provider.
ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
// REQUIRED.
// Provider specific identifier of the owner of the resource.
Owner *v1beta11.UserId `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
// REQUIRED.
// Provider specific identifier of the user that wants to share the resource.
Sender *v1beta11.UserId `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"`
// REQUIRED.
// Consumer specific identifier of the user or group the provider wants to share the resource with.
// This is known in advance, for example using the OCM invitation flow.
// Please note that the consumer service endpoint is known in advance as well, so this is no part of the request body.
// TODO: this field needs to represent either a user or group in the future, not only a user.
ShareWith *v1beta11.UserId `protobuf:"bytes,7,opt,name=share_with,json=shareWith,proto3" json:"share_with,omitempty"`
// REQUIRED.
// Resource type.
ResourceType v1beta12.ResourceType `protobuf:"varint,8,opt,name=resource_type,json=resourceType,proto3,enum=cs3.storage.provider.v1beta1.ResourceType" json:"resource_type,omitempty"`
// REQUIRED.
// Recipient share type.
ShareType v1beta13.ShareType `protobuf:"varint,9,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"`
// OPTIONAL.
// The expiration time for the OCM share.
Expiration *v1beta1.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"`
// REQUIRED.
// The protocols which are used to establish synchronisation,
// with their access rights.
// See also cs3/sharing/ocm/v1beta1/resources.proto for how to map
// this to the OCM share payload.
Protocols []*v1beta13.Protocol `protobuf:"bytes,11,rep,name=protocols,proto3" json:"protocols,omitempty"`
// OPTIONAL.
// A nonce to be exchanged for a (potentially short-lived) bearer token.
Code string `protobuf:"bytes,12,opt,name=code,proto3" json:"code,omitempty"`
}
func (x *CreateOCMCoreShareRequest) Reset() {
*x = CreateOCMCoreShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateOCMCoreShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateOCMCoreShareRequest) ProtoMessage() {}
func (x *CreateOCMCoreShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 CreateOCMCoreShareRequest.ProtoReflect.Descriptor instead.
func (*CreateOCMCoreShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{0}
}
func (x *CreateOCMCoreShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CreateOCMCoreShareRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateOCMCoreShareRequest) GetResourceId() string {
if x != nil {
return x.ResourceId
}
return ""
}
func (x *CreateOCMCoreShareRequest) GetOwner() *v1beta11.UserId {
if x != nil {
return x.Owner
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetSender() *v1beta11.UserId {
if x != nil {
return x.Sender
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetShareWith() *v1beta11.UserId {
if x != nil {
return x.ShareWith
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetResourceType() v1beta12.ResourceType {
if x != nil {
return x.ResourceType
}
return v1beta12.ResourceType(0)
}
func (x *CreateOCMCoreShareRequest) GetShareType() v1beta13.ShareType {
if x != nil {
return x.ShareType
}
return v1beta13.ShareType(0)
}
func (x *CreateOCMCoreShareRequest) GetExpiration() *v1beta1.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetProtocols() []*v1beta13.Protocol {
if x != nil {
return x.Protocols
}
return nil
}
func (x *CreateOCMCoreShareRequest) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
type CreateOCMCoreShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// Unique ID to identify the share at the consumer side.
Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
Created *v1beta1.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"`
}
func (x *CreateOCMCoreShareResponse) Reset() {
*x = CreateOCMCoreShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateOCMCoreShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateOCMCoreShareResponse) ProtoMessage() {}
func (x *CreateOCMCoreShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 CreateOCMCoreShareResponse.ProtoReflect.Descriptor instead.
func (*CreateOCMCoreShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{1}
}
func (x *CreateOCMCoreShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *CreateOCMCoreShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *CreateOCMCoreShareResponse) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *CreateOCMCoreShareResponse) GetCreated() *v1beta1.Timestamp {
if x != nil {
return x.Created
}
return nil
}
type UpdateOCMCoreShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// Unique ID to identify the share at the consumer side.
OcmShareId string `protobuf:"bytes,2,opt,name=ocm_share_id,json=ocmShareId,proto3" json:"ocm_share_id,omitempty"`
// OPTIONAL.
// Description for the share.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL.
// Recipient share type.
ShareType v1beta13.ShareType `protobuf:"varint,5,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"`
// OPTIONAL.
// The expiration time for the OCM share.
Expiration *v1beta1.Timestamp `protobuf:"bytes,6,opt,name=expiration,proto3" json:"expiration,omitempty"`
// OPTIONAL.
// The protocols which are used to establish synchronisation,
// with their access rights.
Protocols []*v1beta13.Protocol `protobuf:"bytes,7,rep,name=protocols,proto3" json:"protocols,omitempty"`
}
func (x *UpdateOCMCoreShareRequest) Reset() {
*x = UpdateOCMCoreShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateOCMCoreShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateOCMCoreShareRequest) ProtoMessage() {}
func (x *UpdateOCMCoreShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 UpdateOCMCoreShareRequest.ProtoReflect.Descriptor instead.
func (*UpdateOCMCoreShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{2}
}
func (x *UpdateOCMCoreShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *UpdateOCMCoreShareRequest) GetOcmShareId() string {
if x != nil {
return x.OcmShareId
}
return ""
}
func (x *UpdateOCMCoreShareRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *UpdateOCMCoreShareRequest) GetShareType() v1beta13.ShareType {
if x != nil {
return x.ShareType
}
return v1beta13.ShareType(0)
}
func (x *UpdateOCMCoreShareRequest) GetExpiration() *v1beta1.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *UpdateOCMCoreShareRequest) GetProtocols() []*v1beta13.Protocol {
if x != nil {
return x.Protocols
}
return nil
}
type UpdateOCMCoreShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *UpdateOCMCoreShareResponse) Reset() {
*x = UpdateOCMCoreShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateOCMCoreShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateOCMCoreShareResponse) ProtoMessage() {}
func (x *UpdateOCMCoreShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 UpdateOCMCoreShareResponse.ProtoReflect.Descriptor instead.
func (*UpdateOCMCoreShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateOCMCoreShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *UpdateOCMCoreShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type DeleteOCMCoreShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// Unique ID to identify the share at the consumer side.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *DeleteOCMCoreShareRequest) Reset() {
*x = DeleteOCMCoreShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteOCMCoreShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteOCMCoreShareRequest) ProtoMessage() {}
func (x *DeleteOCMCoreShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 DeleteOCMCoreShareRequest.ProtoReflect.Descriptor instead.
func (*DeleteOCMCoreShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{4}
}
func (x *DeleteOCMCoreShareRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DeleteOCMCoreShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type DeleteOCMCoreShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *DeleteOCMCoreShareResponse) Reset() {
*x = DeleteOCMCoreShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteOCMCoreShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteOCMCoreShareResponse) ProtoMessage() {}
func (x *DeleteOCMCoreShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_core_v1beta1_ocm_core_api_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 DeleteOCMCoreShareResponse.ProtoReflect.Descriptor instead.
func (*DeleteOCMCoreShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP(), []int{5}
}
func (x *DeleteOCMCoreShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *DeleteOCMCoreShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
var File_cs3_ocm_core_v1beta1_ocm_core_api_proto protoreflect.FileDescriptor
var file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDesc = []byte{
0x0a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f,
0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x63, 0x73, 0x33, 0x2e, 0x6f,
0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a,
0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f,
0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82,
0x05, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65,
0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12,
0x39, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75,
0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x68,
0x61, 0x72, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x0d,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a,
0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72,
0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f,
0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43,
0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0xd4,
0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65,
0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x20, 0x0a, 0x0c, 0x6f, 0x63, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x63, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x68, 0x61,
0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x5e, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70,
0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x32, 0xf7, 0x02, 0x0a, 0x0a,
0x4f, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x41, 0x50, 0x49, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65,
0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43,
0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f,
0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d,
0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68,
0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53,
0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x12,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61,
0x72, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72,
0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f,
0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xdd, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x42, 0x0f, 0x4f, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x69, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x63, 0x6f, 0x72, 0x65,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x43, 0xaa, 0x02, 0x14, 0x43, 0x73, 0x33,
0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xca, 0x02, 0x14, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x43, 0x6f, 0x72, 0x65,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x43, 0x73, 0x33, 0x5c, 0x4f,
0x63, 0x6d, 0x5c, 0x43, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x43, 0x73,
0x33, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x43, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescOnce sync.Once
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescData = file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDesc
)
func file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescGZIP() []byte {
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescOnce.Do(func() {
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescData)
})
return file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDescData
}
var file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_ocm_core_v1beta1_ocm_core_api_proto_goTypes = []interface{}{
(*CreateOCMCoreShareRequest)(nil), // 0: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest
(*CreateOCMCoreShareResponse)(nil), // 1: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse
(*UpdateOCMCoreShareRequest)(nil), // 2: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest
(*UpdateOCMCoreShareResponse)(nil), // 3: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse
(*DeleteOCMCoreShareRequest)(nil), // 4: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest
(*DeleteOCMCoreShareResponse)(nil), // 5: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse
(*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque
(*v1beta11.UserId)(nil), // 7: cs3.identity.user.v1beta1.UserId
(v1beta12.ResourceType)(0), // 8: cs3.storage.provider.v1beta1.ResourceType
(v1beta13.ShareType)(0), // 9: cs3.sharing.ocm.v1beta1.ShareType
(*v1beta1.Timestamp)(nil), // 10: cs3.types.v1beta1.Timestamp
(*v1beta13.Protocol)(nil), // 11: cs3.sharing.ocm.v1beta1.Protocol
(*v1beta14.Status)(nil), // 12: cs3.rpc.v1beta1.Status
}
var file_cs3_ocm_core_v1beta1_ocm_core_api_proto_depIdxs = []int32{
6, // 0: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 1: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.owner:type_name -> cs3.identity.user.v1beta1.UserId
7, // 2: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.sender:type_name -> cs3.identity.user.v1beta1.UserId
7, // 3: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.share_with:type_name -> cs3.identity.user.v1beta1.UserId
8, // 4: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.resource_type:type_name -> cs3.storage.provider.v1beta1.ResourceType
9, // 5: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType
10, // 6: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp
11, // 7: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol
12, // 8: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 9: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
10, // 10: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse.created:type_name -> cs3.types.v1beta1.Timestamp
6, // 11: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
9, // 12: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType
10, // 13: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp
11, // 14: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol
12, // 15: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 16: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 17: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
12, // 18: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 19: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
0, // 20: cs3.ocm.core.v1beta1.OcmCoreAPI.CreateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest
2, // 21: cs3.ocm.core.v1beta1.OcmCoreAPI.UpdateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest
4, // 22: cs3.ocm.core.v1beta1.OcmCoreAPI.DeleteOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest
1, // 23: cs3.ocm.core.v1beta1.OcmCoreAPI.CreateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse
3, // 24: cs3.ocm.core.v1beta1.OcmCoreAPI.UpdateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse
5, // 25: cs3.ocm.core.v1beta1.OcmCoreAPI.DeleteOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse
23, // [23:26] is the sub-list for method output_type
20, // [20:23] is the sub-list for method input_type
20, // [20:20] is the sub-list for extension type_name
20, // [20:20] is the sub-list for extension extendee
0, // [0:20] is the sub-list for field type_name
}
func init() { file_cs3_ocm_core_v1beta1_ocm_core_api_proto_init() }
func file_cs3_ocm_core_v1beta1_ocm_core_api_proto_init() {
if File_cs3_ocm_core_v1beta1_ocm_core_api_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateOCMCoreShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateOCMCoreShareResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateOCMCoreShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateOCMCoreShareResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteOCMCoreShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteOCMCoreShareResponse); 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_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_ocm_core_v1beta1_ocm_core_api_proto_goTypes,
DependencyIndexes: file_cs3_ocm_core_v1beta1_ocm_core_api_proto_depIdxs,
MessageInfos: file_cs3_ocm_core_v1beta1_ocm_core_api_proto_msgTypes,
}.Build()
File_cs3_ocm_core_v1beta1_ocm_core_api_proto = out.File
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_rawDesc = nil
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_goTypes = nil
file_cs3_ocm_core_v1beta1_ocm_core_api_proto_depIdxs = nil
}
@@ -0,0 +1,205 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/ocm/core/v1beta1/ocm_core_api.proto
package corev1beta1
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
const (
OcmCoreAPI_CreateOCMCoreShare_FullMethodName = "/cs3.ocm.core.v1beta1.OcmCoreAPI/CreateOCMCoreShare"
OcmCoreAPI_UpdateOCMCoreShare_FullMethodName = "/cs3.ocm.core.v1beta1.OcmCoreAPI/UpdateOCMCoreShare"
OcmCoreAPI_DeleteOCMCoreShare_FullMethodName = "/cs3.ocm.core.v1beta1.OcmCoreAPI/DeleteOCMCoreShare"
)
// OcmCoreAPIClient is the client API for OcmCoreAPI 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 OcmCoreAPIClient interface {
// Deprecated. Creates a new OCM share, in response to a call from the remote system
CreateOCMCoreShare(ctx context.Context, in *CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*CreateOCMCoreShareResponse, error)
// Deprecated. Updates an OCM share, in response to a notification from the remote system
UpdateOCMCoreShare(ctx context.Context, in *UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*UpdateOCMCoreShareResponse, error)
// Deprecated. Deletes an OCM share, in response to a notification from the remote system
DeleteOCMCoreShare(ctx context.Context, in *DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*DeleteOCMCoreShareResponse, error)
}
type ocmCoreAPIClient struct {
cc grpc.ClientConnInterface
}
func NewOcmCoreAPIClient(cc grpc.ClientConnInterface) OcmCoreAPIClient {
return &ocmCoreAPIClient{cc}
}
func (c *ocmCoreAPIClient) CreateOCMCoreShare(ctx context.Context, in *CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*CreateOCMCoreShareResponse, error) {
out := new(CreateOCMCoreShareResponse)
err := c.cc.Invoke(ctx, OcmCoreAPI_CreateOCMCoreShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmCoreAPIClient) UpdateOCMCoreShare(ctx context.Context, in *UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*UpdateOCMCoreShareResponse, error) {
out := new(UpdateOCMCoreShareResponse)
err := c.cc.Invoke(ctx, OcmCoreAPI_UpdateOCMCoreShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmCoreAPIClient) DeleteOCMCoreShare(ctx context.Context, in *DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*DeleteOCMCoreShareResponse, error) {
out := new(DeleteOCMCoreShareResponse)
err := c.cc.Invoke(ctx, OcmCoreAPI_DeleteOCMCoreShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// OcmCoreAPIServer is the server API for OcmCoreAPI service.
// All implementations should embed UnimplementedOcmCoreAPIServer
// for forward compatibility
type OcmCoreAPIServer interface {
// Deprecated. Creates a new OCM share, in response to a call from the remote system
CreateOCMCoreShare(context.Context, *CreateOCMCoreShareRequest) (*CreateOCMCoreShareResponse, error)
// Deprecated. Updates an OCM share, in response to a notification from the remote system
UpdateOCMCoreShare(context.Context, *UpdateOCMCoreShareRequest) (*UpdateOCMCoreShareResponse, error)
// Deprecated. Deletes an OCM share, in response to a notification from the remote system
DeleteOCMCoreShare(context.Context, *DeleteOCMCoreShareRequest) (*DeleteOCMCoreShareResponse, error)
}
// UnimplementedOcmCoreAPIServer should be embedded to have forward compatible implementations.
type UnimplementedOcmCoreAPIServer struct {
}
func (UnimplementedOcmCoreAPIServer) CreateOCMCoreShare(context.Context, *CreateOCMCoreShareRequest) (*CreateOCMCoreShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateOCMCoreShare not implemented")
}
func (UnimplementedOcmCoreAPIServer) UpdateOCMCoreShare(context.Context, *UpdateOCMCoreShareRequest) (*UpdateOCMCoreShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMCoreShare not implemented")
}
func (UnimplementedOcmCoreAPIServer) DeleteOCMCoreShare(context.Context, *DeleteOCMCoreShareRequest) (*DeleteOCMCoreShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMCoreShare not implemented")
}
// UnsafeOcmCoreAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to OcmCoreAPIServer will
// result in compilation errors.
type UnsafeOcmCoreAPIServer interface {
mustEmbedUnimplementedOcmCoreAPIServer()
}
func RegisterOcmCoreAPIServer(s grpc.ServiceRegistrar, srv OcmCoreAPIServer) {
s.RegisterService(&OcmCoreAPI_ServiceDesc, srv)
}
func _OcmCoreAPI_CreateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateOCMCoreShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmCoreAPIServer).CreateOCMCoreShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmCoreAPI_CreateOCMCoreShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmCoreAPIServer).CreateOCMCoreShare(ctx, req.(*CreateOCMCoreShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmCoreAPI_UpdateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateOCMCoreShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmCoreAPIServer).UpdateOCMCoreShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmCoreAPI_UpdateOCMCoreShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmCoreAPIServer).UpdateOCMCoreShare(ctx, req.(*UpdateOCMCoreShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmCoreAPI_DeleteOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteOCMCoreShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmCoreAPIServer).DeleteOCMCoreShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmCoreAPI_DeleteOCMCoreShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmCoreAPIServer).DeleteOCMCoreShare(ctx, req.(*DeleteOCMCoreShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// OcmCoreAPI_ServiceDesc is the grpc.ServiceDesc for OcmCoreAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var OcmCoreAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.ocm.core.v1beta1.OcmCoreAPI",
HandlerType: (*OcmCoreAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateOCMCoreShare",
Handler: _OcmCoreAPI_CreateOCMCoreShare_Handler,
},
{
MethodName: "UpdateOCMCoreShare",
Handler: _OcmCoreAPI_UpdateOCMCoreShare_Handler,
},
{
MethodName: "DeleteOCMCoreShare",
Handler: _OcmCoreAPI_DeleteOCMCoreShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/ocm/core/v1beta1/ocm_core_api.proto",
}
@@ -0,0 +1,957 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto
package incomingv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta14 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type CreateOCMIncomingShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// OPTIONAL.
// Description for the share.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
// REQUIRED.
// Name of the resource (file or folder).
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
// REQUIRED.
// Identifier to identify the resource at the provider side. This is unique per provider.
ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
// REQUIRED.
// Provider specific identifier of the owner of the resource.
Owner *v1beta11.UserId `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
// REQUIRED.
// Provider specific identifier of the user that wants to share the resource.
Sender *v1beta11.UserId `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"`
// REQUIRED.
// Consumer specific identifier of the user or group the provider wants to share the resource with.
// This is known in advance, for example using the OCM invitation flow.
// Please note that the consumer service endpoint is known in advance as well, so this is no part of the request body.
// TODO: this field needs to represent either a user or group in the future, not only a user.
ShareWith *v1beta11.UserId `protobuf:"bytes,7,opt,name=share_with,json=shareWith,proto3" json:"share_with,omitempty"`
// REQUIRED.
// Resource type.
// Deprecated: a resource might not always be a storage resource, use shared_resource_type instead.
//
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
ResourceType v1beta12.ResourceType `protobuf:"varint,8,opt,name=resource_type,json=resourceType,proto3,enum=cs3.storage.provider.v1beta1.ResourceType" json:"resource_type,omitempty"`
// REQUIRED.
// Recipient share type.
// Deprecated: use recipient_type instead.
//
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
ShareType v1beta13.ShareType `protobuf:"varint,9,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"`
// OPTIONAL.
// The expiration time for the OCM share.
Expiration *v1beta1.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"`
// REQUIRED.
// The protocols which are used to establish synchronisation,
// with their access rights.
// See also cs3/sharing/ocm/v1beta1/resources.proto for how to map
// this to the OCM share payload.
Protocols []*v1beta13.Protocol `protobuf:"bytes,11,rep,name=protocols,proto3" json:"protocols,omitempty"`
// OPTIONAL.
// A nonce to be exchanged for a (potentially short-lived) bearer token. Deprecated in OCM 1.3.
//
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
Code string `protobuf:"bytes,12,opt,name=code,proto3" json:"code,omitempty"`
// REQUIRED.
// Shared resource type.
SharedResourceType v1beta13.SharedResourceType `protobuf:"varint,13,opt,name=shared_resource_type,json=sharedResourceType,proto3,enum=cs3.sharing.ocm.v1beta1.SharedResourceType" json:"shared_resource_type,omitempty"`
// REQUIRED.
// Recipient type, e.g. user or group.
RecipientType v1beta13.RecipientType `protobuf:"varint,14,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"`
}
func (x *CreateOCMIncomingShareRequest) Reset() {
*x = CreateOCMIncomingShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateOCMIncomingShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateOCMIncomingShareRequest) ProtoMessage() {}
func (x *CreateOCMIncomingShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 CreateOCMIncomingShareRequest.ProtoReflect.Descriptor instead.
func (*CreateOCMIncomingShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{0}
}
func (x *CreateOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *CreateOCMIncomingShareRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CreateOCMIncomingShareRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateOCMIncomingShareRequest) GetResourceId() string {
if x != nil {
return x.ResourceId
}
return ""
}
func (x *CreateOCMIncomingShareRequest) GetOwner() *v1beta11.UserId {
if x != nil {
return x.Owner
}
return nil
}
func (x *CreateOCMIncomingShareRequest) GetSender() *v1beta11.UserId {
if x != nil {
return x.Sender
}
return nil
}
func (x *CreateOCMIncomingShareRequest) GetShareWith() *v1beta11.UserId {
if x != nil {
return x.ShareWith
}
return nil
}
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
func (x *CreateOCMIncomingShareRequest) GetResourceType() v1beta12.ResourceType {
if x != nil {
return x.ResourceType
}
return v1beta12.ResourceType(0)
}
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
func (x *CreateOCMIncomingShareRequest) GetShareType() v1beta13.ShareType {
if x != nil {
return x.ShareType
}
return v1beta13.ShareType(0)
}
func (x *CreateOCMIncomingShareRequest) GetExpiration() *v1beta1.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *CreateOCMIncomingShareRequest) GetProtocols() []*v1beta13.Protocol {
if x != nil {
return x.Protocols
}
return nil
}
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
func (x *CreateOCMIncomingShareRequest) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *CreateOCMIncomingShareRequest) GetSharedResourceType() v1beta13.SharedResourceType {
if x != nil {
return x.SharedResourceType
}
return v1beta13.SharedResourceType(0)
}
func (x *CreateOCMIncomingShareRequest) GetRecipientType() v1beta13.RecipientType {
if x != nil {
return x.RecipientType
}
return v1beta13.RecipientType(0)
}
type CreateOCMIncomingShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// Unique ID to identify the share at the consumer side.
Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
Created *v1beta1.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"`
}
func (x *CreateOCMIncomingShareResponse) Reset() {
*x = CreateOCMIncomingShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateOCMIncomingShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateOCMIncomingShareResponse) ProtoMessage() {}
func (x *CreateOCMIncomingShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 CreateOCMIncomingShareResponse.ProtoReflect.Descriptor instead.
func (*CreateOCMIncomingShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{1}
}
func (x *CreateOCMIncomingShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *CreateOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *CreateOCMIncomingShareResponse) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *CreateOCMIncomingShareResponse) GetCreated() *v1beta1.Timestamp {
if x != nil {
return x.Created
}
return nil
}
type UpdateOCMIncomingShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// Unique ID to identify the share at the consumer side.
OcmShareId string `protobuf:"bytes,2,opt,name=ocm_share_id,json=ocmShareId,proto3" json:"ocm_share_id,omitempty"`
// OPTIONAL.
// Description for the share.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL.
// Recipient share type.
// Deprecated: use recipient_type instead.
//
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
ShareType v1beta13.ShareType `protobuf:"varint,5,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"`
// OPTIONAL.
// The expiration time for the OCM share.
Expiration *v1beta1.Timestamp `protobuf:"bytes,6,opt,name=expiration,proto3" json:"expiration,omitempty"`
// OPTIONAL.
// The protocols which are used to establish synchronisation,
// with their access rights.
Protocols []*v1beta13.Protocol `protobuf:"bytes,7,rep,name=protocols,proto3" json:"protocols,omitempty"`
// OPTIONAL.
// Recipient type.
RecipientType v1beta13.RecipientType `protobuf:"varint,8,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"`
}
func (x *UpdateOCMIncomingShareRequest) Reset() {
*x = UpdateOCMIncomingShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateOCMIncomingShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateOCMIncomingShareRequest) ProtoMessage() {}
func (x *UpdateOCMIncomingShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 UpdateOCMIncomingShareRequest.ProtoReflect.Descriptor instead.
func (*UpdateOCMIncomingShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{2}
}
func (x *UpdateOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *UpdateOCMIncomingShareRequest) GetOcmShareId() string {
if x != nil {
return x.OcmShareId
}
return ""
}
func (x *UpdateOCMIncomingShareRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto.
func (x *UpdateOCMIncomingShareRequest) GetShareType() v1beta13.ShareType {
if x != nil {
return x.ShareType
}
return v1beta13.ShareType(0)
}
func (x *UpdateOCMIncomingShareRequest) GetExpiration() *v1beta1.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *UpdateOCMIncomingShareRequest) GetProtocols() []*v1beta13.Protocol {
if x != nil {
return x.Protocols
}
return nil
}
func (x *UpdateOCMIncomingShareRequest) GetRecipientType() v1beta13.RecipientType {
if x != nil {
return x.RecipientType
}
return v1beta13.RecipientType(0)
}
type UpdateOCMIncomingShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *UpdateOCMIncomingShareResponse) Reset() {
*x = UpdateOCMIncomingShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateOCMIncomingShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateOCMIncomingShareResponse) ProtoMessage() {}
func (x *UpdateOCMIncomingShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 UpdateOCMIncomingShareResponse.ProtoReflect.Descriptor instead.
func (*UpdateOCMIncomingShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateOCMIncomingShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *UpdateOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type DeleteOCMIncomingShareRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// Unique ID to identify the share at the consumer side.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *DeleteOCMIncomingShareRequest) Reset() {
*x = DeleteOCMIncomingShareRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteOCMIncomingShareRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteOCMIncomingShareRequest) ProtoMessage() {}
func (x *DeleteOCMIncomingShareRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 DeleteOCMIncomingShareRequest.ProtoReflect.Descriptor instead.
func (*DeleteOCMIncomingShareRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{4}
}
func (x *DeleteOCMIncomingShareRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DeleteOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type DeleteOCMIncomingShareResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *DeleteOCMIncomingShareResponse) Reset() {
*x = DeleteOCMIncomingShareResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteOCMIncomingShareResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteOCMIncomingShareResponse) ProtoMessage() {}
func (x *DeleteOCMIncomingShareResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_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 DeleteOCMIncomingShareResponse.ProtoReflect.Descriptor instead.
func (*DeleteOCMIncomingShareResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{5}
}
func (x *DeleteOCMIncomingShareResponse) GetStatus() *v1beta14.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *DeleteOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
var File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto protoreflect.FileDescriptor
var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc = []byte{
0x0a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, 0x69,
0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d,
0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33,
0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e,
0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63,
0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x06, 0x0a, 0x1d, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12,
0x39, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75,
0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x68,
0x61, 0x72, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x53, 0x0a, 0x0d,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42,
0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72,
0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73,
0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
0x5d, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72,
0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d,
0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61,
0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d,
0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xcc, 0x01,
0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d,
0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0xab, 0x03, 0x0a,
0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31,
0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x63, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x63, 0x6d, 0x53, 0x68, 0x61, 0x72,
0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18,
0x01, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a,
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x72,
0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e,
0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65,
0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63,
0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31,
0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x22, 0x62, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e,
0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72,
0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x32, 0xba, 0x03, 0x0a,
0x0e, 0x4f, 0x63, 0x6d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x50, 0x49, 0x12,
0x8b, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63,
0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49,
0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e,
0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01,
0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d,
0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f,
0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63,
0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f,
0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68,
0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d,
0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d,
0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xfd, 0x01, 0x0a, 0x1c, 0x63, 0x6f,
0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x4f, 0x63, 0x6d, 0x49,
0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73,
0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f,
0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x49, 0xaa, 0x02,
0x18, 0x43, 0x73, 0x33, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c,
0x4f, 0x63, 0x6d, 0x5c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x49,
0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73,
0x33, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescOnce sync.Once
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData = file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc
)
func file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP() []byte {
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescOnce.Do(func() {
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData)
})
return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData
}
var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes = []interface{}{
(*CreateOCMIncomingShareRequest)(nil), // 0: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest
(*CreateOCMIncomingShareResponse)(nil), // 1: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse
(*UpdateOCMIncomingShareRequest)(nil), // 2: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest
(*UpdateOCMIncomingShareResponse)(nil), // 3: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse
(*DeleteOCMIncomingShareRequest)(nil), // 4: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest
(*DeleteOCMIncomingShareResponse)(nil), // 5: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse
(*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque
(*v1beta11.UserId)(nil), // 7: cs3.identity.user.v1beta1.UserId
(v1beta12.ResourceType)(0), // 8: cs3.storage.provider.v1beta1.ResourceType
(v1beta13.ShareType)(0), // 9: cs3.sharing.ocm.v1beta1.ShareType
(*v1beta1.Timestamp)(nil), // 10: cs3.types.v1beta1.Timestamp
(*v1beta13.Protocol)(nil), // 11: cs3.sharing.ocm.v1beta1.Protocol
(v1beta13.SharedResourceType)(0), // 12: cs3.sharing.ocm.v1beta1.SharedResourceType
(v1beta13.RecipientType)(0), // 13: cs3.sharing.ocm.v1beta1.RecipientType
(*v1beta14.Status)(nil), // 14: cs3.rpc.v1beta1.Status
}
var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs = []int32{
6, // 0: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 1: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.owner:type_name -> cs3.identity.user.v1beta1.UserId
7, // 2: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.sender:type_name -> cs3.identity.user.v1beta1.UserId
7, // 3: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.share_with:type_name -> cs3.identity.user.v1beta1.UserId
8, // 4: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.resource_type:type_name -> cs3.storage.provider.v1beta1.ResourceType
9, // 5: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType
10, // 6: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp
11, // 7: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol
12, // 8: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.shared_resource_type:type_name -> cs3.sharing.ocm.v1beta1.SharedResourceType
13, // 9: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType
14, // 10: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 11: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
10, // 12: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.created:type_name -> cs3.types.v1beta1.Timestamp
6, // 13: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
9, // 14: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType
10, // 15: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp
11, // 16: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol
13, // 17: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType
14, // 18: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 19: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 20: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
14, // 21: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 22: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
0, // 23: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.CreateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest
2, // 24: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.UpdateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest
4, // 25: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.DeleteOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest
1, // 26: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.CreateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse
3, // 27: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.UpdateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse
5, // 28: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.DeleteOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse
26, // [26:29] is the sub-list for method output_type
23, // [23:26] is the sub-list for method input_type
23, // [23:23] is the sub-list for extension type_name
23, // [23:23] is the sub-list for extension extendee
0, // [0:23] is the sub-list for field type_name
}
func init() { file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_init() }
func file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_init() {
if File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateOCMIncomingShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateOCMIncomingShareResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateOCMIncomingShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateOCMIncomingShareResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteOCMIncomingShareRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteOCMIncomingShareResponse); 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_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes,
DependencyIndexes: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs,
MessageInfos: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes,
}.Build()
File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto = out.File
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc = nil
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes = nil
file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs = nil
}
@@ -0,0 +1,211 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto
package incomingv1beta1
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
const (
OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/CreateOCMIncomingShare"
OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/UpdateOCMIncomingShare"
OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/DeleteOCMIncomingShare"
)
// OcmIncomingAPIClient is the client API for OcmIncomingAPI 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 OcmIncomingAPIClient interface {
// Creates a new OCM share in response to a call from remote to `/ocm/shares`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMIncomingShare(ctx context.Context, in *CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*CreateOCMIncomingShareResponse, error)
// Updates an OCM share in response to a notification from remote to `/ocm/notifications`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMIncomingShare(ctx context.Context, in *UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*UpdateOCMIncomingShareResponse, error)
// Deletes an OCM share in response to a notification from remote to `/ocm/notifications`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
DeleteOCMIncomingShare(ctx context.Context, in *DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*DeleteOCMIncomingShareResponse, error)
}
type ocmIncomingAPIClient struct {
cc grpc.ClientConnInterface
}
func NewOcmIncomingAPIClient(cc grpc.ClientConnInterface) OcmIncomingAPIClient {
return &ocmIncomingAPIClient{cc}
}
func (c *ocmIncomingAPIClient) CreateOCMIncomingShare(ctx context.Context, in *CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*CreateOCMIncomingShareResponse, error) {
out := new(CreateOCMIncomingShareResponse)
err := c.cc.Invoke(ctx, OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmIncomingAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*UpdateOCMIncomingShareResponse, error) {
out := new(UpdateOCMIncomingShareResponse)
err := c.cc.Invoke(ctx, OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmIncomingAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*DeleteOCMIncomingShareResponse, error) {
out := new(DeleteOCMIncomingShareResponse)
err := c.cc.Invoke(ctx, OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// OcmIncomingAPIServer is the server API for OcmIncomingAPI service.
// All implementations should embed UnimplementedOcmIncomingAPIServer
// for forward compatibility
type OcmIncomingAPIServer interface {
// Creates a new OCM share in response to a call from remote to `/ocm/shares`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMIncomingShare(context.Context, *CreateOCMIncomingShareRequest) (*CreateOCMIncomingShareResponse, error)
// Updates an OCM share in response to a notification from remote to `/ocm/notifications`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMIncomingShare(context.Context, *UpdateOCMIncomingShareRequest) (*UpdateOCMIncomingShareResponse, error)
// Deletes an OCM share in response to a notification from remote to `/ocm/notifications`. See:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
DeleteOCMIncomingShare(context.Context, *DeleteOCMIncomingShareRequest) (*DeleteOCMIncomingShareResponse, error)
}
// UnimplementedOcmIncomingAPIServer should be embedded to have forward compatible implementations.
type UnimplementedOcmIncomingAPIServer struct {
}
func (UnimplementedOcmIncomingAPIServer) CreateOCMIncomingShare(context.Context, *CreateOCMIncomingShareRequest) (*CreateOCMIncomingShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateOCMIncomingShare not implemented")
}
func (UnimplementedOcmIncomingAPIServer) UpdateOCMIncomingShare(context.Context, *UpdateOCMIncomingShareRequest) (*UpdateOCMIncomingShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMIncomingShare not implemented")
}
func (UnimplementedOcmIncomingAPIServer) DeleteOCMIncomingShare(context.Context, *DeleteOCMIncomingShareRequest) (*DeleteOCMIncomingShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMIncomingShare not implemented")
}
// UnsafeOcmIncomingAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to OcmIncomingAPIServer will
// result in compilation errors.
type UnsafeOcmIncomingAPIServer interface {
mustEmbedUnimplementedOcmIncomingAPIServer()
}
func RegisterOcmIncomingAPIServer(s grpc.ServiceRegistrar, srv OcmIncomingAPIServer) {
s.RegisterService(&OcmIncomingAPI_ServiceDesc, srv)
}
func _OcmIncomingAPI_CreateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateOCMIncomingShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmIncomingAPIServer).CreateOCMIncomingShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmIncomingAPIServer).CreateOCMIncomingShare(ctx, req.(*CreateOCMIncomingShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmIncomingAPI_UpdateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateOCMIncomingShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmIncomingAPIServer).UpdateOCMIncomingShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmIncomingAPIServer).UpdateOCMIncomingShare(ctx, req.(*UpdateOCMIncomingShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmIncomingAPI_DeleteOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteOCMIncomingShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmIncomingAPIServer).DeleteOCMIncomingShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmIncomingAPIServer).DeleteOCMIncomingShare(ctx, req.(*DeleteOCMIncomingShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// OcmIncomingAPI_ServiceDesc is the grpc.ServiceDesc for OcmIncomingAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var OcmIncomingAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.ocm.incoming.v1beta1.OcmIncomingAPI",
HandlerType: (*OcmIncomingAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateOCMIncomingShare",
Handler: _OcmIncomingAPI_CreateOCMIncomingShare_Handler,
},
{
MethodName: "UpdateOCMIncomingShare",
Handler: _OcmIncomingAPI_UpdateOCMIncomingShare_Handler,
},
{
MethodName: "DeleteOCMIncomingShare",
Handler: _OcmIncomingAPI_DeleteOCMIncomingShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto",
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,383 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/ocm/invite/v1beta1/invite_api.proto
package invitev1beta1
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
const (
InviteAPI_GenerateInviteToken_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/GenerateInviteToken"
InviteAPI_ListInviteTokens_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/ListInviteTokens"
InviteAPI_ForwardInvite_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/ForwardInvite"
InviteAPI_AcceptInvite_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/AcceptInvite"
InviteAPI_GetAcceptedUser_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/GetAcceptedUser"
InviteAPI_FindAcceptedUsers_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/FindAcceptedUsers"
InviteAPI_DeleteAcceptedUser_FullMethodName = "/cs3.ocm.invite.v1beta1.InviteAPI/DeleteAcceptedUser"
)
// InviteAPIClient is the client API for InviteAPI 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 InviteAPIClient interface {
// Generates a new token for the user with a validity of 24 hours.
GenerateInviteToken(ctx context.Context, in *GenerateInviteTokenRequest, opts ...grpc.CallOption) (*GenerateInviteTokenResponse, error)
// Lists the valid tokens generated by the user.
ListInviteTokens(ctx context.Context, in *ListInviteTokensRequest, opts ...grpc.CallOption) (*ListInviteTokensResponse, error)
// Forwards a received invite to the remote sync'n'share system provider. The remote
// system SHALL get an `invite-accepted` call as follows:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1invite-accepted/post
// MUST return CODE_NOT_FOUND if the token does not exist.
// MUST return CODE_INVALID_ARGUMENT if the token expired.
// MUST return CODE_ALREADY_EXISTS if the user already accepted an invite.
// MUST return CODE_PERMISSION_DENIED if the remote service is not trusted to accept invitations.
ForwardInvite(ctx context.Context, in *ForwardInviteRequest, opts ...grpc.CallOption) (*ForwardInviteResponse, error)
// Completes an invitation acceptance.
// MUST return CODE_NOT_FOUND if the token does not exist.
// MUST return CODE_INVALID_ARGUMENT if the token expired.
// MUST return CODE_ALREADY_EXISTS if the user already accepted an invite.
AcceptInvite(ctx context.Context, in *AcceptInviteRequest, opts ...grpc.CallOption) (*AcceptInviteResponse, error)
// Retrieves details about a remote user who has accepted an invite to share.
// MUST return CODE_NOT_FOUND if the user does not exist.
GetAcceptedUser(ctx context.Context, in *GetAcceptedUserRequest, opts ...grpc.CallOption) (*GetAcceptedUserResponse, error)
// Finds users who accepted invite tokens by their attributes.
FindAcceptedUsers(ctx context.Context, in *FindAcceptedUsersRequest, opts ...grpc.CallOption) (*FindAcceptedUsersResponse, error)
// Delete a previously accepted remote user, that is unfriend that user.
// MUST return CODE_NOT_FOUND if the user does not exist.
DeleteAcceptedUser(ctx context.Context, in *DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*DeleteAcceptedUserResponse, error)
}
type inviteAPIClient struct {
cc grpc.ClientConnInterface
}
func NewInviteAPIClient(cc grpc.ClientConnInterface) InviteAPIClient {
return &inviteAPIClient{cc}
}
func (c *inviteAPIClient) GenerateInviteToken(ctx context.Context, in *GenerateInviteTokenRequest, opts ...grpc.CallOption) (*GenerateInviteTokenResponse, error) {
out := new(GenerateInviteTokenResponse)
err := c.cc.Invoke(ctx, InviteAPI_GenerateInviteToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) ListInviteTokens(ctx context.Context, in *ListInviteTokensRequest, opts ...grpc.CallOption) (*ListInviteTokensResponse, error) {
out := new(ListInviteTokensResponse)
err := c.cc.Invoke(ctx, InviteAPI_ListInviteTokens_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) ForwardInvite(ctx context.Context, in *ForwardInviteRequest, opts ...grpc.CallOption) (*ForwardInviteResponse, error) {
out := new(ForwardInviteResponse)
err := c.cc.Invoke(ctx, InviteAPI_ForwardInvite_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) AcceptInvite(ctx context.Context, in *AcceptInviteRequest, opts ...grpc.CallOption) (*AcceptInviteResponse, error) {
out := new(AcceptInviteResponse)
err := c.cc.Invoke(ctx, InviteAPI_AcceptInvite_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) GetAcceptedUser(ctx context.Context, in *GetAcceptedUserRequest, opts ...grpc.CallOption) (*GetAcceptedUserResponse, error) {
out := new(GetAcceptedUserResponse)
err := c.cc.Invoke(ctx, InviteAPI_GetAcceptedUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) FindAcceptedUsers(ctx context.Context, in *FindAcceptedUsersRequest, opts ...grpc.CallOption) (*FindAcceptedUsersResponse, error) {
out := new(FindAcceptedUsersResponse)
err := c.cc.Invoke(ctx, InviteAPI_FindAcceptedUsers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *inviteAPIClient) DeleteAcceptedUser(ctx context.Context, in *DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*DeleteAcceptedUserResponse, error) {
out := new(DeleteAcceptedUserResponse)
err := c.cc.Invoke(ctx, InviteAPI_DeleteAcceptedUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// InviteAPIServer is the server API for InviteAPI service.
// All implementations should embed UnimplementedInviteAPIServer
// for forward compatibility
type InviteAPIServer interface {
// Generates a new token for the user with a validity of 24 hours.
GenerateInviteToken(context.Context, *GenerateInviteTokenRequest) (*GenerateInviteTokenResponse, error)
// Lists the valid tokens generated by the user.
ListInviteTokens(context.Context, *ListInviteTokensRequest) (*ListInviteTokensResponse, error)
// Forwards a received invite to the remote sync'n'share system provider. The remote
// system SHALL get an `invite-accepted` call as follows:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1invite-accepted/post
// MUST return CODE_NOT_FOUND if the token does not exist.
// MUST return CODE_INVALID_ARGUMENT if the token expired.
// MUST return CODE_ALREADY_EXISTS if the user already accepted an invite.
// MUST return CODE_PERMISSION_DENIED if the remote service is not trusted to accept invitations.
ForwardInvite(context.Context, *ForwardInviteRequest) (*ForwardInviteResponse, error)
// Completes an invitation acceptance.
// MUST return CODE_NOT_FOUND if the token does not exist.
// MUST return CODE_INVALID_ARGUMENT if the token expired.
// MUST return CODE_ALREADY_EXISTS if the user already accepted an invite.
AcceptInvite(context.Context, *AcceptInviteRequest) (*AcceptInviteResponse, error)
// Retrieves details about a remote user who has accepted an invite to share.
// MUST return CODE_NOT_FOUND if the user does not exist.
GetAcceptedUser(context.Context, *GetAcceptedUserRequest) (*GetAcceptedUserResponse, error)
// Finds users who accepted invite tokens by their attributes.
FindAcceptedUsers(context.Context, *FindAcceptedUsersRequest) (*FindAcceptedUsersResponse, error)
// Delete a previously accepted remote user, that is unfriend that user.
// MUST return CODE_NOT_FOUND if the user does not exist.
DeleteAcceptedUser(context.Context, *DeleteAcceptedUserRequest) (*DeleteAcceptedUserResponse, error)
}
// UnimplementedInviteAPIServer should be embedded to have forward compatible implementations.
type UnimplementedInviteAPIServer struct {
}
func (UnimplementedInviteAPIServer) GenerateInviteToken(context.Context, *GenerateInviteTokenRequest) (*GenerateInviteTokenResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GenerateInviteToken not implemented")
}
func (UnimplementedInviteAPIServer) ListInviteTokens(context.Context, *ListInviteTokensRequest) (*ListInviteTokensResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListInviteTokens not implemented")
}
func (UnimplementedInviteAPIServer) ForwardInvite(context.Context, *ForwardInviteRequest) (*ForwardInviteResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ForwardInvite not implemented")
}
func (UnimplementedInviteAPIServer) AcceptInvite(context.Context, *AcceptInviteRequest) (*AcceptInviteResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AcceptInvite not implemented")
}
func (UnimplementedInviteAPIServer) GetAcceptedUser(context.Context, *GetAcceptedUserRequest) (*GetAcceptedUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAcceptedUser not implemented")
}
func (UnimplementedInviteAPIServer) FindAcceptedUsers(context.Context, *FindAcceptedUsersRequest) (*FindAcceptedUsersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAcceptedUsers not implemented")
}
func (UnimplementedInviteAPIServer) DeleteAcceptedUser(context.Context, *DeleteAcceptedUserRequest) (*DeleteAcceptedUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteAcceptedUser not implemented")
}
// UnsafeInviteAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to InviteAPIServer will
// result in compilation errors.
type UnsafeInviteAPIServer interface {
mustEmbedUnimplementedInviteAPIServer()
}
func RegisterInviteAPIServer(s grpc.ServiceRegistrar, srv InviteAPIServer) {
s.RegisterService(&InviteAPI_ServiceDesc, srv)
}
func _InviteAPI_GenerateInviteToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GenerateInviteTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).GenerateInviteToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_GenerateInviteToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).GenerateInviteToken(ctx, req.(*GenerateInviteTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_ListInviteTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListInviteTokensRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).ListInviteTokens(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_ListInviteTokens_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).ListInviteTokens(ctx, req.(*ListInviteTokensRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_ForwardInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ForwardInviteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).ForwardInvite(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_ForwardInvite_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).ForwardInvite(ctx, req.(*ForwardInviteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_AcceptInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AcceptInviteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).AcceptInvite(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_AcceptInvite_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).AcceptInvite(ctx, req.(*AcceptInviteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_GetAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAcceptedUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).GetAcceptedUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_GetAcceptedUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).GetAcceptedUser(ctx, req.(*GetAcceptedUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_FindAcceptedUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAcceptedUsersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).FindAcceptedUsers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_FindAcceptedUsers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).FindAcceptedUsers(ctx, req.(*FindAcceptedUsersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _InviteAPI_DeleteAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteAcceptedUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InviteAPIServer).DeleteAcceptedUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InviteAPI_DeleteAcceptedUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InviteAPIServer).DeleteAcceptedUser(ctx, req.(*DeleteAcceptedUserRequest))
}
return interceptor(ctx, in, info, handler)
}
// InviteAPI_ServiceDesc is the grpc.ServiceDesc for InviteAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var InviteAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.ocm.invite.v1beta1.InviteAPI",
HandlerType: (*InviteAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GenerateInviteToken",
Handler: _InviteAPI_GenerateInviteToken_Handler,
},
{
MethodName: "ListInviteTokens",
Handler: _InviteAPI_ListInviteTokens_Handler,
},
{
MethodName: "ForwardInvite",
Handler: _InviteAPI_ForwardInvite_Handler,
},
{
MethodName: "AcceptInvite",
Handler: _InviteAPI_AcceptInvite_Handler,
},
{
MethodName: "GetAcceptedUser",
Handler: _InviteAPI_GetAcceptedUser_Handler,
},
{
MethodName: "FindAcceptedUsers",
Handler: _InviteAPI_FindAcceptedUsers_Handler,
},
{
MethodName: "DeleteAcceptedUser",
Handler: _InviteAPI_DeleteAcceptedUser_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/ocm/invite/v1beta1/invite_api.proto",
}
@@ -0,0 +1,231 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/ocm/invite/v1beta1/resources.proto
package invitev1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta11 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// InviteToken is used to invite users and groups from other sync'n'share
// systems to collaborate on resources.
type InviteToken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// Unique ID associated with an InviteToken.
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
// REQUIRED.
// The user who created the token.
UserId *v1beta1.UserId `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// OPTIONAL.
// The time when the token will expire.
Expiration *v1beta11.Timestamp `protobuf:"bytes,3,opt,name=expiration,proto3" json:"expiration,omitempty"`
// OPTIONAL.
// User-defined description to be forwarded to the invitees.
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *InviteToken) Reset() {
*x = InviteToken{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_invite_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InviteToken) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InviteToken) ProtoMessage() {}
func (x *InviteToken) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_invite_v1beta1_resources_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 InviteToken.ProtoReflect.Descriptor instead.
func (*InviteToken) Descriptor() ([]byte, []int) {
return file_cs3_ocm_invite_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *InviteToken) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *InviteToken) GetUserId() *v1beta1.UserId {
if x != nil {
return x.UserId
}
return nil
}
func (x *InviteToken) GetExpiration() *v1beta11.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *InviteToken) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
var File_cs3_ocm_invite_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_ocm_invite_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x26, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63,
0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75,
0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0b, 0x49,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x3a, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a,
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xea, 0x01, 0x0a,
0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67,
0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f,
0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x3b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0xa2, 0x02, 0x03, 0x43, 0x4f, 0x49, 0xaa, 0x02, 0x16, 0x43, 0x73, 0x33, 0x2e, 0x4f, 0x63, 0x6d,
0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca,
0x02, 0x16, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x73, 0x33, 0x5c, 0x4f,
0x63, 0x6d, 0x5c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19,
0x43, 0x73, 0x33, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_cs3_ocm_invite_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_ocm_invite_v1beta1_resources_proto_rawDescData = file_cs3_ocm_invite_v1beta1_resources_proto_rawDesc
)
func file_cs3_ocm_invite_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_ocm_invite_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_ocm_invite_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_invite_v1beta1_resources_proto_rawDescData)
})
return file_cs3_ocm_invite_v1beta1_resources_proto_rawDescData
}
var file_cs3_ocm_invite_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_ocm_invite_v1beta1_resources_proto_goTypes = []interface{}{
(*InviteToken)(nil), // 0: cs3.ocm.invite.v1beta1.InviteToken
(*v1beta1.UserId)(nil), // 1: cs3.identity.user.v1beta1.UserId
(*v1beta11.Timestamp)(nil), // 2: cs3.types.v1beta1.Timestamp
}
var file_cs3_ocm_invite_v1beta1_resources_proto_depIdxs = []int32{
1, // 0: cs3.ocm.invite.v1beta1.InviteToken.user_id:type_name -> cs3.identity.user.v1beta1.UserId
2, // 1: cs3.ocm.invite.v1beta1.InviteToken.expiration:type_name -> cs3.types.v1beta1.Timestamp
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_ocm_invite_v1beta1_resources_proto_init() }
func file_cs3_ocm_invite_v1beta1_resources_proto_init() {
if File_cs3_ocm_invite_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_ocm_invite_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InviteToken); 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_cs3_ocm_invite_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_ocm_invite_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_ocm_invite_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_ocm_invite_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_ocm_invite_v1beta1_resources_proto = out.File
file_cs3_ocm_invite_v1beta1_resources_proto_rawDesc = nil
file_cs3_ocm_invite_v1beta1_resources_proto_goTypes = nil
file_cs3_ocm_invite_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,665 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/ocm/provider/v1beta1/provider_api.proto
package providerv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type IsProviderAllowedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The provider that we need to check against the list of verified mesh providers.
Provider *ProviderInfo `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}
func (x *IsProviderAllowedRequest) Reset() {
*x = IsProviderAllowedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IsProviderAllowedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IsProviderAllowedRequest) ProtoMessage() {}
func (x *IsProviderAllowedRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 IsProviderAllowedRequest.ProtoReflect.Descriptor instead.
func (*IsProviderAllowedRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{0}
}
func (x *IsProviderAllowedRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *IsProviderAllowedRequest) GetProvider() *ProviderInfo {
if x != nil {
return x.Provider
}
return nil
}
type IsProviderAllowedResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *IsProviderAllowedResponse) Reset() {
*x = IsProviderAllowedResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IsProviderAllowedResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IsProviderAllowedResponse) ProtoMessage() {}
func (x *IsProviderAllowedResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 IsProviderAllowedResponse.ProtoReflect.Descriptor instead.
func (*IsProviderAllowedResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{1}
}
func (x *IsProviderAllowedResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *IsProviderAllowedResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type GetInfoByDomainRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The domain of the system provider.
Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
}
func (x *GetInfoByDomainRequest) Reset() {
*x = GetInfoByDomainRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetInfoByDomainRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetInfoByDomainRequest) ProtoMessage() {}
func (x *GetInfoByDomainRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 GetInfoByDomainRequest.ProtoReflect.Descriptor instead.
func (*GetInfoByDomainRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{2}
}
func (x *GetInfoByDomainRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetInfoByDomainRequest) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
type GetInfoByDomainResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The info of the provider
ProviderInfo *ProviderInfo `protobuf:"bytes,3,opt,name=provider_info,json=providerInfo,proto3" json:"provider_info,omitempty"`
}
func (x *GetInfoByDomainResponse) Reset() {
*x = GetInfoByDomainResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetInfoByDomainResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetInfoByDomainResponse) ProtoMessage() {}
func (x *GetInfoByDomainResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 GetInfoByDomainResponse.ProtoReflect.Descriptor instead.
func (*GetInfoByDomainResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{3}
}
func (x *GetInfoByDomainResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetInfoByDomainResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetInfoByDomainResponse) GetProviderInfo() *ProviderInfo {
if x != nil {
return x.ProviderInfo
}
return nil
}
type ListAllProvidersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *ListAllProvidersRequest) Reset() {
*x = ListAllProvidersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllProvidersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllProvidersRequest) ProtoMessage() {}
func (x *ListAllProvidersRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 ListAllProvidersRequest.ProtoReflect.Descriptor instead.
func (*ListAllProvidersRequest) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{4}
}
func (x *ListAllProvidersRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type ListAllProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The share.
Providers []*ProviderInfo `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty"`
}
func (x *ListAllProvidersResponse) Reset() {
*x = ListAllProvidersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllProvidersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllProvidersResponse) ProtoMessage() {}
func (x *ListAllProvidersResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_provider_api_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 ListAllProvidersResponse.ProtoReflect.Descriptor instead.
func (*ListAllProvidersResponse) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP(), []int{5}
}
func (x *ListAllProvidersResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *ListAllProvidersResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ListAllProvidersResponse) GetProviders() []*ProviderInfo {
if x != nil {
return x.Providers
}
return nil
}
var File_cs3_ocm_provider_v1beta1_provider_api_proto protoreflect.FileDescriptor
var file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDesc = []byte{
0x0a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63,
0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d,
0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91,
0x01, 0x0a, 0x18, 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c,
0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x42,
0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x22, 0x7f, 0x0a, 0x19, 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x22, 0x63, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79,
0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a,
0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65,
0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4c, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x32, 0xfe, 0x02, 0x0a, 0x0b, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x50, 0x49, 0x12, 0x7c, 0x0a, 0x11, 0x49, 0x73,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12,
0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79,
0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xfa, 0x01, 0x0a, 0x1c,
0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33,
0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x50, 0xaa, 0x02, 0x18,
0x43, 0x73, 0x33, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, 0x4f,
0x63, 0x6d, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47,
0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, 0x33,
0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a,
0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescOnce sync.Once
file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescData = file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDesc
)
func file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescGZIP() []byte {
file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescOnce.Do(func() {
file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescData)
})
return file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDescData
}
var file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_ocm_provider_v1beta1_provider_api_proto_goTypes = []interface{}{
(*IsProviderAllowedRequest)(nil), // 0: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest
(*IsProviderAllowedResponse)(nil), // 1: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse
(*GetInfoByDomainRequest)(nil), // 2: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest
(*GetInfoByDomainResponse)(nil), // 3: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse
(*ListAllProvidersRequest)(nil), // 4: cs3.ocm.provider.v1beta1.ListAllProvidersRequest
(*ListAllProvidersResponse)(nil), // 5: cs3.ocm.provider.v1beta1.ListAllProvidersResponse
(*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque
(*ProviderInfo)(nil), // 7: cs3.ocm.provider.v1beta1.ProviderInfo
(*v1beta11.Status)(nil), // 8: cs3.rpc.v1beta1.Status
}
var file_cs3_ocm_provider_v1beta1_provider_api_proto_depIdxs = []int32{
6, // 0: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 1: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest.provider:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo
8, // 2: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 3: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
6, // 4: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 5: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 6: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 7: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse.provider_info:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo
6, // 8: cs3.ocm.provider.v1beta1.ListAllProvidersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 9: cs3.ocm.provider.v1beta1.ListAllProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 10: cs3.ocm.provider.v1beta1.ListAllProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 11: cs3.ocm.provider.v1beta1.ListAllProvidersResponse.providers:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo
0, // 12: cs3.ocm.provider.v1beta1.ProviderAPI.IsProviderAllowed:input_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedRequest
2, // 13: cs3.ocm.provider.v1beta1.ProviderAPI.GetInfoByDomain:input_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainRequest
4, // 14: cs3.ocm.provider.v1beta1.ProviderAPI.ListAllProviders:input_type -> cs3.ocm.provider.v1beta1.ListAllProvidersRequest
1, // 15: cs3.ocm.provider.v1beta1.ProviderAPI.IsProviderAllowed:output_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedResponse
3, // 16: cs3.ocm.provider.v1beta1.ProviderAPI.GetInfoByDomain:output_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainResponse
5, // 17: cs3.ocm.provider.v1beta1.ProviderAPI.ListAllProviders:output_type -> cs3.ocm.provider.v1beta1.ListAllProvidersResponse
15, // [15:18] is the sub-list for method output_type
12, // [12:15] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_cs3_ocm_provider_v1beta1_provider_api_proto_init() }
func file_cs3_ocm_provider_v1beta1_provider_api_proto_init() {
if File_cs3_ocm_provider_v1beta1_provider_api_proto != nil {
return
}
file_cs3_ocm_provider_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IsProviderAllowedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IsProviderAllowedResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInfoByDomainRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInfoByDomainResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllProvidersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllProvidersResponse); 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_cs3_ocm_provider_v1beta1_provider_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_ocm_provider_v1beta1_provider_api_proto_goTypes,
DependencyIndexes: file_cs3_ocm_provider_v1beta1_provider_api_proto_depIdxs,
MessageInfos: file_cs3_ocm_provider_v1beta1_provider_api_proto_msgTypes,
}.Build()
File_cs3_ocm_provider_v1beta1_provider_api_proto = out.File
file_cs3_ocm_provider_v1beta1_provider_api_proto_rawDesc = nil
file_cs3_ocm_provider_v1beta1_provider_api_proto_goTypes = nil
file_cs3_ocm_provider_v1beta1_provider_api_proto_depIdxs = nil
}
@@ -0,0 +1,209 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/ocm/provider/v1beta1/provider_api.proto
package providerv1beta1
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
const (
ProviderAPI_IsProviderAllowed_FullMethodName = "/cs3.ocm.provider.v1beta1.ProviderAPI/IsProviderAllowed"
ProviderAPI_GetInfoByDomain_FullMethodName = "/cs3.ocm.provider.v1beta1.ProviderAPI/GetInfoByDomain"
ProviderAPI_ListAllProviders_FullMethodName = "/cs3.ocm.provider.v1beta1.ProviderAPI/ListAllProviders"
)
// ProviderAPIClient is the client API for ProviderAPI 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 ProviderAPIClient interface {
// Check if a given system provider is registered in the mesh or not.
// MUST return CODE_UNAUTHENTICATED if the system is not registered
IsProviderAllowed(ctx context.Context, in *IsProviderAllowedRequest, opts ...grpc.CallOption) (*IsProviderAllowedResponse, error)
// Get the information of the provider identified by a specific domain.
// MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist.
GetInfoByDomain(ctx context.Context, in *GetInfoByDomainRequest, opts ...grpc.CallOption) (*GetInfoByDomainResponse, error)
// Get the information of all the providers registered in the mesh.
ListAllProviders(ctx context.Context, in *ListAllProvidersRequest, opts ...grpc.CallOption) (*ListAllProvidersResponse, error)
}
type providerAPIClient struct {
cc grpc.ClientConnInterface
}
func NewProviderAPIClient(cc grpc.ClientConnInterface) ProviderAPIClient {
return &providerAPIClient{cc}
}
func (c *providerAPIClient) IsProviderAllowed(ctx context.Context, in *IsProviderAllowedRequest, opts ...grpc.CallOption) (*IsProviderAllowedResponse, error) {
out := new(IsProviderAllowedResponse)
err := c.cc.Invoke(ctx, ProviderAPI_IsProviderAllowed_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *providerAPIClient) GetInfoByDomain(ctx context.Context, in *GetInfoByDomainRequest, opts ...grpc.CallOption) (*GetInfoByDomainResponse, error) {
out := new(GetInfoByDomainResponse)
err := c.cc.Invoke(ctx, ProviderAPI_GetInfoByDomain_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *providerAPIClient) ListAllProviders(ctx context.Context, in *ListAllProvidersRequest, opts ...grpc.CallOption) (*ListAllProvidersResponse, error) {
out := new(ListAllProvidersResponse)
err := c.cc.Invoke(ctx, ProviderAPI_ListAllProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProviderAPIServer is the server API for ProviderAPI service.
// All implementations should embed UnimplementedProviderAPIServer
// for forward compatibility
type ProviderAPIServer interface {
// Check if a given system provider is registered in the mesh or not.
// MUST return CODE_UNAUTHENTICATED if the system is not registered
IsProviderAllowed(context.Context, *IsProviderAllowedRequest) (*IsProviderAllowedResponse, error)
// Get the information of the provider identified by a specific domain.
// MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist.
GetInfoByDomain(context.Context, *GetInfoByDomainRequest) (*GetInfoByDomainResponse, error)
// Get the information of all the providers registered in the mesh.
ListAllProviders(context.Context, *ListAllProvidersRequest) (*ListAllProvidersResponse, error)
}
// UnimplementedProviderAPIServer should be embedded to have forward compatible implementations.
type UnimplementedProviderAPIServer struct {
}
func (UnimplementedProviderAPIServer) IsProviderAllowed(context.Context, *IsProviderAllowedRequest) (*IsProviderAllowedResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method IsProviderAllowed not implemented")
}
func (UnimplementedProviderAPIServer) GetInfoByDomain(context.Context, *GetInfoByDomainRequest) (*GetInfoByDomainResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetInfoByDomain not implemented")
}
func (UnimplementedProviderAPIServer) ListAllProviders(context.Context, *ListAllProvidersRequest) (*ListAllProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAllProviders not implemented")
}
// UnsafeProviderAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ProviderAPIServer will
// result in compilation errors.
type UnsafeProviderAPIServer interface {
mustEmbedUnimplementedProviderAPIServer()
}
func RegisterProviderAPIServer(s grpc.ServiceRegistrar, srv ProviderAPIServer) {
s.RegisterService(&ProviderAPI_ServiceDesc, srv)
}
func _ProviderAPI_IsProviderAllowed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(IsProviderAllowedRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProviderAPIServer).IsProviderAllowed(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ProviderAPI_IsProviderAllowed_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProviderAPIServer).IsProviderAllowed(ctx, req.(*IsProviderAllowedRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ProviderAPI_GetInfoByDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInfoByDomainRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProviderAPIServer).GetInfoByDomain(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ProviderAPI_GetInfoByDomain_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProviderAPIServer).GetInfoByDomain(ctx, req.(*GetInfoByDomainRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ProviderAPI_ListAllProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAllProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProviderAPIServer).ListAllProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ProviderAPI_ListAllProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProviderAPIServer).ListAllProviders(ctx, req.(*ListAllProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
// ProviderAPI_ServiceDesc is the grpc.ServiceDesc for ProviderAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ProviderAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.ocm.provider.v1beta1.ProviderAPI",
HandlerType: (*ProviderAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "IsProviderAllowed",
Handler: _ProviderAPI_IsProviderAllowed_Handler,
},
{
MethodName: "GetInfoByDomain",
Handler: _ProviderAPI_GetInfoByDomain_Handler,
},
{
MethodName: "ListAllProviders",
Handler: _ProviderAPI_ListAllProviders_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/ocm/provider/v1beta1/provider_api.proto",
}
@@ -0,0 +1,599 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/ocm/provider/v1beta1/resources.proto
package providerv1beta1
import (
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)
)
// Identifier for various types of services offered by sync'n'share system providers.
type ServiceType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED
// The name of the service type.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// REQUIRED
// The description of the service type.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *ServiceType) Reset() {
*x = ServiceType{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServiceType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServiceType) ProtoMessage() {}
func (x *ServiceType) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_resources_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 ServiceType.ProtoReflect.Descriptor instead.
func (*ServiceType) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *ServiceType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ServiceType) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// The endpoints exposed by particular services.
type ServiceEndpoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The type of service.
Type *ServiceType `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
// REQUIRED.
// The name of the service.
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// REQUIRED.
// The path at which the service is hosted.
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
// OPTIONAL.
// Whether the service is monitored.
IsMonitored bool `protobuf:"varint,4,opt,name=is_monitored,json=isMonitored,proto3" json:"is_monitored,omitempty"`
// OPTIONAL.
// Additional properties about the service.
Properties map[string]string `protobuf:"bytes,5,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *ServiceEndpoint) Reset() {
*x = ServiceEndpoint{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServiceEndpoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServiceEndpoint) ProtoMessage() {}
func (x *ServiceEndpoint) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_resources_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 ServiceEndpoint.ProtoReflect.Descriptor instead.
func (*ServiceEndpoint) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *ServiceEndpoint) GetType() *ServiceType {
if x != nil {
return x.Type
}
return nil
}
func (x *ServiceEndpoint) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ServiceEndpoint) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *ServiceEndpoint) GetIsMonitored() bool {
if x != nil {
return x.IsMonitored
}
return false
}
func (x *ServiceEndpoint) GetProperties() map[string]string {
if x != nil {
return x.Properties
}
return nil
}
// The services offered by sync'n'share system providers.
type Service struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The URL at which the service is hosted.
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// REQUIRED.
// The primary endpoint of the service.
Endpoint *ServiceEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// REQUIRED.
// The API version of the provided service.
ApiVersion string `protobuf:"bytes,3,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
// OPTIONAL.
// Additional endpoints at which the service is exposed.
AdditionalEndpoints []*ServiceEndpoint `protobuf:"bytes,4,rep,name=additional_endpoints,json=additionalEndpoints,proto3" json:"additional_endpoints,omitempty"`
}
func (x *Service) Reset() {
*x = Service{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Service) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Service) ProtoMessage() {}
func (x *Service) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_resources_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 Service.ProtoReflect.Descriptor instead.
func (*Service) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_resources_proto_rawDescGZIP(), []int{2}
}
func (x *Service) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *Service) GetEndpoint() *ServiceEndpoint {
if x != nil {
return x.Endpoint
}
return nil
}
func (x *Service) GetApiVersion() string {
if x != nil {
return x.ApiVersion
}
return ""
}
func (x *Service) GetAdditionalEndpoints() []*ServiceEndpoint {
if x != nil {
return x.AdditionalEndpoints
}
return nil
}
// Details of the sync'n'share system provider.
type ProviderInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The name of the provider.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// REQUIRED.
// The full name of the provider.
FullName string `protobuf:"bytes,2,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"`
// OPTIONAL.
// A description of the provider.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL.
// The organization to which the provider belongs.
Organization string `protobuf:"bytes,4,opt,name=organization,proto3" json:"organization,omitempty"`
// REQUIRED.
// The domain of the sync'n'share provider.
Domain string `protobuf:"bytes,5,opt,name=domain,proto3" json:"domain,omitempty"`
// OPTIONAL.
// The homepage of the provider.
Homepage string `protobuf:"bytes,6,opt,name=homepage,proto3" json:"homepage,omitempty"`
// OPTIONAL.
// The email at which the provider can be reached.
Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
// REQUIRED.
// The list of services provided by the provider.
Services []*Service `protobuf:"bytes,8,rep,name=services,proto3" json:"services,omitempty"`
// OPTIONAL.
// Additional properties about the service.
Properties map[string]string `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *ProviderInfo) Reset() {
*x = ProviderInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProviderInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderInfo) ProtoMessage() {}
func (x *ProviderInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_ocm_provider_v1beta1_resources_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 ProviderInfo.ProtoReflect.Descriptor instead.
func (*ProviderInfo) Descriptor() ([]byte, []int) {
return file_cs3_ocm_provider_v1beta1_resources_proto_rawDescGZIP(), []int{3}
}
func (x *ProviderInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProviderInfo) GetFullName() string {
if x != nil {
return x.FullName
}
return ""
}
func (x *ProviderInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *ProviderInfo) GetOrganization() string {
if x != nil {
return x.Organization
}
return ""
}
func (x *ProviderInfo) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *ProviderInfo) GetHomepage() string {
if x != nil {
return x.Homepage
}
return ""
}
func (x *ProviderInfo) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *ProviderInfo) GetServices() []*Service {
if x != nil {
return x.Services
}
return nil
}
func (x *ProviderInfo) GetProperties() map[string]string {
if x != nil {
return x.Properties
}
return nil
}
var File_cs3_ocm_provider_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_ocm_provider_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e,
0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x22, 0x43, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x02, 0x0a, 0x0f, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a,
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68,
0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
0x72, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d,
0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe3, 0x01,
0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a,
0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x13,
0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x73, 0x22, 0xa5, 0x03, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c,
0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e,
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f,
0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64,
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d,
0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3d, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f,
0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f,
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xf8, 0x01, 0x0a, 0x1c,
0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72,
0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33,
0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x50, 0xaa, 0x02, 0x18, 0x43, 0x73,
0x33, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d,
0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a,
0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x3a, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_ocm_provider_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_ocm_provider_v1beta1_resources_proto_rawDescData = file_cs3_ocm_provider_v1beta1_resources_proto_rawDesc
)
func file_cs3_ocm_provider_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_ocm_provider_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_ocm_provider_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_provider_v1beta1_resources_proto_rawDescData)
})
return file_cs3_ocm_provider_v1beta1_resources_proto_rawDescData
}
var file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_ocm_provider_v1beta1_resources_proto_goTypes = []interface{}{
(*ServiceType)(nil), // 0: cs3.ocm.provider.v1beta1.ServiceType
(*ServiceEndpoint)(nil), // 1: cs3.ocm.provider.v1beta1.ServiceEndpoint
(*Service)(nil), // 2: cs3.ocm.provider.v1beta1.Service
(*ProviderInfo)(nil), // 3: cs3.ocm.provider.v1beta1.ProviderInfo
nil, // 4: cs3.ocm.provider.v1beta1.ServiceEndpoint.PropertiesEntry
nil, // 5: cs3.ocm.provider.v1beta1.ProviderInfo.PropertiesEntry
}
var file_cs3_ocm_provider_v1beta1_resources_proto_depIdxs = []int32{
0, // 0: cs3.ocm.provider.v1beta1.ServiceEndpoint.type:type_name -> cs3.ocm.provider.v1beta1.ServiceType
4, // 1: cs3.ocm.provider.v1beta1.ServiceEndpoint.properties:type_name -> cs3.ocm.provider.v1beta1.ServiceEndpoint.PropertiesEntry
1, // 2: cs3.ocm.provider.v1beta1.Service.endpoint:type_name -> cs3.ocm.provider.v1beta1.ServiceEndpoint
1, // 3: cs3.ocm.provider.v1beta1.Service.additional_endpoints:type_name -> cs3.ocm.provider.v1beta1.ServiceEndpoint
2, // 4: cs3.ocm.provider.v1beta1.ProviderInfo.services:type_name -> cs3.ocm.provider.v1beta1.Service
5, // 5: cs3.ocm.provider.v1beta1.ProviderInfo.properties:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo.PropertiesEntry
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_cs3_ocm_provider_v1beta1_resources_proto_init() }
func file_cs3_ocm_provider_v1beta1_resources_proto_init() {
if File_cs3_ocm_provider_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServiceType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServiceEndpoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Service); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProviderInfo); 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_cs3_ocm_provider_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_ocm_provider_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_ocm_provider_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_ocm_provider_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_ocm_provider_v1beta1_resources_proto = out.File
file_cs3_ocm_provider_v1beta1_resources_proto_rawDesc = nil
file_cs3_ocm_provider_v1beta1_resources_proto_goTypes = nil
file_cs3_ocm_provider_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,305 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/permissions/v1beta1/permissions_api.proto
package permissionsv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
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)
)
// CheckPermissionsRequest is used to check if a user has a certain permission.
type CheckPermissionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The permission to check.
Permission string `protobuf:"bytes,1,opt,name=permission,proto3" json:"permission,omitempty"`
// REQUIRED.
// The subject holding the permission.
SubjectRef *SubjectReference `protobuf:"bytes,2,opt,name=subject_ref,json=subjectRef,proto3" json:"subject_ref,omitempty"`
// OPTIONAL.
// The target resource of the permission.
Ref *v1beta1.Reference `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
}
func (x *CheckPermissionRequest) Reset() {
*x = CheckPermissionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckPermissionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckPermissionRequest) ProtoMessage() {}
func (x *CheckPermissionRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_permissions_v1beta1_permissions_api_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 CheckPermissionRequest.ProtoReflect.Descriptor instead.
func (*CheckPermissionRequest) Descriptor() ([]byte, []int) {
return file_cs3_permissions_v1beta1_permissions_api_proto_rawDescGZIP(), []int{0}
}
func (x *CheckPermissionRequest) GetPermission() string {
if x != nil {
return x.Permission
}
return ""
}
func (x *CheckPermissionRequest) GetSubjectRef() *SubjectReference {
if x != nil {
return x.SubjectRef
}
return nil
}
func (x *CheckPermissionRequest) GetRef() *v1beta1.Reference {
if x != nil {
return x.Ref
}
return nil
}
// CheckPermissionsResponse ...
type CheckPermissionResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *CheckPermissionResponse) Reset() {
*x = CheckPermissionResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckPermissionResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckPermissionResponse) ProtoMessage() {}
func (x *CheckPermissionResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_permissions_v1beta1_permissions_api_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 CheckPermissionResponse.ProtoReflect.Descriptor instead.
func (*CheckPermissionResponse) Descriptor() ([]byte, []int) {
return file_cs3_permissions_v1beta1_permissions_api_proto_rawDescGZIP(), []int{1}
}
func (x *CheckPermissionResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
var File_cs3_permissions_v1beta1_permissions_api_proto protoreflect.FileDescriptor
var file_cs3_permissions_v1beta1_permissions_api_proto_rawDesc = []byte{
0x0a, 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x17, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01,
0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6a,
0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x52, 0x65, 0x66, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22,
0x4a, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x86, 0x01, 0x0a, 0x0e,
0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x50, 0x49, 0x12, 0x74,
0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x42, 0xf9, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67,
0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x3b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x50, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33,
0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x73, 0x33, 0x5c, 0x50, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02,
0x23, 0x43, 0x73, 0x33, 0x5c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x50, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_permissions_v1beta1_permissions_api_proto_rawDescOnce sync.Once
file_cs3_permissions_v1beta1_permissions_api_proto_rawDescData = file_cs3_permissions_v1beta1_permissions_api_proto_rawDesc
)
func file_cs3_permissions_v1beta1_permissions_api_proto_rawDescGZIP() []byte {
file_cs3_permissions_v1beta1_permissions_api_proto_rawDescOnce.Do(func() {
file_cs3_permissions_v1beta1_permissions_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_permissions_v1beta1_permissions_api_proto_rawDescData)
})
return file_cs3_permissions_v1beta1_permissions_api_proto_rawDescData
}
var file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_permissions_v1beta1_permissions_api_proto_goTypes = []interface{}{
(*CheckPermissionRequest)(nil), // 0: cs3.permissions.v1beta1.CheckPermissionRequest
(*CheckPermissionResponse)(nil), // 1: cs3.permissions.v1beta1.CheckPermissionResponse
(*SubjectReference)(nil), // 2: cs3.permissions.v1beta1.SubjectReference
(*v1beta1.Reference)(nil), // 3: cs3.storage.provider.v1beta1.Reference
(*v1beta11.Status)(nil), // 4: cs3.rpc.v1beta1.Status
}
var file_cs3_permissions_v1beta1_permissions_api_proto_depIdxs = []int32{
2, // 0: cs3.permissions.v1beta1.CheckPermissionRequest.subject_ref:type_name -> cs3.permissions.v1beta1.SubjectReference
3, // 1: cs3.permissions.v1beta1.CheckPermissionRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference
4, // 2: cs3.permissions.v1beta1.CheckPermissionResponse.status:type_name -> cs3.rpc.v1beta1.Status
0, // 3: cs3.permissions.v1beta1.PermissionsAPI.CheckPermission:input_type -> cs3.permissions.v1beta1.CheckPermissionRequest
1, // 4: cs3.permissions.v1beta1.PermissionsAPI.CheckPermission:output_type -> cs3.permissions.v1beta1.CheckPermissionResponse
4, // [4:5] is the sub-list for method output_type
3, // [3:4] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_cs3_permissions_v1beta1_permissions_api_proto_init() }
func file_cs3_permissions_v1beta1_permissions_api_proto_init() {
if File_cs3_permissions_v1beta1_permissions_api_proto != nil {
return
}
file_cs3_permissions_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckPermissionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckPermissionResponse); 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_cs3_permissions_v1beta1_permissions_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_permissions_v1beta1_permissions_api_proto_goTypes,
DependencyIndexes: file_cs3_permissions_v1beta1_permissions_api_proto_depIdxs,
MessageInfos: file_cs3_permissions_v1beta1_permissions_api_proto_msgTypes,
}.Build()
File_cs3_permissions_v1beta1_permissions_api_proto = out.File
file_cs3_permissions_v1beta1_permissions_api_proto_rawDesc = nil
file_cs3_permissions_v1beta1_permissions_api_proto_goTypes = nil
file_cs3_permissions_v1beta1_permissions_api_proto_depIdxs = nil
}
@@ -0,0 +1,127 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/permissions/v1beta1/permissions_api.proto
package permissionsv1beta1
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
const (
PermissionsAPI_CheckPermission_FullMethodName = "/cs3.permissions.v1beta1.PermissionsAPI/CheckPermission"
)
// PermissionsAPIClient is the client API for PermissionsAPI 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 PermissionsAPIClient interface {
// CheckPermission defines a method to check permission/role.
CheckPermission(ctx context.Context, in *CheckPermissionRequest, opts ...grpc.CallOption) (*CheckPermissionResponse, error)
}
type permissionsAPIClient struct {
cc grpc.ClientConnInterface
}
func NewPermissionsAPIClient(cc grpc.ClientConnInterface) PermissionsAPIClient {
return &permissionsAPIClient{cc}
}
func (c *permissionsAPIClient) CheckPermission(ctx context.Context, in *CheckPermissionRequest, opts ...grpc.CallOption) (*CheckPermissionResponse, error) {
out := new(CheckPermissionResponse)
err := c.cc.Invoke(ctx, PermissionsAPI_CheckPermission_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PermissionsAPIServer is the server API for PermissionsAPI service.
// All implementations should embed UnimplementedPermissionsAPIServer
// for forward compatibility
type PermissionsAPIServer interface {
// CheckPermission defines a method to check permission/role.
CheckPermission(context.Context, *CheckPermissionRequest) (*CheckPermissionResponse, error)
}
// UnimplementedPermissionsAPIServer should be embedded to have forward compatible implementations.
type UnimplementedPermissionsAPIServer struct {
}
func (UnimplementedPermissionsAPIServer) CheckPermission(context.Context, *CheckPermissionRequest) (*CheckPermissionResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckPermission not implemented")
}
// UnsafePermissionsAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to PermissionsAPIServer will
// result in compilation errors.
type UnsafePermissionsAPIServer interface {
mustEmbedUnimplementedPermissionsAPIServer()
}
func RegisterPermissionsAPIServer(s grpc.ServiceRegistrar, srv PermissionsAPIServer) {
s.RegisterService(&PermissionsAPI_ServiceDesc, srv)
}
func _PermissionsAPI_CheckPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CheckPermissionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PermissionsAPIServer).CheckPermission(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PermissionsAPI_CheckPermission_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PermissionsAPIServer).CheckPermission(ctx, req.(*CheckPermissionRequest))
}
return interceptor(ctx, in, info, handler)
}
// PermissionsAPI_ServiceDesc is the grpc.ServiceDesc for PermissionsAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var PermissionsAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.permissions.v1beta1.PermissionsAPI",
HandlerType: (*PermissionsAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CheckPermission",
Handler: _PermissionsAPI_CheckPermission_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/permissions/v1beta1/permissions_api.proto",
}
@@ -0,0 +1,235 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/permissions/v1beta1/resources.proto
package permissionsv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
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)
)
// SubjectReference references either a user or a group by id.
type SubjectReference struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Spec:
//
// *SubjectReference_UserId
// *SubjectReference_GroupId
Spec isSubjectReference_Spec `protobuf_oneof:"spec"`
}
func (x *SubjectReference) Reset() {
*x = SubjectReference{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_permissions_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubjectReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubjectReference) ProtoMessage() {}
func (x *SubjectReference) ProtoReflect() protoreflect.Message {
mi := &file_cs3_permissions_v1beta1_resources_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 SubjectReference.ProtoReflect.Descriptor instead.
func (*SubjectReference) Descriptor() ([]byte, []int) {
return file_cs3_permissions_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (m *SubjectReference) GetSpec() isSubjectReference_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *SubjectReference) GetUserId() *v1beta1.UserId {
if x, ok := x.GetSpec().(*SubjectReference_UserId); ok {
return x.UserId
}
return nil
}
func (x *SubjectReference) GetGroupId() *v1beta11.GroupId {
if x, ok := x.GetSpec().(*SubjectReference_GroupId); ok {
return x.GroupId
}
return nil
}
type isSubjectReference_Spec interface {
isSubjectReference_Spec()
}
type SubjectReference_UserId struct {
UserId *v1beta1.UserId `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3,oneof"`
}
type SubjectReference_GroupId struct {
GroupId *v1beta11.GroupId `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3,oneof"`
}
func (*SubjectReference_UserId) isSubjectReference_Spec() {}
func (*SubjectReference_GroupId) isSubjectReference_Spec() {}
var File_cs3_permissions_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_permissions_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x63, 0x73, 0x33, 0x2e, 0x70,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x1a, 0x2a, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29,
0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65,
0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x53, 0x75,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3c,
0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75,
0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x08,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x06,
0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x42, 0xf4, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63,
0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xa2, 0x02, 0x03, 0x43, 0x50, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33, 0x2e, 0x50, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xca, 0x02, 0x17, 0x43, 0x73, 0x33, 0x5c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73,
0x33, 0x5c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x19, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_permissions_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_permissions_v1beta1_resources_proto_rawDescData = file_cs3_permissions_v1beta1_resources_proto_rawDesc
)
func file_cs3_permissions_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_permissions_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_permissions_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_permissions_v1beta1_resources_proto_rawDescData)
})
return file_cs3_permissions_v1beta1_resources_proto_rawDescData
}
var file_cs3_permissions_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_permissions_v1beta1_resources_proto_goTypes = []interface{}{
(*SubjectReference)(nil), // 0: cs3.permissions.v1beta1.SubjectReference
(*v1beta1.UserId)(nil), // 1: cs3.identity.user.v1beta1.UserId
(*v1beta11.GroupId)(nil), // 2: cs3.identity.group.v1beta1.GroupId
}
var file_cs3_permissions_v1beta1_resources_proto_depIdxs = []int32{
1, // 0: cs3.permissions.v1beta1.SubjectReference.user_id:type_name -> cs3.identity.user.v1beta1.UserId
2, // 1: cs3.permissions.v1beta1.SubjectReference.group_id:type_name -> cs3.identity.group.v1beta1.GroupId
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_permissions_v1beta1_resources_proto_init() }
func file_cs3_permissions_v1beta1_resources_proto_init() {
if File_cs3_permissions_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_permissions_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubjectReference); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_cs3_permissions_v1beta1_resources_proto_msgTypes[0].OneofWrappers = []interface{}{
(*SubjectReference_UserId)(nil),
(*SubjectReference_GroupId)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cs3_permissions_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_permissions_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_permissions_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_permissions_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_permissions_v1beta1_resources_proto = out.File
file_cs3_permissions_v1beta1_resources_proto_rawDesc = nil
file_cs3_permissions_v1beta1_resources_proto_goTypes = nil
file_cs3_permissions_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,430 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/preferences/v1beta1/preferences_api.proto
package preferencesv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
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)
)
type SetKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
Key *PreferenceKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// REQUIRED.
// The value associated with the key.
Val string `protobuf:"bytes,2,opt,name=val,proto3" json:"val,omitempty"`
}
func (x *SetKeyRequest) Reset() {
*x = SetKeyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetKeyRequest) ProtoMessage() {}
func (x *SetKeyRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_preferences_v1beta1_preferences_api_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 SetKeyRequest.ProtoReflect.Descriptor instead.
func (*SetKeyRequest) Descriptor() ([]byte, []int) {
return file_cs3_preferences_v1beta1_preferences_api_proto_rawDescGZIP(), []int{0}
}
func (x *SetKeyRequest) GetKey() *PreferenceKey {
if x != nil {
return x.Key
}
return nil
}
func (x *SetKeyRequest) GetVal() string {
if x != nil {
return x.Val
}
return ""
}
type SetKeyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *SetKeyResponse) Reset() {
*x = SetKeyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetKeyResponse) ProtoMessage() {}
func (x *SetKeyResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_preferences_v1beta1_preferences_api_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 SetKeyResponse.ProtoReflect.Descriptor instead.
func (*SetKeyResponse) Descriptor() ([]byte, []int) {
return file_cs3_preferences_v1beta1_preferences_api_proto_rawDescGZIP(), []int{1}
}
func (x *SetKeyResponse) GetStatus() *v1beta1.Status {
if x != nil {
return x.Status
}
return nil
}
type GetKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
Key *PreferenceKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}
func (x *GetKeyRequest) Reset() {
*x = GetKeyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetKeyRequest) ProtoMessage() {}
func (x *GetKeyRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_preferences_v1beta1_preferences_api_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 GetKeyRequest.ProtoReflect.Descriptor instead.
func (*GetKeyRequest) Descriptor() ([]byte, []int) {
return file_cs3_preferences_v1beta1_preferences_api_proto_rawDescGZIP(), []int{2}
}
func (x *GetKeyRequest) GetKey() *PreferenceKey {
if x != nil {
return x.Key
}
return nil
}
type GetKeyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// REQUIRED.
// The value associated with the key.
Val string `protobuf:"bytes,2,opt,name=val,proto3" json:"val,omitempty"`
}
func (x *GetKeyResponse) Reset() {
*x = GetKeyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetKeyResponse) ProtoMessage() {}
func (x *GetKeyResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_preferences_v1beta1_preferences_api_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 GetKeyResponse.ProtoReflect.Descriptor instead.
func (*GetKeyResponse) Descriptor() ([]byte, []int) {
return file_cs3_preferences_v1beta1_preferences_api_proto_rawDescGZIP(), []int{3}
}
func (x *GetKeyResponse) GetStatus() *v1beta1.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetKeyResponse) GetVal() string {
if x != nil {
return x.Val
}
return ""
}
var File_cs3_preferences_v1beta1_preferences_api_proto protoreflect.FileDescriptor
var file_cs3_preferences_v1beta1_preferences_api_proto_rawDesc = []byte{
0x0a, 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,
0x65, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x17, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x5b, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x38, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
0x63, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x41, 0x0a, 0x0e,
0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
0x49, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x38, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
0x63, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x53, 0x0a, 0x0e, 0x47, 0x65,
0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a,
0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x32,
0xc6, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x41,
0x50, 0x49, 0x12, 0x59, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a,
0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xf9, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
0x65, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f,
0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73,
0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x50, 0x58, 0xaa, 0x02,
0x17, 0x43, 0x73, 0x33, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x73, 0x33, 0x5c, 0x50,
0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
0x6e, 0x63, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x73, 0x33, 0x3a, 0x3a,
0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_preferences_v1beta1_preferences_api_proto_rawDescOnce sync.Once
file_cs3_preferences_v1beta1_preferences_api_proto_rawDescData = file_cs3_preferences_v1beta1_preferences_api_proto_rawDesc
)
func file_cs3_preferences_v1beta1_preferences_api_proto_rawDescGZIP() []byte {
file_cs3_preferences_v1beta1_preferences_api_proto_rawDescOnce.Do(func() {
file_cs3_preferences_v1beta1_preferences_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_preferences_v1beta1_preferences_api_proto_rawDescData)
})
return file_cs3_preferences_v1beta1_preferences_api_proto_rawDescData
}
var file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_cs3_preferences_v1beta1_preferences_api_proto_goTypes = []interface{}{
(*SetKeyRequest)(nil), // 0: cs3.preferences.v1beta1.SetKeyRequest
(*SetKeyResponse)(nil), // 1: cs3.preferences.v1beta1.SetKeyResponse
(*GetKeyRequest)(nil), // 2: cs3.preferences.v1beta1.GetKeyRequest
(*GetKeyResponse)(nil), // 3: cs3.preferences.v1beta1.GetKeyResponse
(*PreferenceKey)(nil), // 4: cs3.preferences.v1beta1.PreferenceKey
(*v1beta1.Status)(nil), // 5: cs3.rpc.v1beta1.Status
}
var file_cs3_preferences_v1beta1_preferences_api_proto_depIdxs = []int32{
4, // 0: cs3.preferences.v1beta1.SetKeyRequest.key:type_name -> cs3.preferences.v1beta1.PreferenceKey
5, // 1: cs3.preferences.v1beta1.SetKeyResponse.status:type_name -> cs3.rpc.v1beta1.Status
4, // 2: cs3.preferences.v1beta1.GetKeyRequest.key:type_name -> cs3.preferences.v1beta1.PreferenceKey
5, // 3: cs3.preferences.v1beta1.GetKeyResponse.status:type_name -> cs3.rpc.v1beta1.Status
0, // 4: cs3.preferences.v1beta1.PreferencesAPI.SetKey:input_type -> cs3.preferences.v1beta1.SetKeyRequest
2, // 5: cs3.preferences.v1beta1.PreferencesAPI.GetKey:input_type -> cs3.preferences.v1beta1.GetKeyRequest
1, // 6: cs3.preferences.v1beta1.PreferencesAPI.SetKey:output_type -> cs3.preferences.v1beta1.SetKeyResponse
3, // 7: cs3.preferences.v1beta1.PreferencesAPI.GetKey:output_type -> cs3.preferences.v1beta1.GetKeyResponse
6, // [6:8] is the sub-list for method output_type
4, // [4:6] 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_cs3_preferences_v1beta1_preferences_api_proto_init() }
func file_cs3_preferences_v1beta1_preferences_api_proto_init() {
if File_cs3_preferences_v1beta1_preferences_api_proto != nil {
return
}
file_cs3_preferences_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetKeyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetKeyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetKeyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetKeyResponse); 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_cs3_preferences_v1beta1_preferences_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_preferences_v1beta1_preferences_api_proto_goTypes,
DependencyIndexes: file_cs3_preferences_v1beta1_preferences_api_proto_depIdxs,
MessageInfos: file_cs3_preferences_v1beta1_preferences_api_proto_msgTypes,
}.Build()
File_cs3_preferences_v1beta1_preferences_api_proto = out.File
file_cs3_preferences_v1beta1_preferences_api_proto_rawDesc = nil
file_cs3_preferences_v1beta1_preferences_api_proto_goTypes = nil
file_cs3_preferences_v1beta1_preferences_api_proto_depIdxs = nil
}
@@ -0,0 +1,168 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/preferences/v1beta1/preferences_api.proto
package preferencesv1beta1
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
const (
PreferencesAPI_SetKey_FullMethodName = "/cs3.preferences.v1beta1.PreferencesAPI/SetKey"
PreferencesAPI_GetKey_FullMethodName = "/cs3.preferences.v1beta1.PreferencesAPI/GetKey"
)
// PreferencesAPIClient is the client API for PreferencesAPI 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 PreferencesAPIClient interface {
// Maps the key-value pair.
SetKey(ctx context.Context, in *SetKeyRequest, opts ...grpc.CallOption) (*SetKeyResponse, error)
// Returns the value associated with the
// requested key.
GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*GetKeyResponse, error)
}
type preferencesAPIClient struct {
cc grpc.ClientConnInterface
}
func NewPreferencesAPIClient(cc grpc.ClientConnInterface) PreferencesAPIClient {
return &preferencesAPIClient{cc}
}
func (c *preferencesAPIClient) SetKey(ctx context.Context, in *SetKeyRequest, opts ...grpc.CallOption) (*SetKeyResponse, error) {
out := new(SetKeyResponse)
err := c.cc.Invoke(ctx, PreferencesAPI_SetKey_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *preferencesAPIClient) GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*GetKeyResponse, error) {
out := new(GetKeyResponse)
err := c.cc.Invoke(ctx, PreferencesAPI_GetKey_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PreferencesAPIServer is the server API for PreferencesAPI service.
// All implementations should embed UnimplementedPreferencesAPIServer
// for forward compatibility
type PreferencesAPIServer interface {
// Maps the key-value pair.
SetKey(context.Context, *SetKeyRequest) (*SetKeyResponse, error)
// Returns the value associated with the
// requested key.
GetKey(context.Context, *GetKeyRequest) (*GetKeyResponse, error)
}
// UnimplementedPreferencesAPIServer should be embedded to have forward compatible implementations.
type UnimplementedPreferencesAPIServer struct {
}
func (UnimplementedPreferencesAPIServer) SetKey(context.Context, *SetKeyRequest) (*SetKeyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetKey not implemented")
}
func (UnimplementedPreferencesAPIServer) GetKey(context.Context, *GetKeyRequest) (*GetKeyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented")
}
// UnsafePreferencesAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to PreferencesAPIServer will
// result in compilation errors.
type UnsafePreferencesAPIServer interface {
mustEmbedUnimplementedPreferencesAPIServer()
}
func RegisterPreferencesAPIServer(s grpc.ServiceRegistrar, srv PreferencesAPIServer) {
s.RegisterService(&PreferencesAPI_ServiceDesc, srv)
}
func _PreferencesAPI_SetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SetKeyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PreferencesAPIServer).SetKey(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PreferencesAPI_SetKey_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PreferencesAPIServer).SetKey(ctx, req.(*SetKeyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PreferencesAPI_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetKeyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PreferencesAPIServer).GetKey(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PreferencesAPI_GetKey_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PreferencesAPIServer).GetKey(ctx, req.(*GetKeyRequest))
}
return interceptor(ctx, in, info, handler)
}
// PreferencesAPI_ServiceDesc is the grpc.ServiceDesc for PreferencesAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var PreferencesAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.preferences.v1beta1.PreferencesAPI",
HandlerType: (*PreferencesAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "SetKey",
Handler: _PreferencesAPI_SetKey_Handler,
},
{
MethodName: "GetKey",
Handler: _PreferencesAPI_GetKey_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/preferences/v1beta1/preferences_api.proto",
}
@@ -0,0 +1,191 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/preferences/v1beta1/resources.proto
package preferencesv1beta1
import (
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)
)
// Represents a key object consisting of a namespace and a string key.
type PreferenceKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The namespace to which the key belongs.
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
// REQUIRED.
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
}
func (x *PreferenceKey) Reset() {
*x = PreferenceKey{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_preferences_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreferenceKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreferenceKey) ProtoMessage() {}
func (x *PreferenceKey) ProtoReflect() protoreflect.Message {
mi := &file_cs3_preferences_v1beta1_resources_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 PreferenceKey.ProtoReflect.Descriptor instead.
func (*PreferenceKey) Descriptor() ([]byte, []int) {
return file_cs3_preferences_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *PreferenceKey) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *PreferenceKey) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
var File_cs3_preferences_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_preferences_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x63, 0x73, 0x33, 0x2e, 0x70,
0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x22, 0x3f, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x42, 0xf4, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02,
0x03, 0x43, 0x50, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
0x17, 0x43, 0x73, 0x33, 0x5c, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x50,
0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x19, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_cs3_preferences_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_preferences_v1beta1_resources_proto_rawDescData = file_cs3_preferences_v1beta1_resources_proto_rawDesc
)
func file_cs3_preferences_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_preferences_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_preferences_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_preferences_v1beta1_resources_proto_rawDescData)
})
return file_cs3_preferences_v1beta1_resources_proto_rawDescData
}
var file_cs3_preferences_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_preferences_v1beta1_resources_proto_goTypes = []interface{}{
(*PreferenceKey)(nil), // 0: cs3.preferences.v1beta1.PreferenceKey
}
var file_cs3_preferences_v1beta1_resources_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_cs3_preferences_v1beta1_resources_proto_init() }
func file_cs3_preferences_v1beta1_resources_proto_init() {
if File_cs3_preferences_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_preferences_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreferenceKey); 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_cs3_preferences_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_preferences_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_preferences_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_preferences_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_preferences_v1beta1_resources_proto = out.File
file_cs3_preferences_v1beta1_resources_proto_rawDesc = nil
file_cs3_preferences_v1beta1_resources_proto_goTypes = nil
file_cs3_preferences_v1beta1_resources_proto_depIdxs = nil
}
+398
View File
@@ -0,0 +1,398 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/rpc/v1beta1/code.proto
package rpcv1beta1
import (
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)
)
// These are the canonical error codes used by CS3 APIs.
//
// Adapted from Google APIs:
// https://github.com/googleapis/googleapis/
//
// Sometimes multiple error codes may apply. Services should return
// the most specific error code that applies. For example, prefer
// `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply.
// Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`.
type Code int32
const (
// A programmer would not intentionally set the code to CODE_INVALID.
// This code exists to force service implementors to set
// a specific code for the API call and to not rely on defaults.
//
// HTTP Mapping: 500 Internal Server Error
Code_CODE_INVALID Code = 0
// Not an error; returned on success
//
// HTTP Mapping: 200 OK
Code_CODE_OK Code = 1
// The operation was cancelled, typically by the caller.
//
// HTTP Mapping: 499 Client Closed Request
Code_CODE_CANCELLED Code = 2
// Unknown error. For example, this error may be returned when
// a `Status` value received from another address space belongs to
// an error space that is not known in this address space. Also
// errors raised by APIs that do not return enough error information
// may be converted to this error.
//
// HTTP Mapping: 500 Internal Server Error
Code_CODE_UNKNOWN Code = 3
// The client specified an invalid argument. Note that this differs
// from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments
// that are problematic regardless of the state of the system
// (e.g., a malformed file name).
//
// HTTP Mapping: 400 Bad Request
Code_CODE_INVALID_ARGUMENT Code = 4
// The deadline expired before the operation could complete. For operations
// that change the state of the system, this error may be returned
// even if the operation has completed successfully. For example, a
// successful response from a server could have been delayed long
// enough for the deadline to expire.
//
// HTTP Mapping: 504 Gateway Timeout
Code_CODE_DEADLINE_EXCEEDED Code = 5
// Some requested entity (e.g., file or directory) was not found.
//
// Note to server developers: if a request is denied for an entire class
// of users, such as gradual feature rollout or undocumented whitelist,
// `NOT_FOUND` may be used. If a request is denied for some users within
// a class of users, such as user-based access control, `PERMISSION_DENIED`
// must be used.
//
// HTTP Mapping: 404 Not Found
Code_CODE_NOT_FOUND Code = 6
// The entity that a client attempted to create (e.g., file or directory)
// already exists.
//
// HTTP Mapping: 409 Conflict
Code_CODE_ALREADY_EXISTS Code = 7
// The caller does not have permission to execute the specified
// operation. `PERMISSION_DENIED` must not be used for rejections
// caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
// instead for those errors). `PERMISSION_DENIED` must not be
// used if the caller can not be identified (use `UNAUTHENTICATED`
// instead for those errors). This error code does not imply the
// request is valid or the requested entity exists or satisfies
// other pre-conditions.
//
// HTTP Mapping: 403 Forbidden
Code_CODE_PERMISSION_DENIED Code = 8
// The request does not have valid authentication credentials for the
// operation.
//
// HTTP Mapping: 401 Unauthorized
Code_CODE_UNAUTHENTICATED Code = 9
// Some resource has been exhausted, perhaps a per-user quota, or
// perhaps the entire file system is out of space.
//
// HTTP Mapping: 429 Too Many Requests
Code_CODE_RESOURCE_EXHAUSTED Code = 10
// The operation was rejected because the system is not in a state
// required for the operation's execution. For example, the directory
// to be deleted is non-empty, an rmdir operation is applied to
// a non-directory, etc.
//
// Service implementors can use the following guidelines to decide
// between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
//
// (a) Use `UNAVAILABLE` if the client can retry just the failing call.
// (b) Use `ABORTED` if the client should retry at a higher level
// (e.g., when a client-specified test-and-set fails, indicating the
// client should restart a read-modify-write sequence).
// (c) Use `FAILED_PRECONDITION` if the client should not retry until
// the system state has been explicitly fixed. E.g., if an "rmdir"
// fails because the directory is non-empty, `FAILED_PRECONDITION`
// should be returned since the client should not retry unless
// the files are deleted from the directory.
//
// HTTP Mapping: 400 Bad Request
Code_CODE_FAILED_PRECONDITION Code = 11
// The operation was aborted, typically due to a concurrency issue such as
// a sequencer check failure or transaction abort.
//
// See the guidelines above for deciding between `FAILED_PRECONDITION`,
// `ABORTED`, and `UNAVAILABLE`.
//
// HTTP Mapping: 409 Conflict
Code_CODE_ABORTED Code = 12
// The operation was attempted past the valid range. E.g., seeking or
// reading past end-of-file.
//
// Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
// be fixed if the system state changes. For example, a 32-bit file
// system will generate `INVALID_ARGUMENT` if asked to read at an
// offset that is not in the range [0,2^32-1], but it will generate
// `OUT_OF_RANGE` if asked to read from an offset past the current
// file size.
//
// There is a fair bit of overlap between `FAILED_PRECONDITION` and
// `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific
// error) when it applies so that callers who are iterating through
// a space can easily look for an `OUT_OF_RANGE` error to detect when
// they are done.
//
// HTTP Mapping: 400 Bad Request
Code_CODE_OUT_OF_RANGE Code = 13
// The operation is not implemented or is not supported/enabled in this
// service.
//
// HTTP Mapping: 501 Not Implemented
Code_CODE_UNIMPLEMENTED Code = 14
// Internal errors. This means that some invariants expected by the
// underlying system have been broken. This error code is reserved
// for serious errors.
//
// HTTP Mapping: 500 Internal Server Error
Code_CODE_INTERNAL Code = 15
// The service is currently unavailable. This is most likely a
// transient condition, which can be corrected by retrying with
// a backoff.
//
// See the guidelines above for deciding between `FAILED_PRECONDITION`,
// `ABORTED`, and `UNAVAILABLE`.
//
// HTTP Mapping: 503 Service Unavailable
Code_CODE_UNAVAILABLE Code = 16
// Unrecoverable data loss or corruption.
//
// HTTP Mapping: 500 Internal Server Error
Code_CODE_DATA_LOSS Code = 17
// Redirects the operation to another location.
// Used in a Status reponse with a reference to the target URI.
Code_CODE_REDIRECTION Code = 18
// The operation could not be performed because there is not enough
// storage available. This can be because of lack of real storage
// space or because of the exceeding of a quota associated to a
// storage.
//
// HTTP Mapping: 507 Insufficient Storage
Code_CODE_INSUFFICIENT_STORAGE Code = 19
// The ability to lock a resource is specific to some WebDAV servers.
// The HTTP 423 Locked error response code indicates that either
// the resources tentatively targeted by is locked, meaning it can't be accessed.
//
// HTTP Mapping: 423 Locked
Code_CODE_LOCKED Code = 20
// The server returns the response status code to indicate that it has received
// the request but is not going to process it because an asynchronous job
// that has been started is still being processed and the result can not yet be provided.
//
// HTTP Mapping: 425 Too Early
Code_CODE_TOO_EARLY Code = 21
)
// Enum value maps for Code.
var (
Code_name = map[int32]string{
0: "CODE_INVALID",
1: "CODE_OK",
2: "CODE_CANCELLED",
3: "CODE_UNKNOWN",
4: "CODE_INVALID_ARGUMENT",
5: "CODE_DEADLINE_EXCEEDED",
6: "CODE_NOT_FOUND",
7: "CODE_ALREADY_EXISTS",
8: "CODE_PERMISSION_DENIED",
9: "CODE_UNAUTHENTICATED",
10: "CODE_RESOURCE_EXHAUSTED",
11: "CODE_FAILED_PRECONDITION",
12: "CODE_ABORTED",
13: "CODE_OUT_OF_RANGE",
14: "CODE_UNIMPLEMENTED",
15: "CODE_INTERNAL",
16: "CODE_UNAVAILABLE",
17: "CODE_DATA_LOSS",
18: "CODE_REDIRECTION",
19: "CODE_INSUFFICIENT_STORAGE",
20: "CODE_LOCKED",
21: "CODE_TOO_EARLY",
}
Code_value = map[string]int32{
"CODE_INVALID": 0,
"CODE_OK": 1,
"CODE_CANCELLED": 2,
"CODE_UNKNOWN": 3,
"CODE_INVALID_ARGUMENT": 4,
"CODE_DEADLINE_EXCEEDED": 5,
"CODE_NOT_FOUND": 6,
"CODE_ALREADY_EXISTS": 7,
"CODE_PERMISSION_DENIED": 8,
"CODE_UNAUTHENTICATED": 9,
"CODE_RESOURCE_EXHAUSTED": 10,
"CODE_FAILED_PRECONDITION": 11,
"CODE_ABORTED": 12,
"CODE_OUT_OF_RANGE": 13,
"CODE_UNIMPLEMENTED": 14,
"CODE_INTERNAL": 15,
"CODE_UNAVAILABLE": 16,
"CODE_DATA_LOSS": 17,
"CODE_REDIRECTION": 18,
"CODE_INSUFFICIENT_STORAGE": 19,
"CODE_LOCKED": 20,
"CODE_TOO_EARLY": 21,
}
)
func (x Code) Enum() *Code {
p := new(Code)
*p = x
return p
}
func (x Code) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Code) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_rpc_v1beta1_code_proto_enumTypes[0].Descriptor()
}
func (Code) Type() protoreflect.EnumType {
return &file_cs3_rpc_v1beta1_code_proto_enumTypes[0]
}
func (x Code) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Code.Descriptor instead.
func (Code) EnumDescriptor() ([]byte, []int) {
return file_cs3_rpc_v1beta1_code_proto_rawDescGZIP(), []int{0}
}
var File_cs3_rpc_v1beta1_code_proto protoreflect.FileDescriptor
var file_cs3_rpc_v1beta1_code_proto_rawDesc = []byte{
0x0a, 0x1a, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x73,
0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2a, 0xf8, 0x03,
0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49,
0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x44, 0x45,
0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41,
0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x44,
0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x43,
0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55,
0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x44,
0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44,
0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x41,
0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x07, 0x12,
0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49,
0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x43,
0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41,
0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44,
0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45,
0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b,
0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44,
0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f,
0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0d, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x44,
0x45, 0x5f, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10,
0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e,
0x41, 0x4c, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41,
0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x10, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f,
0x44, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x11, 0x12, 0x14,
0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49,
0x4f, 0x4e, 0x10, 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x53,
0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47,
0x45, 0x10, 0x13, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b,
0x45, 0x44, 0x10, 0x14, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f,
0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x15, 0x42, 0xb7, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x42, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67,
0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f,
0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x72, 0x70, 0x63, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x52, 0x58, 0xaa, 0x02, 0x0f, 0x43,
0x73, 0x33, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
0x0f, 0x43, 0x73, 0x33, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0xe2, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x11, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_rpc_v1beta1_code_proto_rawDescOnce sync.Once
file_cs3_rpc_v1beta1_code_proto_rawDescData = file_cs3_rpc_v1beta1_code_proto_rawDesc
)
func file_cs3_rpc_v1beta1_code_proto_rawDescGZIP() []byte {
file_cs3_rpc_v1beta1_code_proto_rawDescOnce.Do(func() {
file_cs3_rpc_v1beta1_code_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_rpc_v1beta1_code_proto_rawDescData)
})
return file_cs3_rpc_v1beta1_code_proto_rawDescData
}
var file_cs3_rpc_v1beta1_code_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cs3_rpc_v1beta1_code_proto_goTypes = []interface{}{
(Code)(0), // 0: cs3.rpc.v1beta1.Code
}
var file_cs3_rpc_v1beta1_code_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_cs3_rpc_v1beta1_code_proto_init() }
func file_cs3_rpc_v1beta1_code_proto_init() {
if File_cs3_rpc_v1beta1_code_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cs3_rpc_v1beta1_code_proto_rawDesc,
NumEnums: 1,
NumMessages: 0,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_rpc_v1beta1_code_proto_goTypes,
DependencyIndexes: file_cs3_rpc_v1beta1_code_proto_depIdxs,
EnumInfos: file_cs3_rpc_v1beta1_code_proto_enumTypes,
}.Build()
File_cs3_rpc_v1beta1_code_proto = out.File
file_cs3_rpc_v1beta1_code_proto_rawDesc = nil
file_cs3_rpc_v1beta1_code_proto_goTypes = nil
file_cs3_rpc_v1beta1_code_proto_depIdxs = nil
}
+244
View File
@@ -0,0 +1,244 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/rpc/v1beta1/status.proto
package rpcv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// The `Status` message contains two pieces of data: error code and error message.
// The error code should be an enum value of [cs3.rpc.code].
// The error message should be a developer-facing English
// message that helps developers *understand* and *resolve* the error.
type Status struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The status code, which should be an enum value of [cs3.rpc.code][cs3.rpc.code].
Code Code `protobuf:"varint,1,opt,name=code,proto3,enum=cs3.rpc.v1beta1.Code" json:"code,omitempty"`
// OPTIONAL.
// A developer-facing error message, which should be in English. Any
// user-facing error message should be localized and sent in the
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// OPTIONAL.
// A trace added to the response for helping support to identify client problems.
Trace string `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"`
// OPTIONAL.
// A target URI as per RFC3986 to redirect requests to another location.
// A Status message with CODE_REDIRECT MUST always set the target_uri.
// https://golang.org/pkg/net/url/#URL provides a quick view of the format.
TargetUri string `protobuf:"bytes,4,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"`
// OPTIONAL.
// InnerError represents an encoded error.
// This makes it possible to transport error types
// and match them on the client side by type.
// The InnerError pattern originates from graph.
InnerError *v1beta1.OpaqueEntry `protobuf:"bytes,5,opt,name=InnerError,proto3" json:"InnerError,omitempty"`
}
func (x *Status) Reset() {
*x = Status{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_rpc_v1beta1_status_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Status) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Status) ProtoMessage() {}
func (x *Status) ProtoReflect() protoreflect.Message {
mi := &file_cs3_rpc_v1beta1_status_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 Status.ProtoReflect.Descriptor instead.
func (*Status) Descriptor() ([]byte, []int) {
return file_cs3_rpc_v1beta1_status_proto_rawDescGZIP(), []int{0}
}
func (x *Status) GetCode() Code {
if x != nil {
return x.Code
}
return Code_CODE_INVALID
}
func (x *Status) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *Status) GetTrace() string {
if x != nil {
return x.Trace
}
return ""
}
func (x *Status) GetTargetUri() string {
if x != nil {
return x.TargetUri
}
return ""
}
func (x *Status) GetInnerError() *v1beta1.OpaqueEntry {
if x != nil {
return x.InnerError
}
return nil
}
var File_cs3_rpc_v1beta1_status_proto protoreflect.FileDescriptor
var file_cs3_rpc_v1beta1_status_proto_rawDesc = []byte{
0x0a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a,
0x1a, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x06, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72,
0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65,
0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12,
0x3e, 0x0a, 0x0a, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42,
0xb9, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33,
0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2,
0x02, 0x03, 0x43, 0x52, 0x58, 0xaa, 0x02, 0x0f, 0x43, 0x73, 0x33, 0x2e, 0x52, 0x70, 0x63, 0x2e,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x0f, 0x43, 0x73, 0x33, 0x5c, 0x52, 0x70,
0x63, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x5c,
0x52, 0x70, 0x63, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x52,
0x70, 0x63, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_cs3_rpc_v1beta1_status_proto_rawDescOnce sync.Once
file_cs3_rpc_v1beta1_status_proto_rawDescData = file_cs3_rpc_v1beta1_status_proto_rawDesc
)
func file_cs3_rpc_v1beta1_status_proto_rawDescGZIP() []byte {
file_cs3_rpc_v1beta1_status_proto_rawDescOnce.Do(func() {
file_cs3_rpc_v1beta1_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_rpc_v1beta1_status_proto_rawDescData)
})
return file_cs3_rpc_v1beta1_status_proto_rawDescData
}
var file_cs3_rpc_v1beta1_status_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cs3_rpc_v1beta1_status_proto_goTypes = []interface{}{
(*Status)(nil), // 0: cs3.rpc.v1beta1.Status
(Code)(0), // 1: cs3.rpc.v1beta1.Code
(*v1beta1.OpaqueEntry)(nil), // 2: cs3.types.v1beta1.OpaqueEntry
}
var file_cs3_rpc_v1beta1_status_proto_depIdxs = []int32{
1, // 0: cs3.rpc.v1beta1.Status.code:type_name -> cs3.rpc.v1beta1.Code
2, // 1: cs3.rpc.v1beta1.Status.InnerError:type_name -> cs3.types.v1beta1.OpaqueEntry
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_rpc_v1beta1_status_proto_init() }
func file_cs3_rpc_v1beta1_status_proto_init() {
if File_cs3_rpc_v1beta1_status_proto != nil {
return
}
file_cs3_rpc_v1beta1_code_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_rpc_v1beta1_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Status); 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_cs3_rpc_v1beta1_status_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_rpc_v1beta1_status_proto_goTypes,
DependencyIndexes: file_cs3_rpc_v1beta1_status_proto_depIdxs,
MessageInfos: file_cs3_rpc_v1beta1_status_proto_msgTypes,
}.Build()
File_cs3_rpc_v1beta1_status_proto = out.File
file_cs3_rpc_v1beta1_status_proto_rawDesc = nil
file_cs3_rpc_v1beta1_status_proto_goTypes = nil
file_cs3_rpc_v1beta1_status_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,424 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/collaboration/v1beta1/collaboration_api.proto
package collaborationv1beta1
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
const (
CollaborationAPI_CreateShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/CreateShare"
CollaborationAPI_RemoveShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/RemoveShare"
CollaborationAPI_GetShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/GetShare"
CollaborationAPI_ListShares_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/ListShares"
CollaborationAPI_UpdateShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/UpdateShare"
CollaborationAPI_ListReceivedShares_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/ListReceivedShares"
CollaborationAPI_UpdateReceivedShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/UpdateReceivedShare"
CollaborationAPI_GetReceivedShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/GetReceivedShare"
)
// CollaborationAPIClient is the client API for CollaborationAPI 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 CollaborationAPIClient interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_LOCKED if the resource reference already locked.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreateShare(ctx context.Context, in *CreateShareRequest, opts ...grpc.CallOption) (*CreateShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemoveShare(ctx context.Context, in *RemoveShareRequest, opts ...grpc.CallOption) (*RemoveShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetShare(ctx context.Context, in *GetShareRequest, opts ...grpc.CallOption) (*GetShareResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListShares(ctx context.Context, in *ListSharesRequest, opts ...grpc.CallOption) (*ListSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateShare(ctx context.Context, in *UpdateShareRequest, opts ...grpc.CallOption) (*UpdateShareResponse, error)
// List all shares the authenticated principal has received.
ListReceivedShares(ctx context.Context, in *ListReceivedSharesRequest, opts ...grpc.CallOption) (*ListReceivedSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedShare(ctx context.Context, in *UpdateReceivedShareRequest, opts ...grpc.CallOption) (*UpdateReceivedShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedShare(ctx context.Context, in *GetReceivedShareRequest, opts ...grpc.CallOption) (*GetReceivedShareResponse, error)
}
type collaborationAPIClient struct {
cc grpc.ClientConnInterface
}
func NewCollaborationAPIClient(cc grpc.ClientConnInterface) CollaborationAPIClient {
return &collaborationAPIClient{cc}
}
func (c *collaborationAPIClient) CreateShare(ctx context.Context, in *CreateShareRequest, opts ...grpc.CallOption) (*CreateShareResponse, error) {
out := new(CreateShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_CreateShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) RemoveShare(ctx context.Context, in *RemoveShareRequest, opts ...grpc.CallOption) (*RemoveShareResponse, error) {
out := new(RemoveShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_RemoveShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) GetShare(ctx context.Context, in *GetShareRequest, opts ...grpc.CallOption) (*GetShareResponse, error) {
out := new(GetShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_GetShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) ListShares(ctx context.Context, in *ListSharesRequest, opts ...grpc.CallOption) (*ListSharesResponse, error) {
out := new(ListSharesResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_ListShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) UpdateShare(ctx context.Context, in *UpdateShareRequest, opts ...grpc.CallOption) (*UpdateShareResponse, error) {
out := new(UpdateShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_UpdateShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) ListReceivedShares(ctx context.Context, in *ListReceivedSharesRequest, opts ...grpc.CallOption) (*ListReceivedSharesResponse, error) {
out := new(ListReceivedSharesResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_ListReceivedShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) UpdateReceivedShare(ctx context.Context, in *UpdateReceivedShareRequest, opts ...grpc.CallOption) (*UpdateReceivedShareResponse, error) {
out := new(UpdateReceivedShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_UpdateReceivedShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) GetReceivedShare(ctx context.Context, in *GetReceivedShareRequest, opts ...grpc.CallOption) (*GetReceivedShareResponse, error) {
out := new(GetReceivedShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_GetReceivedShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CollaborationAPIServer is the server API for CollaborationAPI service.
// All implementations should embed UnimplementedCollaborationAPIServer
// for forward compatibility
type CollaborationAPIServer interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_LOCKED if the resource reference already locked.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreateShare(context.Context, *CreateShareRequest) (*CreateShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemoveShare(context.Context, *RemoveShareRequest) (*RemoveShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetShare(context.Context, *GetShareRequest) (*GetShareResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListShares(context.Context, *ListSharesRequest) (*ListSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateShare(context.Context, *UpdateShareRequest) (*UpdateShareResponse, error)
// List all shares the authenticated principal has received.
ListReceivedShares(context.Context, *ListReceivedSharesRequest) (*ListReceivedSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedShare(context.Context, *UpdateReceivedShareRequest) (*UpdateReceivedShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedShare(context.Context, *GetReceivedShareRequest) (*GetReceivedShareResponse, error)
}
// UnimplementedCollaborationAPIServer should be embedded to have forward compatible implementations.
type UnimplementedCollaborationAPIServer struct {
}
func (UnimplementedCollaborationAPIServer) CreateShare(context.Context, *CreateShareRequest) (*CreateShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateShare not implemented")
}
func (UnimplementedCollaborationAPIServer) RemoveShare(context.Context, *RemoveShareRequest) (*RemoveShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveShare not implemented")
}
func (UnimplementedCollaborationAPIServer) GetShare(context.Context, *GetShareRequest) (*GetShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetShare not implemented")
}
func (UnimplementedCollaborationAPIServer) ListShares(context.Context, *ListSharesRequest) (*ListSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListShares not implemented")
}
func (UnimplementedCollaborationAPIServer) UpdateShare(context.Context, *UpdateShareRequest) (*UpdateShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateShare not implemented")
}
func (UnimplementedCollaborationAPIServer) ListReceivedShares(context.Context, *ListReceivedSharesRequest) (*ListReceivedSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListReceivedShares not implemented")
}
func (UnimplementedCollaborationAPIServer) UpdateReceivedShare(context.Context, *UpdateReceivedShareRequest) (*UpdateReceivedShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedShare not implemented")
}
func (UnimplementedCollaborationAPIServer) GetReceivedShare(context.Context, *GetReceivedShareRequest) (*GetReceivedShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetReceivedShare not implemented")
}
// UnsafeCollaborationAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CollaborationAPIServer will
// result in compilation errors.
type UnsafeCollaborationAPIServer interface {
mustEmbedUnimplementedCollaborationAPIServer()
}
func RegisterCollaborationAPIServer(s grpc.ServiceRegistrar, srv CollaborationAPIServer) {
s.RegisterService(&CollaborationAPI_ServiceDesc, srv)
}
func _CollaborationAPI_CreateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).CreateShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_CreateShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).CreateShare(ctx, req.(*CreateShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_RemoveShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).RemoveShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_RemoveShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).RemoveShare(ctx, req.(*RemoveShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_GetShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).GetShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_GetShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).GetShare(ctx, req.(*GetShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_ListShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).ListShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_ListShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).ListShares(ctx, req.(*ListSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_UpdateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).UpdateShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_UpdateShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).UpdateShare(ctx, req.(*UpdateShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_ListReceivedShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListReceivedSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).ListReceivedShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_ListReceivedShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).ListReceivedShares(ctx, req.(*ListReceivedSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_UpdateReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateReceivedShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).UpdateReceivedShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_UpdateReceivedShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).UpdateReceivedShare(ctx, req.(*UpdateReceivedShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_GetReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetReceivedShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).GetReceivedShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_GetReceivedShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).GetReceivedShare(ctx, req.(*GetReceivedShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// CollaborationAPI_ServiceDesc is the grpc.ServiceDesc for CollaborationAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CollaborationAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.collaboration.v1beta1.CollaborationAPI",
HandlerType: (*CollaborationAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateShare",
Handler: _CollaborationAPI_CreateShare_Handler,
},
{
MethodName: "RemoveShare",
Handler: _CollaborationAPI_RemoveShare_Handler,
},
{
MethodName: "GetShare",
Handler: _CollaborationAPI_GetShare_Handler,
},
{
MethodName: "ListShares",
Handler: _CollaborationAPI_ListShares_Handler,
},
{
MethodName: "UpdateShare",
Handler: _CollaborationAPI_UpdateShare_Handler,
},
{
MethodName: "ListReceivedShares",
Handler: _CollaborationAPI_ListReceivedShares_Handler,
},
{
MethodName: "UpdateReceivedShare",
Handler: _CollaborationAPI_UpdateReceivedShare_Handler,
},
{
MethodName: "GetReceivedShare",
Handler: _CollaborationAPI_GetReceivedShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/collaboration/v1beta1/collaboration_api.proto",
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,342 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/link/v1beta1/link_api.proto
package linkv1beta1
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
const (
LinkAPI_CreatePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/CreatePublicShare"
LinkAPI_RemovePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/RemovePublicShare"
LinkAPI_GetPublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/GetPublicShare"
LinkAPI_GetPublicShareByToken_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/GetPublicShareByToken"
LinkAPI_ListPublicShares_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/ListPublicShares"
LinkAPI_UpdatePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/UpdatePublicShare"
)
// LinkAPIClient is the client API for LinkAPI 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 LinkAPIClient interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreatePublicShare(ctx context.Context, in *CreatePublicShareRequest, opts ...grpc.CallOption) (*CreatePublicShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemovePublicShare(ctx context.Context, in *RemovePublicShareRequest, opts ...grpc.CallOption) (*RemovePublicShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetPublicShare(ctx context.Context, in *GetPublicShareRequest, opts ...grpc.CallOption) (*GetPublicShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetPublicShareByToken(ctx context.Context, in *GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*GetPublicShareByTokenResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListPublicShares(ctx context.Context, in *ListPublicSharesRequest, opts ...grpc.CallOption) (*ListPublicSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdatePublicShare(ctx context.Context, in *UpdatePublicShareRequest, opts ...grpc.CallOption) (*UpdatePublicShareResponse, error)
}
type linkAPIClient struct {
cc grpc.ClientConnInterface
}
func NewLinkAPIClient(cc grpc.ClientConnInterface) LinkAPIClient {
return &linkAPIClient{cc}
}
func (c *linkAPIClient) CreatePublicShare(ctx context.Context, in *CreatePublicShareRequest, opts ...grpc.CallOption) (*CreatePublicShareResponse, error) {
out := new(CreatePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_CreatePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) RemovePublicShare(ctx context.Context, in *RemovePublicShareRequest, opts ...grpc.CallOption) (*RemovePublicShareResponse, error) {
out := new(RemovePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_RemovePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) GetPublicShare(ctx context.Context, in *GetPublicShareRequest, opts ...grpc.CallOption) (*GetPublicShareResponse, error) {
out := new(GetPublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_GetPublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) GetPublicShareByToken(ctx context.Context, in *GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*GetPublicShareByTokenResponse, error) {
out := new(GetPublicShareByTokenResponse)
err := c.cc.Invoke(ctx, LinkAPI_GetPublicShareByToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) ListPublicShares(ctx context.Context, in *ListPublicSharesRequest, opts ...grpc.CallOption) (*ListPublicSharesResponse, error) {
out := new(ListPublicSharesResponse)
err := c.cc.Invoke(ctx, LinkAPI_ListPublicShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) UpdatePublicShare(ctx context.Context, in *UpdatePublicShareRequest, opts ...grpc.CallOption) (*UpdatePublicShareResponse, error) {
out := new(UpdatePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_UpdatePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// LinkAPIServer is the server API for LinkAPI service.
// All implementations should embed UnimplementedLinkAPIServer
// for forward compatibility
type LinkAPIServer interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreatePublicShare(context.Context, *CreatePublicShareRequest) (*CreatePublicShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemovePublicShare(context.Context, *RemovePublicShareRequest) (*RemovePublicShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetPublicShare(context.Context, *GetPublicShareRequest) (*GetPublicShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetPublicShareByToken(context.Context, *GetPublicShareByTokenRequest) (*GetPublicShareByTokenResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListPublicShares(context.Context, *ListPublicSharesRequest) (*ListPublicSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdatePublicShare(context.Context, *UpdatePublicShareRequest) (*UpdatePublicShareResponse, error)
}
// UnimplementedLinkAPIServer should be embedded to have forward compatible implementations.
type UnimplementedLinkAPIServer struct {
}
func (UnimplementedLinkAPIServer) CreatePublicShare(context.Context, *CreatePublicShareRequest) (*CreatePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePublicShare not implemented")
}
func (UnimplementedLinkAPIServer) RemovePublicShare(context.Context, *RemovePublicShareRequest) (*RemovePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemovePublicShare not implemented")
}
func (UnimplementedLinkAPIServer) GetPublicShare(context.Context, *GetPublicShareRequest) (*GetPublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPublicShare not implemented")
}
func (UnimplementedLinkAPIServer) GetPublicShareByToken(context.Context, *GetPublicShareByTokenRequest) (*GetPublicShareByTokenResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPublicShareByToken not implemented")
}
func (UnimplementedLinkAPIServer) ListPublicShares(context.Context, *ListPublicSharesRequest) (*ListPublicSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPublicShares not implemented")
}
func (UnimplementedLinkAPIServer) UpdatePublicShare(context.Context, *UpdatePublicShareRequest) (*UpdatePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdatePublicShare not implemented")
}
// UnsafeLinkAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to LinkAPIServer will
// result in compilation errors.
type UnsafeLinkAPIServer interface {
mustEmbedUnimplementedLinkAPIServer()
}
func RegisterLinkAPIServer(s grpc.ServiceRegistrar, srv LinkAPIServer) {
s.RegisterService(&LinkAPI_ServiceDesc, srv)
}
func _LinkAPI_CreatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).CreatePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_CreatePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).CreatePublicShare(ctx, req.(*CreatePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_RemovePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemovePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).RemovePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_RemovePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).RemovePublicShare(ctx, req.(*RemovePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_GetPublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).GetPublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_GetPublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).GetPublicShare(ctx, req.(*GetPublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_GetPublicShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPublicShareByTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).GetPublicShareByToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_GetPublicShareByToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).GetPublicShareByToken(ctx, req.(*GetPublicShareByTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_ListPublicShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPublicSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).ListPublicShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_ListPublicShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).ListPublicShares(ctx, req.(*ListPublicSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_UpdatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdatePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).UpdatePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_UpdatePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).UpdatePublicShare(ctx, req.(*UpdatePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// LinkAPI_ServiceDesc is the grpc.ServiceDesc for LinkAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var LinkAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.link.v1beta1.LinkAPI",
HandlerType: (*LinkAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreatePublicShare",
Handler: _LinkAPI_CreatePublicShare_Handler,
},
{
MethodName: "RemovePublicShare",
Handler: _LinkAPI_RemovePublicShare_Handler,
},
{
MethodName: "GetPublicShare",
Handler: _LinkAPI_GetPublicShare_Handler,
},
{
MethodName: "GetPublicShareByToken",
Handler: _LinkAPI_GetPublicShareByToken_Handler,
},
{
MethodName: "ListPublicShares",
Handler: _LinkAPI_ListPublicShares_Handler,
},
{
MethodName: "UpdatePublicShare",
Handler: _LinkAPI_UpdatePublicShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/link/v1beta1/link_api.proto",
}
@@ -0,0 +1,969 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/sharing/link/v1beta1/resources.proto
package linkv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// Public share are relationships between a resource owner
// (usually the authenticated user) who grants permissions to a recipient (grantee)
// on a specified resource (resource_id). UserShares represents both user and groups.
// TODO(labkode): do we need to have resource_type stored on the share?
// This is not needed if when getting the shares a stat operation is launched against the
// the storage provider.
type PublicShare struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// Opaque unique identifier of the share.
Id *PublicShareId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
// The unlisted token to give public access
// to the public share.
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
// REQUIRED.
// Unique identifier of the shared resource.
ResourceId *v1beta1.ResourceId `protobuf:"bytes,3,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
// REQUIRED.
// Permissions for the grantee to use
// the resource.
Permissions *PublicSharePermissions `protobuf:"bytes,4,opt,name=permissions,proto3" json:"permissions,omitempty"`
// REQUIRED.
// Uniquely identifies the owner of the share
// (the resource owner at the time of creating the share).
// In case the ownership of the underlying resource changes
// the share owner field MAY change to reflect the change of ownsership.
Owner *v1beta11.UserId `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
// REQUIRED.
// Uniquely identifies a principal who initiates the share creation.
// A creator can create shares on behalf of the owner (because of re-sharing,
// because belonging to special groups, ...).
// Creator and owner often result in being the same principal.
Creator *v1beta11.UserId `protobuf:"bytes,6,opt,name=creator,proto3" json:"creator,omitempty"`
// REQUIRED.
// Creation time of the share.
Ctime *v1beta12.Timestamp `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"`
// REQUIRED.
// Last modification time of the share.
Mtime *v1beta12.Timestamp `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"`
// REQUIRED.
// Determines if the public share is password protected or not.
PasswordProtected bool `protobuf:"varint,9,opt,name=password_protected,json=passwordProtected,proto3" json:"password_protected,omitempty"`
// OPTIONAL.
// The expiration time for the public share.
Expiration *v1beta12.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"`
// OPTIONAL.
// Display name for the shared resource (such as file, directory basename or any
// user defined name).
// The display name MAY be different than the actual resource basename.
// This field is only useful for informational purposes, like for example,
// setting the window title in a public share HTML page.
DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// OPTIONAL.
// A time constrained token with which
// GetPublicSharebyToken requests can be
// authenticated.
Signature *ShareSignature `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature,omitempty"`
// OPTIONAL
// A bool value indicating if the link is the quicklink
// the server will enforce a maximum of 1 quicklink per resource
Quicklink bool `protobuf:"varint,13,opt,name=quicklink,proto3" json:"quicklink,omitempty"`
// OPTIONAL
// Description of the share.
Description string `protobuf:"bytes,14,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL
// Whether to notify the owner of a share when a file is uploaded to it.
NotifyUploads bool `protobuf:"varint,15,opt,name=notify_uploads,json=notifyUploads,proto3" json:"notify_uploads,omitempty"`
// OPTIONAL
// Comma-separated list of extra email addresses to notify when a file is
// uploaded to the share.
NotifyUploadsExtraRecipients string `protobuf:"bytes,16,opt,name=notify_uploads_extra_recipients,json=notifyUploadsExtraRecipients,proto3" json:"notify_uploads_extra_recipients,omitempty"`
}
func (x *PublicShare) Reset() {
*x = PublicShare{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShare) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShare) ProtoMessage() {}
func (x *PublicShare) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 PublicShare.ProtoReflect.Descriptor instead.
func (*PublicShare) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *PublicShare) GetId() *PublicShareId {
if x != nil {
return x.Id
}
return nil
}
func (x *PublicShare) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *PublicShare) GetResourceId() *v1beta1.ResourceId {
if x != nil {
return x.ResourceId
}
return nil
}
func (x *PublicShare) GetPermissions() *PublicSharePermissions {
if x != nil {
return x.Permissions
}
return nil
}
func (x *PublicShare) GetOwner() *v1beta11.UserId {
if x != nil {
return x.Owner
}
return nil
}
func (x *PublicShare) GetCreator() *v1beta11.UserId {
if x != nil {
return x.Creator
}
return nil
}
func (x *PublicShare) GetCtime() *v1beta12.Timestamp {
if x != nil {
return x.Ctime
}
return nil
}
func (x *PublicShare) GetMtime() *v1beta12.Timestamp {
if x != nil {
return x.Mtime
}
return nil
}
func (x *PublicShare) GetPasswordProtected() bool {
if x != nil {
return x.PasswordProtected
}
return false
}
func (x *PublicShare) GetExpiration() *v1beta12.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *PublicShare) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *PublicShare) GetSignature() *ShareSignature {
if x != nil {
return x.Signature
}
return nil
}
func (x *PublicShare) GetQuicklink() bool {
if x != nil {
return x.Quicklink
}
return false
}
func (x *PublicShare) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *PublicShare) GetNotifyUploads() bool {
if x != nil {
return x.NotifyUploads
}
return false
}
func (x *PublicShare) GetNotifyUploadsExtraRecipients() string {
if x != nil {
return x.NotifyUploadsExtraRecipients
}
return ""
}
// The permissions for a share.
type PublicSharePermissions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Permissions *v1beta1.ResourcePermissions `protobuf:"bytes,1,opt,name=permissions,proto3" json:"permissions,omitempty"` // TODO(labkode): additional permissions for shares like re-sharing
}
func (x *PublicSharePermissions) Reset() {
*x = PublicSharePermissions{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicSharePermissions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicSharePermissions) ProtoMessage() {}
func (x *PublicSharePermissions) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 PublicSharePermissions.ProtoReflect.Descriptor instead.
func (*PublicSharePermissions) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *PublicSharePermissions) GetPermissions() *v1beta1.ResourcePermissions {
if x != nil {
return x.Permissions
}
return nil
}
// A share id identifies uniquely a // share in the share provider namespace.
// A ShareId MUST be unique inside the share provider.
type PublicShareId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The internal id used by service implementor to
// uniquely identity the share in the internal
// implementation of the service.
OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
}
func (x *PublicShareId) Reset() {
*x = PublicShareId{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareId) ProtoMessage() {}
func (x *PublicShareId) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 PublicShareId.ProtoReflect.Descriptor instead.
func (*PublicShareId) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{2}
}
func (x *PublicShareId) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
// The mechanism to identify a share
// in the share provider namespace.
type PublicShareReference struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// One of the specifications MUST be specified.
//
// Types that are assignable to Spec:
//
// *PublicShareReference_Id
// *PublicShareReference_Token
Spec isPublicShareReference_Spec `protobuf_oneof:"spec"`
}
func (x *PublicShareReference) Reset() {
*x = PublicShareReference{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareReference) ProtoMessage() {}
func (x *PublicShareReference) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 PublicShareReference.ProtoReflect.Descriptor instead.
func (*PublicShareReference) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{3}
}
func (m *PublicShareReference) GetSpec() isPublicShareReference_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *PublicShareReference) GetId() *PublicShareId {
if x, ok := x.GetSpec().(*PublicShareReference_Id); ok {
return x.Id
}
return nil
}
func (x *PublicShareReference) GetToken() string {
if x, ok := x.GetSpec().(*PublicShareReference_Token); ok {
return x.Token
}
return ""
}
type isPublicShareReference_Spec interface {
isPublicShareReference_Spec()
}
type PublicShareReference_Id struct {
// The id of the share.
Id *PublicShareId `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
}
type PublicShareReference_Token struct {
// The token to identify the public share.
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*PublicShareReference_Id) isPublicShareReference_Spec() {}
func (*PublicShareReference_Token) isPublicShareReference_Spec() {}
// The mechanism to authenticate a request to
// GetPublicShareByToken.
type PublicShareAuthentication struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Spec:
//
// *PublicShareAuthentication_Password
// *PublicShareAuthentication_Signature
Spec isPublicShareAuthentication_Spec `protobuf_oneof:"spec"`
}
func (x *PublicShareAuthentication) Reset() {
*x = PublicShareAuthentication{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareAuthentication) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareAuthentication) ProtoMessage() {}
func (x *PublicShareAuthentication) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 PublicShareAuthentication.ProtoReflect.Descriptor instead.
func (*PublicShareAuthentication) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{4}
}
func (m *PublicShareAuthentication) GetSpec() isPublicShareAuthentication_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *PublicShareAuthentication) GetPassword() string {
if x, ok := x.GetSpec().(*PublicShareAuthentication_Password); ok {
return x.Password
}
return ""
}
func (x *PublicShareAuthentication) GetSignature() *ShareSignature {
if x, ok := x.GetSpec().(*PublicShareAuthentication_Signature); ok {
return x.Signature
}
return nil
}
type isPublicShareAuthentication_Spec interface {
isPublicShareAuthentication_Spec()
}
type PublicShareAuthentication_Password struct {
// The password of the share.
Password string `protobuf:"bytes,1,opt,name=password,proto3,oneof"`
}
type PublicShareAuthentication_Signature struct {
// The signature issued by GetPublicShareByToken.
Signature *ShareSignature `protobuf:"bytes,2,opt,name=signature,proto3,oneof"`
}
func (*PublicShareAuthentication_Password) isPublicShareAuthentication_Spec() {}
func (*PublicShareAuthentication_Signature) isPublicShareAuthentication_Spec() {}
// A time constrained token which can be used to
// authenticate link share requests.
type ShareSignature struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The signature value.
Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
// REQUIRED.
// The time until the signature becomes invalid.
SignatureExpiration *v1beta12.Timestamp `protobuf:"bytes,2,opt,name=signature_expiration,json=signatureExpiration,proto3" json:"signature_expiration,omitempty"`
}
func (x *ShareSignature) Reset() {
*x = ShareSignature{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShareSignature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShareSignature) ProtoMessage() {}
func (x *ShareSignature) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 ShareSignature.ProtoReflect.Descriptor instead.
func (*ShareSignature) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{5}
}
func (x *ShareSignature) GetSignature() string {
if x != nil {
return x.Signature
}
return ""
}
func (x *ShareSignature) GetSignatureExpiration() *v1beta12.Timestamp {
if x != nil {
return x.SignatureExpiration
}
return nil
}
// Defines the restrictions for the public share.
type Grant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The permissions for the share.
Permissions *PublicSharePermissions `protobuf:"bytes,1,opt,name=permissions,proto3" json:"permissions,omitempty"`
// OPTIONAL.
// A password to protect the access to the public share.
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
// OPTIONAL.
// An expiration date to protect the access to the public share.
Expiration *v1beta12.Timestamp `protobuf:"bytes,3,opt,name=expiration,proto3" json:"expiration,omitempty"`
}
func (x *Grant) Reset() {
*x = Grant{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Grant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Grant) ProtoMessage() {}
func (x *Grant) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_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 Grant.ProtoReflect.Descriptor instead.
func (*Grant) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{6}
}
func (x *Grant) GetPermissions() *PublicSharePermissions {
if x != nil {
return x.Permissions
}
return nil
}
func (x *Grant) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *Grant) GetExpiration() *v1beta12.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
var File_cs3_sharing_link_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_sharing_link_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69,
0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63,
0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x06, 0x0a,
0x0b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73,
0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49,
0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61,
0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63,
0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x09,
0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x50, 0x72,
0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73,
0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e,
0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x08, 0x52, 0x09, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61,
0x64, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
0x52, 0x1c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x45,
0x78, 0x74, 0x72, 0x61, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6d,
0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a,
0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b,
0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x14, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69,
0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x8b,
0x01, 0x0a, 0x19, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75,
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x08,
0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x48, 0x0a, 0x09, 0x73, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
0x74, 0x75, 0x72, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x7f, 0x0a, 0x0e,
0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x14,
0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
0x75, 0x72, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01,
0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68,
0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b,
0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xf4, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63,
0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69,
0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x6c, 0x69, 0x6e, 0x6b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53,
0x4c, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43,
0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4c, 0x69, 0x6e, 0x6b, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4c, 0x69, 0x6e, 0x6b, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4c,
0x69, 0x6e, 0x6b, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_sharing_link_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_sharing_link_v1beta1_resources_proto_rawDescData = file_cs3_sharing_link_v1beta1_resources_proto_rawDesc
)
func file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_sharing_link_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_sharing_link_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_sharing_link_v1beta1_resources_proto_rawDescData)
})
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescData
}
var file_cs3_sharing_link_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_cs3_sharing_link_v1beta1_resources_proto_goTypes = []interface{}{
(*PublicShare)(nil), // 0: cs3.sharing.link.v1beta1.PublicShare
(*PublicSharePermissions)(nil), // 1: cs3.sharing.link.v1beta1.PublicSharePermissions
(*PublicShareId)(nil), // 2: cs3.sharing.link.v1beta1.PublicShareId
(*PublicShareReference)(nil), // 3: cs3.sharing.link.v1beta1.PublicShareReference
(*PublicShareAuthentication)(nil), // 4: cs3.sharing.link.v1beta1.PublicShareAuthentication
(*ShareSignature)(nil), // 5: cs3.sharing.link.v1beta1.ShareSignature
(*Grant)(nil), // 6: cs3.sharing.link.v1beta1.Grant
(*v1beta1.ResourceId)(nil), // 7: cs3.storage.provider.v1beta1.ResourceId
(*v1beta11.UserId)(nil), // 8: cs3.identity.user.v1beta1.UserId
(*v1beta12.Timestamp)(nil), // 9: cs3.types.v1beta1.Timestamp
(*v1beta1.ResourcePermissions)(nil), // 10: cs3.storage.provider.v1beta1.ResourcePermissions
}
var file_cs3_sharing_link_v1beta1_resources_proto_depIdxs = []int32{
2, // 0: cs3.sharing.link.v1beta1.PublicShare.id:type_name -> cs3.sharing.link.v1beta1.PublicShareId
7, // 1: cs3.sharing.link.v1beta1.PublicShare.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId
1, // 2: cs3.sharing.link.v1beta1.PublicShare.permissions:type_name -> cs3.sharing.link.v1beta1.PublicSharePermissions
8, // 3: cs3.sharing.link.v1beta1.PublicShare.owner:type_name -> cs3.identity.user.v1beta1.UserId
8, // 4: cs3.sharing.link.v1beta1.PublicShare.creator:type_name -> cs3.identity.user.v1beta1.UserId
9, // 5: cs3.sharing.link.v1beta1.PublicShare.ctime:type_name -> cs3.types.v1beta1.Timestamp
9, // 6: cs3.sharing.link.v1beta1.PublicShare.mtime:type_name -> cs3.types.v1beta1.Timestamp
9, // 7: cs3.sharing.link.v1beta1.PublicShare.expiration:type_name -> cs3.types.v1beta1.Timestamp
5, // 8: cs3.sharing.link.v1beta1.PublicShare.signature:type_name -> cs3.sharing.link.v1beta1.ShareSignature
10, // 9: cs3.sharing.link.v1beta1.PublicSharePermissions.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions
2, // 10: cs3.sharing.link.v1beta1.PublicShareReference.id:type_name -> cs3.sharing.link.v1beta1.PublicShareId
5, // 11: cs3.sharing.link.v1beta1.PublicShareAuthentication.signature:type_name -> cs3.sharing.link.v1beta1.ShareSignature
9, // 12: cs3.sharing.link.v1beta1.ShareSignature.signature_expiration:type_name -> cs3.types.v1beta1.Timestamp
1, // 13: cs3.sharing.link.v1beta1.Grant.permissions:type_name -> cs3.sharing.link.v1beta1.PublicSharePermissions
9, // 14: cs3.sharing.link.v1beta1.Grant.expiration:type_name -> cs3.types.v1beta1.Timestamp
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_cs3_sharing_link_v1beta1_resources_proto_init() }
func file_cs3_sharing_link_v1beta1_resources_proto_init() {
if File_cs3_sharing_link_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShare); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicSharePermissions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareReference); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareAuthentication); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShareSignature); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Grant); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3].OneofWrappers = []interface{}{
(*PublicShareReference_Id)(nil),
(*PublicShareReference_Token)(nil),
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4].OneofWrappers = []interface{}{
(*PublicShareAuthentication_Password)(nil),
(*PublicShareAuthentication_Signature)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cs3_sharing_link_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_sharing_link_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_sharing_link_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_sharing_link_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_sharing_link_v1beta1_resources_proto = out.File
file_cs3_sharing_link_v1beta1_resources_proto_rawDesc = nil
file_cs3_sharing_link_v1beta1_resources_proto_goTypes = nil
file_cs3_sharing_link_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,475 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/ocm/v1beta1/ocm_api.proto
package ocmv1beta1
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
const (
OcmAPI_CreateOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/CreateOCMShare"
OcmAPI_RemoveOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/RemoveOCMShare"
OcmAPI_GetOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetOCMShare"
OcmAPI_GetOCMShareByToken_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetOCMShareByToken"
OcmAPI_ListOCMShares_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/ListOCMShares"
OcmAPI_UpdateOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/UpdateOCMShare"
OcmAPI_ListReceivedOCMShares_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/ListReceivedOCMShares"
OcmAPI_UpdateReceivedOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/UpdateReceivedOCMShare"
OcmAPI_GetReceivedOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetReceivedOCMShare"
)
// OcmAPIClient is the client API for OcmAPI 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 OcmAPIClient interface {
// Creates a new OCM share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent
// to the remote system using the `/ocm/shares` OCM API, see:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMShare(ctx context.Context, in *CreateOCMShareRequest, opts ...grpc.CallOption) (*CreateOCMShareResponse, error)
// Removes an OCM share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
RemoveOCMShare(ctx context.Context, in *RemoveOCMShareRequest, opts ...grpc.CallOption) (*RemoveOCMShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetOCMShare(ctx context.Context, in *GetOCMShareRequest, opts ...grpc.CallOption) (*GetOCMShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetOCMShareByToken(ctx context.Context, in *GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*GetOCMShareByTokenResponse, error)
// List the shares the currently authenticated user has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListOCMShares(ctx context.Context, in *ListOCMSharesRequest, opts ...grpc.CallOption) (*ListOCMSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMShare(ctx context.Context, in *UpdateOCMShareRequest, opts ...grpc.CallOption) (*UpdateOCMShareResponse, error)
// List all shares the currently authenticated user has received.
ListReceivedOCMShares(ctx context.Context, in *ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*ListReceivedOCMSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedOCMShare(ctx context.Context, in *UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*UpdateReceivedOCMShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedOCMShare(ctx context.Context, in *GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*GetReceivedOCMShareResponse, error)
}
type ocmAPIClient struct {
cc grpc.ClientConnInterface
}
func NewOcmAPIClient(cc grpc.ClientConnInterface) OcmAPIClient {
return &ocmAPIClient{cc}
}
func (c *ocmAPIClient) CreateOCMShare(ctx context.Context, in *CreateOCMShareRequest, opts ...grpc.CallOption) (*CreateOCMShareResponse, error) {
out := new(CreateOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_CreateOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) RemoveOCMShare(ctx context.Context, in *RemoveOCMShareRequest, opts ...grpc.CallOption) (*RemoveOCMShareResponse, error) {
out := new(RemoveOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_RemoveOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetOCMShare(ctx context.Context, in *GetOCMShareRequest, opts ...grpc.CallOption) (*GetOCMShareResponse, error) {
out := new(GetOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetOCMShareByToken(ctx context.Context, in *GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*GetOCMShareByTokenResponse, error) {
out := new(GetOCMShareByTokenResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetOCMShareByToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) ListOCMShares(ctx context.Context, in *ListOCMSharesRequest, opts ...grpc.CallOption) (*ListOCMSharesResponse, error) {
out := new(ListOCMSharesResponse)
err := c.cc.Invoke(ctx, OcmAPI_ListOCMShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) UpdateOCMShare(ctx context.Context, in *UpdateOCMShareRequest, opts ...grpc.CallOption) (*UpdateOCMShareResponse, error) {
out := new(UpdateOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_UpdateOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) ListReceivedOCMShares(ctx context.Context, in *ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*ListReceivedOCMSharesResponse, error) {
out := new(ListReceivedOCMSharesResponse)
err := c.cc.Invoke(ctx, OcmAPI_ListReceivedOCMShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) UpdateReceivedOCMShare(ctx context.Context, in *UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*UpdateReceivedOCMShareResponse, error) {
out := new(UpdateReceivedOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_UpdateReceivedOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetReceivedOCMShare(ctx context.Context, in *GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*GetReceivedOCMShareResponse, error) {
out := new(GetReceivedOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetReceivedOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// OcmAPIServer is the server API for OcmAPI service.
// All implementations should embed UnimplementedOcmAPIServer
// for forward compatibility
type OcmAPIServer interface {
// Creates a new OCM share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent
// to the remote system using the `/ocm/shares` OCM API, see:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMShare(context.Context, *CreateOCMShareRequest) (*CreateOCMShareResponse, error)
// Removes an OCM share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
RemoveOCMShare(context.Context, *RemoveOCMShareRequest) (*RemoveOCMShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetOCMShare(context.Context, *GetOCMShareRequest) (*GetOCMShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetOCMShareByToken(context.Context, *GetOCMShareByTokenRequest) (*GetOCMShareByTokenResponse, error)
// List the shares the currently authenticated user has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListOCMShares(context.Context, *ListOCMSharesRequest) (*ListOCMSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMShare(context.Context, *UpdateOCMShareRequest) (*UpdateOCMShareResponse, error)
// List all shares the currently authenticated user has received.
ListReceivedOCMShares(context.Context, *ListReceivedOCMSharesRequest) (*ListReceivedOCMSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedOCMShare(context.Context, *UpdateReceivedOCMShareRequest) (*UpdateReceivedOCMShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedOCMShare(context.Context, *GetReceivedOCMShareRequest) (*GetReceivedOCMShareResponse, error)
}
// UnimplementedOcmAPIServer should be embedded to have forward compatible implementations.
type UnimplementedOcmAPIServer struct {
}
func (UnimplementedOcmAPIServer) CreateOCMShare(context.Context, *CreateOCMShareRequest) (*CreateOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) RemoveOCMShare(context.Context, *RemoveOCMShareRequest) (*RemoveOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetOCMShare(context.Context, *GetOCMShareRequest) (*GetOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetOCMShareByToken(context.Context, *GetOCMShareByTokenRequest) (*GetOCMShareByTokenResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetOCMShareByToken not implemented")
}
func (UnimplementedOcmAPIServer) ListOCMShares(context.Context, *ListOCMSharesRequest) (*ListOCMSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListOCMShares not implemented")
}
func (UnimplementedOcmAPIServer) UpdateOCMShare(context.Context, *UpdateOCMShareRequest) (*UpdateOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) ListReceivedOCMShares(context.Context, *ListReceivedOCMSharesRequest) (*ListReceivedOCMSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListReceivedOCMShares not implemented")
}
func (UnimplementedOcmAPIServer) UpdateReceivedOCMShare(context.Context, *UpdateReceivedOCMShareRequest) (*UpdateReceivedOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetReceivedOCMShare(context.Context, *GetReceivedOCMShareRequest) (*GetReceivedOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetReceivedOCMShare not implemented")
}
// UnsafeOcmAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to OcmAPIServer will
// result in compilation errors.
type UnsafeOcmAPIServer interface {
mustEmbedUnimplementedOcmAPIServer()
}
func RegisterOcmAPIServer(s grpc.ServiceRegistrar, srv OcmAPIServer) {
s.RegisterService(&OcmAPI_ServiceDesc, srv)
}
func _OcmAPI_CreateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).CreateOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_CreateOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).CreateOCMShare(ctx, req.(*CreateOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_RemoveOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).RemoveOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_RemoveOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).RemoveOCMShare(ctx, req.(*RemoveOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetOCMShare(ctx, req.(*GetOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetOCMShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetOCMShareByTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetOCMShareByToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetOCMShareByToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetOCMShareByToken(ctx, req.(*GetOCMShareByTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_ListOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListOCMSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).ListOCMShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_ListOCMShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).ListOCMShares(ctx, req.(*ListOCMSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_UpdateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).UpdateOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_UpdateOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).UpdateOCMShare(ctx, req.(*UpdateOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_ListReceivedOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListReceivedOCMSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).ListReceivedOCMShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_ListReceivedOCMShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).ListReceivedOCMShares(ctx, req.(*ListReceivedOCMSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_UpdateReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateReceivedOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).UpdateReceivedOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_UpdateReceivedOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).UpdateReceivedOCMShare(ctx, req.(*UpdateReceivedOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetReceivedOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetReceivedOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetReceivedOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetReceivedOCMShare(ctx, req.(*GetReceivedOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// OcmAPI_ServiceDesc is the grpc.ServiceDesc for OcmAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var OcmAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.ocm.v1beta1.OcmAPI",
HandlerType: (*OcmAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateOCMShare",
Handler: _OcmAPI_CreateOCMShare_Handler,
},
{
MethodName: "RemoveOCMShare",
Handler: _OcmAPI_RemoveOCMShare_Handler,
},
{
MethodName: "GetOCMShare",
Handler: _OcmAPI_GetOCMShare_Handler,
},
{
MethodName: "GetOCMShareByToken",
Handler: _OcmAPI_GetOCMShareByToken_Handler,
},
{
MethodName: "ListOCMShares",
Handler: _OcmAPI_ListOCMShares_Handler,
},
{
MethodName: "UpdateOCMShare",
Handler: _OcmAPI_UpdateOCMShare_Handler,
},
{
MethodName: "ListReceivedOCMShares",
Handler: _OcmAPI_ListReceivedOCMShares_Handler,
},
{
MethodName: "UpdateReceivedOCMShare",
Handler: _OcmAPI_UpdateReceivedOCMShare_Handler,
},
{
MethodName: "GetReceivedOCMShare",
Handler: _OcmAPI_GetReceivedOCMShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/ocm/v1beta1/ocm_api.proto",
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,244 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/storage/provider/v1beta1/spaces_api.proto
package providerv1beta1
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
const (
SpacesAPI_CreateStorageSpace_FullMethodName = "/cs3.storage.provider.v1beta1.SpacesAPI/CreateStorageSpace"
SpacesAPI_ListStorageSpaces_FullMethodName = "/cs3.storage.provider.v1beta1.SpacesAPI/ListStorageSpaces"
SpacesAPI_UpdateStorageSpace_FullMethodName = "/cs3.storage.provider.v1beta1.SpacesAPI/UpdateStorageSpace"
SpacesAPI_DeleteStorageSpace_FullMethodName = "/cs3.storage.provider.v1beta1.SpacesAPI/DeleteStorageSpace"
)
// SpacesAPIClient is the client API for SpacesAPI 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 SpacesAPIClient interface {
// Creates a storage space.
CreateStorageSpace(ctx context.Context, in *CreateStorageSpaceRequest, opts ...grpc.CallOption) (*CreateStorageSpaceResponse, error)
// Lists storage spaces.
ListStorageSpaces(ctx context.Context, in *ListStorageSpacesRequest, opts ...grpc.CallOption) (*ListStorageSpacesResponse, error)
// Updates a storage space.
UpdateStorageSpace(ctx context.Context, in *UpdateStorageSpaceRequest, opts ...grpc.CallOption) (*UpdateStorageSpaceResponse, error)
// Deletes a storage space.
DeleteStorageSpace(ctx context.Context, in *DeleteStorageSpaceRequest, opts ...grpc.CallOption) (*DeleteStorageSpaceResponse, error)
}
type spacesAPIClient struct {
cc grpc.ClientConnInterface
}
func NewSpacesAPIClient(cc grpc.ClientConnInterface) SpacesAPIClient {
return &spacesAPIClient{cc}
}
func (c *spacesAPIClient) CreateStorageSpace(ctx context.Context, in *CreateStorageSpaceRequest, opts ...grpc.CallOption) (*CreateStorageSpaceResponse, error) {
out := new(CreateStorageSpaceResponse)
err := c.cc.Invoke(ctx, SpacesAPI_CreateStorageSpace_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *spacesAPIClient) ListStorageSpaces(ctx context.Context, in *ListStorageSpacesRequest, opts ...grpc.CallOption) (*ListStorageSpacesResponse, error) {
out := new(ListStorageSpacesResponse)
err := c.cc.Invoke(ctx, SpacesAPI_ListStorageSpaces_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *spacesAPIClient) UpdateStorageSpace(ctx context.Context, in *UpdateStorageSpaceRequest, opts ...grpc.CallOption) (*UpdateStorageSpaceResponse, error) {
out := new(UpdateStorageSpaceResponse)
err := c.cc.Invoke(ctx, SpacesAPI_UpdateStorageSpace_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *spacesAPIClient) DeleteStorageSpace(ctx context.Context, in *DeleteStorageSpaceRequest, opts ...grpc.CallOption) (*DeleteStorageSpaceResponse, error) {
out := new(DeleteStorageSpaceResponse)
err := c.cc.Invoke(ctx, SpacesAPI_DeleteStorageSpace_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// SpacesAPIServer is the server API for SpacesAPI service.
// All implementations should embed UnimplementedSpacesAPIServer
// for forward compatibility
type SpacesAPIServer interface {
// Creates a storage space.
CreateStorageSpace(context.Context, *CreateStorageSpaceRequest) (*CreateStorageSpaceResponse, error)
// Lists storage spaces.
ListStorageSpaces(context.Context, *ListStorageSpacesRequest) (*ListStorageSpacesResponse, error)
// Updates a storage space.
UpdateStorageSpace(context.Context, *UpdateStorageSpaceRequest) (*UpdateStorageSpaceResponse, error)
// Deletes a storage space.
DeleteStorageSpace(context.Context, *DeleteStorageSpaceRequest) (*DeleteStorageSpaceResponse, error)
}
// UnimplementedSpacesAPIServer should be embedded to have forward compatible implementations.
type UnimplementedSpacesAPIServer struct {
}
func (UnimplementedSpacesAPIServer) CreateStorageSpace(context.Context, *CreateStorageSpaceRequest) (*CreateStorageSpaceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateStorageSpace not implemented")
}
func (UnimplementedSpacesAPIServer) ListStorageSpaces(context.Context, *ListStorageSpacesRequest) (*ListStorageSpacesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListStorageSpaces not implemented")
}
func (UnimplementedSpacesAPIServer) UpdateStorageSpace(context.Context, *UpdateStorageSpaceRequest) (*UpdateStorageSpaceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateStorageSpace not implemented")
}
func (UnimplementedSpacesAPIServer) DeleteStorageSpace(context.Context, *DeleteStorageSpaceRequest) (*DeleteStorageSpaceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteStorageSpace not implemented")
}
// UnsafeSpacesAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to SpacesAPIServer will
// result in compilation errors.
type UnsafeSpacesAPIServer interface {
mustEmbedUnimplementedSpacesAPIServer()
}
func RegisterSpacesAPIServer(s grpc.ServiceRegistrar, srv SpacesAPIServer) {
s.RegisterService(&SpacesAPI_ServiceDesc, srv)
}
func _SpacesAPI_CreateStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateStorageSpaceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SpacesAPIServer).CreateStorageSpace(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SpacesAPI_CreateStorageSpace_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SpacesAPIServer).CreateStorageSpace(ctx, req.(*CreateStorageSpaceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SpacesAPI_ListStorageSpaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListStorageSpacesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SpacesAPIServer).ListStorageSpaces(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SpacesAPI_ListStorageSpaces_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SpacesAPIServer).ListStorageSpaces(ctx, req.(*ListStorageSpacesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SpacesAPI_UpdateStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateStorageSpaceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SpacesAPIServer).UpdateStorageSpace(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SpacesAPI_UpdateStorageSpace_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SpacesAPIServer).UpdateStorageSpace(ctx, req.(*UpdateStorageSpaceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SpacesAPI_DeleteStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteStorageSpaceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SpacesAPIServer).DeleteStorageSpace(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SpacesAPI_DeleteStorageSpace_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SpacesAPIServer).DeleteStorageSpace(ctx, req.(*DeleteStorageSpaceRequest))
}
return interceptor(ctx, in, info, handler)
}
// SpacesAPI_ServiceDesc is the grpc.ServiceDesc for SpacesAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var SpacesAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.storage.provider.v1beta1.SpacesAPI",
HandlerType: (*SpacesAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateStorageSpace",
Handler: _SpacesAPI_CreateStorageSpace_Handler,
},
{
MethodName: "ListStorageSpaces",
Handler: _SpacesAPI_ListStorageSpaces_Handler,
},
{
MethodName: "UpdateStorageSpace",
Handler: _SpacesAPI_UpdateStorageSpace_Handler,
},
{
MethodName: "DeleteStorageSpace",
Handler: _SpacesAPI_DeleteStorageSpace_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/storage/provider/v1beta1/spaces_api.proto",
}
@@ -0,0 +1,677 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/storage/registry/v1beta1/registry_api.proto
package registryv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
type GetHomeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
}
func (x *GetHomeRequest) Reset() {
*x = GetHomeRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetHomeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetHomeRequest) ProtoMessage() {}
func (x *GetHomeRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 GetHomeRequest.ProtoReflect.Descriptor instead.
func (*GetHomeRequest) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{0}
}
func (x *GetHomeRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type GetHomeResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The storage provider for the user home.
Provider *ProviderInfo `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
}
func (x *GetHomeResponse) Reset() {
*x = GetHomeResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetHomeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetHomeResponse) ProtoMessage() {}
func (x *GetHomeResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 GetHomeResponse.ProtoReflect.Descriptor instead.
func (*GetHomeResponse) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{1}
}
func (x *GetHomeResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetHomeResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetHomeResponse) GetProvider() *ProviderInfo {
if x != nil {
return x.Provider
}
return nil
}
type GetStorageProvidersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The reference for the resource.
Ref *v1beta12.Reference `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
}
func (x *GetStorageProvidersRequest) Reset() {
*x = GetStorageProvidersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetStorageProvidersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetStorageProvidersRequest) ProtoMessage() {}
func (x *GetStorageProvidersRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 GetStorageProvidersRequest.ProtoReflect.Descriptor instead.
func (*GetStorageProvidersRequest) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{2}
}
func (x *GetStorageProvidersRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetStorageProvidersRequest) GetRef() *v1beta12.Reference {
if x != nil {
return x.Ref
}
return nil
}
type GetStorageProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The storage providers handling the requested storage resource.
Providers []*ProviderInfo `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty"`
}
func (x *GetStorageProvidersResponse) Reset() {
*x = GetStorageProvidersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetStorageProvidersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetStorageProvidersResponse) ProtoMessage() {}
func (x *GetStorageProvidersResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 GetStorageProvidersResponse.ProtoReflect.Descriptor instead.
func (*GetStorageProvidersResponse) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{3}
}
func (x *GetStorageProvidersResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *GetStorageProvidersResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *GetStorageProvidersResponse) GetProviders() []*ProviderInfo {
if x != nil {
return x.Providers
}
return nil
}
type ListStorageProvidersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` // TODO(labkode): maybe add some filter?
}
func (x *ListStorageProvidersRequest) Reset() {
*x = ListStorageProvidersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStorageProvidersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStorageProvidersRequest) ProtoMessage() {}
func (x *ListStorageProvidersRequest) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 ListStorageProvidersRequest.ProtoReflect.Descriptor instead.
func (*ListStorageProvidersRequest) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{4}
}
func (x *ListStorageProvidersRequest) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
type ListStorageProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The response status.
Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
// OPTIONAL.
// Opaque information.
Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The list of storage providers this registry knows about.
Providers []*ProviderInfo `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty"`
}
func (x *ListStorageProvidersResponse) Reset() {
*x = ListStorageProvidersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStorageProvidersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStorageProvidersResponse) ProtoMessage() {}
func (x *ListStorageProvidersResponse) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_registry_api_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 ListStorageProvidersResponse.ProtoReflect.Descriptor instead.
func (*ListStorageProvidersResponse) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP(), []int{5}
}
func (x *ListStorageProvidersResponse) GetStatus() *v1beta11.Status {
if x != nil {
return x.Status
}
return nil
}
func (x *ListStorageProvidersResponse) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ListStorageProvidersResponse) GetProviders() []*ProviderInfo {
if x != nil {
return x.Providers
}
return nil
}
var File_cs3_storage_registry_v1beta1_registry_api_proto protoreflect.FileDescriptor
var file_cs3_storage_registry_v1beta1_registry_api_proto_rawDesc = []byte{
0x0a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x1c, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a,
0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63,
0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x73, 0x33,
0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48,
0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0xbd, 0x01,
0x0a, 0x0f, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x8a, 0x01,
0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x39, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xcb, 0x01, 0x0a, 0x1b, 0x47,
0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x48,
0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0x50, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74,
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71,
0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x1c, 0x4c,
0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x48, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x32, 0x92, 0x03, 0x0a, 0x0b, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x41, 0x50, 0x49, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x47, 0x65,
0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x73, 0x12, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12,
0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d,
0x65, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x92,
0x02, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x42, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x41, 0x70, 0x69,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73,
0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x3b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x52, 0xaa, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x2e, 0x53,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x28, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x74, 0x6f,
0x72, 0x61, 0x67, 0x65, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x1f, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x3a, 0x3a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescOnce sync.Once
file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescData = file_cs3_storage_registry_v1beta1_registry_api_proto_rawDesc
)
func file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescGZIP() []byte {
file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescOnce.Do(func() {
file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescData)
})
return file_cs3_storage_registry_v1beta1_registry_api_proto_rawDescData
}
var file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cs3_storage_registry_v1beta1_registry_api_proto_goTypes = []interface{}{
(*GetHomeRequest)(nil), // 0: cs3.storage.registry.v1beta1.GetHomeRequest
(*GetHomeResponse)(nil), // 1: cs3.storage.registry.v1beta1.GetHomeResponse
(*GetStorageProvidersRequest)(nil), // 2: cs3.storage.registry.v1beta1.GetStorageProvidersRequest
(*GetStorageProvidersResponse)(nil), // 3: cs3.storage.registry.v1beta1.GetStorageProvidersResponse
(*ListStorageProvidersRequest)(nil), // 4: cs3.storage.registry.v1beta1.ListStorageProvidersRequest
(*ListStorageProvidersResponse)(nil), // 5: cs3.storage.registry.v1beta1.ListStorageProvidersResponse
(*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque
(*v1beta11.Status)(nil), // 7: cs3.rpc.v1beta1.Status
(*ProviderInfo)(nil), // 8: cs3.storage.registry.v1beta1.ProviderInfo
(*v1beta12.Reference)(nil), // 9: cs3.storage.provider.v1beta1.Reference
}
var file_cs3_storage_registry_v1beta1_registry_api_proto_depIdxs = []int32{
6, // 0: cs3.storage.registry.v1beta1.GetHomeRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 1: cs3.storage.registry.v1beta1.GetHomeResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 2: cs3.storage.registry.v1beta1.GetHomeResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 3: cs3.storage.registry.v1beta1.GetHomeResponse.provider:type_name -> cs3.storage.registry.v1beta1.ProviderInfo
6, // 4: cs3.storage.registry.v1beta1.GetStorageProvidersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
9, // 5: cs3.storage.registry.v1beta1.GetStorageProvidersRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference
7, // 6: cs3.storage.registry.v1beta1.GetStorageProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 7: cs3.storage.registry.v1beta1.GetStorageProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 8: cs3.storage.registry.v1beta1.GetStorageProvidersResponse.providers:type_name -> cs3.storage.registry.v1beta1.ProviderInfo
6, // 9: cs3.storage.registry.v1beta1.ListStorageProvidersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque
7, // 10: cs3.storage.registry.v1beta1.ListStorageProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status
6, // 11: cs3.storage.registry.v1beta1.ListStorageProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque
8, // 12: cs3.storage.registry.v1beta1.ListStorageProvidersResponse.providers:type_name -> cs3.storage.registry.v1beta1.ProviderInfo
2, // 13: cs3.storage.registry.v1beta1.RegistryAPI.GetStorageProviders:input_type -> cs3.storage.registry.v1beta1.GetStorageProvidersRequest
4, // 14: cs3.storage.registry.v1beta1.RegistryAPI.ListStorageProviders:input_type -> cs3.storage.registry.v1beta1.ListStorageProvidersRequest
0, // 15: cs3.storage.registry.v1beta1.RegistryAPI.GetHome:input_type -> cs3.storage.registry.v1beta1.GetHomeRequest
3, // 16: cs3.storage.registry.v1beta1.RegistryAPI.GetStorageProviders:output_type -> cs3.storage.registry.v1beta1.GetStorageProvidersResponse
5, // 17: cs3.storage.registry.v1beta1.RegistryAPI.ListStorageProviders:output_type -> cs3.storage.registry.v1beta1.ListStorageProvidersResponse
1, // 18: cs3.storage.registry.v1beta1.RegistryAPI.GetHome:output_type -> cs3.storage.registry.v1beta1.GetHomeResponse
16, // [16:19] is the sub-list for method output_type
13, // [13:16] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_cs3_storage_registry_v1beta1_registry_api_proto_init() }
func file_cs3_storage_registry_v1beta1_registry_api_proto_init() {
if File_cs3_storage_registry_v1beta1_registry_api_proto != nil {
return
}
file_cs3_storage_registry_v1beta1_resources_proto_init()
if !protoimpl.UnsafeEnabled {
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetHomeRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetHomeResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetStorageProvidersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetStorageProvidersResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStorageProvidersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStorageProvidersResponse); 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_cs3_storage_registry_v1beta1_registry_api_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cs3_storage_registry_v1beta1_registry_api_proto_goTypes,
DependencyIndexes: file_cs3_storage_registry_v1beta1_registry_api_proto_depIdxs,
MessageInfos: file_cs3_storage_registry_v1beta1_registry_api_proto_msgTypes,
}.Build()
File_cs3_storage_registry_v1beta1_registry_api_proto = out.File
file_cs3_storage_registry_v1beta1_registry_api_proto_rawDesc = nil
file_cs3_storage_registry_v1beta1_registry_api_proto_goTypes = nil
file_cs3_storage_registry_v1beta1_registry_api_proto_depIdxs = nil
}
@@ -0,0 +1,209 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/storage/registry/v1beta1/registry_api.proto
package registryv1beta1
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
const (
RegistryAPI_GetStorageProviders_FullMethodName = "/cs3.storage.registry.v1beta1.RegistryAPI/GetStorageProviders"
RegistryAPI_ListStorageProviders_FullMethodName = "/cs3.storage.registry.v1beta1.RegistryAPI/ListStorageProviders"
RegistryAPI_GetHome_FullMethodName = "/cs3.storage.registry.v1beta1.RegistryAPI/GetHome"
)
// RegistryAPIClient is the client API for RegistryAPI 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 RegistryAPIClient interface {
// Returns the storage provider that is reponsible for the given
// resource reference.
// MUST return CODE_NOT_FOUND if the reference does not exist.
GetStorageProviders(ctx context.Context, in *GetStorageProvidersRequest, opts ...grpc.CallOption) (*GetStorageProvidersResponse, error)
// Returns a list of the available storage providers known by this registry.
ListStorageProviders(ctx context.Context, in *ListStorageProvidersRequest, opts ...grpc.CallOption) (*ListStorageProvidersResponse, error)
// Gets the user home storage provider.
GetHome(ctx context.Context, in *GetHomeRequest, opts ...grpc.CallOption) (*GetHomeResponse, error)
}
type registryAPIClient struct {
cc grpc.ClientConnInterface
}
func NewRegistryAPIClient(cc grpc.ClientConnInterface) RegistryAPIClient {
return &registryAPIClient{cc}
}
func (c *registryAPIClient) GetStorageProviders(ctx context.Context, in *GetStorageProvidersRequest, opts ...grpc.CallOption) (*GetStorageProvidersResponse, error) {
out := new(GetStorageProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_GetStorageProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) ListStorageProviders(ctx context.Context, in *ListStorageProvidersRequest, opts ...grpc.CallOption) (*ListStorageProvidersResponse, error) {
out := new(ListStorageProvidersResponse)
err := c.cc.Invoke(ctx, RegistryAPI_ListStorageProviders_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryAPIClient) GetHome(ctx context.Context, in *GetHomeRequest, opts ...grpc.CallOption) (*GetHomeResponse, error) {
out := new(GetHomeResponse)
err := c.cc.Invoke(ctx, RegistryAPI_GetHome_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RegistryAPIServer is the server API for RegistryAPI service.
// All implementations should embed UnimplementedRegistryAPIServer
// for forward compatibility
type RegistryAPIServer interface {
// Returns the storage provider that is reponsible for the given
// resource reference.
// MUST return CODE_NOT_FOUND if the reference does not exist.
GetStorageProviders(context.Context, *GetStorageProvidersRequest) (*GetStorageProvidersResponse, error)
// Returns a list of the available storage providers known by this registry.
ListStorageProviders(context.Context, *ListStorageProvidersRequest) (*ListStorageProvidersResponse, error)
// Gets the user home storage provider.
GetHome(context.Context, *GetHomeRequest) (*GetHomeResponse, error)
}
// UnimplementedRegistryAPIServer should be embedded to have forward compatible implementations.
type UnimplementedRegistryAPIServer struct {
}
func (UnimplementedRegistryAPIServer) GetStorageProviders(context.Context, *GetStorageProvidersRequest) (*GetStorageProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetStorageProviders not implemented")
}
func (UnimplementedRegistryAPIServer) ListStorageProviders(context.Context, *ListStorageProvidersRequest) (*ListStorageProvidersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListStorageProviders not implemented")
}
func (UnimplementedRegistryAPIServer) GetHome(context.Context, *GetHomeRequest) (*GetHomeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetHome not implemented")
}
// UnsafeRegistryAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to RegistryAPIServer will
// result in compilation errors.
type UnsafeRegistryAPIServer interface {
mustEmbedUnimplementedRegistryAPIServer()
}
func RegisterRegistryAPIServer(s grpc.ServiceRegistrar, srv RegistryAPIServer) {
s.RegisterService(&RegistryAPI_ServiceDesc, srv)
}
func _RegistryAPI_GetStorageProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetStorageProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).GetStorageProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_GetStorageProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).GetStorageProviders(ctx, req.(*GetStorageProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_ListStorageProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListStorageProvidersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).ListStorageProviders(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_ListStorageProviders_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).ListStorageProviders(ctx, req.(*ListStorageProvidersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegistryAPI_GetHome_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetHomeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryAPIServer).GetHome(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegistryAPI_GetHome_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryAPIServer).GetHome(ctx, req.(*GetHomeRequest))
}
return interceptor(ctx, in, info, handler)
}
// RegistryAPI_ServiceDesc is the grpc.ServiceDesc for RegistryAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RegistryAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.storage.registry.v1beta1.RegistryAPI",
HandlerType: (*RegistryAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetStorageProviders",
Handler: _RegistryAPI_GetStorageProviders_Handler,
},
{
MethodName: "ListStorageProviders",
Handler: _RegistryAPI_ListStorageProviders_Handler,
},
{
MethodName: "GetHome",
Handler: _RegistryAPI_GetHome_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/storage/registry/v1beta1/registry_api.proto",
}
@@ -0,0 +1,340 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/storage/registry/v1beta1/resources.proto
package registryv1beta1
import (
v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// The information for the storage provider.
type ProviderInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OPTIONAL.
// Opaque information (containing storage-specific information).
// For example, additional metadata attached to the resource.
Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
// REQUIRED.
// The storage provider id that will become part of the
// resource id.
// For example, if the provider_id is "home", resources obtained
// from this storage provider will have a resource id like "home:1234".
ProviderId string `protobuf:"bytes,2,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"`
// REQUIRED.
// The public path prefix this storage provider handles.
// In Unix literature, the mount path.
// For example, if the provider_path is "/home", resources obtained
// from this storage provier will have a resource path lik "/home/docs".
ProviderPath string `protobuf:"bytes,3,opt,name=provider_path,json=providerPath,proto3" json:"provider_path,omitempty"`
// REQUIRED.
// The address where the storage provider can be reached.
// For example, tcp://localhost:1099.
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
// OPTIONAL.
// Information to describe the functionalities
// offered by the storage provider. Meant to be read
// by humans.
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
// REQUIRED.
// List of available methods.
Features *ProviderInfo_Features `protobuf:"bytes,6,opt,name=features,proto3" json:"features,omitempty"`
}
func (x *ProviderInfo) Reset() {
*x = ProviderInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProviderInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderInfo) ProtoMessage() {}
func (x *ProviderInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_resources_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 ProviderInfo.ProtoReflect.Descriptor instead.
func (*ProviderInfo) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *ProviderInfo) GetOpaque() *v1beta1.Opaque {
if x != nil {
return x.Opaque
}
return nil
}
func (x *ProviderInfo) GetProviderId() string {
if x != nil {
return x.ProviderId
}
return ""
}
func (x *ProviderInfo) GetProviderPath() string {
if x != nil {
return x.ProviderPath
}
return ""
}
func (x *ProviderInfo) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *ProviderInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *ProviderInfo) GetFeatures() *ProviderInfo_Features {
if x != nil {
return x.Features
}
return nil
}
// REQUIRED.
// Represents the list of features available
// on this storage provider. If the feature is not supported,
// the related service methods MUST return CODE_UNIMPLEMENTED.
type ProviderInfo_Features struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Recycle bool `protobuf:"varint,1,opt,name=recycle,proto3" json:"recycle,omitempty"`
FileVersions bool `protobuf:"varint,2,opt,name=file_versions,json=fileVersions,proto3" json:"file_versions,omitempty"`
}
func (x *ProviderInfo_Features) Reset() {
*x = ProviderInfo_Features{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_storage_registry_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProviderInfo_Features) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderInfo_Features) ProtoMessage() {}
func (x *ProviderInfo_Features) ProtoReflect() protoreflect.Message {
mi := &file_cs3_storage_registry_v1beta1_resources_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 ProviderInfo_Features.ProtoReflect.Descriptor instead.
func (*ProviderInfo_Features) Descriptor() ([]byte, []int) {
return file_cs3_storage_registry_v1beta1_resources_proto_rawDescGZIP(), []int{0, 0}
}
func (x *ProviderInfo_Features) GetRecycle() bool {
if x != nil {
return x.Recycle
}
return false
}
func (x *ProviderInfo_Features) GetFileVersions() bool {
if x != nil {
return x.FileVersions
}
return false
}
var File_cs3_storage_registry_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_storage_registry_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x73,
0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x02, 0x0a, 0x0c,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06,
0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64,
0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x4f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
0x65, 0x73, 0x1a, 0x49, 0x0a, 0x08, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x18,
0x0a, 0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65,
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x90, 0x02,
0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2,
0x02, 0x03, 0x43, 0x53, 0x52, 0xaa, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0xe2, 0x02, 0x28, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x5c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x1f, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_storage_registry_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_storage_registry_v1beta1_resources_proto_rawDescData = file_cs3_storage_registry_v1beta1_resources_proto_rawDesc
)
func file_cs3_storage_registry_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_storage_registry_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_storage_registry_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_storage_registry_v1beta1_resources_proto_rawDescData)
})
return file_cs3_storage_registry_v1beta1_resources_proto_rawDescData
}
var file_cs3_storage_registry_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_storage_registry_v1beta1_resources_proto_goTypes = []interface{}{
(*ProviderInfo)(nil), // 0: cs3.storage.registry.v1beta1.ProviderInfo
(*ProviderInfo_Features)(nil), // 1: cs3.storage.registry.v1beta1.ProviderInfo.Features
(*v1beta1.Opaque)(nil), // 2: cs3.types.v1beta1.Opaque
}
var file_cs3_storage_registry_v1beta1_resources_proto_depIdxs = []int32{
2, // 0: cs3.storage.registry.v1beta1.ProviderInfo.opaque:type_name -> cs3.types.v1beta1.Opaque
1, // 1: cs3.storage.registry.v1beta1.ProviderInfo.features:type_name -> cs3.storage.registry.v1beta1.ProviderInfo.Features
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_storage_registry_v1beta1_resources_proto_init() }
func file_cs3_storage_registry_v1beta1_resources_proto_init() {
if File_cs3_storage_registry_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_storage_registry_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProviderInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_storage_registry_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProviderInfo_Features); 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_cs3_storage_registry_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_storage_registry_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_storage_registry_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_storage_registry_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_storage_registry_v1beta1_resources_proto = out.File
file_cs3_storage_registry_v1beta1_resources_proto_rawDesc = nil
file_cs3_storage_registry_v1beta1_resources_proto_goTypes = nil
file_cs3_storage_registry_v1beta1_resources_proto_depIdxs = nil
}
@@ -0,0 +1,459 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/tx/v1beta1/resources.proto
package txv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
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)
)
// Status represents transfer status.
type Status int32
const (
Status_STATUS_INVALID Status = 0
// The destination could not be found.
Status_STATUS_DESTINATION_NOT_FOUND Status = 1
// A new data transfer
Status_STATUS_TRANSFER_NEW Status = 2
// The data transfer is awaiting acceptance from the destination
Status_STATUS_TRANSFER_AWAITING_ACCEPTANCE Status = 3
// The data transfer is accepted by the destination.
Status_STATUS_TRANSFER_ACCEPTED Status = 4
// The data transfer has started and not yet completed.
Status_STATUS_TRANSFER_IN_PROGRESS Status = 5
// The data transfer has completed.
Status_STATUS_TRANSFER_COMPLETE Status = 6
// The data transfer has failed.
Status_STATUS_TRANSFER_FAILED Status = 7
// The data transfer had been cancelled.
Status_STATUS_TRANSFER_CANCELLED Status = 8
// The request for cancelling the data transfer has failed.
Status_STATUS_TRANSFER_CANCEL_FAILED Status = 9
// The transfer has expired somewhere down the line.
Status_STATUS_TRANSFER_EXPIRED Status = 10
)
// Enum value maps for Status.
var (
Status_name = map[int32]string{
0: "STATUS_INVALID",
1: "STATUS_DESTINATION_NOT_FOUND",
2: "STATUS_TRANSFER_NEW",
3: "STATUS_TRANSFER_AWAITING_ACCEPTANCE",
4: "STATUS_TRANSFER_ACCEPTED",
5: "STATUS_TRANSFER_IN_PROGRESS",
6: "STATUS_TRANSFER_COMPLETE",
7: "STATUS_TRANSFER_FAILED",
8: "STATUS_TRANSFER_CANCELLED",
9: "STATUS_TRANSFER_CANCEL_FAILED",
10: "STATUS_TRANSFER_EXPIRED",
}
Status_value = map[string]int32{
"STATUS_INVALID": 0,
"STATUS_DESTINATION_NOT_FOUND": 1,
"STATUS_TRANSFER_NEW": 2,
"STATUS_TRANSFER_AWAITING_ACCEPTANCE": 3,
"STATUS_TRANSFER_ACCEPTED": 4,
"STATUS_TRANSFER_IN_PROGRESS": 5,
"STATUS_TRANSFER_COMPLETE": 6,
"STATUS_TRANSFER_FAILED": 7,
"STATUS_TRANSFER_CANCELLED": 8,
"STATUS_TRANSFER_CANCEL_FAILED": 9,
"STATUS_TRANSFER_EXPIRED": 10,
}
)
func (x Status) Enum() *Status {
p := new(Status)
*p = x
return p
}
func (x Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Status) Descriptor() protoreflect.EnumDescriptor {
return file_cs3_tx_v1beta1_resources_proto_enumTypes[0].Descriptor()
}
func (Status) Type() protoreflect.EnumType {
return &file_cs3_tx_v1beta1_resources_proto_enumTypes[0]
}
func (x Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Status.Descriptor instead.
func (Status) EnumDescriptor() ([]byte, []int) {
return file_cs3_tx_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
// TxId uniquely identifies a transfer in the transfer provider namespace.
type TxId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The internal transfer id used by the service implementor
// to uniquely identity the transfer in the internal
// implementation of the service.
OpaqueId string `protobuf:"bytes,1,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
}
func (x *TxId) Reset() {
*x = TxId{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_tx_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TxId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TxId) ProtoMessage() {}
func (x *TxId) ProtoReflect() protoreflect.Message {
mi := &file_cs3_tx_v1beta1_resources_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 TxId.ProtoReflect.Descriptor instead.
func (*TxId) Descriptor() ([]byte, []int) {
return file_cs3_tx_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *TxId) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
// TxInfo represents information about a transfer.
type TxInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The transfer identifier.
Id *TxId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
// The transfer status. Eg.: STATUS_TRANSFER_FAILED.
// Note: the description field may provide additional information on the transfer status.
Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=cs3.tx.v1beta1.Status" json:"status,omitempty"`
// REQUIRED.
// The destination (receiver of the transfer)
Grantee *v1beta1.Grantee `protobuf:"bytes,3,opt,name=grantee,proto3" json:"grantee,omitempty"`
// REQUIRED.
// Uniquely identifies a principal who initiates the transfer creation.
Creator *v1beta11.UserId `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"`
// REQUIRED.
// Creation time of the transfer.
Ctime *v1beta12.Timestamp `protobuf:"bytes,5,opt,name=ctime,proto3" json:"ctime,omitempty"`
// OPTIONAL.
// Information to describe the transfer status.
// Eg. may contain information about a transfer failure.
// Meant to be human-readable.
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// REQUIRED.
// Opaque unique identifier of the share on which the transfer is based.
ShareId *v1beta13.ShareId `protobuf:"bytes,7,opt,name=share_id,json=shareId,proto3" json:"share_id,omitempty"`
}
func (x *TxInfo) Reset() {
*x = TxInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_tx_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TxInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TxInfo) ProtoMessage() {}
func (x *TxInfo) ProtoReflect() protoreflect.Message {
mi := &file_cs3_tx_v1beta1_resources_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 TxInfo.ProtoReflect.Descriptor instead.
func (*TxInfo) Descriptor() ([]byte, []int) {
return file_cs3_tx_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *TxInfo) GetId() *TxId {
if x != nil {
return x.Id
}
return nil
}
func (x *TxInfo) GetStatus() Status {
if x != nil {
return x.Status
}
return Status_STATUS_INVALID
}
func (x *TxInfo) GetGrantee() *v1beta1.Grantee {
if x != nil {
return x.Grantee
}
return nil
}
func (x *TxInfo) GetCreator() *v1beta11.UserId {
if x != nil {
return x.Creator
}
return nil
}
func (x *TxInfo) GetCtime() *v1beta12.Timestamp {
if x != nil {
return x.Ctime
}
return nil
}
func (x *TxInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *TxInfo) GetShareId() *v1beta13.ShareId {
if x != nil {
return x.ShareId
}
return nil
}
var File_cs3_tx_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_tx_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x1e, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x0e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75,
0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33,
0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0x23, 0x0a, 0x04, 0x54, 0x78, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61,
0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70,
0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x06, 0x54, 0x78, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x24, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x78, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74,
0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52,
0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61,
0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x63, 0x72,
0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x73,
0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x52,
0x07, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x2a, 0xd8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e,
0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x54, 0x41, 0x54, 0x55,
0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41,
0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x57,
0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41,
0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x41,
0x43, 0x43, 0x45, 0x50, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x53,
0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x41,
0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x41,
0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f,
0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54,
0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x43, 0x4f,
0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x41, 0x54,
0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c,
0x45, 0x44, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54,
0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45,
0x44, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52,
0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x46, 0x41,
0x49, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45,
0x44, 0x10, 0x0a, 0x42, 0xb5, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f,
0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x74,
0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x78, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x54, 0x58, 0xaa, 0x02, 0x0e, 0x43, 0x73, 0x33, 0x2e,
0x54, 0x78, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x0e, 0x43, 0x73, 0x33,
0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1a, 0x43, 0x73,
0x33, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x43, 0x73, 0x33, 0x3a, 0x3a,
0x54, 0x78, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_cs3_tx_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_tx_v1beta1_resources_proto_rawDescData = file_cs3_tx_v1beta1_resources_proto_rawDesc
)
func file_cs3_tx_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_tx_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_tx_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_tx_v1beta1_resources_proto_rawDescData)
})
return file_cs3_tx_v1beta1_resources_proto_rawDescData
}
var file_cs3_tx_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cs3_tx_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cs3_tx_v1beta1_resources_proto_goTypes = []interface{}{
(Status)(0), // 0: cs3.tx.v1beta1.Status
(*TxId)(nil), // 1: cs3.tx.v1beta1.TxId
(*TxInfo)(nil), // 2: cs3.tx.v1beta1.TxInfo
(*v1beta1.Grantee)(nil), // 3: cs3.storage.provider.v1beta1.Grantee
(*v1beta11.UserId)(nil), // 4: cs3.identity.user.v1beta1.UserId
(*v1beta12.Timestamp)(nil), // 5: cs3.types.v1beta1.Timestamp
(*v1beta13.ShareId)(nil), // 6: cs3.sharing.ocm.v1beta1.ShareId
}
var file_cs3_tx_v1beta1_resources_proto_depIdxs = []int32{
1, // 0: cs3.tx.v1beta1.TxInfo.id:type_name -> cs3.tx.v1beta1.TxId
0, // 1: cs3.tx.v1beta1.TxInfo.status:type_name -> cs3.tx.v1beta1.Status
3, // 2: cs3.tx.v1beta1.TxInfo.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee
4, // 3: cs3.tx.v1beta1.TxInfo.creator:type_name -> cs3.identity.user.v1beta1.UserId
5, // 4: cs3.tx.v1beta1.TxInfo.ctime:type_name -> cs3.types.v1beta1.Timestamp
6, // 5: cs3.tx.v1beta1.TxInfo.share_id:type_name -> cs3.sharing.ocm.v1beta1.ShareId
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_cs3_tx_v1beta1_resources_proto_init() }
func file_cs3_tx_v1beta1_resources_proto_init() {
if File_cs3_tx_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_tx_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TxId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_tx_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TxInfo); 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_cs3_tx_v1beta1_resources_proto_rawDesc,
NumEnums: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_tx_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_tx_v1beta1_resources_proto_depIdxs,
EnumInfos: file_cs3_tx_v1beta1_resources_proto_enumTypes,
MessageInfos: file_cs3_tx_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_tx_v1beta1_resources_proto = out.File
file_cs3_tx_v1beta1_resources_proto_rawDesc = nil
file_cs3_tx_v1beta1_resources_proto_goTypes = nil
file_cs3_tx_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,287 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/tx/v1beta1/tx_api.proto
package txv1beta1
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
const (
TxAPI_CreateTransfer_FullMethodName = "/cs3.tx.v1beta1.TxAPI/CreateTransfer"
TxAPI_GetTransferStatus_FullMethodName = "/cs3.tx.v1beta1.TxAPI/GetTransferStatus"
TxAPI_CancelTransfer_FullMethodName = "/cs3.tx.v1beta1.TxAPI/CancelTransfer"
TxAPI_ListTransfers_FullMethodName = "/cs3.tx.v1beta1.TxAPI/ListTransfers"
TxAPI_RetryTransfer_FullMethodName = "/cs3.tx.v1beta1.TxAPI/RetryTransfer"
)
// TxAPIClient is the client API for TxAPI 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 TxAPIClient interface {
// Requests creation of a transfer.
// Returns a CreateTransferResponse.
CreateTransfer(ctx context.Context, in *CreateTransferRequest, opts ...grpc.CallOption) (*CreateTransferResponse, error)
// Requests a transfer status.
GetTransferStatus(ctx context.Context, in *GetTransferStatusRequest, opts ...grpc.CallOption) (*GetTransferStatusResponse, error)
// Requests to cancel a transfer.
CancelTransfer(ctx context.Context, in *CancelTransferRequest, opts ...grpc.CallOption) (*CancelTransferResponse, error)
// Requests a list of transfers received by the authenticated principle.
// If a filter is specified, only transfers satisfying the filter MUST be returned.
ListTransfers(ctx context.Context, in *ListTransfersRequest, opts ...grpc.CallOption) (*ListTransfersResponse, error)
// Requests retrying a transfer.
RetryTransfer(ctx context.Context, in *RetryTransferRequest, opts ...grpc.CallOption) (*RetryTransferResponse, error)
}
type txAPIClient struct {
cc grpc.ClientConnInterface
}
func NewTxAPIClient(cc grpc.ClientConnInterface) TxAPIClient {
return &txAPIClient{cc}
}
func (c *txAPIClient) CreateTransfer(ctx context.Context, in *CreateTransferRequest, opts ...grpc.CallOption) (*CreateTransferResponse, error) {
out := new(CreateTransferResponse)
err := c.cc.Invoke(ctx, TxAPI_CreateTransfer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *txAPIClient) GetTransferStatus(ctx context.Context, in *GetTransferStatusRequest, opts ...grpc.CallOption) (*GetTransferStatusResponse, error) {
out := new(GetTransferStatusResponse)
err := c.cc.Invoke(ctx, TxAPI_GetTransferStatus_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *txAPIClient) CancelTransfer(ctx context.Context, in *CancelTransferRequest, opts ...grpc.CallOption) (*CancelTransferResponse, error) {
out := new(CancelTransferResponse)
err := c.cc.Invoke(ctx, TxAPI_CancelTransfer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *txAPIClient) ListTransfers(ctx context.Context, in *ListTransfersRequest, opts ...grpc.CallOption) (*ListTransfersResponse, error) {
out := new(ListTransfersResponse)
err := c.cc.Invoke(ctx, TxAPI_ListTransfers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *txAPIClient) RetryTransfer(ctx context.Context, in *RetryTransferRequest, opts ...grpc.CallOption) (*RetryTransferResponse, error) {
out := new(RetryTransferResponse)
err := c.cc.Invoke(ctx, TxAPI_RetryTransfer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// TxAPIServer is the server API for TxAPI service.
// All implementations should embed UnimplementedTxAPIServer
// for forward compatibility
type TxAPIServer interface {
// Requests creation of a transfer.
// Returns a CreateTransferResponse.
CreateTransfer(context.Context, *CreateTransferRequest) (*CreateTransferResponse, error)
// Requests a transfer status.
GetTransferStatus(context.Context, *GetTransferStatusRequest) (*GetTransferStatusResponse, error)
// Requests to cancel a transfer.
CancelTransfer(context.Context, *CancelTransferRequest) (*CancelTransferResponse, error)
// Requests a list of transfers received by the authenticated principle.
// If a filter is specified, only transfers satisfying the filter MUST be returned.
ListTransfers(context.Context, *ListTransfersRequest) (*ListTransfersResponse, error)
// Requests retrying a transfer.
RetryTransfer(context.Context, *RetryTransferRequest) (*RetryTransferResponse, error)
}
// UnimplementedTxAPIServer should be embedded to have forward compatible implementations.
type UnimplementedTxAPIServer struct {
}
func (UnimplementedTxAPIServer) CreateTransfer(context.Context, *CreateTransferRequest) (*CreateTransferResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateTransfer not implemented")
}
func (UnimplementedTxAPIServer) GetTransferStatus(context.Context, *GetTransferStatusRequest) (*GetTransferStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTransferStatus not implemented")
}
func (UnimplementedTxAPIServer) CancelTransfer(context.Context, *CancelTransferRequest) (*CancelTransferResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CancelTransfer not implemented")
}
func (UnimplementedTxAPIServer) ListTransfers(context.Context, *ListTransfersRequest) (*ListTransfersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTransfers not implemented")
}
func (UnimplementedTxAPIServer) RetryTransfer(context.Context, *RetryTransferRequest) (*RetryTransferResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RetryTransfer not implemented")
}
// UnsafeTxAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to TxAPIServer will
// result in compilation errors.
type UnsafeTxAPIServer interface {
mustEmbedUnimplementedTxAPIServer()
}
func RegisterTxAPIServer(s grpc.ServiceRegistrar, srv TxAPIServer) {
s.RegisterService(&TxAPI_ServiceDesc, srv)
}
func _TxAPI_CreateTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateTransferRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TxAPIServer).CreateTransfer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TxAPI_CreateTransfer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TxAPIServer).CreateTransfer(ctx, req.(*CreateTransferRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TxAPI_GetTransferStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTransferStatusRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TxAPIServer).GetTransferStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TxAPI_GetTransferStatus_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TxAPIServer).GetTransferStatus(ctx, req.(*GetTransferStatusRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TxAPI_CancelTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CancelTransferRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TxAPIServer).CancelTransfer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TxAPI_CancelTransfer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TxAPIServer).CancelTransfer(ctx, req.(*CancelTransferRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TxAPI_ListTransfers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListTransfersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TxAPIServer).ListTransfers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TxAPI_ListTransfers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TxAPIServer).ListTransfers(ctx, req.(*ListTransfersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TxAPI_RetryTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RetryTransferRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TxAPIServer).RetryTransfer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: TxAPI_RetryTransfer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TxAPIServer).RetryTransfer(ctx, req.(*RetryTransferRequest))
}
return interceptor(ctx, in, info, handler)
}
// TxAPI_ServiceDesc is the grpc.ServiceDesc for TxAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TxAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.tx.v1beta1.TxAPI",
HandlerType: (*TxAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateTransfer",
Handler: _TxAPI_CreateTransfer_Handler,
},
{
MethodName: "GetTransferStatus",
Handler: _TxAPI_GetTransferStatus_Handler,
},
{
MethodName: "CancelTransfer",
Handler: _TxAPI_CancelTransfer_Handler,
},
{
MethodName: "ListTransfers",
Handler: _TxAPI_ListTransfers_Handler,
},
{
MethodName: "RetryTransfer",
Handler: _TxAPI_RetryTransfer_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/tx/v1beta1/tx_api.proto",
}
@@ -0,0 +1,358 @@
// Copyright 2018-2026 CERN
//
// 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.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/types/v1beta1/types.proto
package typesv1beta1
import (
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)
)
// Opaque represents opaque information
// in a form on a map.
// For example, a local filesystem can
// use this message to include filesystem
// extended attributes.
type Opaque struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
Map map[string]*OpaqueEntry `protobuf:"bytes,1,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *Opaque) Reset() {
*x = Opaque{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_types_v1beta1_types_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Opaque) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Opaque) ProtoMessage() {}
func (x *Opaque) ProtoReflect() protoreflect.Message {
mi := &file_cs3_types_v1beta1_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 Opaque.ProtoReflect.Descriptor instead.
func (*Opaque) Descriptor() ([]byte, []int) {
return file_cs3_types_v1beta1_types_proto_rawDescGZIP(), []int{0}
}
func (x *Opaque) GetMap() map[string]*OpaqueEntry {
if x != nil {
return x.Map
}
return nil
}
// OpaqueEntry represents the encoded
// opaque value.
type OpaqueEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The decoder to use: json, xml, toml, ...
// TODO(labkode): make encoder a fixed set using a enum type?
Decoder string `protobuf:"bytes,1,opt,name=decoder,proto3" json:"decoder,omitempty"`
// REQUIRED.
// The encoded value.
Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *OpaqueEntry) Reset() {
*x = OpaqueEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_types_v1beta1_types_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpaqueEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpaqueEntry) ProtoMessage() {}
func (x *OpaqueEntry) ProtoReflect() protoreflect.Message {
mi := &file_cs3_types_v1beta1_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 OpaqueEntry.ProtoReflect.Descriptor instead.
func (*OpaqueEntry) Descriptor() ([]byte, []int) {
return file_cs3_types_v1beta1_types_proto_rawDescGZIP(), []int{1}
}
func (x *OpaqueEntry) GetDecoder() string {
if x != nil {
return x.Decoder
}
return ""
}
func (x *OpaqueEntry) GetValue() []byte {
if x != nil {
return x.Value
}
return nil
}
// Adapted from Google google/protobuf/timestamp.proto.
// A Timestamp represents a point in time independent of any time zone or local
// calendar, encoded as a count of seconds and fractions of seconds at
// nanosecond resolution. The count is relative to an epoch at UTC midnight on
// January 1, 1970, in the proleptic Gregorian calendar which extends the
// Gregorian calendar backwards to year one.
//
// The range MUST be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
// Restricting to this range ensures the conversion from and to [RFC
// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
type Timestamp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Represents seconds of UTC time since Unix epoch
// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
// 9999-12-31T23:59:59Z inclusive.
Seconds uint64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
// Non-negative fractions of a second at nanosecond resolution. Negative
// second values with fractions must still have non-negative nanos values
// that count forward in time.
// Value MUST be from 0 to 999,999,999
// inclusive.
Nanos uint32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
}
func (x *Timestamp) Reset() {
*x = Timestamp{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_types_v1beta1_types_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Timestamp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Timestamp) ProtoMessage() {}
func (x *Timestamp) ProtoReflect() protoreflect.Message {
mi := &file_cs3_types_v1beta1_types_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 Timestamp.ProtoReflect.Descriptor instead.
func (*Timestamp) Descriptor() ([]byte, []int) {
return file_cs3_types_v1beta1_types_proto_rawDescGZIP(), []int{2}
}
func (x *Timestamp) GetSeconds() uint64 {
if x != nil {
return x.Seconds
}
return 0
}
func (x *Timestamp) GetNanos() uint32 {
if x != nil {
return x.Nanos
}
return 0
}
var File_cs3_types_v1beta1_types_proto protoreflect.FileDescriptor
var file_cs3_types_v1beta1_types_proto_rawDesc = []byte{
0x0a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x11, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x22, 0x96, 0x01, 0x0a, 0x06, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x34, 0x0a,
0x03, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03,
0x6d, 0x61, 0x70, 0x1a, 0x56, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x0b, 0x4f,
0x70, 0x61, 0x71, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65,
0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x63,
0x6f, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3b, 0x0a, 0x09, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0xc6, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f,
0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73,
0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x74, 0x79, 0x70, 0x65, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43,
0x54, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x73, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x11, 0x43, 0x73, 0x33, 0x5c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1d, 0x43, 0x73, 0x33,
0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47,
0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x43, 0x73, 0x33,
0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_types_v1beta1_types_proto_rawDescOnce sync.Once
file_cs3_types_v1beta1_types_proto_rawDescData = file_cs3_types_v1beta1_types_proto_rawDesc
)
func file_cs3_types_v1beta1_types_proto_rawDescGZIP() []byte {
file_cs3_types_v1beta1_types_proto_rawDescOnce.Do(func() {
file_cs3_types_v1beta1_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_types_v1beta1_types_proto_rawDescData)
})
return file_cs3_types_v1beta1_types_proto_rawDescData
}
var file_cs3_types_v1beta1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_cs3_types_v1beta1_types_proto_goTypes = []interface{}{
(*Opaque)(nil), // 0: cs3.types.v1beta1.Opaque
(*OpaqueEntry)(nil), // 1: cs3.types.v1beta1.OpaqueEntry
(*Timestamp)(nil), // 2: cs3.types.v1beta1.Timestamp
nil, // 3: cs3.types.v1beta1.Opaque.MapEntry
}
var file_cs3_types_v1beta1_types_proto_depIdxs = []int32{
3, // 0: cs3.types.v1beta1.Opaque.map:type_name -> cs3.types.v1beta1.Opaque.MapEntry
1, // 1: cs3.types.v1beta1.Opaque.MapEntry.value:type_name -> cs3.types.v1beta1.OpaqueEntry
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cs3_types_v1beta1_types_proto_init() }
func file_cs3_types_v1beta1_types_proto_init() {
if File_cs3_types_v1beta1_types_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_types_v1beta1_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Opaque); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_types_v1beta1_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpaqueEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_types_v1beta1_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Timestamp); 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_cs3_types_v1beta1_types_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_types_v1beta1_types_proto_goTypes,
DependencyIndexes: file_cs3_types_v1beta1_types_proto_depIdxs,
MessageInfos: file_cs3_types_v1beta1_types_proto_msgTypes,
}.Build()
File_cs3_types_v1beta1_types_proto = out.File
file_cs3_types_v1beta1_types_proto_rawDesc = nil
file_cs3_types_v1beta1_types_proto_goTypes = nil
file_cs3_types_v1beta1_types_proto_depIdxs = nil
}