blob: 6bd1fc7fbd97a3bdd946f23ffaaf4e9ec9e8151c [file] [log] [blame]
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 storagesPreference = 2;
}
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"
};
}
}