package cs3.sharing.ocm.v1beta1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service OcmAPI

ocm_api.proto:60

OCM API The OCM API is a share API meant for local users to offer local resources to remote recipients via the Open Cloud Mesh (OCM) protocol, and to manipulate shares received from remote users. Implementations are expected to call remote `/ocm` endpoints in response to the payloads received via this API. The APIs match the OCM v1.2+ spec including multi-protocol shares. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. The following are global requirements that apply to all methods: Any method MUST return CODE_OK on a succesful operation. Any method MAY return NOT_IMPLEMENTED. Any method MAY return INTERNAL. Any method MAY return UNKNOWN. Any method MAY return UNAUTHENTICATED.

message AccessMethod

resources.proto:369

Defines how a remote OCM recipient accesses a local resource when serving a share. This is a subset of the OCM protocol specifications.

Used in: CreateOCMShareRequest, Share, UpdateOCMShareRequest.UpdateField

enum AccessType

resources.proto:359

The available access types for an OCM resource.

Used in: WebDAVAccessMethod, WebDAVProtocol

message CreateOCMShareRequest

ocm_api.proto:99

Used as request type in: gateway.v1beta1.GatewayAPI.CreateOCMShare, OcmAPI.CreateOCMShare

message CreateOCMShareResponse

ocm_api.proto:120

Used as response type in: gateway.v1beta1.GatewayAPI.CreateOCMShare, OcmAPI.CreateOCMShare

message EmbeddedProtocol

resources.proto:317

Defines the options for the Embedded protocol.

Used in: Protocol

message GetOCMShareByTokenRequest

ocm_api.proto:259

Used as request type in: gateway.v1beta1.GatewayAPI.GetOCMShareByToken, OcmAPI.GetOCMShareByToken

message GetOCMShareByTokenResponse

ocm_api.proto:265

Used as response type in: gateway.v1beta1.GatewayAPI.GetOCMShareByToken, OcmAPI.GetOCMShareByToken

message GetOCMShareRequest

ocm_api.proto:238

Used as request type in: gateway.v1beta1.GatewayAPI.GetOCMShare, OcmAPI.GetOCMShare

message GetOCMShareResponse

ocm_api.proto:247

Used as response type in: gateway.v1beta1.GatewayAPI.GetOCMShare, OcmAPI.GetOCMShare

message GetReceivedOCMShareRequest

ocm_api.proto:348

Used as request type in: gateway.v1beta1.GatewayAPI.GetReceivedOCMShare, OcmAPI.GetReceivedOCMShare

message GetReceivedOCMShareResponse

ocm_api.proto:357

Used as response type in: gateway.v1beta1.GatewayAPI.GetReceivedOCMShare, OcmAPI.GetReceivedOCMShare

message ListOCMSharesRequest

ocm_api.proto:163

Used as request type in: gateway.v1beta1.GatewayAPI.ListExistingOCMShares, gateway.v1beta1.GatewayAPI.ListOCMShares, OcmAPI.ListOCMShares

message ListOCMSharesRequest.Filter

ocm_api.proto:169

REQUIRED. represents a filter to apply to the request.

Used in: ListOCMSharesRequest

enum ListOCMSharesRequest.Filter.Type

ocm_api.proto:172

REQUIRED. The filter to apply.

Used in: Filter

message ListOCMSharesResponse

ocm_api.proto:203

Used as response type in: gateway.v1beta1.GatewayAPI.ListOCMShares, OcmAPI.ListOCMShares

message ListReceivedOCMSharesRequest

ocm_api.proto:274

Used as request type in: gateway.v1beta1.GatewayAPI.ListReceivedOCMShares, OcmAPI.ListReceivedOCMShares

message ListReceivedOCMSharesRequest.Filter

ocm_api.proto:287

Used in: ListReceivedOCMSharesRequest

enum ListReceivedOCMSharesRequest.Filter.Type

ocm_api.proto:290

REQUIRED. The filter to apply.

Used in: Filter

message ListReceivedOCMSharesResponse

ocm_api.proto:309

Used as response type in: gateway.v1beta1.GatewayAPI.ListReceivedOCMShares, OcmAPI.ListReceivedOCMShares

message Protocol

resources.proto:246

The protocol which is used to get access to a remote OCM resource.

Used in: ocm.core.v1beta1.CreateOCMCoreShareRequest, ocm.core.v1beta1.UpdateOCMCoreShareRequest, ocm.incoming.v1beta1.CreateOCMIncomingShareRequest, ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest, ReceivedShare

message ReceivedShare

resources.proto:101

A received share represents a share offered by a remote user to a local grantee.

