This is an automated email from the ASF dual-hosted git repository. isjarana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git
commit a62e770395f4f6e2ef6657cfe7061a227ded23b6 Author: DImuthuUpe <[email protected]> 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
