blob: fa3a24ac8b1395cc108d343bd42dc3ca26e2d9df [file] [log] [blame]
/*
* 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"
};
}
}