You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/06/01 03:03:18 UTC
[airavata-data-lake] 11/42: Protobuf definitions for DRMS
This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git
commit a62e770395f4f6e2ef6657cfe7061a227ded23b6
Author: DImuthuUpe <di...@gmail.com>
AuthorDate: Sun Mar 21 21:56:19 2021 -0400
Protobuf definitions for DRMS
---
.../drms-stubs/src/main/proto/Common.proto | 10 +++
.../src/main/proto/preference/S3Preference.proto | 18 ++++
.../src/main/proto/preference/SSHPreference.proto | 20 +++++
.../preference/StoragePreferenceService.proto | 98 ++++++++++++++++++++++
.../src/main/proto/resource/DRMSResource.proto | 17 ++++
.../main/proto/resource/DRMSResourceService.proto | 92 ++++++++++++++++++++
.../src/main/proto/storage/S3Storage.proto | 12 +++
.../src/main/proto/storage/SSHStorage.proto | 12 +++
.../src/main/proto/storage/StorageService.proto | 98 ++++++++++++++++++++++
9 files changed, 377 insertions(+)
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/Common.proto b/data-resource-management-service/drms-stubs/src/main/proto/Common.proto
new file mode 100644
index 0000000..3334881
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/Common.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms;
+
+import "google/api/annotations.proto";
+
+message DRMSServiceAuthToken {
+ string access_token = 1;
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/preference/S3Preference.proto b/data-resource-management-service/drms-stubs/src/main/proto/preference/S3Preference.proto
new file mode 100644
index 0000000..b7eac3e
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/preference/S3Preference.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage.preference.s3;
+
+import "google/api/annotations.proto";
+import "storage/S3Storage.proto";
+
+message S3StoragePreference {
+ string storagePreferenceId = 1;
+ string credentialToken = 2;
+ enum AuthType {
+ CLIENT_ID_SECRET_ID = 0;
+ OPEN = 2;
+ }
+ AuthType authType = 3;
+ org.apache.airavata.datalake.drms.storage.s3.S3Storage storage = 4;
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/preference/SSHPreference.proto b/data-resource-management-service/drms-stubs/src/main/proto/preference/SSHPreference.proto
new file mode 100644
index 0000000..8cf20c6
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/preference/SSHPreference.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage.preference.ssh;
+
+import "google/api/annotations.proto";
+import "storage/SSHStorage.proto";
+
+message SSHStoragePreference {
+ string storagePreferenceId = 1;
+ string credentialToken = 2;
+ string userName = 3;
+ enum AuthType {
+ SSH_KEY = 0;
+ PASSWORD = 1;
+ OPEN = 2;
+ }
+ AuthType authType = 4;
+ org.apache.airavata.datalake.drms.storage.ssh.SSHStorage storage = 5;
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/preference/StoragePreferenceService.proto b/data-resource-management-service/drms-stubs/src/main/proto/preference/StoragePreferenceService.proto
new file mode 100644
index 0000000..f8e296a
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/preference/StoragePreferenceService.proto
@@ -0,0 +1,98 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage;
+
+import "google/api/annotations.proto";
+import "Common.proto";
+import "preference/SSHPreference.proto";
+import "preference/S3Preference.proto";
+import "google/protobuf/empty.proto";
+
+message AnyStoragePreference {
+ oneof storage {
+ org.apache.airavata.datalake.drms.storage.preference.ssh.SSHStoragePreference sshStoragePreference = 1;
+ org.apache.airavata.datalake.drms.storage.preference.s3.S3StoragePreference s3StoragePreference = 2;
+ }
+}
+message StoragePreferenceFetchRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storagePreferenceId = 2;
+}
+
+message StoragePreferenceFetchResponse {
+ AnyStoragePreference storagePreference = 1;
+}
+
+message StoragePreferenceCreateRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ AnyStoragePreference storagePreference = 2;
+}
+
+message StoragePreferenceCreateResponse {
+ AnyStoragePreference storagePreference = 1;
+}
+
+message StoragePreferenceUpdateRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storagePreferenceId = 2;
+ AnyStoragePreference storagePreference = 3;
+}
+
+message StoragePreferenceUpdateResponse {
+ AnyStoragePreference storagePreference = 1;
+}
+
+message StoragePreferenceDeleteRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storagePreferenceId = 2;
+}
+
+message StoragePreferenceSearchQuery {
+ string field = 1;
+ string value = 2;
+ string options = 3; // LIKE, NOT, EQUALS, GREATER, LESS
+}
+
+message StoragePreferenceSearchRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ repeated StoragePreferenceSearchQuery queries = 2;
+}
+
+message StoragePreferenceSearchResponse {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ repeated AnyStoragePreference storagesPreference = 2;
+}
+
+service StoragePreferenceService {
+
+ rpc fetchStoragePreference (StoragePreferenceFetchRequest) returns (StoragePreferenceFetchResponse) {
+ option (google.api.http) = {
+ get: "/v1.0/api/drms/storagePreference"
+ };
+ }
+
+ rpc createStoragePreference (StoragePreferenceCreateRequest) returns (StoragePreferenceCreateResponse) {
+ option (google.api.http) = {
+ post: "/v1.0/api/drms/storagePreference"
+ };
+ }
+
+ rpc updateStoragePreference (StoragePreferenceUpdateRequest) returns (StoragePreferenceUpdateResponse) {
+ option (google.api.http) = {
+ put: "/v1.0/api/drms/storagePreference"
+ };
+ }
+
+ rpc deletePreferenceStorage (StoragePreferenceDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/api/drms/storagePreference"
+ };
+ }
+
+ rpc searchStoragePreference (StoragePreferenceSearchRequest) returns (StoragePreferenceSearchResponse) {
+ option (google.api.http) = {
+ post: "/v1.0/api/drms/storagePreference/searchPreference"
+ };
+ }
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto
new file mode 100644
index 0000000..914e2ec
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.resource;
+
+import "google/api/annotations.proto";
+import "preference/S3Preference.proto";
+import "preference/SSHPreference.proto";
+
+message GenericResource {
+ string resourceId = 1;
+ string resourcePath = 2;
+ oneof storagePreference {
+ org.apache.airavata.datalake.drms.storage.preference.s3.S3StoragePreference s3Preference = 3;
+ org.apache.airavata.datalake.drms.storage.preference.ssh.SSHStoragePreference sshPreference = 4;
+ }
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResourceService.proto b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResourceService.proto
new file mode 100644
index 0000000..6bd1fc7
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResourceService.proto
@@ -0,0 +1,92 @@
+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"
+ };
+ }
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/storage/S3Storage.proto b/data-resource-management-service/drms-stubs/src/main/proto/storage/S3Storage.proto
new file mode 100644
index 0000000..58d4768
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/storage/S3Storage.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage.s3;
+
+import "google/api/annotations.proto";
+
+message S3Storage {
+ string storageId = 1;
+ string bucketName = 2;
+ string region = 3;
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/storage/SSHStorage.proto b/data-resource-management-service/drms-stubs/src/main/proto/storage/SSHStorage.proto
new file mode 100644
index 0000000..d77e026
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/storage/SSHStorage.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage.ssh;
+
+import "google/api/annotations.proto";
+
+message SSHStorage {
+ string storageId = 1;
+ string hostName = 2;
+ int32 port = 3;
+}
\ No newline at end of file
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/storage/StorageService.proto b/data-resource-management-service/drms-stubs/src/main/proto/storage/StorageService.proto
new file mode 100644
index 0000000..891962a
--- /dev/null
+++ b/data-resource-management-service/drms-stubs/src/main/proto/storage/StorageService.proto
@@ -0,0 +1,98 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+package org.apache.airavata.datalake.drms.storage;
+
+import "google/api/annotations.proto";
+import "Common.proto";
+import "storage/SSHStorage.proto";
+import "storage/S3Storage.proto";
+import "google/protobuf/empty.proto";
+
+message AnyStorage {
+ oneof storage {
+ org.apache.airavata.datalake.drms.storage.ssh.SSHStorage sshStorage = 1;
+ org.apache.airavata.datalake.drms.storage.s3.S3Storage s3Storage = 2;
+ }
+}
+message StorageFetchRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storageId = 2;
+}
+
+message StorageFetchResponse {
+ AnyStorage storage = 1;
+}
+
+message StorageCreateRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ AnyStorage storage = 2;
+}
+
+message StorageCreateResponse {
+ AnyStorage storage = 1;
+}
+
+message StorageUpdateRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storageId = 2;
+ AnyStorage storage = 3;
+}
+
+message StorageUpdateResponse {
+ AnyStorage storage = 1;
+}
+
+message StorageDeleteRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ string storageId = 2;
+}
+
+message StorageSearchQuery {
+ string field = 1;
+ string value = 2;
+ string options = 3; // LIKE, NOT, EQUALS, GREATER, LESS
+}
+
+message StorageSearchRequest {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ repeated StorageSearchQuery queries = 2;
+}
+
+message StorageSearchResponse {
+ org.apache.airavata.datalake.drms.DRMSServiceAuthToken authToken = 1;
+ repeated AnyStorage storages = 2;
+}
+
+service StorageService {
+
+ rpc fetchStorage (StorageFetchRequest) returns (StorageFetchResponse) {
+ option (google.api.http) = {
+ get: "/v1.0/api/drms/storage"
+ };
+ }
+
+ rpc createStorage (StorageCreateRequest) returns (StorageCreateResponse) {
+ option (google.api.http) = {
+ post: "/v1.0/api/drms/storage"
+ };
+ }
+
+ rpc updateStorage (StorageUpdateRequest) returns (StorageUpdateResponse) {
+ option (google.api.http) = {
+ put: "/v1.0/api/drms/storage"
+ };
+ }
+
+ rpc deleteStorage (StorageDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/api/drms/storage"
+ };
+ }
+
+ rpc searchStorage (StorageSearchRequest) returns (StorageSearchResponse) {
+ option (google.api.http) = {
+ post: "/v1.0/api/drms/storage/search"
+ };
+ }
+}
\ No newline at end of file