Restructuring proto files and the stub client for secret service
diff --git a/services/resource-service/client/src/main/java/org/apache/airavata/mft/resource/client/ResourceServiceClient.java b/services/resource-service/client/src/main/java/org/apache/airavata/mft/resource/client/ResourceServiceClient.java
index a5b023f..f23c014 100644
--- a/services/resource-service/client/src/main/java/org/apache/airavata/mft/resource/client/ResourceServiceClient.java
+++ b/services/resource-service/client/src/main/java/org/apache/airavata/mft/resource/client/ResourceServiceClient.java
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
package org.apache.airavata.mft.resource.client;
import io.grpc.ManagedChannel;
diff --git a/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClient.java b/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClient.java
index 47050f2..f7299de 100644
--- a/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClient.java
+++ b/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClient.java
@@ -18,28 +18,56 @@
package org.apache.airavata.mft.secret.client;
import io.grpc.ManagedChannel;
-import io.grpc.ManagedChannelBuilder;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.azure.AzureSecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.box.BoxSecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.dropbox.DropboxSecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.ftp.FTPSecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.gcs.GCSSecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.s3.S3SecretServiceGrpc;
+import org.apache.airavata.mft.credential.service.scp.SCPSecretServiceGrpc;
-import java.util.Collections;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import java.io.Closeable;
+import java.io.IOException;
-public class SecretServiceClient {
+public class SecretServiceClient implements Closeable {
- private static Map<String, Map<Integer, SecretServiceGrpc.SecretServiceBlockingStub>> stubCache = new ConcurrentHashMap<>();
+ private ManagedChannel channel;
- public static SecretServiceGrpc.SecretServiceBlockingStub buildClient(String hostName, int port) {
+ SecretServiceClient(ManagedChannel channel) {
+ this.channel = channel;
+ }
- if (stubCache.containsKey(hostName)) {
- if (stubCache.get(hostName).containsKey(port)) {
- return stubCache.get(hostName).get(port);
- }
- }
+ public SCPSecretServiceGrpc.SCPSecretServiceBlockingStub scp() {
+ return SCPSecretServiceGrpc.newBlockingStub(channel);
+ }
- ManagedChannel channel = ManagedChannelBuilder.forAddress(hostName, port).usePlaintext().build();
- SecretServiceGrpc.SecretServiceBlockingStub stub = SecretServiceGrpc.newBlockingStub(channel);
- stubCache.put(hostName, Collections.singletonMap(port, stub));
- return stub;
+ public S3SecretServiceGrpc.S3SecretServiceBlockingStub s3() {
+ return S3SecretServiceGrpc.newBlockingStub(channel);
+ }
+
+ public FTPSecretServiceGrpc.FTPSecretServiceBlockingStub ftp() {
+ return FTPSecretServiceGrpc.newBlockingStub(channel);
+ }
+
+ public AzureSecretServiceGrpc.AzureSecretServiceBlockingStub azure() {
+ return AzureSecretServiceGrpc.newBlockingStub(channel);
+ }
+
+ public GCSSecretServiceGrpc.GCSSecretServiceBlockingStub gcs() {
+ return GCSSecretServiceGrpc.newBlockingStub(channel);
+ }
+
+ public BoxSecretServiceGrpc.BoxSecretServiceBlockingStub box() {
+ return BoxSecretServiceGrpc.newBlockingStub(channel);
+ }
+
+ public DropboxSecretServiceGrpc.DropboxSecretServiceBlockingStub dropbox() {
+ return DropboxSecretServiceGrpc.newBlockingStub(channel);
+ }
+
+
+ @Override
+ public void close() throws IOException {
+ this.channel.shutdown();
}
}
diff --git a/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClientBuilder.java b/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClientBuilder.java
new file mode 100644
index 0000000..79b4973
--- /dev/null
+++ b/services/secret-service/client/src/main/java/org/apache/airavata/mft/secret/client/SecretServiceClientBuilder.java
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.client;
+
+import io.grpc.ManagedChannel;
+import io.grpc.ManagedChannelBuilder;
+
+public class SecretServiceClientBuilder {
+
+ public static SecretServiceClient buildClient(String hostName, int port) {
+ ManagedChannel channel = ManagedChannelBuilder.forAddress(hostName, port).usePlaintext().build();
+ return new SecretServiceClient(channel);
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/SecretBackend.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/SecretBackend.java
index 81319ab..d75d789 100644
--- a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/SecretBackend.java
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/SecretBackend.java
@@ -17,7 +17,13 @@
package org.apache.airavata.mft.secret.server.backend;
-import org.apache.airavata.mft.secret.service.*;
+import org.apache.airavata.mft.credential.stubs.azure.*;
+import org.apache.airavata.mft.credential.stubs.box.*;
+import org.apache.airavata.mft.credential.stubs.dropbox.*;
+import org.apache.airavata.mft.credential.stubs.ftp.*;
+import org.apache.airavata.mft.credential.stubs.gcs.*;
+import org.apache.airavata.mft.credential.stubs.s3.*;
+import org.apache.airavata.mft.credential.stubs.scp.*;
import java.util.Optional;
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/airavata/AiravataSecretBackend.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/airavata/AiravataSecretBackend.java
index f2835df..2288293 100644
--- a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/airavata/AiravataSecretBackend.java
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/airavata/AiravataSecretBackend.java
@@ -19,8 +19,14 @@
import org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
import org.apache.airavata.credential.store.cpi.CredentialStoreService;
+import org.apache.airavata.mft.credential.stubs.azure.*;
+import org.apache.airavata.mft.credential.stubs.box.*;
+import org.apache.airavata.mft.credential.stubs.dropbox.*;
+import org.apache.airavata.mft.credential.stubs.ftp.*;
+import org.apache.airavata.mft.credential.stubs.gcs.*;
+import org.apache.airavata.mft.credential.stubs.s3.*;
+import org.apache.airavata.mft.credential.stubs.scp.*;
import org.apache.airavata.mft.secret.server.backend.SecretBackend;
-import org.apache.airavata.mft.secret.service.*;
import org.apache.airavata.model.credential.store.SSHCredential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
index 4dd23bf..d8bf9bb 100644
--- a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
@@ -17,20 +17,25 @@
package org.apache.airavata.mft.secret.server.backend.file;
+import org.apache.airavata.mft.credential.stubs.azure.*;
+import org.apache.airavata.mft.credential.stubs.box.*;
+import org.apache.airavata.mft.credential.stubs.dropbox.*;
+import org.apache.airavata.mft.credential.stubs.ftp.*;
+import org.apache.airavata.mft.credential.stubs.gcs.*;
+import org.apache.airavata.mft.credential.stubs.s3.*;
+import org.apache.airavata.mft.credential.stubs.scp.*;
import org.apache.airavata.mft.secret.server.backend.SecretBackend;
-import org.apache.airavata.mft.secret.service.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.*;
-import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.util.List;
import java.util.Optional;
-import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@SuppressWarnings("unchecked")
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java
index 23f55f0..8a1ab66 100644
--- a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java
@@ -17,12 +17,18 @@
package org.apache.airavata.mft.secret.server.backend.sql;
+import org.apache.airavata.mft.credential.stubs.azure.*;
+import org.apache.airavata.mft.credential.stubs.box.*;
+import org.apache.airavata.mft.credential.stubs.dropbox.*;
+import org.apache.airavata.mft.credential.stubs.ftp.*;
+import org.apache.airavata.mft.credential.stubs.gcs.*;
+import org.apache.airavata.mft.credential.stubs.s3.*;
+import org.apache.airavata.mft.credential.stubs.scp.*;
import org.apache.airavata.mft.secret.server.backend.SecretBackend;
import org.apache.airavata.mft.secret.server.backend.sql.entity.FTPSecretEntity;
import org.apache.airavata.mft.secret.server.backend.sql.entity.SCPSecretEntity;
import org.apache.airavata.mft.secret.server.backend.sql.repository.FTPSecretRepository;
import org.apache.airavata.mft.secret.server.backend.sql.repository.SecretRepository;
-import org.apache.airavata.mft.secret.service.*;
import org.dozer.DozerBeanMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/AzureServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/AzureServiceHandler.java
new file mode 100644
index 0000000..8160587
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/AzureServiceHandler.java
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.azure.AzureSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.azure.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class AzureServiceHandler extends AzureSecretServiceGrpc.AzureSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(AzureServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getAzureSecret(AzureSecretGetRequest request, StreamObserver<AzureSecret> responseObserver) {
+ try {
+ this.backend.getAzureSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No Azure Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving Azure Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving Azure Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ super.getAzureSecret(request, responseObserver);
+ }
+
+ @Override
+ public void createAzureSecret(AzureSecretCreateRequest request, StreamObserver<AzureSecret> responseObserver) {
+ try {
+ this.backend.createAzureSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating Azure Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating Azure Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateAzureSecret(AzureSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateAzureSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating Azure Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating Azure Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteAzureSecret(AzureSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteAzureSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting Azure Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting Azure Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/BoxServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/BoxServiceHandler.java
new file mode 100644
index 0000000..48f9f6c
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/BoxServiceHandler.java
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.box.BoxSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.box.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class BoxServiceHandler extends BoxSecretServiceGrpc.BoxSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(BoxServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getBoxSecret(BoxSecretGetRequest request, StreamObserver<BoxSecret> responseObserver) {
+ try {
+ this.backend.getBoxSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No Box Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving Box Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving Box Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ super.getBoxSecret(request, responseObserver);
+ }
+
+ @Override
+ public void createBoxSecret(BoxSecretCreateRequest request, StreamObserver<BoxSecret> responseObserver) {
+ try {
+ this.backend.createBoxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating Box Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating Box Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateBoxSecret(BoxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateBoxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating Box Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating Box Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteBoxSecret(BoxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteBoxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting Box Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting Box Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/DropboxServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/DropboxServiceHandler.java
new file mode 100644
index 0000000..307e2ee
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/DropboxServiceHandler.java
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.dropbox.DropboxSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.dropbox.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class DropboxServiceHandler extends DropboxSecretServiceGrpc.DropboxSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(DropboxServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getDropboxSecret(DropboxSecretGetRequest request, StreamObserver<DropboxSecret> responseObserver) {
+ try {
+ this.backend.getDropboxSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No Dropbox Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving Dropbox Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving Dropbox Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void createDropboxSecret(DropboxSecretCreateRequest request, StreamObserver<DropboxSecret> responseObserver) {
+ try {
+ this.backend.createDropboxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating Dropbox Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating Dropbox Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateDropboxSecret(DropboxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateDropboxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating Dropbox Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating Dropbox Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteDropboxSecret(DropboxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteDropboxSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting Dropbox Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting Dropbox Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/FTPServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/FTPServiceHandler.java
new file mode 100644
index 0000000..520bc1c
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/FTPServiceHandler.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.ftp.FTPSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.ftp.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class FTPServiceHandler extends FTPSecretServiceGrpc.FTPSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(FTPServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getFTPSecret(FTPSecretGetRequest request, StreamObserver<FTPSecret> responseObserver) {
+ try {
+ this.backend.getFTPSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> responseObserver.onError(Status.INTERNAL
+ .withDescription("No FTP Secret with id " + request.getSecretId())
+ .asRuntimeException()));
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving FTP Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving FTP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void createFTPSecret(FTPSecretCreateRequest request, StreamObserver<FTPSecret> responseObserver) {
+ try {
+ this.backend.createFTPSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating FTP Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating FTP Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateFTPSecret(FTPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateFTPSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating FTP Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating FTP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteFTPSecret(FTPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteFTPSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting FTP Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting FTP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/GCSServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/GCSServiceHandler.java
new file mode 100644
index 0000000..982a54f
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/GCSServiceHandler.java
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+ package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.gcs.GCSSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.gcs.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class GCSServiceHandler extends GCSSecretServiceGrpc.GCSSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(SCPServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getGCSSecret(GCSSecretGetRequest request, StreamObserver<GCSSecret> responseObserver) {
+ try {
+ this.backend.getGCSSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No GCS Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving GCS Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving GCS Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void createGCSSecret(GCSSecretCreateRequest request, StreamObserver<GCSSecret> responseObserver) {
+ try {
+ this.backend.createGCSSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating GCS Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating GCS Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateGCSSecret(GCSSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateGCSSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating GCS Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating GCS Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteGCSSecret(GCSSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteGCSSecret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting GCS Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting GCS Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/S3ServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/S3ServiceHandler.java
new file mode 100644
index 0000000..8dc68b5
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/S3ServiceHandler.java
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+ package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.s3.S3SecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.s3.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class S3ServiceHandler extends S3SecretServiceGrpc.S3SecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(S3ServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getS3Secret(S3SecretGetRequest request, StreamObserver<S3Secret> responseObserver) {
+ try {
+ this.backend.getS3Secret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No S3 Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+
+ } catch (Exception e) {
+ logger.error("Error in retrieving S3 Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving S3 Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void createS3Secret(S3SecretCreateRequest request, StreamObserver<S3Secret> responseObserver) {
+ try {
+ this.backend.createS3Secret(request);
+ } catch (Exception e) {
+ logger.error("Error in creating S3 Secret", e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in creating S3 Secret")
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void updateS3Secret(S3SecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.updateS3Secret(request);
+ } catch (Exception e) {
+ logger.error("Error in updating S3 Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in updating S3 Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void deleteS3Secret(S3SecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ try {
+ this.backend.deleteS3Secret(request);
+ } catch (Exception e) {
+ logger.error("Error in deleting S3 Secret with id {}", request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in deleting S3 Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SCPServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SCPServiceHandler.java
new file mode 100644
index 0000000..57fc1f0
--- /dev/null
+++ b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SCPServiceHandler.java
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+package org.apache.airavata.mft.secret.server.handler;
+
+import com.google.protobuf.Empty;
+import io.grpc.Status;
+import io.grpc.stub.StreamObserver;
+import org.apache.airavata.mft.credential.service.scp.SCPSecretServiceGrpc;
+import org.apache.airavata.mft.credential.stubs.scp.*;
+import org.apache.airavata.mft.secret.server.backend.SecretBackend;
+import org.lognet.springboot.grpc.GRpcService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@GRpcService
+public class SCPServiceHandler extends SCPSecretServiceGrpc.SCPSecretServiceImplBase {
+
+ private static final Logger logger = LoggerFactory.getLogger(SCPServiceHandler.class);
+
+ @Autowired
+ private SecretBackend backend;
+
+ @Override
+ public void getSCPSecret(SCPSecretGetRequest request, StreamObserver<SCPSecret> responseObserver) {
+ try {
+ this.backend.getSCPSecret(request).ifPresentOrElse(secret -> {
+ responseObserver.onNext(secret);
+ responseObserver.onCompleted();
+ }, () -> {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("No SCP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ });
+ } catch (Exception e) {
+
+ logger.error("Error in retrieving SCP Secret with id " + request.getSecretId(), e);
+ responseObserver.onError(Status.INTERNAL.withCause(e)
+ .withDescription("Error in retrieving SCP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+
+ @Override
+ public void createSCPSecret(SCPSecretCreateRequest request, StreamObserver<SCPSecret> responseObserver) {
+ responseObserver.onNext(this.backend.createSCPSecret(request));
+ responseObserver.onCompleted();
+ }
+
+ @Override
+ public void updateSCPSecret(SCPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ this.backend.updateSCPSecret(request);
+ responseObserver.onCompleted();
+ }
+
+ @Override
+ public void deleteSCPSecret(SCPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ boolean res = this.backend.deleteSCPSecret(request);
+ if (res) {
+ responseObserver.onCompleted();
+ } else {
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("Failed to delete SCP Secret with id " + request.getSecretId())
+ .asRuntimeException());
+ }
+ }
+}
diff --git a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SecretServiceHandler.java b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SecretServiceHandler.java
deleted file mode 100644
index cac5373..0000000
--- a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/handler/SecretServiceHandler.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.airavata.mft.secret.server.handler;
-
-import com.google.protobuf.Empty;
-import io.grpc.Status;
-import io.grpc.stub.StreamObserver;
-import org.apache.airavata.mft.secret.server.backend.SecretBackend;
-import org.apache.airavata.mft.secret.service.*;
-import org.lognet.springboot.grpc.GRpcService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-
-@GRpcService
-public class SecretServiceHandler extends SecretServiceGrpc.SecretServiceImplBase {
-
- private static final Logger logger = LoggerFactory.getLogger(SecretServiceHandler.class);
-
- @Autowired
- private SecretBackend backend;
-
- @Override
- public void getSCPSecret(SCPSecretGetRequest request, StreamObserver<SCPSecret> responseObserver) {
- try {
- this.backend.getSCPSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No SCP Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
- } catch (Exception e) {
-
- logger.error("Error in retrieving SCP Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving SCP Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void createSCPSecret(SCPSecretCreateRequest request, StreamObserver<SCPSecret> responseObserver) {
- responseObserver.onNext(this.backend.createSCPSecret(request));
- responseObserver.onCompleted();
- }
-
- @Override
- public void updateSCPSecret(SCPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- this.backend.updateSCPSecret(request);
- responseObserver.onCompleted();
- }
-
- @Override
- public void deleteSCPSecret(SCPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- boolean res = this.backend.deleteSCPSecret(request);
- if (res) {
- responseObserver.onCompleted();
- } else {
- responseObserver.onError(Status.INTERNAL
- .withDescription("Failed to delete SCP Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void getS3Secret(S3SecretGetRequest request, StreamObserver<S3Secret> responseObserver) {
- try {
- this.backend.getS3Secret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No S3 Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
-
- } catch (Exception e) {
- logger.error("Error in retrieving S3 Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving S3 Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void createS3Secret(S3SecretCreateRequest request, StreamObserver<S3Secret> responseObserver) {
- try {
- this.backend.createS3Secret(request);
- } catch (Exception e) {
- logger.error("Error in creating S3 Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating S3 Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateS3Secret(S3SecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateS3Secret(request);
- } catch (Exception e) {
- logger.error("Error in updating S3 Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating S3 Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteS3Secret(S3SecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteS3Secret(request);
- } catch (Exception e) {
- logger.error("Error in deleting S3 Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting S3 Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void getBoxSecret(BoxSecretGetRequest request, StreamObserver<BoxSecret> responseObserver) {
- try {
- this.backend.getBoxSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No Box Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
-
- } catch (Exception e) {
- logger.error("Error in retrieving Box Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving Box Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- super.getBoxSecret(request, responseObserver);
- }
-
- @Override
- public void createBoxSecret(BoxSecretCreateRequest request, StreamObserver<BoxSecret> responseObserver) {
- try {
- this.backend.createBoxSecret(request);
- } catch (Exception e) {
- logger.error("Error in creating Box Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating Box Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateBoxSecret(BoxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateBoxSecret(request);
- } catch (Exception e) {
- logger.error("Error in updating Box Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating Box Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteBoxSecret(BoxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteBoxSecret(request);
- } catch (Exception e) {
- logger.error("Error in deleting Box Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting Box Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void getAzureSecret(AzureSecretGetRequest request, StreamObserver<AzureSecret> responseObserver) {
- try {
- this.backend.getAzureSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No Azure Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
-
- } catch (Exception e) {
- logger.error("Error in retrieving Azure Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving Azure Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- super.getAzureSecret(request, responseObserver);
- }
-
- @Override
- public void createAzureSecret(AzureSecretCreateRequest request, StreamObserver<AzureSecret> responseObserver) {
- try {
- this.backend.createAzureSecret(request);
- } catch (Exception e) {
- logger.error("Error in creating Azure Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating Azure Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateAzureSecret(AzureSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateAzureSecret(request);
- } catch (Exception e) {
- logger.error("Error in updating Azure Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating Azure Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteAzureSecret(AzureSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteAzureSecret(request);
- } catch (Exception e) {
- logger.error("Error in deleting Azure Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting Azure Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- // GCS
-
- @Override
- public void getGCSSecret(GCSSecretGetRequest request, StreamObserver<GCSSecret> responseObserver) {
- try {
- this.backend.getGCSSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No GCS Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
-
- } catch (Exception e) {
- logger.error("Error in retrieving GCS Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving GCS Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void createGCSSecret(GCSSecretCreateRequest request, StreamObserver<GCSSecret> responseObserver) {
- try {
- this.backend.createGCSSecret(request);
- } catch (Exception e) {
- logger.error("Error in creating GCS Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating GCS Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateGCSSecret(GCSSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateGCSSecret(request);
- } catch (Exception e) {
- logger.error("Error in updating GCS Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating GCS Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteGCSSecret(GCSSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteGCSSecret(request);
- } catch (Exception e) {
- logger.error("Error in deleting GCS Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting GCS Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- // Dropbox
-
- @Override
- public void getDropboxSecret(DropboxSecretGetRequest request, StreamObserver<DropboxSecret> responseObserver) {
- try {
- this.backend.getDropboxSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> {
- responseObserver.onError(Status.INTERNAL
- .withDescription("No Dropbox Secret with id " + request.getSecretId())
- .asRuntimeException());
- });
-
- } catch (Exception e) {
- logger.error("Error in retrieving Dropbox Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving Dropbox Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void createDropboxSecret(DropboxSecretCreateRequest request, StreamObserver<DropboxSecret> responseObserver) {
- try {
- this.backend.createDropboxSecret(request);
- } catch (Exception e) {
- logger.error("Error in creating Dropbox Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating Dropbox Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateDropboxSecret(DropboxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateDropboxSecret(request);
- } catch (Exception e) {
- logger.error("Error in updating Dropbox Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating Dropbox Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteDropboxSecret(DropboxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteDropboxSecret(request);
- } catch (Exception e) {
- logger.error("Error in deleting Dropbox Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting Dropbox Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void getFTPSecret(FTPSecretGetRequest request, StreamObserver<FTPSecret> responseObserver) {
- try {
- this.backend.getFTPSecret(request).ifPresentOrElse(secret -> {
- responseObserver.onNext(secret);
- responseObserver.onCompleted();
- }, () -> responseObserver.onError(Status.INTERNAL
- .withDescription("No FTP Secret with id " + request.getSecretId())
- .asRuntimeException()));
-
- } catch (Exception e) {
- logger.error("Error in retrieving FTP Secret with id " + request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in retrieving FTP Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void createFTPSecret(FTPSecretCreateRequest request, StreamObserver<FTPSecret> responseObserver) {
- try {
- this.backend.createFTPSecret(request);
- } catch (Exception e) {
- logger.error("Error in creating FTP Secret", e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in creating FTP Secret")
- .asRuntimeException());
- }
- }
-
- @Override
- public void updateFTPSecret(FTPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.updateFTPSecret(request);
- } catch (Exception e) {
- logger.error("Error in updating FTP Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in updating FTP Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
- @Override
- public void deleteFTPSecret(FTPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
- try {
- this.backend.deleteFTPSecret(request);
- } catch (Exception e) {
- logger.error("Error in deleting FTP Secret with id {}", request.getSecretId(), e);
- responseObserver.onError(Status.INTERNAL.withCause(e)
- .withDescription("Error in deleting FTP Secret with id " + request.getSecretId())
- .asRuntimeException());
- }
- }
-
-}
diff --git a/services/secret-service/stub/src/main/proto/SecretService.proto b/services/secret-service/stub/src/main/proto/SecretService.proto
deleted file mode 100644
index b933df9..0000000
--- a/services/secret-service/stub/src/main/proto/SecretService.proto
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * 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.mft.secret.service;
-
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
-
-message AuthToken {
- string token = 1;
-}
-
-message SCPSecret {
- string secretId = 1;
- string privateKey = 2;
- string publicKey = 3;
- string passphrase = 4;
-}
-
-message SCPSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message SCPSecretCreateRequest {
- string privateKey = 1;
- string publicKey = 2;
- string passphrase = 3;
- AuthToken authzToken = 5;
-}
-
-message SCPSecretUpdateRequest {
- string secretId = 1;
- string privateKey = 2;
- string publicKey = 3;
- string passphrase = 4;
- AuthToken authzToken = 6;
-}
-
-message SCPSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message S3Secret {
- string secretId = 1;
- string accessKey = 2;
- string secretKey = 3;
-}
-
-message S3SecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message S3SecretCreateRequest {
- string accessKey = 1;
- string secretKey = 2;
- AuthToken authzToken = 3;
-}
-
-message S3SecretUpdateRequest {
- string secretId = 1;
- string accessKey = 2;
- string secretKey = 3;
- AuthToken authzToken = 4;
-}
-
-message S3SecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-// Azure
-
-message AzureSecret {
- string secretId = 1;
- string connectionString = 2;
-}
-
-message AzureSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message AzureSecretCreateRequest {
- string connectionString = 1;
- AuthToken authzToken = 2;
-}
-
-message AzureSecretUpdateRequest {
- string secretId = 1;
- string connectionString = 2;
- AuthToken authzToken = 3;
-}
-
-message AzureSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-// GCS
-
-message GCSSecret {
- string secretId = 1;
- string credentialsJson = 2;
-}
-
-message GCSSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message GCSSecretCreateRequest {
- string credentialsJson = 1;
- AuthToken authzToken = 2;
-}
-
-message GCSSecretUpdateRequest {
- string secretId = 1;
- string credentialsJson = 2;
- AuthToken authzToken = 3;
-}
-
-message GCSSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-// Box
-
-message BoxSecret {
- string secretId = 1;
- string accessToken = 2;
-}
-
-message BoxSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message BoxSecretCreateRequest {
- string accessToken = 1;
- AuthToken authzToken = 2;
-}
-
-message BoxSecretUpdateRequest {
- string secretId = 1;
- string accessToken = 2;
- AuthToken authzToken = 3;
-}
-
-message BoxSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-// DropBox
-
-message DropboxSecret {
- string secretId = 1;
- string accessToken = 2;
-}
-
-message DropboxSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message DropboxSecretCreateRequest {
- string accessToken = 1;
- AuthToken authzToken = 2;
-}
-
-message DropboxSecretUpdateRequest {
- string secretId = 1;
- string accessToken = 2;
- AuthToken authzToken = 3;
-}
-
-message DropboxSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-// FTP
-message FTPSecret {
- string secretId = 1;
- string userId = 2;
- string password = 3;
-}
-
-message FTPSecretGetRequest {
- string secretId = 1;
- AuthToken authzToken = 2;
-}
-
-message FTPSecretCreateRequest {
- string userId = 1;
- string password = 2;
- AuthToken authzToken = 3;
-}
-
-message FTPSecretUpdateRequest {
- string secretId = 1;
- string userId = 2;
- string password = 3;
- AuthToken authzToken = 4;
-}
-
-message FTPSecretDeleteRequest {
- string secretId = 1;
- AuthToken authzToken = 4;
-}
-
-service SecretService {
- rpc getSCPSecret (SCPSecretGetRequest) returns (SCPSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/scp"
- };
- }
-
- rpc createSCPSecret (SCPSecretCreateRequest) returns (SCPSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/scp"
- };
- }
-
- rpc updateSCPSecret (SCPSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/scp"
- };
- }
-
- rpc deleteSCPSecret (SCPSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/scp"
- };
- }
-
- rpc getS3Secret (S3SecretGetRequest) returns (S3Secret) {
- option (google.api.http) = {
- get: "/v1.0/secret/s3"
- };
- }
-
- rpc createS3Secret (S3SecretCreateRequest) returns (S3Secret) {
- option (google.api.http) = {
- post: "/v1.0/secret/s3"
- };
- }
-
- rpc updateS3Secret (S3SecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/s3"
- };
- }
-
- rpc deleteS3Secret (S3SecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/s3"
- };
- }
-
- rpc getBoxSecret (BoxSecretGetRequest) returns (BoxSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/box"
- };
- }
-
- rpc createBoxSecret (BoxSecretCreateRequest) returns (BoxSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/box"
- };
- }
-
- rpc updateBoxSecret (BoxSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/box"
- };
- }
-
- rpc deleteBoxSecret (BoxSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/box"
- };
- }
-
- // Azure
-
- rpc getAzureSecret (AzureSecretGetRequest) returns (AzureSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/azure"
- };
- }
-
- rpc createAzureSecret (AzureSecretCreateRequest) returns (AzureSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/azure"
- };
- }
-
- rpc updateAzureSecret (AzureSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/azure"
- };
- }
-
- rpc deleteAzureSecret (AzureSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/azure"
- };
- }
-
- // GCS
-
- rpc getGCSSecret (GCSSecretGetRequest) returns (GCSSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/gcs"
- };
- }
-
- rpc createGCSSecret (GCSSecretCreateRequest) returns (GCSSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/gcs"
- };
- }
-
- rpc updateGCSSecret (GCSSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/gcs"
- };
- }
-
- rpc deleteGCSSecret (GCSSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/gcs"
- };
- }
-
- // Dropbox
-
- rpc getDropboxSecret (DropboxSecretGetRequest) returns (DropboxSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/dropbox"
- };
- }
-
- rpc createDropboxSecret (DropboxSecretCreateRequest) returns (DropboxSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/dropbox"
- };
- }
-
- rpc updateDropboxSecret (DropboxSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/dropbox"
- };
- }
-
- rpc deleteDropboxSecret (DropboxSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/dropbox"
- };
- }
-
- // FTP
-
- rpc getFTPSecret (FTPSecretGetRequest) returns (FTPSecret) {
- option (google.api.http) = {
- get: "/v1.0/secret/ftp"
- };
- }
-
- rpc createFTPSecret (FTPSecretCreateRequest) returns (FTPSecret) {
- option (google.api.http) = {
- post: "/v1.0/secret/ftp"
- };
- }
-
- rpc updateFTPSecret (FTPSecretUpdateRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- put: "/v1.0/secret/ftp"
- };
- }
-
- rpc deleteFTPSecret (FTPSecretDeleteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1.0/secret/ftp"
- };
- }
-
-}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto b/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto
new file mode 100644
index 0000000..acce240
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto
@@ -0,0 +1,49 @@
+/*
+ * 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.mft.credential.stubs.azure;
+
+import "common/CredCommon.proto";
+
+message AzureSecret {
+ string secretId = 1;
+ string connectionString = 2;
+}
+
+message AzureSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message AzureSecretCreateRequest {
+ string connectionString = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message AzureSecretUpdateRequest {
+ string secretId = 1;
+ string connectionString = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message AzureSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
diff --git a/services/secret-service/stub/src/main/proto/azure/AzureService.proto b/services/secret-service/stub/src/main/proto/azure/AzureService.proto
new file mode 100644
index 0000000..9097936
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/azure/AzureService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.azure;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "azure/AzureCredential.proto";
+
+service AzureSecretService {
+ rpc getAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.azure.AzureSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/azure"
+ };
+ }
+
+ rpc createAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.azure.AzureSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/azure"
+ };
+ }
+
+ rpc updateAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/azure"
+ };
+ }
+
+ rpc deleteAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/azure"
+ };
+ }
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/box/BoxCredential.proto b/services/secret-service/stub/src/main/proto/box/BoxCredential.proto
new file mode 100644
index 0000000..f00837a
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/box/BoxCredential.proto
@@ -0,0 +1,49 @@
+/*
+ * 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.mft.credential.stubs.box;
+
+import "common/CredCommon.proto";
+
+message BoxSecret {
+ string secretId = 1;
+ string accessToken = 2;
+}
+
+message BoxSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message BoxSecretCreateRequest {
+ string accessToken = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message BoxSecretUpdateRequest {
+ string secretId = 1;
+ string accessToken = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message BoxSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
diff --git a/services/secret-service/stub/src/main/proto/box/BoxService.proto b/services/secret-service/stub/src/main/proto/box/BoxService.proto
new file mode 100644
index 0000000..94fb54d
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/box/BoxService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.box;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "box/BoxCredential.proto";
+
+service BoxSecretService {
+ rpc getBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.box.BoxSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/box"
+ };
+ }
+
+ rpc createBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.box.BoxSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/box"
+ };
+ }
+
+ rpc updateBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/box"
+ };
+ }
+
+ rpc deleteBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/box"
+ };
+ }
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/common/CredCommon.proto b/services/secret-service/stub/src/main/proto/common/CredCommon.proto
new file mode 100644
index 0000000..bb6ede9
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/common/CredCommon.proto
@@ -0,0 +1,25 @@
+/*
+ * 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.mft.credential.stubs.common;
+
+message AuthToken {
+ string token = 1;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/dropbox/DropboxCredential.proto b/services/secret-service/stub/src/main/proto/dropbox/DropboxCredential.proto
new file mode 100644
index 0000000..77a62b6
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/dropbox/DropboxCredential.proto
@@ -0,0 +1,49 @@
+/*
+ * 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.mft.credential.stubs.dropbox;
+
+import "common/CredCommon.proto";
+
+message DropboxSecret {
+ string secretId = 1;
+ string accessToken = 2;
+}
+
+message DropboxSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message DropboxSecretCreateRequest {
+ string accessToken = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message DropboxSecretUpdateRequest {
+ string secretId = 1;
+ string accessToken = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message DropboxSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/dropbox/DropboxService.proto b/services/secret-service/stub/src/main/proto/dropbox/DropboxService.proto
new file mode 100644
index 0000000..c1abeae
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/dropbox/DropboxService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.dropbox;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "dropbox/DropboxCredential.proto";
+
+service DropboxSecretService {
+ rpc getDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/dropbox"
+ };
+ }
+
+ rpc createDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/dropbox"
+ };
+ }
+
+ rpc updateDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/dropbox"
+ };
+ }
+
+ rpc deleteDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/dropbox"
+ };
+ }
+}
diff --git a/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto b/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto
new file mode 100644
index 0000000..ce8f06f
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto
@@ -0,0 +1,52 @@
+/*
+ * 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.mft.credential.stubs.ftp;
+
+import "common/CredCommon.proto";
+
+message FTPSecret {
+ string secretId = 1;
+ string userId = 2;
+ string password = 3;
+}
+
+message FTPSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message FTPSecretCreateRequest {
+ string userId = 1;
+ string password = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message FTPSecretUpdateRequest {
+ string secretId = 1;
+ string userId = 2;
+ string password = 3;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 4;
+}
+
+message FTPSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 4;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/ftp/FTPService.proto b/services/secret-service/stub/src/main/proto/ftp/FTPService.proto
new file mode 100644
index 0000000..9c12b77
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/ftp/FTPService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.ftp;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "ftp/FTPCredential.proto";
+
+service FTPSecretService {
+ rpc getFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.ftp.FTPSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/ftp"
+ };
+ }
+
+ rpc createFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.ftp.FTPSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/ftp"
+ };
+ }
+
+ rpc updateFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/ftp"
+ };
+ }
+
+ rpc deleteFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/ftp"
+ };
+ }
+}
diff --git a/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto b/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto
new file mode 100644
index 0000000..c4f3dcb
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto
@@ -0,0 +1,49 @@
+/*
+ * 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.mft.credential.stubs.gcs;
+
+import "common/CredCommon.proto";
+
+message GCSSecret {
+ string secretId = 1;
+ string credentialsJson = 2;
+}
+
+message GCSSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message GCSSecretCreateRequest {
+ string credentialsJson = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message GCSSecretUpdateRequest {
+ string secretId = 1;
+ string credentialsJson = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message GCSSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/gcs/GCSService.proto b/services/secret-service/stub/src/main/proto/gcs/GCSService.proto
new file mode 100644
index 0000000..b48f3e4
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/gcs/GCSService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.gcs;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "gcs/GCSCredential.proto";
+
+service GCSSecretService {
+ rpc getGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.gcs.GCSSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/gcs"
+ };
+ }
+
+ rpc createGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.gcs.GCSSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/gcs"
+ };
+ }
+
+ rpc updateGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/gcs"
+ };
+ }
+
+ rpc deleteGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/gcs"
+ };
+ }
+}
diff --git a/services/secret-service/stub/src/main/proto/s3/S3Credential.proto b/services/secret-service/stub/src/main/proto/s3/S3Credential.proto
new file mode 100644
index 0000000..ec384a5
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/s3/S3Credential.proto
@@ -0,0 +1,52 @@
+/*
+ * 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.mft.credential.stubs.s3;
+
+import "common/CredCommon.proto";
+
+message S3Secret {
+ string secretId = 1;
+ string accessKey = 2;
+ string secretKey = 3;
+}
+
+message S3SecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message S3SecretCreateRequest {
+ string accessKey = 1;
+ string secretKey = 2;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 3;
+}
+
+message S3SecretUpdateRequest {
+ string secretId = 1;
+ string accessKey = 2;
+ string secretKey = 3;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 4;
+}
+
+message S3SecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/s3/S3Service.proto b/services/secret-service/stub/src/main/proto/s3/S3Service.proto
new file mode 100644
index 0000000..ed5517a
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/s3/S3Service.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.s3;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "s3/S3Credential.proto";
+
+service S3SecretService {
+ rpc getS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.s3.S3Secret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/s3"
+ };
+ }
+
+ rpc createS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.s3.S3Secret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/s3"
+ };
+ }
+
+ rpc updateS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/s3"
+ };
+ }
+
+ rpc deleteS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/s3"
+ };
+ }
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/scp/SCPCredential.proto b/services/secret-service/stub/src/main/proto/scp/SCPCredential.proto
new file mode 100644
index 0000000..c638957
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/scp/SCPCredential.proto
@@ -0,0 +1,56 @@
+/*
+ * 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.mft.credential.stubs.scp;
+
+import "common/CredCommon.proto";
+
+message SCPSecret {
+ string secretId = 1;
+ string privateKey = 2;
+ string publicKey = 3;
+ string passphrase = 4;
+}
+
+message SCPSecretGetRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
+message SCPSecretCreateRequest {
+ string privateKey = 1;
+ string publicKey = 2;
+ string passphrase = 3;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 5;
+}
+
+message SCPSecretUpdateRequest {
+ string secretId = 1;
+ string privateKey = 2;
+ string publicKey = 3;
+ string passphrase = 4;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 6;
+}
+
+message SCPSecretDeleteRequest {
+ string secretId = 1;
+ org.apache.airavata.mft.credential.stubs.common.AuthToken authzToken = 2;
+}
+
diff --git a/services/secret-service/stub/src/main/proto/scp/SCPService.proto b/services/secret-service/stub/src/main/proto/scp/SCPService.proto
new file mode 100644
index 0000000..b0f0d35
--- /dev/null
+++ b/services/secret-service/stub/src/main/proto/scp/SCPService.proto
@@ -0,0 +1,53 @@
+/*
+ * 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.mft.credential.service.scp;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+import "scp/SCPCredential.proto";
+
+service SCPSecretService {
+ rpc getSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest) returns
+ (org.apache.airavata.mft.credential.stubs.scp.SCPSecret) {
+ option (google.api.http) = {
+ get: "/v1.0/secret/scp"
+ };
+ }
+
+ rpc createSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretCreateRequest) returns
+ (org.apache.airavata.mft.credential.stubs.scp.SCPSecret) {
+ option (google.api.http) = {
+ post: "/v1.0/secret/scp"
+ };
+ }
+
+ rpc updateSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/secret/scp"
+ };
+ }
+
+ rpc deleteSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/secret/scp"
+ };
+ }
+}
\ No newline at end of file
diff --git a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureMetadataCollector.java b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureMetadataCollector.java
index 16e081e..0d1c321 100644
--- a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureMetadataCollector.java
+++ b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureMetadataCollector.java
@@ -24,14 +24,14 @@
import com.azure.storage.blob.models.BlobProperties;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecret;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResource;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.AzureSecret;
-import org.apache.airavata.mft.secret.service.AzureSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
public class AzureMetadataCollector implements MetadataCollector {
@@ -67,8 +67,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
AzureResource azureResource = resourceClient.azure().getAzureResource(AzureResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- AzureSecret azureSecret = secretClient.getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ AzureSecret azureSecret = secretClient.azure().getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(azureSecret.getConnectionString()).buildClient();
@@ -98,8 +98,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
AzureResource azureResource = resourceClient.azure().getAzureResource(AzureResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- AzureSecret azureSecret = secretClient.getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ AzureSecret azureSecret = secretClient.azure().getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(azureSecret.getConnectionString()).buildClient();
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(azureResource.getContainer());
diff --git a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureReceiver.java b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureReceiver.java
index 8b246a2..6d5a51e 100644
--- a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureReceiver.java
+++ b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureReceiver.java
@@ -24,14 +24,14 @@
import com.azure.storage.blob.specialized.BlobInputStream;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecret;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResource;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.AzureSecret;
-import org.apache.airavata.mft.secret.service.AzureSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,8 +52,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.azureResource = resourceClient.azure().getAzureResource(AzureResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- AzureSecret azureSecret = secretClient.getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ AzureSecret azureSecret = secretClient.azure().getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(azureSecret.getConnectionString()).buildClient();
this.containerClient = blobServiceClient.getBlobContainerClient(azureResource.getContainer());
diff --git a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureSender.java b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureSender.java
index 245d53e..a2d05dc 100644
--- a/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureSender.java
+++ b/transport/azure-transport/src/main/java/org/apache/airavata/mft/transport/azure/AzureSender.java
@@ -23,12 +23,14 @@
import com.azure.storage.blob.specialized.BlockBlobClient;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecret;
+import org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResource;
import org.apache.airavata.mft.resource.stubs.azure.resource.AzureResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.*;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,8 +49,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.azureResource = resourceClient.azure().getAzureResource(AzureResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- AzureSecret azureSecret = secretClient.getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ AzureSecret azureSecret = secretClient.azure().getAzureSecret(AzureSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(azureSecret.getConnectionString()).buildClient();
this.containerClient = blobServiceClient.getBlobContainerClient(azureResource.getContainer());
diff --git a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxMetadataCollector.java b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxMetadataCollector.java
index 6427d2a..06a0c16 100644
--- a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxMetadataCollector.java
+++ b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxMetadataCollector.java
@@ -22,15 +22,14 @@
import com.box.sdk.BoxFile;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecret;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResource;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.BoxSecret;
-import org.apache.airavata.mft.secret.service.BoxSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
-
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
public class BoxMetadataCollector implements MetadataCollector {
@@ -63,8 +62,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
BoxResource boxResource = resourceClient.box().getBoxResource(BoxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- BoxSecret boxSecret = secretClient.getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ BoxSecret boxSecret = secretClient.box().getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BoxAPIConnection api = new BoxAPIConnection(boxSecret.getAccessToken());
BoxFile boxFile = new BoxFile(api, boxResource.getBoxFileId());
@@ -90,8 +89,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
BoxResource boxResource = resourceClient.box().getBoxResource(BoxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- BoxSecret boxSecret = secretClient.getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ BoxSecret boxSecret = secretClient.box().getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BoxAPIConnection api = new BoxAPIConnection(boxSecret.getAccessToken());
BoxFile boxFile = new BoxFile(api, boxResource.getBoxFileId());
diff --git a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxReceiver.java b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxReceiver.java
index 7774392..20af8f7 100644
--- a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxReceiver.java
+++ b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxReceiver.java
@@ -22,14 +22,14 @@
import com.box.sdk.BoxFile;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecret;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResource;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.BoxSecret;
-import org.apache.airavata.mft.secret.service.BoxSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,8 +51,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
boxResource = resourceClient.box().getBoxResource(BoxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- boxSecret = secretClient.getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ boxSecret = secretClient.box().getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
boxClient = new BoxAPIConnection(boxSecret.getAccessToken());
}
diff --git a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxSender.java b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxSender.java
index fd2ac27..528bfc1 100644
--- a/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxSender.java
+++ b/transport/box-transport/src/main/java/org/apache/airavata/mft/transport/box/BoxSender.java
@@ -22,14 +22,14 @@
import com.box.sdk.BoxFile;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecret;
+import org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResource;
import org.apache.airavata.mft.resource.stubs.box.resource.BoxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.BoxSecret;
-import org.apache.airavata.mft.secret.service.BoxSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,8 +47,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
boxResource = resourceClient.box().getBoxResource(BoxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- boxSecret = secretClient.getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ boxSecret = secretClient.box().getBoxSecret(BoxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
boxClient = new BoxAPIConnection(boxSecret.getAccessToken());
}
diff --git a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxMetadataCollector.java b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxMetadataCollector.java
index 42a22db..5618337 100644
--- a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxMetadataCollector.java
+++ b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxMetadataCollector.java
@@ -22,15 +22,14 @@
import com.dropbox.core.v2.files.FileMetadata;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
-import org.apache.airavata.mft.resource.service.box.BoxResourceServiceGrpc;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResource;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.DropboxSecret;
-import org.apache.airavata.mft.secret.service.DropboxSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
public class DropboxMetadataCollector implements MetadataCollector {
@@ -62,8 +61,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
DropboxResource dropboxResource = resourceClient.dropbox().getDropboxResource(DropboxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- DropboxSecret dropboxSecret = secretClient.getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ DropboxSecret dropboxSecret = secretClient.dropbox().getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
DbxRequestConfig config = DbxRequestConfig.newBuilder("mftdropbox/v1").build();
DbxClientV2 dbxClientV2 = new DbxClientV2(config, dropboxSecret.getAccessToken());
@@ -83,8 +82,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
DropboxResource dropboxResource = resourceClient.dropbox().getDropboxResource(DropboxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- DropboxSecret dropboxSecret = secretClient.getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ DropboxSecret dropboxSecret = secretClient.dropbox().getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
DbxRequestConfig config = DbxRequestConfig.newBuilder("mftdropbox/v1").build();
DbxClientV2 dbxClientV2 = new DbxClientV2(config, dropboxSecret.getAccessToken());
diff --git a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxReceiver.java b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxReceiver.java
index 4cb084a..d047393 100644
--- a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxReceiver.java
+++ b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxReceiver.java
@@ -21,12 +21,14 @@
import com.dropbox.core.v2.DbxClientV2;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResource;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.*;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,8 +47,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.dropboxResource = resourceClient.dropbox().getDropboxResource(DropboxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- DropboxSecret dropboxSecret = secretClient.getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ DropboxSecret dropboxSecret = secretClient.dropbox().getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
DbxRequestConfig config = DbxRequestConfig.newBuilder("mftdropbox/v1").build();
dbxClientV2 = new DbxClientV2(config, dropboxSecret.getAccessToken());
diff --git a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxSender.java b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxSender.java
index 15c957b..b0d16a7 100644
--- a/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxSender.java
+++ b/transport/dropbox-transport/src/main/java/org/apache/airavata/mft/transport/dropbox/DropboxSender.java
@@ -23,12 +23,14 @@
import com.dropbox.core.v2.files.WriteMode;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret;
+import org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResource;
import org.apache.airavata.mft.resource.stubs.dropbox.resource.DropboxResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.*;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,8 +47,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.dropboxResource = resourceClient.dropbox().getDropboxResource(DropboxResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- DropboxSecret dropboxSecret = secretClient.getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ DropboxSecret dropboxSecret = secretClient.dropbox().getDropboxSecret(DropboxSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
DbxRequestConfig config = DbxRequestConfig.newBuilder("mftdropbox/v1").build();
dbxClientV2 = new DbxClientV2(config, dropboxSecret.getAccessToken());
diff --git a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPMetadataCollector.java b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPMetadataCollector.java
index 9472dcc..1f3ba45 100644
--- a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPMetadataCollector.java
+++ b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPMetadataCollector.java
@@ -19,14 +19,14 @@
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecret;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResource;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.FTPSecret;
-import org.apache.airavata.mft.secret.service.FTPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
@@ -66,8 +66,8 @@
checkInitialized();
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
FTPResource ftpResource = resourceClient.ftp().getFTPResource(FTPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- FTPSecret ftpSecret = secretClient.getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ FTPSecret ftpSecret = secretClient.ftp().getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
ResourceMetadata resourceMetadata = new ResourceMetadata();
FTPClient ftpClient = null;
@@ -103,8 +103,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
FTPResource ftpResource = resourceClient.ftp().getFTPResource(FTPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- FTPSecret ftpSecret = secretClient.getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ FTPSecret ftpSecret = secretClient.ftp().getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
FTPClient ftpClient = null;
try {
diff --git a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPReceiver.java b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPReceiver.java
index 8753029..6ced168 100644
--- a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPReceiver.java
+++ b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPReceiver.java
@@ -19,14 +19,14 @@
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecret;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResource;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.FTPSecret;
-import org.apache.airavata.mft.secret.service.FTPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,8 +49,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.resource = resourceClient.ftp().getFTPResource(FTPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- FTPSecret ftpSecret = secretClient.getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ FTPSecret ftpSecret = secretClient.ftp().getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
this.ftpClient = FTPTransportUtil.getFTPClient(this.resource, ftpSecret);
}
diff --git a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPSender.java b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPSender.java
index 44f30f9..d9dbf06 100644
--- a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPSender.java
+++ b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPSender.java
@@ -19,14 +19,14 @@
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecret;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResource;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.FTPSecret;
-import org.apache.airavata.mft.secret.service.FTPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,8 +49,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.resource = resourceClient.ftp().getFTPResource(FTPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- FTPSecret ftpSecret = secretClient.getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ FTPSecret ftpSecret = secretClient.ftp().getFTPSecret(FTPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
this.ftpClient = FTPTransportUtil.getFTPClient(this.resource, ftpSecret);
}
diff --git a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPTransportUtil.java b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPTransportUtil.java
index 2cc8493..7a1e3c8 100644
--- a/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPTransportUtil.java
+++ b/transport/ftp-transport/src/main/java/org/apache/airavata/mft/transport/ftp/FTPTransportUtil.java
@@ -17,8 +17,8 @@
package org.apache.airavata.mft.transport.ftp;
+import org.apache.airavata.mft.credential.stubs.ftp.FTPSecret;
import org.apache.airavata.mft.resource.stubs.ftp.resource.FTPResource;
-import org.apache.airavata.mft.secret.service.FTPSecret;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSMetadataCollector.java b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSMetadataCollector.java
index c5220ae..d8d0a6b 100644
--- a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSMetadataCollector.java
+++ b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSMetadataCollector.java
@@ -27,14 +27,14 @@
import com.google.api.services.storage.model.StorageObject;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecret;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResource;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.GCSSecret;
-import org.apache.airavata.mft.secret.service.GCSSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import java.io.ByteArrayInputStream;
import java.math.BigInteger;
@@ -71,8 +71,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
GCSResource gcsResource = resourceClient.gcs().getGCSResource(GCSResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- GCSSecret gcsSecret = secretClient.getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ GCSSecret gcsSecret = secretClient.gcs().getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
@@ -101,8 +101,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
GCSResource gcsResource = resourceClient.gcs().getGCSResource(GCSResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- GCSSecret gcsSecret = secretClient.getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ GCSSecret gcsSecret = secretClient.gcs().getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
diff --git a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSReceiver.java b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSReceiver.java
index f229d11..4261e40 100644
--- a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSReceiver.java
+++ b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSReceiver.java
@@ -26,14 +26,14 @@
import com.google.api.services.storage.StorageScopes;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecret;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResource;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.GCSSecret;
-import org.apache.airavata.mft.secret.service.GCSSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,8 +56,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.gcsResource = resourceClient.gcs().getGCSResource(GCSResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- GCSSecret gcsSecret = secretClient.getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ GCSSecret gcsSecret = secretClient.gcs().getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
String jsonString = gcsSecret.getCredentialsJson();
diff --git a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSSender.java b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSSender.java
index bc2a9f6..79768de 100644
--- a/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSSender.java
+++ b/transport/gcp-transport/src/main/java/org/apache/airavata/mft/transport/gcp/GCSSender.java
@@ -32,14 +32,14 @@
import com.google.gson.JsonParser;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecret;
+import org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResource;
import org.apache.airavata.mft.resource.stubs.gcs.resource.GCSResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.GCSSecret;
-import org.apache.airavata.mft.secret.service.GCSSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,8 +63,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.gcsResource = resourceClient.gcs().getGCSResource(GCSResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- GCSSecret gcsSecret = secretClient.getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ GCSSecret gcsSecret = secretClient.gcs().getGCSSecret(GCSSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
diff --git a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
index 12d5af8..6203306 100644
--- a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
+++ b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
@@ -24,14 +24,14 @@
import com.amazonaws.services.s3.model.ObjectMetadata;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.s3.S3Secret;
+import org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3Resource;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3ResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.S3Secret;
-import org.apache.airavata.mft.secret.service.S3SecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
public class S3MetadataCollector implements MetadataCollector {
@@ -63,8 +63,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
S3Resource s3Resource = resourceClient.s3().getS3Resource(S3ResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- S3Secret s3Secret = secretClient.getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ S3Secret s3Secret = secretClient.s3().getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
@@ -89,8 +89,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
S3Resource s3Resource = resourceClient.s3().getS3Resource(S3ResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- S3Secret s3Secret = secretClient.getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ S3Secret s3Secret = secretClient.s3().getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
diff --git a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Receiver.java b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Receiver.java
index a36f3c5..0ac7191 100644
--- a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Receiver.java
+++ b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Receiver.java
@@ -25,14 +25,14 @@
import com.amazonaws.services.s3.model.S3ObjectInputStream;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.s3.S3Secret;
+import org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3Resource;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3ResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.S3Secret;
-import org.apache.airavata.mft.secret.service.S3SecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,8 +52,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.s3Resource = resourceClient.s3().getS3Resource(S3ResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- S3Secret s3Secret = secretClient.getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ S3Secret s3Secret = secretClient.s3().getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
s3Client = AmazonS3ClientBuilder.standard()
diff --git a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Sender.java b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Sender.java
index 5291d00..70b32e4 100644
--- a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Sender.java
+++ b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3Sender.java
@@ -24,14 +24,14 @@
import com.amazonaws.services.s3.model.ObjectMetadata;
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.s3.S3Secret;
+import org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3Resource;
import org.apache.airavata.mft.resource.stubs.s3.resource.S3ResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.S3Secret;
-import org.apache.airavata.mft.secret.service.S3SecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,8 +48,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.s3Resource = resourceClient.s3().getS3Resource(S3ResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- S3Secret s3Secret = secretClient.getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ S3Secret s3Secret = secretClient.s3().getS3Secret(S3SecretGetRequest.newBuilder().setSecretId(credentialToken).build());
BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
s3Client = AmazonS3ClientBuilder.standard()
diff --git a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPMetadataCollector.java b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPMetadataCollector.java
index 27f63b6..e167ed6 100644
--- a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPMetadataCollector.java
+++ b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPMetadataCollector.java
@@ -29,14 +29,14 @@
import net.schmizz.sshj.userauth.password.Resource;
import org.apache.airavata.mft.core.ResourceMetadata;
import org.apache.airavata.mft.core.api.MetadataCollector;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecret;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResource;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.SCPSecret;
-import org.apache.airavata.mft.secret.service.SCPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,8 +77,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
SCPResource scpResource = resourceClient.scp().getSCPResource(SCPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- SCPSecret scpSecret = secretClient.getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ SCPSecret scpSecret = secretClient.scp().getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
try (SSHClient sshClient = getSSHClient(scpResource, scpSecret)) {
@@ -125,8 +125,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
SCPResource scpResource = resourceClient.scp().getSCPResource(SCPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- SCPSecret scpSecret = secretClient.getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ SCPSecret scpSecret = secretClient.scp().getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
try (SSHClient sshClient = getSSHClient(scpResource, scpSecret)) {
logger.info("Checking the availability of file {}", scpResource.getResourcePath());
diff --git a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPReceiver.java b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPReceiver.java
index e0dabc8..e867a99 100644
--- a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPReceiver.java
+++ b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPReceiver.java
@@ -22,14 +22,14 @@
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.DoubleStreamingBuffer;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecret;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResource;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.SCPSecret;
-import org.apache.airavata.mft.secret.service.SCPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,8 +52,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.scpResource = resourceClient.scp().getSCPResource(SCPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- SCPSecret scpSecret = secretClient.getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ SCPSecret scpSecret = secretClient.scp().getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
this.session = SCPTransportUtil.createSession(
scpResource.getScpStorage().getUser(),
diff --git a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPSender.java b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPSender.java
index 4eb55e7..27fcf89 100644
--- a/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPSender.java
+++ b/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPSender.java
@@ -23,14 +23,14 @@
import org.apache.airavata.mft.core.ConnectorContext;
import org.apache.airavata.mft.core.DoubleStreamingBuffer;
import org.apache.airavata.mft.core.api.Connector;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecret;
+import org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest;
import org.apache.airavata.mft.resource.client.ResourceServiceClient;
import org.apache.airavata.mft.resource.client.ResourceServiceClientBuilder;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResource;
import org.apache.airavata.mft.resource.stubs.scp.resource.SCPResourceGetRequest;
import org.apache.airavata.mft.secret.client.SecretServiceClient;
-import org.apache.airavata.mft.secret.service.SCPSecret;
-import org.apache.airavata.mft.secret.service.SCPSecretGetRequest;
-import org.apache.airavata.mft.secret.service.SecretServiceGrpc;
+import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,8 +53,8 @@
ResourceServiceClient resourceClient = ResourceServiceClientBuilder.buildClient(resourceServiceHost, resourceServicePort);
this.scpResource = resourceClient.scp().getSCPResource(SCPResourceGetRequest.newBuilder().setResourceId(resourceId).build());
- SecretServiceGrpc.SecretServiceBlockingStub secretClient = SecretServiceClient.buildClient(secretServiceHost, secretServicePort);
- SCPSecret scpSecret = secretClient.getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
+ SecretServiceClient secretClient = SecretServiceClientBuilder.buildClient(secretServiceHost, secretServicePort);
+ SCPSecret scpSecret = secretClient.scp().getSCPSecret(SCPSecretGetRequest.newBuilder().setSecretId(credentialToken).build());
logger.info("Creating a ssh session for {}@{}:{}",
scpResource.getScpStorage().getUser(), scpResource.getScpStorage().getHost(),