| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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. |
| */ |
| |
| syntax = "proto3"; |
| |
| option java_multiple_files = true; |
| package org.apache.airavata.datalake.drms.storage; |
| |
| import "google/api/annotations.proto"; |
| import "Common.proto"; |
| import "resource/DRMSResource.proto"; |
| import "google/protobuf/empty.proto"; |
| |
| |
| message ResourceFetchRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| string resourceId = 2; |
| } |
| |
| message ResourceFetchResponse { |
| org.apache.airavata.datalake.drms.resource.GenericResource resource = 1; |
| } |
| |
| message ResourceCreateRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| org.apache.airavata.datalake.drms.resource.GenericResource resource = 2; |
| } |
| |
| message ResourceCreateResponse { |
| org.apache.airavata.datalake.drms.resource.GenericResource resource = 1; |
| } |
| |
| message ResourceUpdateRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| string resourceId = 2; |
| org.apache.airavata.datalake.drms.resource.GenericResource resource = 3; |
| } |
| |
| message ResourceUpdateResponse { |
| org.apache.airavata.datalake.drms.resource.GenericResource resource = 1; |
| } |
| |
| message ResourceDeleteRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| string resourceId = 2; |
| } |
| |
| message ResourceSearchQuery { |
| string field = 1; |
| string value = 2; |
| string options = 3; // LIKE, NOT, EQUALS, GREATER, LESS |
| } |
| |
| message ResourceSearchRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| repeated ResourceSearchQuery queries = 2; |
| } |
| |
| message ResourceSearchResponse { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| repeated org.apache.airavata.datalake.drms.resource.GenericResource resources = 2; |
| } |
| |
| message Metadata { |
| string key = 1; |
| string value = 2; |
| } |
| |
| message AddResourceMetadataRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| string resourceId = 2; |
| Metadata metadata = 3; |
| } |
| |
| message FetchResourceMetadataRequest { |
| org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1; |
| string resourceId = 2; |
| } |
| |
| message MetadataNode { |
| repeated Metadata metadata = 1; |
| } |
| |
| message FetchResourceMetadataResponse { |
| MetadataNode metadataNode = 1; |
| } |
| |
| |
| service ResourceService { |
| |
| rpc fetchResource (ResourceFetchRequest) returns (ResourceFetchResponse) { |
| option (google.api.http) = { |
| get: "/v1.0/api/drms/resource" |
| }; |
| } |
| |
| rpc createResource (ResourceCreateRequest) returns (ResourceCreateResponse) { |
| option (google.api.http) = { |
| post: "/v1.0/api/drms/resource" |
| }; |
| } |
| |
| rpc updateResource (ResourceUpdateRequest) returns (ResourceUpdateResponse) { |
| option (google.api.http) = { |
| put: "/v1.0/api/drms/resource" |
| }; |
| } |
| |
| rpc deletePreferenceStorage (ResourceDeleteRequest) returns (google.protobuf.Empty) { |
| option (google.api.http) = { |
| delete: "/v1.0/api/drms/resource" |
| }; |
| } |
| |
| rpc searchResource (ResourceSearchRequest) returns (ResourceSearchResponse) { |
| option (google.api.http) = { |
| post: "/v1.0/api/drms/resource/searchPreference" |
| }; |
| } |
| |
| rpc addResourceMetadata (AddResourceMetadataRequest) returns (google.protobuf.Empty) { |
| option (google.api.http) = { |
| post: "/v1.0/api/drms/resource/metadata" |
| }; |
| } |
| |
| rpc fetchResourceMetadata (FetchResourceMetadataRequest) returns (FetchResourceMetadataResponse) { |
| option (google.api.http) = { |
| get: "/v1.0/api/drms/resource/metadata" |
| }; |
| } |
| } |