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