Used in: GetReceivedOCMShareResponse, ListReceivedOCMSharesResponse, UpdateReceivedOCMShareRequest

enum RecipientType

resources.proto:334

Defines the types of recipient for an OCM share.

Used in: ocm.incoming.v1beta1.CreateOCMIncomingShareRequest, ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest, ReceivedShare, Share

message RemoveOCMShareRequest

ocm_api.proto:220

Used as request type in: gateway.v1beta1.GatewayAPI.RemoveOCMShare, OcmAPI.RemoveOCMShare

message RemoveOCMShareResponse

ocm_api.proto:229

Used as response type in: gateway.v1beta1.GatewayAPI.RemoveOCMShare, OcmAPI.RemoveOCMShare

message Share

resources.proto:39

OCM Shares are shares created by a local owner (usually the authenticated user), who grants permissions to a remote recipient (grantee) on a specified (local) resource (resource_id). UserShares represents both user and groups.

Used in: gateway.v1beta1.OCMShareResourceInfo, CreateOCMShareResponse, GetOCMShareByTokenResponse, GetOCMShareResponse, ListOCMSharesResponse

message ShareId

resources.proto:220

A share id identifies uniquely a share in the share provider namespace. A ShareId MUST be unique inside the share provider.

Used in: ReceivedShare, Share, ShareReference, tx.v1beta1.CreateTransferRequest, tx.v1beta1.ListTransfersRequest.Filter, tx.v1beta1.TxInfo

message ShareKey

resources.proto:209

Uniquely identifies a share in the share provider. A share MUST be uniquely identify by four (4) elements: 1) The share provider id 2) The owner of the share 3) The resource id 4) The grantee for the share This 4-tuple MUST be unique. For example, owner Alice shares the resource /home/docs with id home:1234 to an user named Bob. The 4-tuple will consist of 1) The share provider id = "user" 2) The owner of the share = "Alice" 3) The resource id = "home:1234" 4) The grantee for the share = Grantee("type" = "user", "" => "Bob")

Used in: ShareReference

message SharePermissions

resources.proto:95

The permissions for an OCM share. Deprecated: reshare is redundant with grant permissions.

Used in: WebDAVProtocol

message ShareReference

resources.proto:231

The mechanism to identify a share in the share provider namespace.

Used in: GetOCMShareRequest, GetReceivedOCMShareRequest, RemoveOCMShareRequest, UpdateOCMShareRequest

enum ShareState

resources.proto:178

The state of the share.

Used in: ReceivedShare

enum ShareType

resources.proto:325

Defines the type of share based on its recipient. Deprecated: use RecipientType instead.

Used in: ocm.core.v1beta1.CreateOCMCoreShareRequest, ocm.core.v1beta1.UpdateOCMCoreShareRequest, ocm.incoming.v1beta1.CreateOCMIncomingShareRequest, ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest, ReceivedShare, Share

enum SharedResourceType

resources.proto:343

The available types of shared resources.

Used in: ocm.incoming.v1beta1.CreateOCMIncomingShareRequest, ListReceivedOCMSharesRequest.Filter, ReceivedShare

message UpdateOCMShareRequest

ocm_api.proto:135

Used as request type in: gateway.v1beta1.GatewayAPI.UpdateOCMShare, OcmAPI.UpdateOCMShare

message UpdateOCMShareRequest.UpdateField

ocm_api.proto:142

REQUIRED.

Used in: UpdateOCMShareRequest

message UpdateOCMShareResponse

ocm_api.proto:154

Used as response type in: gateway.v1beta1.GatewayAPI.UpdateOCMShare, OcmAPI.UpdateOCMShare

message UpdateReceivedOCMShareRequest

ocm_api.proto:327

TODO(labkode): clean up display_name ? we'll use storage links for that.

Used as request type in: gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare, OcmAPI.UpdateReceivedOCMShare

message UpdateReceivedOCMShareResponse

ocm_api.proto:339

Used as response type in: gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare, OcmAPI.UpdateReceivedOCMShare

message WebDAVAccessMethod

resources.proto:385

Defines the options for the WebDAV access method, representing how a remote user accesses a local resource via the `webdav` OCM protocol.

Used in: AccessMethod

message WebDAVProtocol

resources.proto:265

Defines the options for the WebDAV protocol, mapping to the `webdav` protocol in the OCM specifications.

Used in: Protocol

message WebappAccessMethod

resources.proto:399

Defines the options for the Webapp access method, representing how a remote user accesses a local app via the `webapp` OCM protocol.

Used in: AccessMethod

message WebappProtocol

resources.proto:287

Defines the options for the Webapp protocol, mapping to the `webapp` protocol in the OCM specifications.

Used in: Protocol