diff --git a/cs3/gateway/v1beta1/gateway_api.proto b/cs3/gateway/v1beta1/gateway_api.proto index 96f0944f..e7ecba18 100644 --- a/cs3/gateway/v1beta1/gateway_api.proto +++ b/cs3/gateway/v1beta1/gateway_api.proto @@ -31,6 +31,7 @@ option php_namespace = "Cs3\\Gateway\\V1Beta1"; import "cs3/app/provider/v1beta1/provider_api.proto"; import "cs3/app/registry/v1beta1/registry_api.proto"; import "cs3/auth/registry/v1beta1/registry_api.proto"; +import "cs3/gateway/v1beta1/resources.proto"; import "cs3/identity/user/v1beta1/resources.proto"; import "cs3/identity/user/v1beta1/user_api.proto"; import "cs3/ocm/core/v1beta1/ocm_core_api.proto"; @@ -455,17 +456,8 @@ message InitiateFileDownloadResponse { // Opaque information. cs3.types.v1beta1.Opaque opaque = 2; // REQUIRED. - // The endpoint where to downooad the data. - // The value MUST be a Uniform Resource Identifier (URI) - // as specified in RFC 3986. - string download_endpoint = 3; - // REQUIRED. - // Tells to the gateway if the client should be exposed directly to the download_endpoint. - bool expose = 5; - // OPTIONAL. - // A token that MUST be validated by the data gateway for the upload. - // Only makes sense for uploads passing through the data gateway. - string token = 6; + // The protocols through which data can be downloaded. + repeated FileDownloadProtocol protocols = 3; } message InitiateFileUploadResponse { @@ -476,19 +468,8 @@ message InitiateFileUploadResponse { // Opaque information. cs3.types.v1beta1.Opaque opaque = 2; // REQUIRED. - // The endpoint where to upload the data. - // The value MUST be a Uniform Resource Identifier (URI) - // as specified in RFC 3986. - string upload_endpoint = 3; - // REQUIRED. - // List of available checksums - // the client can use when sending - // the file. - repeated cs3.storage.provider.v1beta1.ResourceChecksumPriority available_checksums = 4; - // OPTIONAL. - // A token that MUST be validated by the data gateway for the upload. - // Only makes sense for uploads passing through the data gateway. - string token = 5; + // The protocols through which data can be uploaded. + repeated FileUploadProtocol protocols = 3; } message ListAuthProvidersResponse { diff --git a/cs3/gateway/v1beta1/resources.proto b/cs3/gateway/v1beta1/resources.proto new file mode 100644 index 00000000..a10ed69e --- /dev/null +++ b/cs3/gateway/v1beta1/resources.proto @@ -0,0 +1,78 @@ +// Copyright 2018-2019 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. + +syntax = "proto3"; + +package cs3.gateway.v1beta1; + +option csharp_namespace = "Cs3.Gateway.V1Beta1"; +option go_package = "gatewayv1beta1"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.cs3.gateway.v1beta1"; +option objc_class_prefix = "CGX"; +option php_namespace = "Cs3\\Gateway\\V1Beta1"; + +import "cs3/rpc/v1beta1/status.proto"; +import "cs3/storage/provider/v1beta1/resources.proto"; +import "cs3/types/v1beta1/types.proto"; + +// A file upload protocol object stores information about +// uploading resources using a specific protocol. +message FileUploadProtocol { + // OPTIONAL. + // Opaque information. + cs3.types.v1beta1.Opaque opaque = 1; + // REQUIRED. + // The protocol to be followed. + string protocol = 2; + // REQUIRED. + // The endpoint where to upload the data. + // The value MUST be a Uniform Resource Identifier (URI) + // as specified in RFC 3986. + string upload_endpoint = 3; + // REQUIRED. + // List of available checksums + // the client can use when sending + // the file. + repeated cs3.storage.provider.v1beta1.ResourceChecksumPriority available_checksums = 4; + // OPTIONAL. + // A token that MUST be validated by the data gateway for the upload. + // Only makes sense for uploads passing through the data gateway. + string token = 5; +} + +// A file download protocol object stores information about +// downloading resources using a specific protocol. +message FileDownloadProtocol { + // OPTIONAL. + // Opaque information. + cs3.types.v1beta1.Opaque opaque = 1; + // REQUIRED. + // The protocol to be followed. + string protocol = 2; + // REQUIRED. + // The endpoint where to download the data. + // The value MUST be a Uniform Resource Identifier (URI) + // as specified in RFC 3986. + string download_endpoint = 3; + // OPTIONAL. + // A token that MUST be validated by the data gateway for the download. + // Only makes sense for downloads passing through the data gateway. + string token = 4; +} diff --git a/cs3/storage/provider/v1beta1/provider_api.proto b/cs3/storage/provider/v1beta1/provider_api.proto index 28c64a60..f07b8b57 100644 --- a/cs3/storage/provider/v1beta1/provider_api.proto +++ b/cs3/storage/provider/v1beta1/provider_api.proto @@ -281,18 +281,8 @@ message InitiateFileUploadResponse { // Opaque information. cs3.types.v1beta1.Opaque opaque = 2; // REQUIRED. - // The endpoint where to upload the data. - // The value MUST be a Uniform Resource Identifier (URI) - // as specified in RFC 3986. - string upload_endpoint = 3; - // REQUIRED. - // List of available checksums - // the client can use when sending - // the file. - repeated ResourceChecksumPriority available_checksums = 4; - // REQUIRED. - // Tells to the gateway if the client should be exposed directly to the upload_endpoint. - bool expose = 5; + // The protocols through which data can be uploaded. + repeated FileUploadProtocol protocols = 3; } message InitiateFileDownloadRequest { @@ -312,13 +302,8 @@ message InitiateFileDownloadResponse { // Opaque information. cs3.types.v1beta1.Opaque opaque = 2; // REQUIRED. - // The endpoint where to downooad the data. - // The value MUST be a Uniform Resource Identifier (URI) - // as specified in RFC 3986. - string download_endpoint = 3; - // REQUIRED. - // Tells to the gateway if the client should be exposed directly to the download_endpoint. - bool expose = 5; + // The protocols through which data can be downloaded. + repeated FileDownloadProtocol protocols = 3; } message ListGrantsRequest { diff --git a/cs3/storage/provider/v1beta1/resources.proto b/cs3/storage/provider/v1beta1/resources.proto index 75f8cbee..8b8cf0cf 100644 --- a/cs3/storage/provider/v1beta1/resources.proto +++ b/cs3/storage/provider/v1beta1/resources.proto @@ -312,3 +312,46 @@ message RecycleItem { // in Unix Epoch timestamp in seconds. cs3.types.v1beta1.Timestamp deletion_time = 6; } + +// A file upload protocol object stores information about +// uploading resources using a specific protocol. +message FileUploadProtocol { + // OPTIONAL. + // Opaque information. + cs3.types.v1beta1.Opaque opaque = 1; + // REQUIRED. + // The protocol to be followed. + string protocol = 2; + // REQUIRED. + // The endpoint where to upload the data. + // The value MUST be a Uniform Resource Identifier (URI) + // as specified in RFC 3986. + string upload_endpoint = 3; + // REQUIRED. + // List of available checksums + // the client can use when sending + // the file. + repeated ResourceChecksumPriority available_checksums = 4; + // REQUIRED. + // Tells to the gateway if the client should be exposed directly to the upload_endpoint. + bool expose = 5; +} + +// A file download protocol object stores information about +// downloading resources using a specific protocol. +message FileDownloadProtocol { + // OPTIONAL. + // Opaque information. + cs3.types.v1beta1.Opaque opaque = 1; + // REQUIRED. + // The protocol to be followed. + string protocol = 2; + // REQUIRED. + // The endpoint where to download the data. + // The value MUST be a Uniform Resource Identifier (URI) + // as specified in RFC 3986. + string download_endpoint = 3; + // REQUIRED. + // Tells to the gateway if the client should be exposed directly to the download_endpoint. + bool expose = 4; +} diff --git a/docs/index.html b/docs/index.html index 83bc8f85..8efda4c5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -241,6 +241,25 @@
REQUIRED. -The endpoint where to downooad the data. -The value MUST be a Uniform Resource Identifier (URI) -as specified in RFC 3986.
REQUIRED. -Tells to the gateway if the client should be exposed directly to the download_endpoint.
OPTIONAL. -A token that MUST be validated by the data gateway for the upload. -Only makes sense for uploads passing through the data gateway.
REQUIRED. -The endpoint where to upload the data. -The value MUST be a Uniform Resource Identifier (URI) -as specified in RFC 3986.
REQUIRED. -List of available checksums -the client can use when sending -the file.
OPTIONAL. -A token that MUST be validated by the data gateway for the upload. -Only makes sense for uploads passing through the data gateway.
A file download protocol object stores information about
downloading resources using a specific protocol.
+ + +Field | Type | Label | Description |
opaque | +cs3.types.v1beta1.Opaque | ++ | OPTIONAL. +Opaque information. |
+
protocol | +string | ++ | REQUIRED. +The protocol to be followed. |
+
download_endpoint | +string | ++ | REQUIRED. +The endpoint where to download the data. +The value MUST be a Uniform Resource Identifier (URI) +as specified in RFC 3986. |
+
token | +string | ++ | OPTIONAL. +A token that MUST be validated by the data gateway for the download. +Only makes sense for downloads passing through the data gateway. |
+
A file upload protocol object stores information about
uploading resources using a specific protocol.
+ + +Field | Type | Label | Description |
opaque | +cs3.types.v1beta1.Opaque | ++ | OPTIONAL. +Opaque information. |
+
protocol | +string | ++ | REQUIRED. +The protocol to be followed. |
+
upload_endpoint | +string | ++ | REQUIRED. +The endpoint where to upload the data. +The value MUST be a Uniform Resource Identifier (URI) +as specified in RFC 3986. |
+
available_checksums | +cs3.storage.provider.v1beta1.ResourceChecksumPriority | +repeated | +REQUIRED. +List of available checksums +the client can use when sending +the file. |
+
token | +string | ++ | OPTIONAL. +A token that MUST be validated by the data gateway for the upload. +Only makes sense for uploads passing through the data gateway. |
+
REQUIRED. -The endpoint where to downooad the data. -The value MUST be a Uniform Resource Identifier (URI) -as specified in RFC 3986.
REQUIRED. -Tells to the gateway if the client should be exposed directly to the download_endpoint.
REQUIRED. -The endpoint where to upload the data. -The value MUST be a Uniform Resource Identifier (URI) -as specified in RFC 3986.
REQUIRED. -List of available checksums -the client can use when sending -the file.
REQUIRED. -Tells to the gateway if the client should be exposed directly to the upload_endpoint.
A file download protocol object stores information about
downloading resources using a specific protocol.
+ + +Field | Type | Label | Description |
opaque | +cs3.types.v1beta1.Opaque | ++ | OPTIONAL. +Opaque information. |
+
protocol | +string | ++ | REQUIRED. +The protocol to be followed. |
+
download_endpoint | +string | ++ | REQUIRED. +The endpoint where to download the data. +The value MUST be a Uniform Resource Identifier (URI) +as specified in RFC 3986. |
+
expose | +bool | ++ | REQUIRED. +Tells to the gateway if the client should be exposed directly to the download_endpoint. |
+
A file upload protocol object stores information about
uploading resources using a specific protocol.
+ + +Field | Type | Label | Description |
opaque | +cs3.types.v1beta1.Opaque | ++ | OPTIONAL. +Opaque information. |
+
protocol | +string | ++ | REQUIRED. +The protocol to be followed. |
+
upload_endpoint | +string | ++ | REQUIRED. +The endpoint where to upload the data. +The value MUST be a Uniform Resource Identifier (URI) +as specified in RFC 3986. |
+
available_checksums | +ResourceChecksumPriority | +repeated | +REQUIRED. +List of available checksums +the client can use when sending +the file. |
+
expose | +bool | ++ | REQUIRED. +Tells to the gateway if the client should be exposed directly to the upload_endpoint. |
+
The information for a file version.
TODO(labkode): make size and mtime OPTIONAL?
diff --git a/proto.lock b/proto.lock index d456fda3..f22933b2 100644 --- a/proto.lock +++ b/proto.lock @@ -847,18 +847,9 @@ }, { "id": 3, - "name": "download_endpoint", - "type": "string" - }, - { - "id": 5, - "name": "expose", - "type": "bool" - }, - { - "id": 6, - "name": "token", - "type": "string" + "name": "protocols", + "type": "FileDownloadProtocol", + "is_repeated": true } ] }, @@ -877,19 +868,9 @@ }, { "id": 3, - "name": "upload_endpoint", - "type": "string" - }, - { - "id": 4, - "name": "available_checksums", - "type": "cs3.storage.provider.v1beta1.ResourceChecksumPriority", + "name": "protocols", + "type": "FileUploadProtocol", "is_repeated": true - }, - { - "id": 5, - "name": "token", - "type": "string" } ] }, @@ -1031,6 +1012,11 @@ "in_type": "cs3.storage.provider.v1beta1.StatRequest", "out_type": "cs3.storage.provider.v1beta1.StatResponse" }, + { + "name": "CreateSymlink", + "in_type": "cs3.storage.provider.v1beta1.CreateSymlinkRequest", + "out_type": "cs3.storage.provider.v1beta1.CreateSymlinkResponse" + }, { "name": "SetArbitraryMetadata", "in_type": "cs3.storage.provider.v1beta1.SetArbitraryMetadataRequest", @@ -1206,6 +1192,11 @@ "in_type": "cs3.identity.user.v1beta1.FindUsersRequest", "out_type": "cs3.identity.user.v1beta1.FindUsersResponse" }, + { + "name": "FindGroups", + "in_type": "cs3.identity.user.v1beta1.FindGroupsRequest", + "out_type": "cs3.identity.user.v1beta1.FindGroupsResponse" + }, { "name": "ListAuthProviders", "in_type": "cs3.auth.registry.v1beta1.ListAuthProvidersRequest", @@ -1255,6 +1246,21 @@ "name": "CreateOCMCoreShare", "in_type": "cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest", "out_type": "cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse" + }, + { + "name": "CreateTransfer", + "in_type": "cs3.tx.v1beta1.CreateTransferRequest", + "out_type": "cs3.tx.v1beta1.CreateTransferResponse" + }, + { + "name": "GetTransferStatus", + "in_type": "cs3.tx.v1beta1.GetTransferStatusRequest", + "out_type": "cs3.tx.v1beta1.GetTransferStatusResponse" + }, + { + "name": "CancelTransfer", + "in_type": "cs3.tx.v1beta1.CancelTransferRequest", + "out_type": "cs3.tx.v1beta1.CancelTransferResponse" } ] } @@ -1269,6 +1275,9 @@ { "path": "cs3/auth/registry/v1beta1/registry_api.proto" }, + { + "path": "cs3/gateway/v1beta1/resources.proto" + }, { "path": "cs3/identity/user/v1beta1/resources.proto" }, @@ -1305,6 +1314,9 @@ { "path": "cs3/storage/provider/v1beta1/resources.proto" }, + { + "path": "cs3/tx/v1beta1/tx_api.proto" + }, { "path": "cs3/types/v1beta1/types.proto" } @@ -1344,6 +1356,113 @@ ] } }, + { + "protopath": "cs3:/:gateway:/:v1beta1:/:resources.proto", + "def": { + "messages": [ + { + "name": "FileUploadProtocol", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "protocol", + "type": "string" + }, + { + "id": 3, + "name": "upload_endpoint", + "type": "string" + }, + { + "id": 4, + "name": "available_checksums", + "type": "cs3.storage.provider.v1beta1.ResourceChecksumPriority", + "is_repeated": true + }, + { + "id": 5, + "name": "token", + "type": "string" + } + ] + }, + { + "name": "FileDownloadProtocol", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "protocol", + "type": "string" + }, + { + "id": 3, + "name": "download_endpoint", + "type": "string" + }, + { + "id": 4, + "name": "token", + "type": "string" + } + ] + } + ], + "imports": [ + { + "path": "cs3/rpc/v1beta1/status.proto" + }, + { + "path": "cs3/storage/provider/v1beta1/resources.proto" + }, + { + "path": "cs3/types/v1beta1/types.proto" + } + ], + "package": { + "name": "cs3.gateway.v1beta1" + }, + "options": [ + { + "name": "csharp_namespace", + "value": "Cs3.Gateway.V1Beta1" + }, + { + "name": "go_package", + "value": "gatewayv1beta1" + }, + { + "name": "java_multiple_files", + "value": "true" + }, + { + "name": "java_outer_classname", + "value": "ResourcesProto" + }, + { + "name": "java_package", + "value": "com.cs3.gateway.v1beta1" + }, + { + "name": "objc_class_prefix", + "value": "CGX" + }, + { + "name": "php_namespace", + "value": "Cs3\\\\Gateway\\\\V1Beta1" + } + ] + } + }, { "protopath": "cs3:/:identity:/:user:/:v1beta1:/:resources.proto", "def": { @@ -1635,6 +1754,42 @@ "is_repeated": true } ] + }, + { + "name": "FindGroupsRequest", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "filter", + "type": "string" + } + ] + }, + { + "name": "FindGroupsResponse", + "fields": [ + { + "id": 1, + "name": "status", + "type": "cs3.rpc.v1beta1.Status" + }, + { + "id": 2, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 3, + "name": "groups", + "type": "string", + "is_repeated": true + } + ] } ], "services": [ @@ -1665,6 +1820,11 @@ "name": "FindUsers", "in_type": "FindUsersRequest", "out_type": "FindUsersResponse" + }, + { + "name": "FindGroups", + "in_type": "FindGroupsRequest", + "out_type": "FindGroupsResponse" } ] } @@ -5015,19 +5175,9 @@ }, { "id": 3, - "name": "upload_endpoint", - "type": "string" - }, - { - "id": 4, - "name": "available_checksums", - "type": "ResourceChecksumPriority", + "name": "protocols", + "type": "FileUploadProtocol", "is_repeated": true - }, - { - "id": 5, - "name": "expose", - "type": "bool" } ] }, @@ -5061,13 +5211,9 @@ }, { "id": 3, - "name": "download_endpoint", - "type": "string" - }, - { - "id": 5, - "name": "expose", - "type": "bool" + "name": "protocols", + "type": "FileDownloadProtocol", + "is_repeated": true } ] }, @@ -5558,6 +5704,41 @@ } ] }, + { + "name": "CreateSymlinkRequest", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "path", + "type": "string" + }, + { + "id": 3, + "name": "target", + "type": "string" + } + ] + }, + { + "name": "CreateSymlinkResponse", + "fields": [ + { + "id": 1, + "name": "status", + "type": "cs3.rpc.v1beta1.Status" + }, + { + "id": 2, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, { "name": "CreateReferenceRequest", "fields": [ @@ -5796,6 +5977,11 @@ "in_type": "UpdateGrantRequest", "out_type": "UpdateGrantResponse" }, + { + "name": "CreateSymlink", + "in_type": "CreateSymlinkRequest", + "out_type": "CreateSymlinkResponse" + }, { "name": "CreateReference", "in_type": "CreateReferenceRequest", @@ -6291,30 +6477,86 @@ "type": "cs3.types.v1beta1.Timestamp" } ] - } - ], - "imports": [ - { - "path": "cs3/identity/user/v1beta1/resources.proto" - }, - { - "path": "cs3/types/v1beta1/types.proto" - } - ], - "package": { - "name": "cs3.storage.provider.v1beta1" - }, - "options": [ - { - "name": "csharp_namespace", - "value": "Cs3.Storage.Provider.V1Beta1" - }, - { - "name": "go_package", - "value": "providerv1beta1" }, { - "name": "java_multiple_files", + "name": "FileUploadProtocol", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "protocol", + "type": "string" + }, + { + "id": 3, + "name": "upload_endpoint", + "type": "string" + }, + { + "id": 4, + "name": "available_checksums", + "type": "ResourceChecksumPriority", + "is_repeated": true + }, + { + "id": 5, + "name": "expose", + "type": "bool" + } + ] + }, + { + "name": "FileDownloadProtocol", + "fields": [ + { + "id": 1, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + }, + { + "id": 2, + "name": "protocol", + "type": "string" + }, + { + "id": 3, + "name": "download_endpoint", + "type": "string" + }, + { + "id": 4, + "name": "expose", + "type": "bool" + } + ] + } + ], + "imports": [ + { + "path": "cs3/identity/user/v1beta1/resources.proto" + }, + { + "path": "cs3/types/v1beta1/types.proto" + } + ], + "package": { + "name": "cs3.storage.provider.v1beta1" + }, + "options": [ + { + "name": "csharp_namespace", + "value": "Cs3.Storage.Provider.V1Beta1" + }, + { + "name": "go_package", + "value": "providerv1beta1" + }, + { + "name": "java_multiple_files", "value": "true" }, { @@ -6605,6 +6847,343 @@ ] } }, + { + "protopath": "cs3:/:tx:/:v1beta1:/:resources.proto", + "def": { + "enums": [ + { + "name": "TxInfo.Status", + "enum_fields": [ + { + "name": "STATUS_INVALID" + }, + { + "name": "STATUS_DESTINATION_NOT_FOUND", + "integer": 1 + }, + { + "name": "STATUS_TRANSFER_NEW", + "integer": 2 + }, + { + "name": "STATUS_TRANSFER_AWAITING_ACCEPTANCE", + "integer": 3 + }, + { + "name": "STATUS_TRANSFER_ACCEPTED", + "integer": 4 + }, + { + "name": "STATUS_TRANSFER_IN_PROGRESS", + "integer": 5 + }, + { + "name": "STATUS_TRANSFER_COMPLETE", + "integer": 6 + }, + { + "name": "STATUS_TRANSFER_FAILED", + "integer": 7 + }, + { + "name": "STATUS_TRANSFER_CANCELLED", + "integer": 8 + }, + { + "name": "STATUS_TRANSFER_CANCEL_FAILED", + "integer": 9 + }, + { + "name": "STATUS_TRANSFER_EXPIRED", + "integer": 10 + } + ] + } + ], + "messages": [ + { + "name": "TxId", + "fields": [ + { + "id": 1, + "name": "opaque_id", + "type": "string" + } + ] + }, + { + "name": "TxInfo", + "fields": [ + { + "id": 1, + "name": "id", + "type": "TxId" + }, + { + "id": 2, + "name": "ref", + "type": "cs3.storage.provider.v1beta1.Reference" + }, + { + "id": 3, + "name": "status", + "type": "Status" + }, + { + "id": 4, + "name": "grantee", + "type": "cs3.storage.provider.v1beta1.Grantee" + }, + { + "id": 5, + "name": "creator", + "type": "cs3.identity.user.v1beta1.UserId" + }, + { + "id": 6, + "name": "ctime", + "type": "cs3.types.v1beta1.Timestamp" + }, + { + "id": 7, + "name": "description", + "type": "string" + } + ] + } + ], + "imports": [ + { + "path": "cs3/identity/user/v1beta1/resources.proto" + }, + { + "path": "cs3/storage/provider/v1beta1/resources.proto" + }, + { + "path": "cs3/types/v1beta1/types.proto" + } + ], + "package": { + "name": "cs3.tx.v1beta1" + }, + "options": [ + { + "name": "csharp_namespace", + "value": "Cs3.Tx.V1Beta1" + }, + { + "name": "go_package", + "value": "txv1beta1" + }, + { + "name": "java_multiple_files", + "value": "true" + }, + { + "name": "java_outer_classname", + "value": "ResourcesProto" + }, + { + "name": "java_package", + "value": "com.cs3.tx.v1beta1" + }, + { + "name": "objc_class_prefix", + "value": "CTX" + }, + { + "name": "php_namespace", + "value": "Cs3\\\\Tx\\\\V1Beta1" + } + ] + } + }, + { + "protopath": "cs3:/:tx:/:v1beta1:/:tx_api.proto", + "def": { + "messages": [ + { + "name": "CreateTransferRequest", + "fields": [ + { + "id": 1, + "name": "ref", + "type": "cs3.storage.provider.v1beta1.Reference" + }, + { + "id": 2, + "name": "grantee", + "type": "cs3.storage.provider.v1beta1.Grantee" + }, + { + "id": 3, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, + { + "name": "CreateTransferResponse", + "fields": [ + { + "id": 1, + "name": "status", + "type": "cs3.rpc.v1beta1.Status" + }, + { + "id": 2, + "name": "tx_info", + "type": "TxInfo" + }, + { + "id": 3, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, + { + "name": "GetTransferStatusRequest", + "fields": [ + { + "id": 1, + "name": "tx_id", + "type": "TxId" + }, + { + "id": 2, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, + { + "name": "GetTransferStatusResponse", + "fields": [ + { + "id": 1, + "name": "status", + "type": "cs3.rpc.v1beta1.Status" + }, + { + "id": 2, + "name": "tx_info", + "type": "TxInfo" + }, + { + "id": 3, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, + { + "name": "CancelTransferRequest", + "fields": [ + { + "id": 1, + "name": "tx_id", + "type": "TxId" + }, + { + "id": 2, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + }, + { + "name": "CancelTransferResponse", + "fields": [ + { + "id": 1, + "name": "status", + "type": "cs3.rpc.v1beta1.Status" + }, + { + "id": 2, + "name": "tx_info", + "type": "TxInfo" + }, + { + "id": 3, + "name": "opaque", + "type": "cs3.types.v1beta1.Opaque" + } + ] + } + ], + "services": [ + { + "name": "TxAPI", + "rpcs": [ + { + "name": "CreateTransfer", + "in_type": "CreateTransferRequest", + "out_type": "CreateTransferResponse" + }, + { + "name": "GetTransferStatus", + "in_type": "GetTransferStatusRequest", + "out_type": "GetTransferStatusResponse" + }, + { + "name": "CancelTransfer", + "in_type": "CancelTransferRequest", + "out_type": "CancelTransferResponse" + } + ] + } + ], + "imports": [ + { + "path": "cs3/rpc/v1beta1/status.proto" + }, + { + "path": "cs3/storage/provider/v1beta1/resources.proto" + }, + { + "path": "cs3/tx/v1beta1/resources.proto" + }, + { + "path": "cs3/types/v1beta1/types.proto" + } + ], + "package": { + "name": "cs3.tx.v1beta1" + }, + "options": [ + { + "name": "csharp_namespace", + "value": "Cs3.Tx.V1Beta1" + }, + { + "name": "go_package", + "value": "txv1beta1" + }, + { + "name": "java_multiple_files", + "value": "true" + }, + { + "name": "java_outer_classname", + "value": "TxApiProto" + }, + { + "name": "java_package", + "value": "com.cs3.tx.v1beta1" + }, + { + "name": "objc_class_prefix", + "value": "CTX" + }, + { + "name": "php_namespace", + "value": "Cs3\\\\Tx\\\\V1Beta1" + } + ] + } + }, { "protopath": "cs3:/:types:/:v1beta1:/:types.proto", "def": {