You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2022/04/11 03:14:05 UTC

[airavata-mft] branch master updated: Removing google dependencies from the protobuf stubs

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git


The following commit(s) were added to refs/heads/master by this push:
     new 8e3b03a  Removing google dependencies from the protobuf stubs
8e3b03a is described below

commit 8e3b03a95aad6db0dabbacab286fc6fee4d10608
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Sun Apr 10 23:13:58 2022 -0400

    Removing google dependencies from the protobuf stubs
---
 api/stub/src/main/proto/MFTTransferApi.proto       |  46 +--
 .../src/airavata_mft_sdk/MFTTransferApi_pb2.py     |  86 ++---
 .../airavata_mft_sdk/azure/AzureCredential_pb2.py  |  26 +-
 .../azure/AzureSecretService_pb2.py                |  16 +-
 .../azure/AzureSecretService_pb2_grpc.py           |  13 +-
 .../azure/AzureStorageService_pb2.py               |  18 +-
 .../azure/AzureStorageService_pb2_grpc.py          |  13 +-
 .../src/airavata_mft_sdk/azure/AzureStorage_pb2.py |  26 +-
 .../src/airavata_mft_sdk/box/BoxCredential_pb2.py  |  26 +-
 .../airavata_mft_sdk/box/BoxSecretService_pb2.py   |  16 +-
 .../box/BoxSecretService_pb2_grpc.py               |  13 +-
 .../airavata_mft_sdk/box/BoxStorageService_pb2.py  |  18 +-
 .../box/BoxStorageService_pb2_grpc.py              |  13 +-
 .../src/airavata_mft_sdk/box/BoxStorage_pb2.py     |  26 +-
 .../dropbox/DropboxCredential_pb2.py               |  26 +-
 .../dropbox/DropboxSecretService_pb2.py            |  16 +-
 .../dropbox/DropboxSecretService_pb2_grpc.py       |  13 +-
 .../dropbox/DropboxStorageService_pb2.py           |  18 +-
 .../dropbox/DropboxStorageService_pb2_grpc.py      |  13 +-
 .../airavata_mft_sdk/dropbox/DropboxStorage_pb2.py |  26 +-
 .../src/airavata_mft_sdk/ftp/FTPCredential_pb2.py  |  26 +-
 .../airavata_mft_sdk/ftp/FTPSecretService_pb2.py   |  16 +-
 .../ftp/FTPSecretService_pb2_grpc.py               |  13 +-
 .../airavata_mft_sdk/ftp/FTPStorageService_pb2.py  |  18 +-
 .../ftp/FTPStorageService_pb2_grpc.py              |  13 +-
 .../src/airavata_mft_sdk/ftp/FTPStorage_pb2.py     |  26 +-
 .../src/airavata_mft_sdk/gcs/GCSCredential_pb2.py  |  26 +-
 .../airavata_mft_sdk/gcs/GCSSecretService_pb2.py   |  16 +-
 .../gcs/GCSSecretService_pb2_grpc.py               |  13 +-
 .../airavata_mft_sdk/gcs/GCSStorageService_pb2.py  |  18 +-
 .../gcs/GCSStorageService_pb2_grpc.py              |  13 +-
 .../src/airavata_mft_sdk/gcs/GCSStorage_pb2.py     |  26 +-
 python-sdk/src/airavata_mft_sdk/google/__init__.py |   0
 .../src/airavata_mft_sdk/google/api/__init__.py    |   0
 .../airavata_mft_sdk/google/api/annotations.proto  |  31 --
 .../airavata_mft_sdk/google/api/annotations_pb2.py |  46 ---
 .../src/airavata_mft_sdk/google/api/http.proto     | 375 ---------------------
 .../src/airavata_mft_sdk/google/api/http_pb2.py    | 236 -------------
 .../airavata_mft_sdk/google/protobuf/__init__.py   |   0
 .../airavata_mft_sdk/google/protobuf/empty.proto   |  51 ---
 .../airavata_mft_sdk/google/protobuf/empty_pb2.py  |  35 --
 .../local/LocalStorageService_pb2.py               |  18 +-
 .../local/LocalStorageService_pb2_grpc.py          |  13 +-
 .../src/airavata_mft_sdk/local/LocalStorage_pb2.py |  26 +-
 .../resource/ResourceService_pb2.py                |  68 ++--
 .../resource/ResourceService_pb2_grpc.py           |  13 +-
 .../resourcesecretmap/StorageSecretMap_pb2.py      |  70 ++--
 .../resourcesecretmap/StorageSecretMap_pb2_grpc.py |  13 +-
 .../src/airavata_mft_sdk/s3/S3Credential_pb2.py    |  26 +-
 .../src/airavata_mft_sdk/s3/S3SecretService_pb2.py |  16 +-
 .../s3/S3SecretService_pb2_grpc.py                 |  13 +-
 .../airavata_mft_sdk/s3/S3StorageService_pb2.py    |  18 +-
 .../s3/S3StorageService_pb2_grpc.py                |  13 +-
 .../src/airavata_mft_sdk/s3/S3Storage_pb2.py       |  26 +-
 .../src/airavata_mft_sdk/scp/SCPCredential_pb2.py  |  26 +-
 .../airavata_mft_sdk/scp/SCPSecretService_pb2.py   |  16 +-
 .../scp/SCPSecretService_pb2_grpc.py               |  13 +-
 .../airavata_mft_sdk/scp/SCPStorageService_pb2.py  |  18 +-
 .../scp/SCPStorageService_pb2_grpc.py              |  13 +-
 .../src/airavata_mft_sdk/scp/SCPStorage_pb2.py     |  26 +-
 .../server/handler/AzureServiceHandler.java        |   6 +-
 .../resource/server/handler/BoxServiceHandler.java |   6 +-
 .../server/handler/DropboxServiceHandler.java      |   6 +-
 .../resource/server/handler/FTPServiceHandler.java |   6 +-
 .../resource/server/handler/GCSServiceHandler.java |   6 +-
 .../handler/GenericResourceServiceHandler.java     |   6 +-
 .../server/handler/LocalServiceHandler.java        |   6 +-
 .../resource/server/handler/S3ServiceHandler.java  |   6 +-
 .../resource/server/handler/SCPServiceHandler.java |   6 +-
 .../server/handler/StorageSecretHandler.java       |   6 +-
 .../stub/src/main/proto/azure/AzureStorage.proto   |   8 +
 .../src/main/proto/azure/AzureStorageService.proto |  40 +--
 .../stub/src/main/proto/box/BoxStorage.proto       |   8 +
 .../src/main/proto/box/BoxStorageService.proto     |  39 +--
 .../src/main/proto/dropbox/DropboxStorage.proto    |   7 +
 .../main/proto/dropbox/DropboxStorageService.proto |  39 +--
 .../stub/src/main/proto/ftp/FTPStorage.proto       |   8 +
 .../src/main/proto/ftp/FTPStorageService.proto     |  39 +--
 .../stub/src/main/proto/gcs/GCSStorage.proto       |   8 +
 .../src/main/proto/gcs/GCSStorageService.proto     |  39 +--
 .../stub/src/main/proto/local/LocalStorage.proto   |   7 +
 .../src/main/proto/local/LocalStorageService.proto |  43 +--
 .../src/main/proto/resource/ResourceService.proto  |  34 +-
 .../proto/resourcesecretmap/StorageSecretMap.proto |  40 +--
 .../stub/src/main/proto/s3/S3Storage.proto         |   9 +
 .../stub/src/main/proto/s3/S3StorageService.proto  |  43 +--
 .../stub/src/main/proto/scp/SCPStorage.proto       |   9 +
 .../src/main/proto/scp/SCPStorageService.proto     |  45 +--
 .../secret/server/handler/AzureServiceHandler.java |  12 +-
 .../secret/server/handler/BoxServiceHandler.java   |  12 +-
 .../server/handler/DropboxServiceHandler.java      |  12 +-
 .../secret/server/handler/FTPServiceHandler.java   |  12 +-
 .../secret/server/handler/GCSServiceHandler.java   |  11 +-
 .../secret/server/handler/S3ServiceHandler.java    |   6 +-
 .../secret/server/handler/SCPServiceHandler.java   |   6 +-
 .../src/main/proto/azure/AzureCredential.proto     |   8 +
 .../src/main/proto/azure/AzureSecretService.proto  |  28 +-
 .../stub/src/main/proto/box/BoxCredential.proto    |   8 +
 .../stub/src/main/proto/box/BoxSecretService.proto |  28 +-
 .../src/main/proto/dropbox/DropboxCredential.proto |   8 +
 .../main/proto/dropbox/DropboxSecretService.proto  |  28 +-
 .../stub/src/main/proto/ftp/FTPCredential.proto    |   8 +
 .../stub/src/main/proto/ftp/FTPSecretService.proto |  28 +-
 .../stub/src/main/proto/gcs/GCSCredential.proto    |   8 +
 .../stub/src/main/proto/gcs/GCSSecretService.proto |  28 +-
 .../stub/src/main/proto/s3/S3Credential.proto      |   8 +
 .../stub/src/main/proto/s3/S3SecretService.proto   |  28 +-
 .../stub/src/main/proto/scp/SCPCredential.proto    |   8 +
 .../stub/src/main/proto/scp/SCPSecretService.proto |  28 +-
 109 files changed, 982 insertions(+), 1777 deletions(-)

diff --git a/api/stub/src/main/proto/MFTTransferApi.proto b/api/stub/src/main/proto/MFTTransferApi.proto
index 4ddb90e..3a3ec44 100644
--- a/api/stub/src/main/proto/MFTTransferApi.proto
+++ b/api/stub/src/main/proto/MFTTransferApi.proto
@@ -3,8 +3,6 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.api.service;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "CredCommon.proto";
 
 message CallbackEndpoint {
@@ -126,47 +124,19 @@ message FetchResourceMetadataRequest {
 
 service  MFTTransferService {
 
-    rpc submitTransfer(TransferApiRequest) returns (TransferApiResponse) {
-        option (google.api.http) = {
-           post: "/v1.0/api/transfer"
-        };
-    }
+    rpc submitTransfer(TransferApiRequest) returns (TransferApiResponse);
 
-    rpc submitHttpUpload(HttpUploadApiRequest) returns (HttpUploadApiResponse) {
-        option (google.api.http) = {
-           post: "/v1.0/api/http-upload"
-        };
-    }
+    rpc submitHttpUpload(HttpUploadApiRequest) returns (HttpUploadApiResponse);
 
-    rpc submitHttpDownload(HttpDownloadApiRequest) returns (HttpDownloadApiResponse) {
-        option (google.api.http) = {
-           post: "/v1.0/api/http-download"
-        };
-    }
+    rpc submitHttpDownload(HttpDownloadApiRequest) returns (HttpDownloadApiResponse);
 
-    rpc getTransferStates(TransferStateApiRequest) returns (stream TransferStateApiResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/api/transfer/states"
-        };
-    }
+    rpc getTransferStates(TransferStateApiRequest) returns (stream TransferStateApiResponse);
 
-    rpc getTransferState(TransferStateApiRequest) returns (TransferStateApiResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/api/transfer/state"
-        };
-    }
+    rpc getTransferState(TransferStateApiRequest) returns (TransferStateApiResponse);
 
-    rpc getResourceAvailability(ResourceAvailabilityRequest) returns (ResourceAvailabilityResponse) {}
+    rpc getResourceAvailability(ResourceAvailabilityRequest) returns (ResourceAvailabilityResponse);
 
-    rpc getFileResourceMetadata(FetchResourceMetadataRequest) returns (FileMetadataResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/api/resource/metadata/file"
-        };
-    }
+    rpc getFileResourceMetadata(FetchResourceMetadataRequest) returns (FileMetadataResponse);
 
-    rpc getDirectoryResourceMetadata(FetchResourceMetadataRequest) returns (DirectoryMetadataResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/api/resource/metadata/directory"
-        };
-    }
+    rpc getDirectoryResourceMetadata(FetchResourceMetadataRequest) returns (DirectoryMetadataResponse);
 }
\ No newline at end of file
diff --git a/python-sdk/src/airavata_mft_sdk/MFTTransferApi_pb2.py b/python-sdk/src/airavata_mft_sdk/MFTTransferApi_pb2.py
index b0c4182..9bca2a5 100644
--- a/python-sdk/src/airavata_mft_sdk/MFTTransferApi_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/MFTTransferApi_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14MFTTransferApi.proto\x12#org.apache.airavata.mft.api.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x10\x43redCommon.proto\"\x9b\x01\n\x10\x43\x61llbackEndpoint\x12P\n\x04type\x18\x01 \x01(\x0e\x32\x42.org.apache.airavata.mft.api.service.CallbackEndpoint.CallbackType\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\"#\n\x0c\x43\x61llbackType\x12\x08\n\x04HTTP\x10\x00\x12\t\n\x05KAFKA\x10\x01\"\x [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14MFTTransferApi.proto\x12#org.apache.airavata.mft.api.service\x1a\x10\x43redCommon.proto\"\x9b\x01\n\x10\x43\x61llbackEndpoint\x12P\n\x04type\x18\x01 \x01(\x0e\x32\x42.org.apache.airavata.mft.api.service.CallbackEndpoint.CallbackType\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\"#\n\x0c\x43\x61llbackType\x12\x08\n\x04HTTP\x10\x00\x12\t\n\x05KAFKA\x10\x01\"\xbc\x04\n\x12TransferApiRequest\x12\x18\n\x10sourceResourceId\x18\x01 \x [...]
 
 
 
@@ -150,52 +148,38 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   DESCRIPTOR._serialized_options = b'P\001'
   _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._options = None
   _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._serialized_options = b'8\001'
-  _MFTTRANSFERSERVICE.methods_by_name['submitTransfer']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['submitTransfer']._serialized_options = b'\202\323\344\223\002\024\"\022/v1.0/api/transfer'
-  _MFTTRANSFERSERVICE.methods_by_name['submitHttpUpload']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['submitHttpUpload']._serialized_options = b'\202\323\344\223\002\027\"\025/v1.0/api/http-upload'
-  _MFTTRANSFERSERVICE.methods_by_name['submitHttpDownload']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['submitHttpDownload']._serialized_options = b'\202\323\344\223\002\031\"\027/v1.0/api/http-download'
-  _MFTTRANSFERSERVICE.methods_by_name['getTransferStates']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['getTransferStates']._serialized_options = b'\202\323\344\223\002\033\022\031/v1.0/api/transfer/states'
-  _MFTTRANSFERSERVICE.methods_by_name['getTransferState']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['getTransferState']._serialized_options = b'\202\323\344\223\002\032\022\030/v1.0/api/transfer/state'
-  _MFTTRANSFERSERVICE.methods_by_name['getFileResourceMetadata']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['getFileResourceMetadata']._serialized_options = b'\202\323\344\223\002\"\022 /v1.0/api/resource/metadata/file'
-  _MFTTRANSFERSERVICE.methods_by_name['getDirectoryResourceMetadata']._options = None
-  _MFTTRANSFERSERVICE.methods_by_name['getDirectoryResourceMetadata']._serialized_options = b'\202\323\344\223\002\'\022%/v1.0/api/resource/metadata/directory'
-  _CALLBACKENDPOINT._serialized_start=139
-  _CALLBACKENDPOINT._serialized_end=294
-  _CALLBACKENDPOINT_CALLBACKTYPE._serialized_start=259
-  _CALLBACKENDPOINT_CALLBACKTYPE._serialized_end=294
-  _TRANSFERAPIREQUEST._serialized_start=297
-  _TRANSFERAPIREQUEST._serialized_end=869
-  _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._serialized_start=818
-  _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._serialized_end=869
-  _TRANSFERAPIRESPONSE._serialized_start=871
-  _TRANSFERAPIRESPONSE._serialized_end=912
-  _HTTPUPLOADAPIREQUEST._serialized_start=915
-  _HTTPUPLOADAPIREQUEST._serialized_end=1152
-  _HTTPUPLOADAPIRESPONSE._serialized_start=1154
-  _HTTPUPLOADAPIRESPONSE._serialized_end=1211
-  _HTTPDOWNLOADAPIREQUEST._serialized_start=1214
-  _HTTPDOWNLOADAPIREQUEST._serialized_end=1433
-  _HTTPDOWNLOADAPIRESPONSE._serialized_start=1435
-  _HTTPDOWNLOADAPIRESPONSE._serialized_end=1494
-  _TRANSFERSTATEAPIREQUEST._serialized_start=1496
-  _TRANSFERSTATEAPIREQUEST._serialized_end=1615
-  _TRANSFERSTATEAPIRESPONSE._serialized_start=1617
-  _TRANSFERSTATEAPIRESPONSE._serialized_end=1723
-  _RESOURCEAVAILABILITYREQUEST._serialized_start=1726
-  _RESOURCEAVAILABILITYREQUEST._serialized_end=1981
-  _RESOURCEAVAILABILITYRESPONSE._serialized_start=1983
-  _RESOURCEAVAILABILITYRESPONSE._serialized_end=2032
-  _FILEMETADATARESPONSE._serialized_start=2035
-  _FILEMETADATARESPONSE._serialized_end=2234
-  _DIRECTORYMETADATARESPONSE._serialized_start=2237
-  _DIRECTORYMETADATARESPONSE._serialized_end=2587
-  _FETCHRESOURCEMETADATAREQUEST._serialized_start=2590
-  _FETCHRESOURCEMETADATAREQUEST._serialized_end=2888
-  _MFTTRANSFERSERVICE._serialized_start=2891
-  _MFTTRANSFERSERVICE._serialized_end=4357
+  _CALLBACKENDPOINT._serialized_start=80
+  _CALLBACKENDPOINT._serialized_end=235
+  _CALLBACKENDPOINT_CALLBACKTYPE._serialized_start=200
+  _CALLBACKENDPOINT_CALLBACKTYPE._serialized_end=235
+  _TRANSFERAPIREQUEST._serialized_start=238
+  _TRANSFERAPIREQUEST._serialized_end=810
+  _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._serialized_start=759
+  _TRANSFERAPIREQUEST_TARGETAGENTSENTRY._serialized_end=810
+  _TRANSFERAPIRESPONSE._serialized_start=812
+  _TRANSFERAPIRESPONSE._serialized_end=853
+  _HTTPUPLOADAPIREQUEST._serialized_start=856
+  _HTTPUPLOADAPIREQUEST._serialized_end=1093
+  _HTTPUPLOADAPIRESPONSE._serialized_start=1095
+  _HTTPUPLOADAPIRESPONSE._serialized_end=1152
+  _HTTPDOWNLOADAPIREQUEST._serialized_start=1155
+  _HTTPDOWNLOADAPIREQUEST._serialized_end=1374
+  _HTTPDOWNLOADAPIRESPONSE._serialized_start=1376
+  _HTTPDOWNLOADAPIRESPONSE._serialized_end=1435
+  _TRANSFERSTATEAPIREQUEST._serialized_start=1437
+  _TRANSFERSTATEAPIREQUEST._serialized_end=1556
+  _TRANSFERSTATEAPIRESPONSE._serialized_start=1558
+  _TRANSFERSTATEAPIRESPONSE._serialized_end=1664
+  _RESOURCEAVAILABILITYREQUEST._serialized_start=1667
+  _RESOURCEAVAILABILITYREQUEST._serialized_end=1922
+  _RESOURCEAVAILABILITYRESPONSE._serialized_start=1924
+  _RESOURCEAVAILABILITYRESPONSE._serialized_end=1973
+  _FILEMETADATARESPONSE._serialized_start=1976
+  _FILEMETADATARESPONSE._serialized_end=2175
+  _DIRECTORYMETADATARESPONSE._serialized_start=2178
+  _DIRECTORYMETADATARESPONSE._serialized_end=2528
+  _FETCHRESOURCEMETADATAREQUEST._serialized_start=2531
+  _FETCHRESOURCEMETADATAREQUEST._serialized_end=2829
+  _MFTTRANSFERSERVICE._serialized_start=2832
+  _MFTTRANSFERSERVICE._serialized_end=4046
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/azure/AzureCredential_pb2.py
index a2ec3c4..2b562bc 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x61zure/AzureCredential.proto\x12.org.apache.airavata.mft.credential.stubs.azure\x1a\x10\x43redCommon.proto\"9\n\x0b\x41zureSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x18\n\x10\x63onnectionString\x18\x02 \x01(\t\"h\n\x15\x41zureSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"s\n\x18\x41zureSecretCreateRequest\x12\x18\n\x10\x63 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x61zure/AzureCredential.proto\x12.org.apache.airavata.mft.credential.stubs.azure\x1a\x10\x43redCommon.proto\"9\n\x0b\x41zureSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x18\n\x10\x63onnectionString\x18\x02 \x01(\t\"h\n\x15\x41zureSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"s\n\x18\x41zureSecretCreateRequest\x12\x18\n\x10\x63 [...]
 
 
 
@@ -23,7 +23,9 @@ _AZURESECRET = DESCRIPTOR.message_types_by_name['AzureSecret']
 _AZURESECRETGETREQUEST = DESCRIPTOR.message_types_by_name['AzureSecretGetRequest']
 _AZURESECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['AzureSecretCreateRequest']
 _AZURESECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['AzureSecretUpdateRequest']
+_AZURESECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['AzureSecretUpdateResponse']
 _AZURESECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['AzureSecretDeleteRequest']
+_AZURESECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['AzureSecretDeleteResponse']
 AzureSecret = _reflection.GeneratedProtocolMessageType('AzureSecret', (_message.Message,), {
   'DESCRIPTOR' : _AZURESECRET,
   '__module__' : 'azure.AzureCredential_pb2'
@@ -52,6 +54,13 @@ AzureSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('AzureSecret
   })
 _sym_db.RegisterMessage(AzureSecretUpdateRequest)
 
+AzureSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('AzureSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _AZURESECRETUPDATERESPONSE,
+  '__module__' : 'azure.AzureCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.azure.AzureSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(AzureSecretUpdateResponse)
+
 AzureSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('AzureSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _AZURESECRETDELETEREQUEST,
   '__module__' : 'azure.AzureCredential_pb2'
@@ -59,6 +68,13 @@ AzureSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('AzureSecret
   })
 _sym_db.RegisterMessage(AzureSecretDeleteRequest)
 
+AzureSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('AzureSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _AZURESECRETDELETERESPONSE,
+  '__module__' : 'azure.AzureCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.azure.AzureSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(AzureSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _AZURESECRETCREATEREQUEST._serialized_end=377
   _AZURESECRETUPDATEREQUEST._serialized_start=380
   _AZURESECRETUPDATEREQUEST._serialized_end=513
-  _AZURESECRETDELETEREQUEST._serialized_start=515
-  _AZURESECRETDELETEREQUEST._serialized_end=622
+  _AZURESECRETUPDATERESPONSE._serialized_start=515
+  _AZURESECRETUPDATERESPONSE._serialized_end=560
+  _AZURESECRETDELETEREQUEST._serialized_start=562
+  _AZURESECRETDELETEREQUEST._serialized_end=669
+  _AZURESECRETDELETERESPONSE._serialized_start=671
+  _AZURESECRETDELETERESPONSE._serialized_end=714
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2.py
index 26d32e3..d0315a1 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.azure import AzureCredential_pb2 as azure_dot_AzureCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x61zure/AzureSecretService.proto\x12\x30org.apache.airavata.mft.credential.service.azure\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1b\x61zure/AzureCredential.proto2\xa8\x05\n\x12\x41zureSecretService\x12\xb0\x01\n\x0egetAzureSecret\x12\x45.org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest\x1a;.org.apache.airavata.mft.credential.stubs.azure.AzureSecret\"\x1a\x82\xd3\xe4\ [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x61zure/AzureSecretService.proto\x12\x30org.apache.airavata.mft.credential.service.azure\x1a\x1b\x61zure/AzureCredential.proto2\x9e\x05\n\x12\x41zureSecretService\x12\x94\x01\n\x0egetAzureSecret\x12\x45.org.apache.airavata.mft.credential.stubs.azure.AzureSecretGetRequest\x1a;.org.apache.airavata.mft.credential.stubs.azure.AzureSecret\x12\x9a\x01\n\x11\x63reateAzureSecret\x12H.org.apache.airavata.mft.credential.stubs.azure [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _AZURESECRETSERVICE.methods_by_name['getAzureSecret']._options = None
-  _AZURESECRETSERVICE.methods_by_name['getAzureSecret']._serialized_options = b'\202\323\344\223\002\024\022\022/v1.0/secret/azure'
-  _AZURESECRETSERVICE.methods_by_name['createAzureSecret']._options = None
-  _AZURESECRETSERVICE.methods_by_name['createAzureSecret']._serialized_options = b'\202\323\344\223\002\024\"\022/v1.0/secret/azure'
-  _AZURESECRETSERVICE.methods_by_name['updateAzureSecret']._options = None
-  _AZURESECRETSERVICE.methods_by_name['updateAzureSecret']._serialized_options = b'\202\323\344\223\002\024\032\022/v1.0/secret/azure'
-  _AZURESECRETSERVICE.methods_by_name['deleteAzureSecret']._options = None
-  _AZURESECRETSERVICE.methods_by_name['deleteAzureSecret']._serialized_options = b'\202\323\344\223\002\024*\022/v1.0/secret/azure'
-  _AZURESECRETSERVICE._serialized_start=173
-  _AZURESECRETSERVICE._serialized_end=853
+  _AZURESECRETSERVICE._serialized_start=114
+  _AZURESECRETSERVICE._serialized_end=784
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2_grpc.py
index 3617580..abbb95f 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureSecretService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.azure import AzureCredential_pb2 as azure_dot_AzureCredential__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class AzureSecretServiceStub(object):
@@ -28,12 +27,12 @@ class AzureSecretServiceStub(object):
         self.updateAzureSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.azure.AzureSecretService/updateAzureSecret',
                 request_serializer=azure_dot_AzureCredential__pb2.AzureSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=azure_dot_AzureCredential__pb2.AzureSecretUpdateResponse.FromString,
                 )
         self.deleteAzureSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.azure.AzureSecretService/deleteAzureSecret',
                 request_serializer=azure_dot_AzureCredential__pb2.AzureSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=azure_dot_AzureCredential__pb2.AzureSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_AzureSecretServiceServicer_to_server(servicer, server):
             'updateAzureSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateAzureSecret,
                     request_deserializer=azure_dot_AzureCredential__pb2.AzureSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=azure_dot_AzureCredential__pb2.AzureSecretUpdateResponse.SerializeToString,
             ),
             'deleteAzureSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteAzureSecret,
                     request_deserializer=azure_dot_AzureCredential__pb2.AzureSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=azure_dot_AzureCredential__pb2.AzureSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class AzureSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.azure.AzureSecretService/updateAzureSecret',
             azure_dot_AzureCredential__pb2.AzureSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            azure_dot_AzureCredential__pb2.AzureSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class AzureSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.azure.AzureSecretService/deleteAzureSecret',
             azure_dot_AzureCredential__pb2.AzureSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            azure_dot_AzureCredential__pb2.AzureSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2.py
index 1982b34..b100b69 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.azure import AzureStorage_pb2 as azure_dot_AzureStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x61zure/AzureStorageService.proto\x12.org.apache.airavata.mft.resource.service.azure\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x18\x61zure/AzureStorage.proto2\xd9\x07\n\x13\x41zureStorageService\x12\xd7\x01\n\x10listAzureStorage\x12M.org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListRequest\x1aN.org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListRespons [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x61zure/AzureStorageService.proto\x12.org.apache.airavata.mft.resource.service.azure\x1a\x18\x61zure/AzureStorage.proto2\x8f\x07\n\x13\x41zureStorageService\x12\xb1\x01\n\x10listAzureStorage\x12M.org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListRequest\x1aN.org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListResponse\x12\xa3\x01\n\x0fgetAzureStorage\x12L.org.apache.airavata.mft.resourc [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _AZURESTORAGESERVICE.methods_by_name['listAzureStorage']._options = None
-  _AZURESTORAGESERVICE.methods_by_name['listAzureStorage']._serialized_options = b'\202\323\344\223\002\036\022\034/v1.0/resource/azure/storage'
-  _AZURESTORAGESERVICE.methods_by_name['getAzureStorage']._options = None
-  _AZURESTORAGESERVICE.methods_by_name['getAzureStorage']._serialized_options = b'\202\323\344\223\002\036\022\034/v1.0/resource/azure/storage'
-  _AZURESTORAGESERVICE.methods_by_name['createAzureStorage']._options = None
-  _AZURESTORAGESERVICE.methods_by_name['createAzureStorage']._serialized_options = b'\202\323\344\223\002\036\"\034/v1.0/resource/azure/storage'
-  _AZURESTORAGESERVICE.methods_by_name['updateAzureStorage']._options = None
-  _AZURESTORAGESERVICE.methods_by_name['updateAzureStorage']._serialized_options = b'\202\323\344\223\002\036\032\034/v1.0/resource/azure/storage'
-  _AZURESTORAGESERVICE.methods_by_name['deleteAzureStorage']._options = None
-  _AZURESTORAGESERVICE.methods_by_name['deleteAzureStorage']._serialized_options = b'\202\323\344\223\002\036*\034/v1.0/resource/azure/storage'
-  _AZURESTORAGESERVICE._serialized_start=169
-  _AZURESTORAGESERVICE._serialized_end=1154
+  _AZURESTORAGESERVICE._serialized_start=110
+  _AZURESTORAGESERVICE._serialized_end=1021
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2_grpc.py
index 6cd6c51..1cfe4c5 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureStorageService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.azure import AzureStorage_pb2 as azure_dot_AzureStorage__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class AzureStorageServiceStub(object):
@@ -33,12 +32,12 @@ class AzureStorageServiceStub(object):
         self.updateAzureStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.azure.AzureStorageService/updateAzureStorage',
                 request_serializer=azure_dot_AzureStorage__pb2.AzureStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=azure_dot_AzureStorage__pb2.AzureStorageUpdateResponse.FromString,
                 )
         self.deleteAzureStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.azure.AzureStorageService/deleteAzureStorage',
                 request_serializer=azure_dot_AzureStorage__pb2.AzureStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=azure_dot_AzureStorage__pb2.AzureStorageDeleteResponse.FromString,
                 )
 
 
@@ -98,12 +97,12 @@ def add_AzureStorageServiceServicer_to_server(servicer, server):
             'updateAzureStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateAzureStorage,
                     request_deserializer=azure_dot_AzureStorage__pb2.AzureStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=azure_dot_AzureStorage__pb2.AzureStorageUpdateResponse.SerializeToString,
             ),
             'deleteAzureStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteAzureStorage,
                     request_deserializer=azure_dot_AzureStorage__pb2.AzureStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=azure_dot_AzureStorage__pb2.AzureStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -179,7 +178,7 @@ class AzureStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.azure.AzureStorageService/updateAzureStorage',
             azure_dot_AzureStorage__pb2.AzureStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            azure_dot_AzureStorage__pb2.AzureStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -196,6 +195,6 @@ class AzureStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.azure.AzureStorageService/deleteAzureStorage',
             azure_dot_AzureStorage__pb2.AzureStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            azure_dot_AzureStorage__pb2.AzureStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/azure/AzureStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/azure/AzureStorage_pb2.py
index 3abaa23..1332755 100644
--- a/python-sdk/src/airavata_mft_sdk/azure/AzureStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/azure/AzureStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x61zure/AzureStorage.proto\x12\x34org.apache.airavata.mft.resource.stubs.azure.storage\"B\n\x0c\x41zureStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x11\n\tcontainer\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"8\n\x17\x41zureStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"p\n\x18\x41zureStorageListResponse\x12T\n\x08storages\x18\x01 \x03(\x0b\x32\x42.org.apache.airava [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x61zure/AzureStorage.proto\x12\x34org.apache.airavata.mft.resource.stubs.azure.storage\"B\n\x0c\x41zureStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x11\n\tcontainer\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"8\n\x17\x41zureStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"p\n\x18\x41zureStorageListResponse\x12T\n\x08storages\x18\x01 \x03(\x0b\x32\x42.org.apache.airava [...]
 
 
 
@@ -24,7 +24,9 @@ _AZURESTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['AzureStorageListRe
 _AZURESTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['AzureStorageGetRequest']
 _AZURESTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['AzureStorageCreateRequest']
 _AZURESTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['AzureStorageUpdateRequest']
+_AZURESTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['AzureStorageUpdateResponse']
 _AZURESTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['AzureStorageDeleteRequest']
+_AZURESTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['AzureStorageDeleteResponse']
 AzureStorage = _reflection.GeneratedProtocolMessageType('AzureStorage', (_message.Message,), {
   'DESCRIPTOR' : _AZURESTORAGE,
   '__module__' : 'azure.AzureStorage_pb2'
@@ -67,6 +69,13 @@ AzureStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('AzureStora
   })
 _sym_db.RegisterMessage(AzureStorageUpdateRequest)
 
+AzureStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('AzureStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _AZURESTORAGEUPDATERESPONSE,
+  '__module__' : 'azure.AzureStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(AzureStorageUpdateResponse)
+
 AzureStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('AzureStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _AZURESTORAGEDELETEREQUEST,
   '__module__' : 'azure.AzureStorage_pb2'
@@ -74,6 +83,13 @@ AzureStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('AzureStora
   })
 _sym_db.RegisterMessage(AzureStorageDeleteRequest)
 
+AzureStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('AzureStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _AZURESTORAGEDELETERESPONSE,
+  '__module__' : 'azure.AzureStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(AzureStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _AZURESTORAGECREATEREQUEST._serialized_end=446
   _AZURESTORAGEUPDATEREQUEST._serialized_start=448
   _AZURESTORAGEUPDATEREQUEST._serialized_end=527
-  _AZURESTORAGEDELETEREQUEST._serialized_start=529
-  _AZURESTORAGEDELETEREQUEST._serialized_end=575
+  _AZURESTORAGEUPDATERESPONSE._serialized_start=529
+  _AZURESTORAGEUPDATERESPONSE._serialized_end=576
+  _AZURESTORAGEDELETEREQUEST._serialized_start=578
+  _AZURESTORAGEDELETEREQUEST._serialized_end=624
+  _AZURESTORAGEDELETERESPONSE._serialized_start=626
+  _AZURESTORAGEDELETERESPONSE._serialized_end=670
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/box/BoxCredential_pb2.py
index 132628e..0c8d2db 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x62ox/BoxCredential.proto\x12,org.apache.airavata.mft.credential.stubs.box\x1a\x10\x43redCommon.proto\"2\n\tBoxSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x01(\t\"f\n\x13\x42oxSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"l\n\x16\x42oxSecretCreateRequest\x12\x13\n\x0b\x61\x63\x63\x65s [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x62ox/BoxCredential.proto\x12,org.apache.airavata.mft.credential.stubs.box\x1a\x10\x43redCommon.proto\"2\n\tBoxSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x01(\t\"f\n\x13\x42oxSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"l\n\x16\x42oxSecretCreateRequest\x12\x13\n\x0b\x61\x63\x63\x65s [...]
 
 
 
@@ -23,7 +23,9 @@ _BOXSECRET = DESCRIPTOR.message_types_by_name['BoxSecret']
 _BOXSECRETGETREQUEST = DESCRIPTOR.message_types_by_name['BoxSecretGetRequest']
 _BOXSECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['BoxSecretCreateRequest']
 _BOXSECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['BoxSecretUpdateRequest']
+_BOXSECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['BoxSecretUpdateResponse']
 _BOXSECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['BoxSecretDeleteRequest']
+_BOXSECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['BoxSecretDeleteResponse']
 BoxSecret = _reflection.GeneratedProtocolMessageType('BoxSecret', (_message.Message,), {
   'DESCRIPTOR' : _BOXSECRET,
   '__module__' : 'box.BoxCredential_pb2'
@@ -52,6 +54,13 @@ BoxSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('BoxSecretUpda
   })
 _sym_db.RegisterMessage(BoxSecretUpdateRequest)
 
+BoxSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('BoxSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _BOXSECRETUPDATERESPONSE,
+  '__module__' : 'box.BoxCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.box.BoxSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(BoxSecretUpdateResponse)
+
 BoxSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('BoxSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _BOXSECRETDELETEREQUEST,
   '__module__' : 'box.BoxCredential_pb2'
@@ -59,6 +68,13 @@ BoxSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('BoxSecretDele
   })
 _sym_db.RegisterMessage(BoxSecretDeleteRequest)
 
+BoxSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('BoxSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _BOXSECRETDELETERESPONSE,
+  '__module__' : 'box.BoxCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.box.BoxSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(BoxSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _BOXSECRETCREATEREQUEST._serialized_end=355
   _BOXSECRETUPDATEREQUEST._serialized_start=357
   _BOXSECRETUPDATEREQUEST._serialized_end=483
-  _BOXSECRETDELETEREQUEST._serialized_start=485
-  _BOXSECRETDELETEREQUEST._serialized_end=590
+  _BOXSECRETUPDATERESPONSE._serialized_start=485
+  _BOXSECRETUPDATERESPONSE._serialized_end=528
+  _BOXSECRETDELETEREQUEST._serialized_start=530
+  _BOXSECRETDELETEREQUEST._serialized_end=635
+  _BOXSECRETDELETERESPONSE._serialized_start=637
+  _BOXSECRETDELETERESPONSE._serialized_end=678
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2.py
index 8209788..b0f654e 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.box import BoxCredential_pb2 as box_dot_BoxCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x62ox/BoxSecretService.proto\x12.org.apache.airavata.mft.credential.service.box\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17\x62ox/BoxCredential.proto2\xfe\x04\n\x10\x42oxSecretService\x12\xa4\x01\n\x0cgetBoxSecret\x12\x41.org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.box.BoxSecret\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x62ox/BoxSecretService.proto\x12.org.apache.airavata.mft.credential.service.box\x1a\x17\x62ox/BoxCredential.proto2\xf4\x04\n\x10\x42oxSecretService\x12\x8a\x01\n\x0cgetBoxSecret\x12\x41.org.apache.airavata.mft.credential.stubs.box.BoxSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.box.BoxSecret\x12\x90\x01\n\x0f\x63reateBoxSecret\x12\x44.org.apache.airavata.mft.credential.stubs.box.BoxSecretCreateRequest [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _BOXSECRETSERVICE.methods_by_name['getBoxSecret']._options = None
-  _BOXSECRETSERVICE.methods_by_name['getBoxSecret']._serialized_options = b'\202\323\344\223\002\022\022\020/v1.0/secret/box'
-  _BOXSECRETSERVICE.methods_by_name['createBoxSecret']._options = None
-  _BOXSECRETSERVICE.methods_by_name['createBoxSecret']._serialized_options = b'\202\323\344\223\002\022\"\020/v1.0/secret/box'
-  _BOXSECRETSERVICE.methods_by_name['updateBoxSecret']._options = None
-  _BOXSECRETSERVICE.methods_by_name['updateBoxSecret']._serialized_options = b'\202\323\344\223\002\022\032\020/v1.0/secret/box'
-  _BOXSECRETSERVICE.methods_by_name['deleteBoxSecret']._options = None
-  _BOXSECRETSERVICE.methods_by_name['deleteBoxSecret']._serialized_options = b'\202\323\344\223\002\022*\020/v1.0/secret/box'
-  _BOXSECRETSERVICE._serialized_start=163
-  _BOXSECRETSERVICE._serialized_end=801
+  _BOXSECRETSERVICE._serialized_start=104
+  _BOXSECRETSERVICE._serialized_end=732
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2_grpc.py
index cd6b2b8..efa2d62 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxSecretService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.box import BoxCredential_pb2 as box_dot_BoxCredential__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class BoxSecretServiceStub(object):
@@ -28,12 +27,12 @@ class BoxSecretServiceStub(object):
         self.updateBoxSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.box.BoxSecretService/updateBoxSecret',
                 request_serializer=box_dot_BoxCredential__pb2.BoxSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=box_dot_BoxCredential__pb2.BoxSecretUpdateResponse.FromString,
                 )
         self.deleteBoxSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.box.BoxSecretService/deleteBoxSecret',
                 request_serializer=box_dot_BoxCredential__pb2.BoxSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=box_dot_BoxCredential__pb2.BoxSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_BoxSecretServiceServicer_to_server(servicer, server):
             'updateBoxSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateBoxSecret,
                     request_deserializer=box_dot_BoxCredential__pb2.BoxSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=box_dot_BoxCredential__pb2.BoxSecretUpdateResponse.SerializeToString,
             ),
             'deleteBoxSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteBoxSecret,
                     request_deserializer=box_dot_BoxCredential__pb2.BoxSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=box_dot_BoxCredential__pb2.BoxSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class BoxSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.box.BoxSecretService/updateBoxSecret',
             box_dot_BoxCredential__pb2.BoxSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            box_dot_BoxCredential__pb2.BoxSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class BoxSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.box.BoxSecretService/deleteBoxSecret',
             box_dot_BoxCredential__pb2.BoxSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            box_dot_BoxCredential__pb2.BoxSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2.py
index 91d490c..9c4886c 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.box import BoxStorage_pb2 as box_dot_BoxStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62ox/BoxStorageService.proto\x12,org.apache.airavata.mft.resource.service.box\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14\x62ox/BoxStorage.proto2\xa3\x07\n\x11\x42oxStorageService\x12\xcb\x01\n\x0elistBoxStorage\x12I.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListResponse\"\"\x82\xd3\xe4\x93\ [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62ox/BoxStorageService.proto\x12,org.apache.airavata.mft.resource.service.box\x1a\x14\x62ox/BoxStorage.proto2\xdb\x06\n\x11\x42oxStorageService\x12\xa7\x01\n\x0elistBoxStorage\x12I.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListResponse\x12\x99\x01\n\rgetBoxStorage\x12H.org.apache.airavata.mft.resource.stubs.box.storage.BoxSto [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _BOXSTORAGESERVICE.methods_by_name['listBoxStorage']._options = None
-  _BOXSTORAGESERVICE.methods_by_name['listBoxStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/box/storage'
-  _BOXSTORAGESERVICE.methods_by_name['getBoxStorage']._options = None
-  _BOXSTORAGESERVICE.methods_by_name['getBoxStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/box/storage'
-  _BOXSTORAGESERVICE.methods_by_name['createBoxStorage']._options = None
-  _BOXSTORAGESERVICE.methods_by_name['createBoxStorage']._serialized_options = b'\202\323\344\223\002\034\"\032/v1.0/resource/box/storage'
-  _BOXSTORAGESERVICE.methods_by_name['updateBoxStorage']._options = None
-  _BOXSTORAGESERVICE.methods_by_name['updateBoxStorage']._serialized_options = b'\202\323\344\223\002\034\032\032/v1.0/resource/box/storage'
-  _BOXSTORAGESERVICE.methods_by_name['deleteBoxStorage']._options = None
-  _BOXSTORAGESERVICE.methods_by_name['deleteBoxStorage']._serialized_options = b'\202\323\344\223\002\034*\032/v1.0/resource/box/storage'
-  _BOXSTORAGESERVICE._serialized_start=159
-  _BOXSTORAGESERVICE._serialized_end=1090
+  _BOXSTORAGESERVICE._serialized_start=100
+  _BOXSTORAGESERVICE._serialized_end=959
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2_grpc.py
index 68589aa..0c08a21 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxStorageService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.box import BoxStorage_pb2 as box_dot_BoxStorage__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class BoxStorageServiceStub(object):
@@ -33,12 +32,12 @@ class BoxStorageServiceStub(object):
         self.updateBoxStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.box.BoxStorageService/updateBoxStorage',
                 request_serializer=box_dot_BoxStorage__pb2.BoxStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=box_dot_BoxStorage__pb2.BoxStorageUpdateResponse.FromString,
                 )
         self.deleteBoxStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.box.BoxStorageService/deleteBoxStorage',
                 request_serializer=box_dot_BoxStorage__pb2.BoxStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=box_dot_BoxStorage__pb2.BoxStorageDeleteResponse.FromString,
                 )
 
 
@@ -97,12 +96,12 @@ def add_BoxStorageServiceServicer_to_server(servicer, server):
             'updateBoxStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateBoxStorage,
                     request_deserializer=box_dot_BoxStorage__pb2.BoxStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=box_dot_BoxStorage__pb2.BoxStorageUpdateResponse.SerializeToString,
             ),
             'deleteBoxStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteBoxStorage,
                     request_deserializer=box_dot_BoxStorage__pb2.BoxStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=box_dot_BoxStorage__pb2.BoxStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -178,7 +177,7 @@ class BoxStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.box.BoxStorageService/updateBoxStorage',
             box_dot_BoxStorage__pb2.BoxStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            box_dot_BoxStorage__pb2.BoxStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -195,6 +194,6 @@ class BoxStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.box.BoxStorageService/deleteBoxStorage',
             box_dot_BoxStorage__pb2.BoxStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            box_dot_BoxStorage__pb2.BoxStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/box/BoxStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/box/BoxStorage_pb2.py
index 2b072c4..f51bbee 100644
--- a/python-sdk/src/airavata_mft_sdk/box/BoxStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/box/BoxStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x62ox/BoxStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.box.storage\"-\n\nBoxStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"6\n\x15\x42oxStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16\x42oxStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage\")\n\x14\x42 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x62ox/BoxStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.box.storage\"-\n\nBoxStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"6\n\x15\x42oxStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16\x42oxStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage\")\n\x14\x42 [...]
 
 
 
@@ -24,7 +24,9 @@ _BOXSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['BoxStorageListRespon
 _BOXSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['BoxStorageGetRequest']
 _BOXSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['BoxStorageCreateRequest']
 _BOXSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['BoxStorageUpdateRequest']
+_BOXSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['BoxStorageUpdateResponse']
 _BOXSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['BoxStorageDeleteRequest']
+_BOXSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['BoxStorageDeleteResponse']
 BoxStorage = _reflection.GeneratedProtocolMessageType('BoxStorage', (_message.Message,), {
   'DESCRIPTOR' : _BOXSTORAGE,
   '__module__' : 'box.BoxStorage_pb2'
@@ -67,6 +69,13 @@ BoxStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('BoxStorageUp
   })
 _sym_db.RegisterMessage(BoxStorageUpdateRequest)
 
+BoxStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('BoxStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _BOXSTORAGEUPDATERESPONSE,
+  '__module__' : 'box.BoxStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(BoxStorageUpdateResponse)
+
 BoxStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('BoxStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _BOXSTORAGEDELETEREQUEST,
   '__module__' : 'box.BoxStorage_pb2'
@@ -74,6 +83,13 @@ BoxStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('BoxStorageDe
   })
 _sym_db.RegisterMessage(BoxStorageDeleteRequest)
 
+BoxStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('BoxStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _BOXSTORAGEDELETERESPONSE,
+  '__module__' : 'box.BoxStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(BoxStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _BOXSTORAGECREATEREQUEST._serialized_end=388
   _BOXSTORAGEUPDATEREQUEST._serialized_start=390
   _BOXSTORAGEUPDATEREQUEST._serialized_end=448
-  _BOXSTORAGEDELETEREQUEST._serialized_start=450
-  _BOXSTORAGEDELETEREQUEST._serialized_end=494
+  _BOXSTORAGEUPDATERESPONSE._serialized_start=450
+  _BOXSTORAGEUPDATERESPONSE._serialized_end=495
+  _BOXSTORAGEDELETEREQUEST._serialized_start=497
+  _BOXSTORAGEDELETEREQUEST._serialized_end=541
+  _BOXSTORAGEDELETERESPONSE._serialized_start=543
+  _BOXSTORAGEDELETERESPONSE._serialized_end=585
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxCredential_pb2.py
index 833773a..2694f43 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x64ropbox/DropboxCredential.proto\x12\x30org.apache.airavata.mft.credential.stubs.dropbox\x1a\x10\x43redCommon.proto\"6\n\rDropboxSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x01(\t\"j\n\x17\x44ropboxSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"p\n\x1a\x44ropboxSecretCreateRequest\x12 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x64ropbox/DropboxCredential.proto\x12\x30org.apache.airavata.mft.credential.stubs.dropbox\x1a\x10\x43redCommon.proto\"6\n\rDropboxSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x01(\t\"j\n\x17\x44ropboxSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"p\n\x1a\x44ropboxSecretCreateRequest\x12 [...]
 
 
 
@@ -23,7 +23,9 @@ _DROPBOXSECRET = DESCRIPTOR.message_types_by_name['DropboxSecret']
 _DROPBOXSECRETGETREQUEST = DESCRIPTOR.message_types_by_name['DropboxSecretGetRequest']
 _DROPBOXSECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['DropboxSecretCreateRequest']
 _DROPBOXSECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['DropboxSecretUpdateRequest']
+_DROPBOXSECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['DropboxSecretUpdateResponse']
 _DROPBOXSECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['DropboxSecretDeleteRequest']
+_DROPBOXSECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['DropboxSecretDeleteResponse']
 DropboxSecret = _reflection.GeneratedProtocolMessageType('DropboxSecret', (_message.Message,), {
   'DESCRIPTOR' : _DROPBOXSECRET,
   '__module__' : 'dropbox.DropboxCredential_pb2'
@@ -52,6 +54,13 @@ DropboxSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('DropboxSe
   })
 _sym_db.RegisterMessage(DropboxSecretUpdateRequest)
 
+DropboxSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('DropboxSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DROPBOXSECRETUPDATERESPONSE,
+  '__module__' : 'dropbox.DropboxCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(DropboxSecretUpdateResponse)
+
 DropboxSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('DropboxSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _DROPBOXSECRETDELETEREQUEST,
   '__module__' : 'dropbox.DropboxCredential_pb2'
@@ -59,6 +68,13 @@ DropboxSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('DropboxSe
   })
 _sym_db.RegisterMessage(DropboxSecretDeleteRequest)
 
+DropboxSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('DropboxSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DROPBOXSECRETDELETERESPONSE,
+  '__module__' : 'dropbox.DropboxCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(DropboxSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _DROPBOXSECRETCREATEREQUEST._serialized_end=379
   _DROPBOXSECRETUPDATEREQUEST._serialized_start=382
   _DROPBOXSECRETUPDATEREQUEST._serialized_end=512
-  _DROPBOXSECRETDELETEREQUEST._serialized_start=514
-  _DROPBOXSECRETDELETEREQUEST._serialized_end=623
+  _DROPBOXSECRETUPDATERESPONSE._serialized_start=514
+  _DROPBOXSECRETUPDATERESPONSE._serialized_end=561
+  _DROPBOXSECRETDELETEREQUEST._serialized_start=563
+  _DROPBOXSECRETDELETEREQUEST._serialized_end=672
+  _DROPBOXSECRETDELETERESPONSE._serialized_start=674
+  _DROPBOXSECRETDELETERESPONSE._serialized_end=719
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2.py
index c9382a6..ac0e68e 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.dropbox import DropboxCredential_pb2 as dropbox_dot_DropboxCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"dropbox/DropboxSecretService.proto\x12\x32org.apache.airavata.mft.credential.service.dropbox\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1f\x64ropbox/DropboxCredential.proto2\xd2\x05\n\x14\x44ropboxSecretService\x12\xbc\x01\n\x10getDropboxSecret\x12I.org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest\x1a?.org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret\"\x1 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"dropbox/DropboxSecretService.proto\x12\x32org.apache.airavata.mft.credential.service.dropbox\x1a\x1f\x64ropbox/DropboxCredential.proto2\xc8\x05\n\x14\x44ropboxSecretService\x12\x9e\x01\n\x10getDropboxSecret\x12I.org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretGetRequest\x1a?.org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret\x12\xa4\x01\n\x13\x63reateDropboxSecret\x12L.org.apache.airavata.mft.creden [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _DROPBOXSECRETSERVICE.methods_by_name['getDropboxSecret']._options = None
-  _DROPBOXSECRETSERVICE.methods_by_name['getDropboxSecret']._serialized_options = b'\202\323\344\223\002\026\022\024/v1.0/secret/dropbox'
-  _DROPBOXSECRETSERVICE.methods_by_name['createDropboxSecret']._options = None
-  _DROPBOXSECRETSERVICE.methods_by_name['createDropboxSecret']._serialized_options = b'\202\323\344\223\002\026\"\024/v1.0/secret/dropbox'
-  _DROPBOXSECRETSERVICE.methods_by_name['updateDropboxSecret']._options = None
-  _DROPBOXSECRETSERVICE.methods_by_name['updateDropboxSecret']._serialized_options = b'\202\323\344\223\002\026\032\024/v1.0/secret/dropbox'
-  _DROPBOXSECRETSERVICE.methods_by_name['deleteDropboxSecret']._options = None
-  _DROPBOXSECRETSERVICE.methods_by_name['deleteDropboxSecret']._serialized_options = b'\202\323\344\223\002\026*\024/v1.0/secret/dropbox'
-  _DROPBOXSECRETSERVICE._serialized_start=183
-  _DROPBOXSECRETSERVICE._serialized_end=905
+  _DROPBOXSECRETSERVICE._serialized_start=124
+  _DROPBOXSECRETSERVICE._serialized_end=836
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2_grpc.py
index 78ea5c5..fb4785e 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxSecretService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.dropbox import DropboxCredential_pb2 as dropbox_dot_DropboxCredential__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class DropboxSecretServiceStub(object):
@@ -28,12 +27,12 @@ class DropboxSecretServiceStub(object):
         self.updateDropboxSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.dropbox.DropboxSecretService/updateDropboxSecret',
                 request_serializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateResponse.FromString,
                 )
         self.deleteDropboxSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.dropbox.DropboxSecretService/deleteDropboxSecret',
                 request_serializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_DropboxSecretServiceServicer_to_server(servicer, server):
             'updateDropboxSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateDropboxSecret,
                     request_deserializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateResponse.SerializeToString,
             ),
             'deleteDropboxSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteDropboxSecret,
                     request_deserializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class DropboxSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.dropbox.DropboxSecretService/updateDropboxSecret',
             dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            dropbox_dot_DropboxCredential__pb2.DropboxSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class DropboxSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.dropbox.DropboxSecretService/deleteDropboxSecret',
             dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            dropbox_dot_DropboxCredential__pb2.DropboxSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2.py
index 56b8cab..88e99d6 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.dropbox import DropboxStorage_pb2 as dropbox_dot_DropboxStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#dropbox/DropboxStorageService.proto\x12\x30org.apache.airavata.mft.resource.service.dropbox\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1c\x64ropbox/DropboxStorage.proto2\x8f\x08\n\x15\x44ropboxStorageService\x12\xe3\x01\n\x12listDropboxStorage\x12Q.org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListRequest\x1aR.org.apache.airavata.mft.resource.stubs.dropbox.storage.Dropbo [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#dropbox/DropboxStorageService.proto\x12\x30org.apache.airavata.mft.resource.service.dropbox\x1a\x1c\x64ropbox/DropboxStorage.proto2\xc3\x07\n\x15\x44ropboxStorageService\x12\xbb\x01\n\x12listDropboxStorage\x12Q.org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListRequest\x1aR.org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListResponse\x12\xad\x01\n\x11getDropboxStorage\x12P.org.apache [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _DROPBOXSTORAGESERVICE.methods_by_name['listDropboxStorage']._options = None
-  _DROPBOXSTORAGESERVICE.methods_by_name['listDropboxStorage']._serialized_options = b'\202\323\344\223\002 \022\036/v1.0/resource/dropbox/storage'
-  _DROPBOXSTORAGESERVICE.methods_by_name['getDropboxStorage']._options = None
-  _DROPBOXSTORAGESERVICE.methods_by_name['getDropboxStorage']._serialized_options = b'\202\323\344\223\002 \022\036/v1.0/resource/dropbox/storage'
-  _DROPBOXSTORAGESERVICE.methods_by_name['createDropboxStorage']._options = None
-  _DROPBOXSTORAGESERVICE.methods_by_name['createDropboxStorage']._serialized_options = b'\202\323\344\223\002 \"\036/v1.0/resource/dropbox/storage'
-  _DROPBOXSTORAGESERVICE.methods_by_name['updateDropboxStorage']._options = None
-  _DROPBOXSTORAGESERVICE.methods_by_name['updateDropboxStorage']._serialized_options = b'\202\323\344\223\002 \032\036/v1.0/resource/dropbox/storage'
-  _DROPBOXSTORAGESERVICE.methods_by_name['deleteDropboxStorage']._options = None
-  _DROPBOXSTORAGESERVICE.methods_by_name['deleteDropboxStorage']._serialized_options = b'\202\323\344\223\002 *\036/v1.0/resource/dropbox/storage'
-  _DROPBOXSTORAGESERVICE._serialized_start=179
-  _DROPBOXSTORAGESERVICE._serialized_end=1218
+  _DROPBOXSTORAGESERVICE._serialized_start=120
+  _DROPBOXSTORAGESERVICE._serialized_end=1083
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2_grpc.py
index a66c092..322d47b 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorageService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.dropbox import DropboxStorage_pb2 as dropbox_dot_DropboxStorage__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class DropboxStorageServiceStub(object):
@@ -33,12 +32,12 @@ class DropboxStorageServiceStub(object):
         self.updateDropboxStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.dropbox.DropboxStorageService/updateDropboxStorage',
                 request_serializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateResponse.FromString,
                 )
         self.deleteDropboxStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.dropbox.DropboxStorageService/deleteDropboxStorage',
                 request_serializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteResponse.FromString,
                 )
 
 
@@ -97,12 +96,12 @@ def add_DropboxStorageServiceServicer_to_server(servicer, server):
             'updateDropboxStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateDropboxStorage,
                     request_deserializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateResponse.SerializeToString,
             ),
             'deleteDropboxStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteDropboxStorage,
                     request_deserializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -178,7 +177,7 @@ class DropboxStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.dropbox.DropboxStorageService/updateDropboxStorage',
             dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            dropbox_dot_DropboxStorage__pb2.DropboxStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -195,6 +194,6 @@ class DropboxStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.dropbox.DropboxStorageService/deleteDropboxStorage',
             dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            dropbox_dot_DropboxStorage__pb2.DropboxStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorage_pb2.py
index dc84fe0..3c008be 100644
--- a/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/dropbox/DropboxStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64ropbox/DropboxStorage.proto\x12\x36org.apache.airavata.mft.resource.stubs.dropbox.storage\"1\n\x0e\x44ropboxStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\":\n\x19\x44ropboxStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"v\n\x1a\x44ropboxStorageListResponse\x12X\n\x08storages\x18\x01 \x03(\x0b\x32\x46.org.apache.airavata.mft.resource.stubs.dro [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64ropbox/DropboxStorage.proto\x12\x36org.apache.airavata.mft.resource.stubs.dropbox.storage\"1\n\x0e\x44ropboxStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\":\n\x19\x44ropboxStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"v\n\x1a\x44ropboxStorageListResponse\x12X\n\x08storages\x18\x01 \x03(\x0b\x32\x46.org.apache.airavata.mft.resource.stubs.dro [...]
 
 
 
@@ -24,7 +24,9 @@ _DROPBOXSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['DropboxStorageLi
 _DROPBOXSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['DropboxStorageGetRequest']
 _DROPBOXSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['DropboxStorageCreateRequest']
 _DROPBOXSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['DropboxStorageUpdateRequest']
+_DROPBOXSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['DropboxStorageUpdateResponse']
 _DROPBOXSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['DropboxStorageDeleteRequest']
+_DROPBOXSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['DropboxStorageDeleteResponse']
 DropboxStorage = _reflection.GeneratedProtocolMessageType('DropboxStorage', (_message.Message,), {
   'DESCRIPTOR' : _DROPBOXSTORAGE,
   '__module__' : 'dropbox.DropboxStorage_pb2'
@@ -67,6 +69,13 @@ DropboxStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('DropboxS
   })
 _sym_db.RegisterMessage(DropboxStorageUpdateRequest)
 
+DropboxStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('DropboxStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DROPBOXSTORAGEUPDATERESPONSE,
+  '__module__' : 'dropbox.DropboxStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(DropboxStorageUpdateResponse)
+
 DropboxStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('DropboxStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _DROPBOXSTORAGEDELETEREQUEST,
   '__module__' : 'dropbox.DropboxStorage_pb2'
@@ -74,6 +83,13 @@ DropboxStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('DropboxS
   })
 _sym_db.RegisterMessage(DropboxStorageDeleteRequest)
 
+DropboxStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('DropboxStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DROPBOXSTORAGEDELETERESPONSE,
+  '__module__' : 'dropbox.DropboxStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(DropboxStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _DROPBOXSTORAGECREATEREQUEST._serialized_end=428
   _DROPBOXSTORAGEUPDATEREQUEST._serialized_start=430
   _DROPBOXSTORAGEUPDATEREQUEST._serialized_end=492
-  _DROPBOXSTORAGEDELETEREQUEST._serialized_start=494
-  _DROPBOXSTORAGEDELETEREQUEST._serialized_end=542
+  _DROPBOXSTORAGEUPDATERESPONSE._serialized_start=494
+  _DROPBOXSTORAGEUPDATERESPONSE._serialized_end=543
+  _DROPBOXSTORAGEDELETEREQUEST._serialized_start=545
+  _DROPBOXSTORAGEDELETEREQUEST._serialized_end=593
+  _DROPBOXSTORAGEDELETERESPONSE._serialized_start=595
+  _DROPBOXSTORAGEDELETERESPONSE._serialized_end=641
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPCredential_pb2.py
index efd5ea5..aa253b9 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66tp/FTPCredential.proto\x12,org.apache.airavata.mft.credential.stubs.ftp\x1a\x10\x43redCommon.proto\"?\n\tFTPSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"f\n\x13\x46TPSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"y\n\x16\x46TPSecretCreateRequest\x12\x0e\n [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66tp/FTPCredential.proto\x12,org.apache.airavata.mft.credential.stubs.ftp\x1a\x10\x43redCommon.proto\"?\n\tFTPSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x0e\n\x06userId\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"f\n\x13\x46TPSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"y\n\x16\x46TPSecretCreateRequest\x12\x0e\n [...]
 
 
 
@@ -23,7 +23,9 @@ _FTPSECRET = DESCRIPTOR.message_types_by_name['FTPSecret']
 _FTPSECRETGETREQUEST = DESCRIPTOR.message_types_by_name['FTPSecretGetRequest']
 _FTPSECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['FTPSecretCreateRequest']
 _FTPSECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['FTPSecretUpdateRequest']
+_FTPSECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['FTPSecretUpdateResponse']
 _FTPSECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['FTPSecretDeleteRequest']
+_FTPSECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['FTPSecretDeleteResponse']
 FTPSecret = _reflection.GeneratedProtocolMessageType('FTPSecret', (_message.Message,), {
   'DESCRIPTOR' : _FTPSECRET,
   '__module__' : 'ftp.FTPCredential_pb2'
@@ -52,6 +54,13 @@ FTPSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('FTPSecretUpda
   })
 _sym_db.RegisterMessage(FTPSecretUpdateRequest)
 
+FTPSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('FTPSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FTPSECRETUPDATERESPONSE,
+  '__module__' : 'ftp.FTPCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.ftp.FTPSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(FTPSecretUpdateResponse)
+
 FTPSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('FTPSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _FTPSECRETDELETEREQUEST,
   '__module__' : 'ftp.FTPCredential_pb2'
@@ -59,6 +68,13 @@ FTPSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('FTPSecretDele
   })
 _sym_db.RegisterMessage(FTPSecretDeleteRequest)
 
+FTPSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('FTPSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FTPSECRETDELETERESPONSE,
+  '__module__' : 'ftp.FTPCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.ftp.FTPSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(FTPSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _FTPSECRETCREATEREQUEST._serialized_end=381
   _FTPSECRETUPDATEREQUEST._serialized_start=384
   _FTPSECRETUPDATEREQUEST._serialized_end=523
-  _FTPSECRETDELETEREQUEST._serialized_start=525
-  _FTPSECRETDELETEREQUEST._serialized_end=630
+  _FTPSECRETUPDATERESPONSE._serialized_start=525
+  _FTPSECRETUPDATERESPONSE._serialized_end=568
+  _FTPSECRETDELETEREQUEST._serialized_start=570
+  _FTPSECRETDELETEREQUEST._serialized_end=675
+  _FTPSECRETDELETERESPONSE._serialized_start=677
+  _FTPSECRETDELETERESPONSE._serialized_end=718
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2.py
index b547ba0..ceb8793 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.ftp import FTPCredential_pb2 as ftp_dot_FTPCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66tp/FTPSecretService.proto\x12.org.apache.airavata.mft.credential.service.ftp\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17\x66tp/FTPCredential.proto2\xfe\x04\n\x10\x46TPSecretService\x12\xa4\x01\n\x0cgetFTPSecret\x12\x41.org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.ftp.FTPSecret\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66tp/FTPSecretService.proto\x12.org.apache.airavata.mft.credential.service.ftp\x1a\x17\x66tp/FTPCredential.proto2\xf4\x04\n\x10\x46TPSecretService\x12\x8a\x01\n\x0cgetFTPSecret\x12\x41.org.apache.airavata.mft.credential.stubs.ftp.FTPSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.ftp.FTPSecret\x12\x90\x01\n\x0f\x63reateFTPSecret\x12\x44.org.apache.airavata.mft.credential.stubs.ftp.FTPSecretCreateRequest [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _FTPSECRETSERVICE.methods_by_name['getFTPSecret']._options = None
-  _FTPSECRETSERVICE.methods_by_name['getFTPSecret']._serialized_options = b'\202\323\344\223\002\022\022\020/v1.0/secret/ftp'
-  _FTPSECRETSERVICE.methods_by_name['createFTPSecret']._options = None
-  _FTPSECRETSERVICE.methods_by_name['createFTPSecret']._serialized_options = b'\202\323\344\223\002\022\"\020/v1.0/secret/ftp'
-  _FTPSECRETSERVICE.methods_by_name['updateFTPSecret']._options = None
-  _FTPSECRETSERVICE.methods_by_name['updateFTPSecret']._serialized_options = b'\202\323\344\223\002\022\032\020/v1.0/secret/ftp'
-  _FTPSECRETSERVICE.methods_by_name['deleteFTPSecret']._options = None
-  _FTPSECRETSERVICE.methods_by_name['deleteFTPSecret']._serialized_options = b'\202\323\344\223\002\022*\020/v1.0/secret/ftp'
-  _FTPSECRETSERVICE._serialized_start=163
-  _FTPSECRETSERVICE._serialized_end=801
+  _FTPSECRETSERVICE._serialized_start=104
+  _FTPSECRETSERVICE._serialized_end=732
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2_grpc.py
index 36d39aa..4e4c8a9 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPSecretService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.ftp import FTPCredential_pb2 as ftp_dot_FTPCredential__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class FTPSecretServiceStub(object):
@@ -28,12 +27,12 @@ class FTPSecretServiceStub(object):
         self.updateFTPSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.ftp.FTPSecretService/updateFTPSecret',
                 request_serializer=ftp_dot_FTPCredential__pb2.FTPSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=ftp_dot_FTPCredential__pb2.FTPSecretUpdateResponse.FromString,
                 )
         self.deleteFTPSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.ftp.FTPSecretService/deleteFTPSecret',
                 request_serializer=ftp_dot_FTPCredential__pb2.FTPSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=ftp_dot_FTPCredential__pb2.FTPSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_FTPSecretServiceServicer_to_server(servicer, server):
             'updateFTPSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateFTPSecret,
                     request_deserializer=ftp_dot_FTPCredential__pb2.FTPSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=ftp_dot_FTPCredential__pb2.FTPSecretUpdateResponse.SerializeToString,
             ),
             'deleteFTPSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteFTPSecret,
                     request_deserializer=ftp_dot_FTPCredential__pb2.FTPSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=ftp_dot_FTPCredential__pb2.FTPSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class FTPSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.ftp.FTPSecretService/updateFTPSecret',
             ftp_dot_FTPCredential__pb2.FTPSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            ftp_dot_FTPCredential__pb2.FTPSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class FTPSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.ftp.FTPSecretService/deleteFTPSecret',
             ftp_dot_FTPCredential__pb2.FTPSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            ftp_dot_FTPCredential__pb2.FTPSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2.py
index 39ed558..21ca6d9 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.ftp import FTPStorage_pb2 as ftp_dot_FTPStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66tp/FTPStorageService.proto\x12,org.apache.airavata.mft.resource.service.ftp\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14\x66tp/FTPStorage.proto2\xa3\x07\n\x11\x46TPStorageService\x12\xcb\x01\n\x0elistFTPStorage\x12I.org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListResponse\"\"\x82\xd3\xe4\x93\ [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66tp/FTPStorageService.proto\x12,org.apache.airavata.mft.resource.service.ftp\x1a\x14\x66tp/FTPStorage.proto2\xdb\x06\n\x11\x46TPStorageService\x12\xa7\x01\n\x0elistFTPStorage\x12I.org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListResponse\x12\x99\x01\n\rgetFTPStorage\x12H.org.apache.airavata.mft.resource.stubs.ftp.storage.FTPSto [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _FTPSTORAGESERVICE.methods_by_name['listFTPStorage']._options = None
-  _FTPSTORAGESERVICE.methods_by_name['listFTPStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/ftp/storage'
-  _FTPSTORAGESERVICE.methods_by_name['getFTPStorage']._options = None
-  _FTPSTORAGESERVICE.methods_by_name['getFTPStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/ftp/storage'
-  _FTPSTORAGESERVICE.methods_by_name['createFTPStorage']._options = None
-  _FTPSTORAGESERVICE.methods_by_name['createFTPStorage']._serialized_options = b'\202\323\344\223\002\034\"\032/v1.0/resource/ftp/storage'
-  _FTPSTORAGESERVICE.methods_by_name['updateFTPStorage']._options = None
-  _FTPSTORAGESERVICE.methods_by_name['updateFTPStorage']._serialized_options = b'\202\323\344\223\002\034\032\032/v1.0/resource/ftp/storage'
-  _FTPSTORAGESERVICE.methods_by_name['deleteFTPStorage']._options = None
-  _FTPSTORAGESERVICE.methods_by_name['deleteFTPStorage']._serialized_options = b'\202\323\344\223\002\034*\032/v1.0/resource/ftp/storage'
-  _FTPSTORAGESERVICE._serialized_start=159
-  _FTPSTORAGESERVICE._serialized_end=1090
+  _FTPSTORAGESERVICE._serialized_start=100
+  _FTPSTORAGESERVICE._serialized_end=959
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2_grpc.py
index 4b188f0..33788eb 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorageService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.ftp import FTPStorage_pb2 as ftp_dot_FTPStorage__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class FTPStorageServiceStub(object):
@@ -33,12 +32,12 @@ class FTPStorageServiceStub(object):
         self.updateFTPStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.ftp.FTPStorageService/updateFTPStorage',
                 request_serializer=ftp_dot_FTPStorage__pb2.FTPStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=ftp_dot_FTPStorage__pb2.FTPStorageUpdateResponse.FromString,
                 )
         self.deleteFTPStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.ftp.FTPStorageService/deleteFTPStorage',
                 request_serializer=ftp_dot_FTPStorage__pb2.FTPStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=ftp_dot_FTPStorage__pb2.FTPStorageDeleteResponse.FromString,
                 )
 
 
@@ -96,12 +95,12 @@ def add_FTPStorageServiceServicer_to_server(servicer, server):
             'updateFTPStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateFTPStorage,
                     request_deserializer=ftp_dot_FTPStorage__pb2.FTPStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=ftp_dot_FTPStorage__pb2.FTPStorageUpdateResponse.SerializeToString,
             ),
             'deleteFTPStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteFTPStorage,
                     request_deserializer=ftp_dot_FTPStorage__pb2.FTPStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=ftp_dot_FTPStorage__pb2.FTPStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -177,7 +176,7 @@ class FTPStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.ftp.FTPStorageService/updateFTPStorage',
             ftp_dot_FTPStorage__pb2.FTPStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            ftp_dot_FTPStorage__pb2.FTPStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -194,6 +193,6 @@ class FTPStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.ftp.FTPStorageService/deleteFTPStorage',
             ftp_dot_FTPStorage__pb2.FTPStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            ftp_dot_FTPStorage__pb2.FTPStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorage_pb2.py
index 0fcd418..2a592e9 100644
--- a/python-sdk/src/airavata_mft_sdk/ftp/FTPStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/ftp/FTPStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66tp/FTPStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.ftp.storage\"I\n\nFTPStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\"6\n\x15\x46TPStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16\x46TPStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org. [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x66tp/FTPStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.ftp.storage\"I\n\nFTPStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\"6\n\x15\x46TPStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16\x46TPStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org. [...]
 
 
 
@@ -24,7 +24,9 @@ _FTPSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['FTPStorageListRespon
 _FTPSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['FTPStorageGetRequest']
 _FTPSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['FTPStorageCreateRequest']
 _FTPSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['FTPStorageUpdateRequest']
+_FTPSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['FTPStorageUpdateResponse']
 _FTPSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['FTPStorageDeleteRequest']
+_FTPSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['FTPStorageDeleteResponse']
 FTPStorage = _reflection.GeneratedProtocolMessageType('FTPStorage', (_message.Message,), {
   'DESCRIPTOR' : _FTPSTORAGE,
   '__module__' : 'ftp.FTPStorage_pb2'
@@ -67,6 +69,13 @@ FTPStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('FTPStorageUp
   })
 _sym_db.RegisterMessage(FTPStorageUpdateRequest)
 
+FTPStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('FTPStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FTPSTORAGEUPDATERESPONSE,
+  '__module__' : 'ftp.FTPStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(FTPStorageUpdateResponse)
+
 FTPStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('FTPStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _FTPSTORAGEDELETEREQUEST,
   '__module__' : 'ftp.FTPStorage_pb2'
@@ -74,6 +83,13 @@ FTPStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('FTPStorageDe
   })
 _sym_db.RegisterMessage(FTPStorageDeleteRequest)
 
+FTPStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('FTPStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FTPSTORAGEDELETERESPONSE,
+  '__module__' : 'ftp.FTPStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(FTPStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _FTPSTORAGECREATEREQUEST._serialized_end=444
   _FTPSTORAGEUPDATEREQUEST._serialized_start=446
   _FTPSTORAGEUPDATEREQUEST._serialized_end=532
-  _FTPSTORAGEDELETEREQUEST._serialized_start=534
-  _FTPSTORAGEDELETEREQUEST._serialized_end=578
+  _FTPSTORAGEUPDATERESPONSE._serialized_start=534
+  _FTPSTORAGEUPDATERESPONSE._serialized_end=579
+  _FTPSTORAGEDELETEREQUEST._serialized_start=581
+  _FTPSTORAGEDELETEREQUEST._serialized_end=625
+  _FTPSTORAGEDELETERESPONSE._serialized_start=627
+  _FTPSTORAGEDELETERESPONSE._serialized_end=669
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSCredential_pb2.py
index f9208dd..2dff5da 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17gcs/GCSCredential.proto\x12,org.apache.airavata.mft.credential.stubs.gcs\x1a\x10\x43redCommon.proto\"6\n\tGCSSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x17\n\x0f\x63redentialsJson\x18\x02 \x01(\t\"f\n\x13GCSSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"p\n\x16GCSSecretCreateRequest\x12\x17\n\x0f\x63redentialsJson\x18\x01 \x01 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17gcs/GCSCredential.proto\x12,org.apache.airavata.mft.credential.stubs.gcs\x1a\x10\x43redCommon.proto\"6\n\tGCSSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x17\n\x0f\x63redentialsJson\x18\x02 \x01(\t\"f\n\x13GCSSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"p\n\x16GCSSecretCreateRequest\x12\x17\n\x0f\x63redentialsJson\x18\x01 \x01 [...]
 
 
 
@@ -23,7 +23,9 @@ _GCSSECRET = DESCRIPTOR.message_types_by_name['GCSSecret']
 _GCSSECRETGETREQUEST = DESCRIPTOR.message_types_by_name['GCSSecretGetRequest']
 _GCSSECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['GCSSecretCreateRequest']
 _GCSSECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['GCSSecretUpdateRequest']
+_GCSSECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['GCSSecretUpdateResponse']
 _GCSSECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['GCSSecretDeleteRequest']
+_GCSSECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['GCSSecretDeleteResponse']
 GCSSecret = _reflection.GeneratedProtocolMessageType('GCSSecret', (_message.Message,), {
   'DESCRIPTOR' : _GCSSECRET,
   '__module__' : 'gcs.GCSCredential_pb2'
@@ -52,6 +54,13 @@ GCSSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('GCSSecretUpda
   })
 _sym_db.RegisterMessage(GCSSecretUpdateRequest)
 
+GCSSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('GCSSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GCSSECRETUPDATERESPONSE,
+  '__module__' : 'gcs.GCSCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.gcs.GCSSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(GCSSecretUpdateResponse)
+
 GCSSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('GCSSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _GCSSECRETDELETEREQUEST,
   '__module__' : 'gcs.GCSCredential_pb2'
@@ -59,6 +68,13 @@ GCSSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('GCSSecretDele
   })
 _sym_db.RegisterMessage(GCSSecretDeleteRequest)
 
+GCSSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('GCSSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GCSSECRETDELETERESPONSE,
+  '__module__' : 'gcs.GCSCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.gcs.GCSSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(GCSSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _GCSSECRETCREATEREQUEST._serialized_end=363
   _GCSSECRETUPDATEREQUEST._serialized_start=366
   _GCSSECRETUPDATEREQUEST._serialized_end=496
-  _GCSSECRETDELETEREQUEST._serialized_start=498
-  _GCSSECRETDELETEREQUEST._serialized_end=603
+  _GCSSECRETUPDATERESPONSE._serialized_start=498
+  _GCSSECRETUPDATERESPONSE._serialized_end=541
+  _GCSSECRETDELETEREQUEST._serialized_start=543
+  _GCSSECRETDELETEREQUEST._serialized_end=648
+  _GCSSECRETDELETERESPONSE._serialized_start=650
+  _GCSSECRETDELETERESPONSE._serialized_end=691
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2.py
index c1df561..bbc606b 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.gcs import GCSCredential_pb2 as gcs_dot_GCSCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1agcs/GCSSecretService.proto\x12.org.apache.airavata.mft.credential.service.gcs\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17gcs/GCSCredential.proto2\xfe\x04\n\x10GCSSecretService\x12\xa4\x01\n\x0cgetGCSSecret\x12\x41.org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.gcs.GCSSecret\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1.0/secret [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1agcs/GCSSecretService.proto\x12.org.apache.airavata.mft.credential.service.gcs\x1a\x17gcs/GCSCredential.proto2\xf4\x04\n\x10GCSSecretService\x12\x8a\x01\n\x0cgetGCSSecret\x12\x41.org.apache.airavata.mft.credential.stubs.gcs.GCSSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.gcs.GCSSecret\x12\x90\x01\n\x0f\x63reateGCSSecret\x12\x44.org.apache.airavata.mft.credential.stubs.gcs.GCSSecretCreateRequest\x1a\x37. [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _GCSSECRETSERVICE.methods_by_name['getGCSSecret']._options = None
-  _GCSSECRETSERVICE.methods_by_name['getGCSSecret']._serialized_options = b'\202\323\344\223\002\022\022\020/v1.0/secret/gcs'
-  _GCSSECRETSERVICE.methods_by_name['createGCSSecret']._options = None
-  _GCSSECRETSERVICE.methods_by_name['createGCSSecret']._serialized_options = b'\202\323\344\223\002\022\"\020/v1.0/secret/gcs'
-  _GCSSECRETSERVICE.methods_by_name['updateGCSSecret']._options = None
-  _GCSSECRETSERVICE.methods_by_name['updateGCSSecret']._serialized_options = b'\202\323\344\223\002\022\032\020/v1.0/secret/gcs'
-  _GCSSECRETSERVICE.methods_by_name['deleteGCSSecret']._options = None
-  _GCSSECRETSERVICE.methods_by_name['deleteGCSSecret']._serialized_options = b'\202\323\344\223\002\022*\020/v1.0/secret/gcs'
-  _GCSSECRETSERVICE._serialized_start=163
-  _GCSSECRETSERVICE._serialized_end=801
+  _GCSSECRETSERVICE._serialized_start=104
+  _GCSSECRETSERVICE._serialized_end=732
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2_grpc.py
index 9738484..5aec0a6 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSSecretService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.gcs import GCSCredential_pb2 as gcs_dot_GCSCredential__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class GCSSecretServiceStub(object):
@@ -28,12 +27,12 @@ class GCSSecretServiceStub(object):
         self.updateGCSSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.gcs.GCSSecretService/updateGCSSecret',
                 request_serializer=gcs_dot_GCSCredential__pb2.GCSSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=gcs_dot_GCSCredential__pb2.GCSSecretUpdateResponse.FromString,
                 )
         self.deleteGCSSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.gcs.GCSSecretService/deleteGCSSecret',
                 request_serializer=gcs_dot_GCSCredential__pb2.GCSSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=gcs_dot_GCSCredential__pb2.GCSSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_GCSSecretServiceServicer_to_server(servicer, server):
             'updateGCSSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateGCSSecret,
                     request_deserializer=gcs_dot_GCSCredential__pb2.GCSSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=gcs_dot_GCSCredential__pb2.GCSSecretUpdateResponse.SerializeToString,
             ),
             'deleteGCSSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteGCSSecret,
                     request_deserializer=gcs_dot_GCSCredential__pb2.GCSSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=gcs_dot_GCSCredential__pb2.GCSSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class GCSSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.gcs.GCSSecretService/updateGCSSecret',
             gcs_dot_GCSCredential__pb2.GCSSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            gcs_dot_GCSCredential__pb2.GCSSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class GCSSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.gcs.GCSSecretService/deleteGCSSecret',
             gcs_dot_GCSCredential__pb2.GCSSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            gcs_dot_GCSCredential__pb2.GCSSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2.py
index e271158..ee4ee66 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.gcs import GCSStorage_pb2 as gcs_dot_GCSStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgcs/GCSStorageService.proto\x12,org.apache.airavata.mft.resource.service.gcs\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14gcs/GCSStorage.proto2\xa3\x07\n\x11GCSStorageService\x12\xcb\x01\n\x0elistGCSStorage\x12I.org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgcs/GCSStorageService.proto\x12,org.apache.airavata.mft.resource.service.gcs\x1a\x14gcs/GCSStorage.proto2\xdb\x06\n\x11GCSStorageService\x12\xa7\x01\n\x0elistGCSStorage\x12I.org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListResponse\x12\x99\x01\n\rgetGCSStorage\x12H.org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageGetRe [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _GCSSTORAGESERVICE.methods_by_name['listGCSStorage']._options = None
-  _GCSSTORAGESERVICE.methods_by_name['listGCSStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/gcs/storage'
-  _GCSSTORAGESERVICE.methods_by_name['getGCSStorage']._options = None
-  _GCSSTORAGESERVICE.methods_by_name['getGCSStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/gcs/storage'
-  _GCSSTORAGESERVICE.methods_by_name['createGCSStorage']._options = None
-  _GCSSTORAGESERVICE.methods_by_name['createGCSStorage']._serialized_options = b'\202\323\344\223\002\034\"\032/v1.0/resource/gcs/storage'
-  _GCSSTORAGESERVICE.methods_by_name['updateGCSStorage']._options = None
-  _GCSSTORAGESERVICE.methods_by_name['updateGCSStorage']._serialized_options = b'\202\323\344\223\002\034\032\032/v1.0/resource/gcs/storage'
-  _GCSSTORAGESERVICE.methods_by_name['deleteGCSStorage']._options = None
-  _GCSSTORAGESERVICE.methods_by_name['deleteGCSStorage']._serialized_options = b'\202\323\344\223\002\034*\032/v1.0/resource/gcs/storage'
-  _GCSSTORAGESERVICE._serialized_start=159
-  _GCSSTORAGESERVICE._serialized_end=1090
+  _GCSSTORAGESERVICE._serialized_start=100
+  _GCSSTORAGESERVICE._serialized_end=959
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2_grpc.py
index 576825d..9eae9f5 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorageService_pb2_grpc.py
@@ -3,7 +3,6 @@
 import grpc
 
 from airavata_mft_sdk.gcs import GCSStorage_pb2 as gcs_dot_GCSStorage__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
 class GCSStorageServiceStub(object):
@@ -33,12 +32,12 @@ class GCSStorageServiceStub(object):
         self.updateGCSStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.gcs.GCSStorageService/updateGCSStorage',
                 request_serializer=gcs_dot_GCSStorage__pb2.GCSStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=gcs_dot_GCSStorage__pb2.GCSStorageUpdateResponse.FromString,
                 )
         self.deleteGCSStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.gcs.GCSStorageService/deleteGCSStorage',
                 request_serializer=gcs_dot_GCSStorage__pb2.GCSStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=gcs_dot_GCSStorage__pb2.GCSStorageDeleteResponse.FromString,
                 )
 
 
@@ -96,12 +95,12 @@ def add_GCSStorageServiceServicer_to_server(servicer, server):
             'updateGCSStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateGCSStorage,
                     request_deserializer=gcs_dot_GCSStorage__pb2.GCSStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=gcs_dot_GCSStorage__pb2.GCSStorageUpdateResponse.SerializeToString,
             ),
             'deleteGCSStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteGCSStorage,
                     request_deserializer=gcs_dot_GCSStorage__pb2.GCSStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=gcs_dot_GCSStorage__pb2.GCSStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -177,7 +176,7 @@ class GCSStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.gcs.GCSStorageService/updateGCSStorage',
             gcs_dot_GCSStorage__pb2.GCSStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            gcs_dot_GCSStorage__pb2.GCSStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -194,6 +193,6 @@ class GCSStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.gcs.GCSStorageService/deleteGCSStorage',
             gcs_dot_GCSStorage__pb2.GCSStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            gcs_dot_GCSStorage__pb2.GCSStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorage_pb2.py
index e248483..78c6072 100644
--- a/python-sdk/src/airavata_mft_sdk/gcs/GCSStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/gcs/GCSStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14gcs/GCSStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.gcs.storage\"A\n\nGCSStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x12\n\nbucketName\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"6\n\x15GCSStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16GCSStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.airavata.mft.resource.stubs.gcs.st [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14gcs/GCSStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.gcs.storage\"A\n\nGCSStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x12\n\nbucketName\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"6\n\x15GCSStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16GCSStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.airavata.mft.resource.stubs.gcs.st [...]
 
 
 
@@ -24,7 +24,9 @@ _GCSSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['GCSStorageListRespon
 _GCSSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['GCSStorageGetRequest']
 _GCSSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['GCSStorageCreateRequest']
 _GCSSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['GCSStorageUpdateRequest']
+_GCSSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['GCSStorageUpdateResponse']
 _GCSSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['GCSStorageDeleteRequest']
+_GCSSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['GCSStorageDeleteResponse']
 GCSStorage = _reflection.GeneratedProtocolMessageType('GCSStorage', (_message.Message,), {
   'DESCRIPTOR' : _GCSSTORAGE,
   '__module__' : 'gcs.GCSStorage_pb2'
@@ -67,6 +69,13 @@ GCSStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('GCSStorageUp
   })
 _sym_db.RegisterMessage(GCSStorageUpdateRequest)
 
+GCSStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('GCSStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GCSSTORAGEUPDATERESPONSE,
+  '__module__' : 'gcs.GCSStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(GCSStorageUpdateResponse)
+
 GCSStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('GCSStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _GCSSTORAGEDELETEREQUEST,
   '__module__' : 'gcs.GCSStorage_pb2'
@@ -74,6 +83,13 @@ GCSStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('GCSStorageDe
   })
 _sym_db.RegisterMessage(GCSStorageDeleteRequest)
 
+GCSStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('GCSStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GCSSTORAGEDELETERESPONSE,
+  '__module__' : 'gcs.GCSStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(GCSStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _GCSSTORAGECREATEREQUEST._serialized_end=428
   _GCSSTORAGEUPDATEREQUEST._serialized_start=430
   _GCSSTORAGEUPDATEREQUEST._serialized_end=508
-  _GCSSTORAGEDELETEREQUEST._serialized_start=510
-  _GCSSTORAGEDELETEREQUEST._serialized_end=554
+  _GCSSTORAGEUPDATERESPONSE._serialized_start=510
+  _GCSSTORAGEUPDATERESPONSE._serialized_end=555
+  _GCSSTORAGEDELETEREQUEST._serialized_start=557
+  _GCSSTORAGEDELETEREQUEST._serialized_end=601
+  _GCSSTORAGEDELETERESPONSE._serialized_start=603
+  _GCSSTORAGEDELETERESPONSE._serialized_end=645
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/google/__init__.py b/python-sdk/src/airavata_mft_sdk/google/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/python-sdk/src/airavata_mft_sdk/google/api/__init__.py b/python-sdk/src/airavata_mft_sdk/google/api/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/python-sdk/src/airavata_mft_sdk/google/api/annotations.proto b/python-sdk/src/airavata_mft_sdk/google/api/annotations.proto
deleted file mode 100644
index efdab3d..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/api/annotations.proto
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2015 Google LLC
-//
-// Licensed 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";
-
-package google.api;
-
-import "google/api/http.proto";
-import "google/protobuf/descriptor.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
-option java_multiple_files = true;
-option java_outer_classname = "AnnotationsProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-extend google.protobuf.MethodOptions {
-  // See `HttpRule`.
-  HttpRule http = 72295728;
-}
diff --git a/python-sdk/src/airavata_mft_sdk/google/api/annotations_pb2.py b/python-sdk/src/airavata_mft_sdk/google/api/annotations_pb2.py
deleted file mode 100644
index c7e1a0f..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/api/annotations_pb2.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: google/api/annotations.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from google.api import http_pb2 as google_dot_api_dot_http__pb2
-from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='google/api/annotations.proto',
-  package='google.api',
-  syntax='proto3',
-  serialized_pb=_b('\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:E\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleB+\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01\xa2\x02\x04GAPIb\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_http__pb2.DESCRIPTOR,google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-HTTP_FIELD_NUMBER = 72295728
-http = _descriptor.FieldDescriptor(
-  name='http', full_name='google.api.http', index=0,
-  number=72295728, type=11, cpp_type=10, label=1,
-  has_default_value=False, default_value=None,
-  message_type=None, enum_type=None, containing_type=None,
-  is_extension=True, extension_scope=None,
-  options=None)
-
-DESCRIPTOR.extensions_by_name['http'] = http
-
-http.message_type = google_dot_api_dot_http__pb2._HTTPRULE
-google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(http)
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\016com.google.apiB\020AnnotationsProtoP\001\242\002\004GAPI'))
-# @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/google/api/http.proto b/python-sdk/src/airavata_mft_sdk/google/api/http.proto
deleted file mode 100644
index 113fa93..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/api/http.proto
+++ /dev/null
@@ -1,375 +0,0 @@
-// Copyright 2015 Google LLC
-//
-// Licensed 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";
-
-package google.api;
-
-option cc_enable_arenas = true;
-option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
-option java_multiple_files = true;
-option java_outer_classname = "HttpProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-// Defines the HTTP configuration for an API service. It contains a list of
-// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
-// to one or more HTTP REST API methods.
-message Http {
-  // A list of HTTP configuration rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated HttpRule rules = 1;
-
-  // When set to true, URL path parameters will be fully URI-decoded except in
-  // cases of single segment matches in reserved expansion, where "%2F" will be
-  // left encoded.
-  //
-  // The default behavior is to not decode RFC 6570 reserved characters in multi
-  // segment matches.
-  bool fully_decode_reserved_expansion = 2;
-}
-
-// # gRPC Transcoding
-//
-// gRPC Transcoding is a feature for mapping between a gRPC method and one or
-// more HTTP REST endpoints. It allows developers to build a single API service
-// that supports both gRPC APIs and REST APIs. Many systems, including [Google
-// APIs](https://github.com/googleapis/googleapis),
-// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
-// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
-// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
-// and use it for large scale production services.
-//
-// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
-// how different portions of the gRPC request message are mapped to the URL
-// path, URL query parameters, and HTTP request body. It also controls how the
-// gRPC response message is mapped to the HTTP response body. `HttpRule` is
-// typically specified as an `google.api.http` annotation on the gRPC method.
-//
-// Each mapping specifies a URL path template and an HTTP method. The path
-// template may refer to one or more fields in the gRPC request message, as long
-// as each field is a non-repeated field with a primitive (non-message) type.
-// The path template controls how fields of the request message are mapped to
-// the URL path.
-//
-// Example:
-//
-//     service Messaging {
-//       rpc GetMessage(GetMessageRequest) returns (Message) {
-//         option (google.api.http) = {
-//             get: "/v1/{name=messages/*}"
-//         };
-//       }
-//     }
-//     message GetMessageRequest {
-//       string name = 1; // Mapped to URL path.
-//     }
-//     message Message {
-//       string text = 1; // The resource content.
-//     }
-//
-// This enables an HTTP REST to gRPC mapping as below:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456`  | `GetMessage(name: "messages/123456")`
-//
-// Any fields in the request message which are not bound by the path template
-// automatically become HTTP query parameters if there is no HTTP request body.
-// For example:
-//
-//     service Messaging {
-//       rpc GetMessage(GetMessageRequest) returns (Message) {
-//         option (google.api.http) = {
-//             get:"/v1/messages/{message_id}"
-//         };
-//       }
-//     }
-//     message GetMessageRequest {
-//       message SubMessage {
-//         string subfield = 1;
-//       }
-//       string message_id = 1; // Mapped to URL path.
-//       int64 revision = 2;    // Mapped to URL query parameter `revision`.
-//       SubMessage sub = 3;    // Mapped to URL query parameter `sub.subfield`.
-//     }
-//
-// This enables a HTTP JSON to RPC mapping as below:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
-// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
-// "foo"))`
-//
-// Note that fields which are mapped to URL query parameters must have a
-// primitive type or a repeated primitive type or a non-repeated message type.
-// In the case of a repeated type, the parameter can be repeated in the URL
-// as `...?param=A&param=B`. In the case of a message type, each field of the
-// message is mapped to a separate parameter, such as
-// `...?foo.a=A&foo.b=B&foo.c=C`.
-//
-// For HTTP methods that allow a request body, the `body` field
-// specifies the mapping. Consider a REST update method on the
-// message resource collection:
-//
-//     service Messaging {
-//       rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-//         option (google.api.http) = {
-//           patch: "/v1/messages/{message_id}"
-//           body: "message"
-//         };
-//       }
-//     }
-//     message UpdateMessageRequest {
-//       string message_id = 1; // mapped to the URL
-//       Message message = 2;   // mapped to the body
-//     }
-//
-// The following HTTP JSON to RPC mapping is enabled, where the
-// representation of the JSON in the request body is determined by
-// protos JSON encoding:
-//
-// HTTP | gRPC
-// -----|-----
-// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
-// "123456" message { text: "Hi!" })`
-//
-// The special name `*` can be used in the body mapping to define that
-// every field not bound by the path template should be mapped to the
-// request body.  This enables the following alternative definition of
-// the update method:
-//
-//     service Messaging {
-//       rpc UpdateMessage(Message) returns (Message) {
-//         option (google.api.http) = {
-//           patch: "/v1/messages/{message_id}"
-//           body: "*"
-//         };
-//       }
-//     }
-//     message Message {
-//       string message_id = 1;
-//       string text = 2;
-//     }
-//
-//
-// The following HTTP JSON to RPC mapping is enabled:
-//
-// HTTP | gRPC
-// -----|-----
-// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
-// "123456" text: "Hi!")`
-//
-// Note that when using `*` in the body mapping, it is not possible to
-// have HTTP parameters, as all fields not bound by the path end in
-// the body. This makes this option more rarely used in practice when
-// defining REST APIs. The common usage of `*` is in custom methods
-// which don't use the URL at all for transferring data.
-//
-// It is possible to define multiple HTTP methods for one RPC by using
-// the `additional_bindings` option. Example:
-//
-//     service Messaging {
-//       rpc GetMessage(GetMessageRequest) returns (Message) {
-//         option (google.api.http) = {
-//           get: "/v1/messages/{message_id}"
-//           additional_bindings {
-//             get: "/v1/users/{user_id}/messages/{message_id}"
-//           }
-//         };
-//       }
-//     }
-//     message GetMessageRequest {
-//       string message_id = 1;
-//       string user_id = 2;
-//     }
-//
-// This enables the following two alternative HTTP JSON to RPC mappings:
-//
-// HTTP | gRPC
-// -----|-----
-// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
-// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
-// "123456")`
-//
-// ## Rules for HTTP mapping
-//
-// 1. Leaf request fields (recursive expansion nested messages in the request
-//    message) are classified into three categories:
-//    - Fields referred by the path template. They are passed via the URL path.
-//    - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
-//      request body.
-//    - All other fields are passed via the URL query parameters, and the
-//      parameter name is the field path in the request message. A repeated
-//      field can be represented as multiple query parameters under the same
-//      name.
-//  2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
-//     are passed via URL path and HTTP request body.
-//  3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
-//     fields are passed via URL path and URL query parameters.
-//
-// ### Path template syntax
-//
-//     Template = "/" Segments [ Verb ] ;
-//     Segments = Segment { "/" Segment } ;
-//     Segment  = "*" | "**" | LITERAL | Variable ;
-//     Variable = "{" FieldPath [ "=" Segments ] "}" ;
-//     FieldPath = IDENT { "." IDENT } ;
-//     Verb     = ":" LITERAL ;
-//
-// The syntax `*` matches a single URL path segment. The syntax `**` matches
-// zero or more URL path segments, which must be the last part of the URL path
-// except the `Verb`.
-//
-// The syntax `Variable` matches part of the URL path as specified by its
-// template. A variable template must not contain other variables. If a variable
-// matches a single path segment, its template may be omitted, e.g. `{var}`
-// is equivalent to `{var=*}`.
-//
-// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
-// contains any reserved character, such characters should be percent-encoded
-// before the matching.
-//
-// If a variable contains exactly one path segment, such as `"{var}"` or
-// `"{var=*}"`, when such a variable is expanded into a URL path on the client
-// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
-// server side does the reverse decoding. Such variables show up in the
-// [Discovery
-// Document](https://developers.google.com/discovery/v1/reference/apis) as
-// `{var}`.
-//
-// If a variable contains multiple path segments, such as `"{var=foo/*}"`
-// or `"{var=**}"`, when such a variable is expanded into a URL path on the
-// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
-// The server side does the reverse decoding, except "%2F" and "%2f" are left
-// unchanged. Such variables show up in the
-// [Discovery
-// Document](https://developers.google.com/discovery/v1/reference/apis) as
-// `{+var}`.
-//
-// ## Using gRPC API Service Configuration
-//
-// gRPC API Service Configuration (service config) is a configuration language
-// for configuring a gRPC service to become a user-facing product. The
-// service config is simply the YAML representation of the `google.api.Service`
-// proto message.
-//
-// As an alternative to annotating your proto file, you can configure gRPC
-// transcoding in your service config YAML files. You do this by specifying a
-// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
-// effect as the proto annotation. This can be particularly useful if you
-// have a proto that is reused in multiple services. Note that any transcoding
-// specified in the service config will override any matching transcoding
-// configuration in the proto.
-//
-// Example:
-//
-//     http:
-//       rules:
-//         # Selects a gRPC method and applies HttpRule to it.
-//         - selector: example.v1.Messaging.GetMessage
-//           get: /v1/messages/{message_id}/{sub.subfield}
-//
-// ## Special notes
-//
-// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
-// proto to JSON conversion must follow the [proto3
-// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
-//
-// While the single segment variable follows the semantics of
-// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
-// Expansion, the multi segment variable **does not** follow RFC 6570 Section
-// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
-// does not expand special characters like `?` and `#`, which would lead
-// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
-// for multi segment variables.
-//
-// The path variables **must not** refer to any repeated or mapped field,
-// because client libraries are not capable of handling such variable expansion.
-//
-// The path variables **must not** capture the leading "/" character. The reason
-// is that the most common use case "{var}" does not capture the leading "/"
-// character. For consistency, all path variables must share the same behavior.
-//
-// Repeated message fields must not be mapped to URL query parameters, because
-// no client library can support such complicated mapping.
-//
-// If an API needs to use a JSON array for request or response body, it can map
-// the request or response body to a repeated field. However, some gRPC
-// Transcoding implementations may not support this feature.
-message HttpRule {
-  // Selects a method to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Determines the URL pattern is matched by this rules. This pattern can be
-  // used with any of the {get|put|post|delete|patch} methods. A custom method
-  // can be defined using the 'custom' field.
-  oneof pattern {
-    // Maps to HTTP GET. Used for listing and getting information about
-    // resources.
-    string get = 2;
-
-    // Maps to HTTP PUT. Used for replacing a resource.
-    string put = 3;
-
-    // Maps to HTTP POST. Used for creating a resource or performing an action.
-    string post = 4;
-
-    // Maps to HTTP DELETE. Used for deleting a resource.
-    string delete = 5;
-
-    // Maps to HTTP PATCH. Used for updating a resource.
-    string patch = 6;
-
-    // The custom pattern is used for specifying an HTTP method that is not
-    // included in the `pattern` field, such as HEAD, or "*" to leave the
-    // HTTP method unspecified for this rule. The wild-card rule is useful
-    // for services that provide content to Web (HTML) clients.
-    CustomHttpPattern custom = 8;
-  }
-
-  // The name of the request field whose value is mapped to the HTTP request
-  // body, or `*` for mapping all request fields not captured by the path
-  // pattern to the HTTP body, or omitted for not having any HTTP request body.
-  //
-  // NOTE: the referred field must be present at the top-level of the request
-  // message type.
-  string body = 7;
-
-  // Optional. The name of the response field whose value is mapped to the HTTP
-  // response body. When omitted, the entire response message will be used
-  // as the HTTP response body.
-  //
-  // NOTE: The referred field must be present at the top-level of the response
-  // message type.
-  string response_body = 12;
-
-  // Additional HTTP bindings for the selector. Nested bindings must
-  // not contain an `additional_bindings` field themselves (that is,
-  // the nesting may only be one level deep).
-  repeated HttpRule additional_bindings = 11;
-}
-
-// A custom pattern is used for defining custom HTTP verb.
-message CustomHttpPattern {
-  // The name of this custom HTTP verb.
-  string kind = 1;
-
-  // The path matched by this custom verb.
-  string path = 2;
-}
diff --git a/python-sdk/src/airavata_mft_sdk/google/api/http_pb2.py b/python-sdk/src/airavata_mft_sdk/google/api/http_pb2.py
deleted file mode 100644
index a5c2bf4..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/api/http_pb2.py
+++ /dev/null
@@ -1,236 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: google/api/http.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='google/api/http.proto',
-  package='google.api',
-  syntax='proto3',
-  serialized_pb=_b('\n\x15google/api/http.proto\x12\ngoogle.api\"+\n\x04Http\x12#\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRule\"\xea\x01\n\x08HttpRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\r\n\x03get\x18\x02 \x01(\tH\x00\x12\r\n\x03put\x18\x03 \x01(\tH\x00\x12\x0e\n\x04post\x18\x04 \x01(\tH\x00\x12\x10\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00\x12\x0f\n\x05patch\x18\x06 \x01(\tH\x00\x12/\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00\x12\x0c\n\x04 [...]
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_HTTP = _descriptor.Descriptor(
-  name='Http',
-  full_name='google.api.Http',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='rules', full_name='google.api.Http.rules', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=37,
-  serialized_end=80,
-)
-
-
-_HTTPRULE = _descriptor.Descriptor(
-  name='HttpRule',
-  full_name='google.api.HttpRule',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='selector', full_name='google.api.HttpRule.selector', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='get', full_name='google.api.HttpRule.get', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='put', full_name='google.api.HttpRule.put', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='post', full_name='google.api.HttpRule.post', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='google.api.HttpRule.delete', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='patch', full_name='google.api.HttpRule.patch', index=5,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='custom', full_name='google.api.HttpRule.custom', index=6,
-      number=8, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='body', full_name='google.api.HttpRule.body', index=7,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='additional_bindings', full_name='google.api.HttpRule.additional_bindings', index=8,
-      number=11, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='pattern', full_name='google.api.HttpRule.pattern',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=83,
-  serialized_end=317,
-)
-
-
-_CUSTOMHTTPPATTERN = _descriptor.Descriptor(
-  name='CustomHttpPattern',
-  full_name='google.api.CustomHttpPattern',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='kind', full_name='google.api.CustomHttpPattern.kind', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='path', full_name='google.api.CustomHttpPattern.path', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=319,
-  serialized_end=366,
-)
-
-_HTTP.fields_by_name['rules'].message_type = _HTTPRULE
-_HTTPRULE.fields_by_name['custom'].message_type = _CUSTOMHTTPPATTERN
-_HTTPRULE.fields_by_name['additional_bindings'].message_type = _HTTPRULE
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['get'])
-_HTTPRULE.fields_by_name['get'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['put'])
-_HTTPRULE.fields_by_name['put'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['post'])
-_HTTPRULE.fields_by_name['post'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['delete'])
-_HTTPRULE.fields_by_name['delete'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['patch'])
-_HTTPRULE.fields_by_name['patch'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['custom'])
-_HTTPRULE.fields_by_name['custom'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-DESCRIPTOR.message_types_by_name['Http'] = _HTTP
-DESCRIPTOR.message_types_by_name['HttpRule'] = _HTTPRULE
-DESCRIPTOR.message_types_by_name['CustomHttpPattern'] = _CUSTOMHTTPPATTERN
-
-Http = _reflection.GeneratedProtocolMessageType('Http', (_message.Message,), dict(
-  DESCRIPTOR = _HTTP,
-  __module__ = 'google.api.http_pb2'
-  # @@protoc_insertion_point(class_scope:google.api.Http)
-  ))
-_sym_db.RegisterMessage(Http)
-
-HttpRule = _reflection.GeneratedProtocolMessageType('HttpRule', (_message.Message,), dict(
-  DESCRIPTOR = _HTTPRULE,
-  __module__ = 'google.api.http_pb2'
-  # @@protoc_insertion_point(class_scope:google.api.HttpRule)
-  ))
-_sym_db.RegisterMessage(HttpRule)
-
-CustomHttpPattern = _reflection.GeneratedProtocolMessageType('CustomHttpPattern', (_message.Message,), dict(
-  DESCRIPTOR = _CUSTOMHTTPPATTERN,
-  __module__ = 'google.api.http_pb2'
-  # @@protoc_insertion_point(class_scope:google.api.CustomHttpPattern)
-  ))
-_sym_db.RegisterMessage(CustomHttpPattern)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\016com.google.apiB\tHttpProtoP\001\370\001\001\242\002\004GAPI'))
-# @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/google/protobuf/__init__.py b/python-sdk/src/airavata_mft_sdk/google/protobuf/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/python-sdk/src/airavata_mft_sdk/google/protobuf/empty.proto b/python-sdk/src/airavata_mft_sdk/google/protobuf/empty.proto
deleted file mode 100644
index 0ada0f6..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/protobuf/empty.proto
+++ /dev/null
@@ -1,51 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option go_package = "google.golang.org/protobuf/types/known/emptypb";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "EmptyProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-option cc_enable_arenas = true;
-
-// A generic empty message that you can re-use to avoid defining duplicated
-// empty messages in your APIs. A typical example is to use it as the request
-// or the response type of an API method. For instance:
-//
-//     service Foo {
-//       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
-//     }
-//
-message Empty {}
\ No newline at end of file
diff --git a/python-sdk/src/airavata_mft_sdk/google/protobuf/empty_pb2.py b/python-sdk/src/airavata_mft_sdk/google/protobuf/empty_pb2.py
deleted file mode 100644
index 90c1ec6..0000000
--- a/python-sdk/src/airavata_mft_sdk/google/protobuf/empty_pb2.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: empty.proto
-"""Generated protocol buffer code."""
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import descriptor_pool as _descriptor_pool
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0b\x65mpty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05\x45mptyB}\n\x13\x63om.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3')
-
-
-
-_EMPTY = DESCRIPTOR.message_types_by_name['Empty']
-Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), {
-  'DESCRIPTOR' : _EMPTY,
-  '__module__' : 'empty_pb2'
-  # @@protoc_insertion_point(class_scope:google.protobuf.Empty)
-  })
-_sym_db.RegisterMessage(Empty)
-
-if _descriptor._USE_C_DESCRIPTORS == False:
-
-  DESCRIPTOR._options = None
-  DESCRIPTOR._serialized_options = b'\n\023com.google.protobufB\nEmptyProtoP\001Z.google.golang.org/protobuf/types/known/emptypb\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes'
-  _EMPTY._serialized_start=32
-  _EMPTY._serialized_end=39
-# @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2.py
index 4e0115b..41ed48e 100644
--- a/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.local import LocalStorage_pb2 as local_dot_LocalStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1flocal/LocalStorageService.proto\x12.org.apache.airavata.mft.resource.service.local\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x18local/LocalStorage.proto2\xd9\x07\n\x13LocalStorageService\x12\xd7\x01\n\x10listLocalStorage\x12M.org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListRequest\x1aN.org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListResponse\"$\x82\ [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1flocal/LocalStorageService.proto\x12.org.apache.airavata.mft.resource.service.local\x1a\x18local/LocalStorage.proto2\x8f\x07\n\x13LocalStorageService\x12\xb1\x01\n\x10listLocalStorage\x12M.org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListRequest\x1aN.org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListResponse\x12\xa3\x01\n\x0fgetLocalStorage\x12L.org.apache.airavata.mft.resource.stubs.l [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _LOCALSTORAGESERVICE.methods_by_name['listLocalStorage']._options = None
-  _LOCALSTORAGESERVICE.methods_by_name['listLocalStorage']._serialized_options = b'\202\323\344\223\002\036\022\034/v1.0/resource/local/storage'
-  _LOCALSTORAGESERVICE.methods_by_name['getLocalStorage']._options = None
-  _LOCALSTORAGESERVICE.methods_by_name['getLocalStorage']._serialized_options = b'\202\323\344\223\002\036\022\034/v1.0/resource/local/storage'
-  _LOCALSTORAGESERVICE.methods_by_name['createLocalStorage']._options = None
-  _LOCALSTORAGESERVICE.methods_by_name['createLocalStorage']._serialized_options = b'\202\323\344\223\002\036\"\034/v1.0/resource/local/storage'
-  _LOCALSTORAGESERVICE.methods_by_name['updateLocalStorage']._options = None
-  _LOCALSTORAGESERVICE.methods_by_name['updateLocalStorage']._serialized_options = b'\202\323\344\223\002\036\032\034/v1.0/resource/local/storage'
-  _LOCALSTORAGESERVICE.methods_by_name['deleteLocalStorage']._options = None
-  _LOCALSTORAGESERVICE.methods_by_name['deleteLocalStorage']._serialized_options = b'\202\323\344\223\002\036*\034/v1.0/resource/local/storage'
-  _LOCALSTORAGESERVICE._serialized_start=169
-  _LOCALSTORAGESERVICE._serialized_end=1154
+  _LOCALSTORAGESERVICE._serialized_start=110
+  _LOCALSTORAGESERVICE._serialized_end=1021
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2_grpc.py
index 2390d42..9bf32ad 100644
--- a/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/local/LocalStorageService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.local import LocalStorage_pb2 as local_dot_LocalStorage__pb2
 
 
@@ -33,12 +32,12 @@ class LocalStorageServiceStub(object):
         self.updateLocalStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.local.LocalStorageService/updateLocalStorage',
                 request_serializer=local_dot_LocalStorage__pb2.LocalStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=local_dot_LocalStorage__pb2.LocalStorageUpdateResponse.FromString,
                 )
         self.deleteLocalStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.local.LocalStorageService/deleteLocalStorage',
                 request_serializer=local_dot_LocalStorage__pb2.LocalStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=local_dot_LocalStorage__pb2.LocalStorageDeleteResponse.FromString,
                 )
 
 
@@ -97,12 +96,12 @@ def add_LocalStorageServiceServicer_to_server(servicer, server):
             'updateLocalStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateLocalStorage,
                     request_deserializer=local_dot_LocalStorage__pb2.LocalStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=local_dot_LocalStorage__pb2.LocalStorageUpdateResponse.SerializeToString,
             ),
             'deleteLocalStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteLocalStorage,
                     request_deserializer=local_dot_LocalStorage__pb2.LocalStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=local_dot_LocalStorage__pb2.LocalStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -178,7 +177,7 @@ class LocalStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.local.LocalStorageService/updateLocalStorage',
             local_dot_LocalStorage__pb2.LocalStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            local_dot_LocalStorage__pb2.LocalStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -195,6 +194,6 @@ class LocalStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.local.LocalStorageService/deleteLocalStorage',
             local_dot_LocalStorage__pb2.LocalStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            local_dot_LocalStorage__pb2.LocalStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/local/LocalStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/local/LocalStorage_pb2.py
index 27949af..b456a7b 100644
--- a/python-sdk/src/airavata_mft_sdk/local/LocalStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/local/LocalStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18local/LocalStorage.proto\x12\x34org.apache.airavata.mft.resource.stubs.local.storage\"@\n\x0cLocalStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0f\n\x07\x61gentId\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"8\n\x17LocalStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"p\n\x18LocalStorageListResponse\x12T\n\x08storages\x18\x01 \x03(\x0b\x32\x42.org.apache.airavata.mft.re [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18local/LocalStorage.proto\x12\x34org.apache.airavata.mft.resource.stubs.local.storage\"@\n\x0cLocalStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0f\n\x07\x61gentId\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"8\n\x17LocalStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"p\n\x18LocalStorageListResponse\x12T\n\x08storages\x18\x01 \x03(\x0b\x32\x42.org.apache.airavata.mft.re [...]
 
 
 
@@ -24,7 +24,9 @@ _LOCALSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['LocalStorageListRe
 _LOCALSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['LocalStorageGetRequest']
 _LOCALSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['LocalStorageCreateRequest']
 _LOCALSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['LocalStorageUpdateRequest']
+_LOCALSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['LocalStorageUpdateResponse']
 _LOCALSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['LocalStorageDeleteRequest']
+_LOCALSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['LocalStorageDeleteResponse']
 LocalStorage = _reflection.GeneratedProtocolMessageType('LocalStorage', (_message.Message,), {
   'DESCRIPTOR' : _LOCALSTORAGE,
   '__module__' : 'local.LocalStorage_pb2'
@@ -67,6 +69,13 @@ LocalStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('LocalStora
   })
 _sym_db.RegisterMessage(LocalStorageUpdateRequest)
 
+LocalStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('LocalStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LOCALSTORAGEUPDATERESPONSE,
+  '__module__' : 'local.LocalStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(LocalStorageUpdateResponse)
+
 LocalStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('LocalStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _LOCALSTORAGEDELETEREQUEST,
   '__module__' : 'local.LocalStorage_pb2'
@@ -74,6 +83,13 @@ LocalStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('LocalStora
   })
 _sym_db.RegisterMessage(LocalStorageDeleteRequest)
 
+LocalStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('LocalStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LOCALSTORAGEDELETERESPONSE,
+  '__module__' : 'local.LocalStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(LocalStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _LOCALSTORAGECREATEREQUEST._serialized_end=442
   _LOCALSTORAGEUPDATEREQUEST._serialized_start=444
   _LOCALSTORAGEUPDATEREQUEST._serialized_end=521
-  _LOCALSTORAGEDELETEREQUEST._serialized_start=523
-  _LOCALSTORAGEDELETEREQUEST._serialized_end=569
+  _LOCALSTORAGEUPDATERESPONSE._serialized_start=523
+  _LOCALSTORAGEUPDATERESPONSE._serialized_end=570
+  _LOCALSTORAGEDELETEREQUEST._serialized_start=572
+  _LOCALSTORAGEDELETEREQUEST._serialized_end=618
+  _LOCALSTORAGEDELETERESPONSE._serialized_start=620
+  _LOCALSTORAGEDELETERESPONSE._serialized_end=664
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2.py b/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2.py
index 316a2a9..2b9dfd1 100644
--- a/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2.py
@@ -12,8 +12,6 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.azure import AzureStorage_pb2 as azure_dot_AzureStorage__pb2
 from airavata_mft_sdk.box import BoxStorage_pb2 as box_dot_BoxStorage__pb2
 from airavata_mft_sdk.dropbox import DropboxStorage_pb2 as dropbox_dot_DropboxStorage__pb2
@@ -25,7 +23,7 @@ from airavata_mft_sdk.scp import SCPStorage_pb2 as scp_dot_SCPStorage__pb2
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eresource/ResourceService.proto\x12-org.apache.airavata.mft.resource.stubs.common\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x18\x61zure/AzureStorage.proto\x1a\x14\x62ox/BoxStorage.proto\x1a\x1c\x64ropbox/DropboxStorage.proto\x1a\x14\x66tp/FTPStorage.proto\x1a\x14gcs/GCSStorage.proto\x1a\x18local/LocalStorage.proto\x1a\x12s3/S3Storage.proto\x1a\x14scp/SCPStorage.proto\x1a\x10\x43redCommon.pro [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eresource/ResourceService.proto\x12-org.apache.airavata.mft.resource.stubs.common\x1a\x18\x61zure/AzureStorage.proto\x1a\x14\x62ox/BoxStorage.proto\x1a\x1c\x64ropbox/DropboxStorage.proto\x1a\x14\x66tp/FTPStorage.proto\x1a\x14gcs/GCSStorage.proto\x1a\x18local/LocalStorage.proto\x1a\x12s3/S3Storage.proto\x1a\x14scp/SCPStorage.proto\x1a\x10\x43redCommon.proto\"$\n\x0c\x46ileResource\x12\x14\n\x0cresourcePath\x18\x01 \x01(\t\") [...]
 
 
 
@@ -35,7 +33,9 @@ _GENERICRESOURCE = DESCRIPTOR.message_types_by_name['GenericResource']
 _GENERICRESOURCEGETREQUEST = DESCRIPTOR.message_types_by_name['GenericResourceGetRequest']
 _GENERICRESOURCECREATEREQUEST = DESCRIPTOR.message_types_by_name['GenericResourceCreateRequest']
 _GENERICRESOURCEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['GenericResourceUpdateRequest']
+_GENERICRESOURCEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['GenericResourceUpdateResponse']
 _GENERICRESOURCEDELETEREQUEST = DESCRIPTOR.message_types_by_name['GenericResourceDeleteRequest']
+_GENERICRESOURCEDELETERESPONSE = DESCRIPTOR.message_types_by_name['GenericResourceDeleteResponse']
 _GENERICRESOURCECREATEREQUEST_STORAGETYPE = _GENERICRESOURCECREATEREQUEST.enum_types_by_name['StorageType']
 FileResource = _reflection.GeneratedProtocolMessageType('FileResource', (_message.Message,), {
   'DESCRIPTOR' : _FILERESOURCE,
@@ -79,6 +79,13 @@ GenericResourceUpdateRequest = _reflection.GeneratedProtocolMessageType('Generic
   })
 _sym_db.RegisterMessage(GenericResourceUpdateRequest)
 
+GenericResourceUpdateResponse = _reflection.GeneratedProtocolMessageType('GenericResourceUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GENERICRESOURCEUPDATERESPONSE,
+  '__module__' : 'resource.ResourceService_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.common.GenericResourceUpdateResponse)
+  })
+_sym_db.RegisterMessage(GenericResourceUpdateResponse)
+
 GenericResourceDeleteRequest = _reflection.GeneratedProtocolMessageType('GenericResourceDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _GENERICRESOURCEDELETEREQUEST,
   '__module__' : 'resource.ResourceService_pb2'
@@ -86,35 +93,38 @@ GenericResourceDeleteRequest = _reflection.GeneratedProtocolMessageType('Generic
   })
 _sym_db.RegisterMessage(GenericResourceDeleteRequest)
 
+GenericResourceDeleteResponse = _reflection.GeneratedProtocolMessageType('GenericResourceDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GENERICRESOURCEDELETERESPONSE,
+  '__module__' : 'resource.ResourceService_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.common.GenericResourceDeleteResponse)
+  })
+_sym_db.RegisterMessage(GenericResourceDeleteResponse)
+
 _GENERICRESOURCESERVICE = DESCRIPTOR.services_by_name['GenericResourceService']
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _GENERICRESOURCESERVICE.methods_by_name['getGenericResource']._options = None
-  _GENERICRESOURCESERVICE.methods_by_name['getGenericResource']._serialized_options = b'\202\323\344\223\002\020\022\016/v1.0/resource'
-  _GENERICRESOURCESERVICE.methods_by_name['createGenericResource']._options = None
-  _GENERICRESOURCESERVICE.methods_by_name['createGenericResource']._serialized_options = b'\202\323\344\223\002\020\"\016/v1.0/resource'
-  _GENERICRESOURCESERVICE.methods_by_name['updateGenericResource']._options = None
-  _GENERICRESOURCESERVICE.methods_by_name['updateGenericResource']._serialized_options = b'\202\323\344\223\002\020\032\016/v1.0/resource'
-  _GENERICRESOURCESERVICE.methods_by_name['deleteGenericResource']._options = None
-  _GENERICRESOURCESERVICE.methods_by_name['deleteGenericResource']._serialized_options = b'\202\323\344\223\002\020*\016/v1.0/resource'
-  _FILERESOURCE._serialized_start=348
-  _FILERESOURCE._serialized_end=384
-  _DIRECTORYRESOURCE._serialized_start=386
-  _DIRECTORYRESOURCE._serialized_end=427
-  _GENERICRESOURCE._serialized_start=430
-  _GENERICRESOURCE._serialized_end=1363
-  _GENERICRESOURCEGETREQUEST._serialized_start=1365
-  _GENERICRESOURCEGETREQUEST._serialized_end=1475
-  _GENERICRESOURCECREATEREQUEST._serialized_start=1478
-  _GENERICRESOURCECREATEREQUEST._serialized_end=1970
-  _GENERICRESOURCECREATEREQUEST_STORAGETYPE._serialized_start=1866
-  _GENERICRESOURCECREATEREQUEST_STORAGETYPE._serialized_end=1958
-  _GENERICRESOURCEUPDATEREQUEST._serialized_start=1973
-  _GENERICRESOURCEUPDATEREQUEST._serialized_end=2281
-  _GENERICRESOURCEDELETEREQUEST._serialized_start=2283
-  _GENERICRESOURCEDELETEREQUEST._serialized_end=2396
-  _GENERICRESOURCESERVICE._serialized_start=2399
-  _GENERICRESOURCESERVICE._serialized_end=3101
+  _FILERESOURCE._serialized_start=289
+  _FILERESOURCE._serialized_end=325
+  _DIRECTORYRESOURCE._serialized_start=327
+  _DIRECTORYRESOURCE._serialized_end=368
+  _GENERICRESOURCE._serialized_start=371
+  _GENERICRESOURCE._serialized_end=1304
+  _GENERICRESOURCEGETREQUEST._serialized_start=1306
+  _GENERICRESOURCEGETREQUEST._serialized_end=1416
+  _GENERICRESOURCECREATEREQUEST._serialized_start=1419
+  _GENERICRESOURCECREATEREQUEST._serialized_end=1911
+  _GENERICRESOURCECREATEREQUEST_STORAGETYPE._serialized_start=1807
+  _GENERICRESOURCECREATEREQUEST_STORAGETYPE._serialized_end=1899
+  _GENERICRESOURCEUPDATEREQUEST._serialized_start=1914
+  _GENERICRESOURCEUPDATEREQUEST._serialized_end=2222
+  _GENERICRESOURCEUPDATERESPONSE._serialized_start=2224
+  _GENERICRESOURCEUPDATERESPONSE._serialized_end=2275
+  _GENERICRESOURCEDELETEREQUEST._serialized_start=2277
+  _GENERICRESOURCEDELETEREQUEST._serialized_end=2390
+  _GENERICRESOURCEDELETERESPONSE._serialized_start=2392
+  _GENERICRESOURCEDELETERESPONSE._serialized_end=2439
+  _GENERICRESOURCESERVICE._serialized_start=2442
+  _GENERICRESOURCESERVICE._serialized_end=3156
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2_grpc.py
index 2018e47..5a7705a 100644
--- a/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/resource/ResourceService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.resource import ResourceService_pb2 as resource_dot_ResourceService__pb2
 
 
@@ -28,12 +27,12 @@ class GenericResourceServiceStub(object):
         self.updateGenericResource = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.stubs.common.GenericResourceService/updateGenericResource',
                 request_serializer=resource_dot_ResourceService__pb2.GenericResourceUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=resource_dot_ResourceService__pb2.GenericResourceUpdateResponse.FromString,
                 )
         self.deleteGenericResource = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.stubs.common.GenericResourceService/deleteGenericResource',
                 request_serializer=resource_dot_ResourceService__pb2.GenericResourceDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=resource_dot_ResourceService__pb2.GenericResourceDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_GenericResourceServiceServicer_to_server(servicer, server):
             'updateGenericResource': grpc.unary_unary_rpc_method_handler(
                     servicer.updateGenericResource,
                     request_deserializer=resource_dot_ResourceService__pb2.GenericResourceUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=resource_dot_ResourceService__pb2.GenericResourceUpdateResponse.SerializeToString,
             ),
             'deleteGenericResource': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteGenericResource,
                     request_deserializer=resource_dot_ResourceService__pb2.GenericResourceDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=resource_dot_ResourceService__pb2.GenericResourceDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class GenericResourceService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.stubs.common.GenericResourceService/updateGenericResource',
             resource_dot_ResourceService__pb2.GenericResourceUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            resource_dot_ResourceService__pb2.GenericResourceUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class GenericResourceService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.stubs.common.GenericResourceService/deleteGenericResource',
             resource_dot_ResourceService__pb2.GenericResourceDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            resource_dot_ResourceService__pb2.GenericResourceDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2.py b/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2.py
index da7deb7..7706614 100644
--- a/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2.py
@@ -13,18 +13,18 @@ _sym_db = _symbol_database.Default()
 
 
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(resourcesecretmap/StorageSecretMap.proto\x12\x33org.apache.airavata.mft.storage.stubs.storagesecret\x1a\x10\x43redCommon.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xfc\x01\n\rStorageSecret\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tstorageId\x18\x02 \x01(\t\x12\x10\n\x08secretId\x18\x03 \x01(\t\x12\\\n\x04type\x18\x04 \x01(\x0e\x32N.org.apache.airavata.mft.storage.stubs.storagesecret.StorageS [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(resourcesecretmap/StorageSecretMap.proto\x12\x33org.apache.airavata.mft.storage.stubs.storagesecret\x1a\x10\x43redCommon.proto\"\xfc\x01\n\rStorageSecret\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tstorageId\x18\x02 \x01(\t\x12\x10\n\x08secretId\x18\x03 \x01(\t\x12\\\n\x04type\x18\x04 \x01(\x0e\x32N.org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecret.StorageType\"\\\n\x0bStorageType\x12\x06\n\x02S3\x10\x00\x12\x07\ [...]
 
 
 
 _STORAGESECRET = DESCRIPTOR.message_types_by_name['StorageSecret']
 _STORAGESECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['StorageSecretCreateRequest']
 _STORAGESECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['StorageSecretDeleteRequest']
+_STORAGESECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['StorageSecretDeleteResponse']
 _STORAGESECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['StorageSecretUpdateRequest']
+_STORAGESECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['StorageSecretUpdateResponse']
 _STORAGESECRETGETREQUEST = DESCRIPTOR.message_types_by_name['StorageSecretGetRequest']
 _STORAGESECRETSEARCHREQUEST = DESCRIPTOR.message_types_by_name['StorageSecretSearchRequest']
 _STORAGESECRETSEARCHRESPONSE = DESCRIPTOR.message_types_by_name['StorageSecretSearchResponse']
@@ -50,6 +50,13 @@ StorageSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('StorageSe
   })
 _sym_db.RegisterMessage(StorageSecretDeleteRequest)
 
+StorageSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('StorageSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _STORAGESECRETDELETERESPONSE,
+  '__module__' : 'resourcesecretmap.StorageSecretMap_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(StorageSecretDeleteResponse)
+
 StorageSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('StorageSecretUpdateRequest', (_message.Message,), {
   'DESCRIPTOR' : _STORAGESECRETUPDATEREQUEST,
   '__module__' : 'resourcesecretmap.StorageSecretMap_pb2'
@@ -57,6 +64,13 @@ StorageSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('StorageSe
   })
 _sym_db.RegisterMessage(StorageSecretUpdateRequest)
 
+StorageSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('StorageSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _STORAGESECRETUPDATERESPONSE,
+  '__module__' : 'resourcesecretmap.StorageSecretMap_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(StorageSecretUpdateResponse)
+
 StorageSecretGetRequest = _reflection.GeneratedProtocolMessageType('StorageSecretGetRequest', (_message.Message,), {
   'DESCRIPTOR' : _STORAGESECRETGETREQUEST,
   '__module__' : 'resourcesecretmap.StorageSecretMap_pb2'
@@ -83,32 +97,26 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _STORAGESECRETSERVICE.methods_by_name['getStorageSecret']._options = None
-  _STORAGESECRETSERVICE.methods_by_name['getStorageSecret']._serialized_options = b'\202\323\344\223\002\025\022\023/v1.0/storagesecret'
-  _STORAGESECRETSERVICE.methods_by_name['searchStorageSecret']._options = None
-  _STORAGESECRETSERVICE.methods_by_name['searchStorageSecret']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/storagesecret/search'
-  _STORAGESECRETSERVICE.methods_by_name['createStorageSecret']._options = None
-  _STORAGESECRETSERVICE.methods_by_name['createStorageSecret']._serialized_options = b'\202\323\344\223\002\025\"\023/v1.0/storagesecret'
-  _STORAGESECRETSERVICE.methods_by_name['updateStorageSecret']._options = None
-  _STORAGESECRETSERVICE.methods_by_name['updateStorageSecret']._serialized_options = b'\202\323\344\223\002\025\"\023/v1.0/storagesecret'
-  _STORAGESECRETSERVICE.methods_by_name['deleteStorageSecret']._options = None
-  _STORAGESECRETSERVICE.methods_by_name['deleteStorageSecret']._serialized_options = b'\202\323\344\223\002\025*\023/v1.0/storagesecret'
-  _STORAGESECRET._serialized_start=175
-  _STORAGESECRET._serialized_end=427
-  _STORAGESECRET_STORAGETYPE._serialized_start=335
-  _STORAGESECRET_STORAGETYPE._serialized_end=427
-  _STORAGESECRETCREATEREQUEST._serialized_start=430
-  _STORAGESECRETCREATEREQUEST._serialized_end=652
-  _STORAGESECRETDELETEREQUEST._serialized_start=654
-  _STORAGESECRETDELETEREQUEST._serialized_end=757
-  _STORAGESECRETUPDATEREQUEST._serialized_start=760
-  _STORAGESECRETUPDATEREQUEST._serialized_end=942
-  _STORAGESECRETGETREQUEST._serialized_start=944
-  _STORAGESECRETGETREQUEST._serialized_end=1044
-  _STORAGESECRETSEARCHREQUEST._serialized_start=1047
-  _STORAGESECRETSEARCHREQUEST._serialized_end=1251
-  _STORAGESECRETSEARCHRESPONSE._serialized_start=1253
-  _STORAGESECRETSEARCHRESPONSE._serialized_end=1373
-  _STORAGESECRETSERVICE._serialized_start=1376
-  _STORAGESECRETSERVICE._serialized_end=2335
+  _STORAGESECRET._serialized_start=116
+  _STORAGESECRET._serialized_end=368
+  _STORAGESECRET_STORAGETYPE._serialized_start=276
+  _STORAGESECRET_STORAGETYPE._serialized_end=368
+  _STORAGESECRETCREATEREQUEST._serialized_start=371
+  _STORAGESECRETCREATEREQUEST._serialized_end=593
+  _STORAGESECRETDELETEREQUEST._serialized_start=595
+  _STORAGESECRETDELETEREQUEST._serialized_end=698
+  _STORAGESECRETDELETERESPONSE._serialized_start=700
+  _STORAGESECRETDELETERESPONSE._serialized_end=745
+  _STORAGESECRETUPDATEREQUEST._serialized_start=748
+  _STORAGESECRETUPDATEREQUEST._serialized_end=930
+  _STORAGESECRETUPDATERESPONSE._serialized_start=932
+  _STORAGESECRETUPDATERESPONSE._serialized_end=1052
+  _STORAGESECRETGETREQUEST._serialized_start=1054
+  _STORAGESECRETGETREQUEST._serialized_end=1154
+  _STORAGESECRETSEARCHREQUEST._serialized_start=1157
+  _STORAGESECRETSEARCHREQUEST._serialized_end=1361
+  _STORAGESECRETSEARCHRESPONSE._serialized_start=1363
+  _STORAGESECRETSEARCHRESPONSE._serialized_end=1483
+  _STORAGESECRETSERVICE._serialized_start=1486
+  _STORAGESECRETSERVICE._serialized_end=2409
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2_grpc.py
index 9092668..ff12ce9 100644
--- a/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/resourcesecretmap/StorageSecretMap_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.resourcesecretmap import StorageSecretMap_pb2 as resourcesecretmap_dot_StorageSecretMap__pb2
 
 
@@ -33,12 +32,12 @@ class StorageSecretServiceStub(object):
         self.updateStorageSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretService/updateStorageSecret',
                 request_serializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateResponse.FromString,
                 )
         self.deleteStorageSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretService/deleteStorageSecret',
                 request_serializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteResponse.FromString,
                 )
 
 
@@ -96,12 +95,12 @@ def add_StorageSecretServiceServicer_to_server(servicer, server):
             'updateStorageSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateStorageSecret,
                     request_deserializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateResponse.SerializeToString,
             ),
             'deleteStorageSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteStorageSecret,
                     request_deserializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -177,7 +176,7 @@ class StorageSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretService/updateStorageSecret',
             resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -194,6 +193,6 @@ class StorageSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.storage.stubs.storagesecret.StorageSecretService/deleteStorageSecret',
             resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            resourcesecretmap_dot_StorageSecretMap__pb2.StorageSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3Credential_pb2.py b/python-sdk/src/airavata_mft_sdk/s3/S3Credential_pb2.py
index d87a2b4..aeb5c3c 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3Credential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3Credential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15s3/S3Credential.proto\x12+org.apache.airavata.mft.credential.stubs.s3\x1a\x10\x43redCommon.proto\"B\n\x08S3Secret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x11\n\taccessKey\x18\x02 \x01(\t\x12\x11\n\tsecretKey\x18\x03 \x01(\t\"e\n\x12S3SecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"|\n\x15S3SecretCreateRequest\x12\x11\n\taccessKey\x [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15s3/S3Credential.proto\x12+org.apache.airavata.mft.credential.stubs.s3\x1a\x10\x43redCommon.proto\"B\n\x08S3Secret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x11\n\taccessKey\x18\x02 \x01(\t\x12\x11\n\tsecretKey\x18\x03 \x01(\t\"e\n\x12S3SecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airavata.mft.common.AuthToken\"|\n\x15S3SecretCreateRequest\x12\x11\n\taccessKey\x [...]
 
 
 
@@ -23,7 +23,9 @@ _S3SECRET = DESCRIPTOR.message_types_by_name['S3Secret']
 _S3SECRETGETREQUEST = DESCRIPTOR.message_types_by_name['S3SecretGetRequest']
 _S3SECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['S3SecretCreateRequest']
 _S3SECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['S3SecretUpdateRequest']
+_S3SECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['S3SecretUpdateResponse']
 _S3SECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['S3SecretDeleteRequest']
+_S3SECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['S3SecretDeleteResponse']
 S3Secret = _reflection.GeneratedProtocolMessageType('S3Secret', (_message.Message,), {
   'DESCRIPTOR' : _S3SECRET,
   '__module__' : 's3.S3Credential_pb2'
@@ -52,6 +54,13 @@ S3SecretUpdateRequest = _reflection.GeneratedProtocolMessageType('S3SecretUpdate
   })
 _sym_db.RegisterMessage(S3SecretUpdateRequest)
 
+S3SecretUpdateResponse = _reflection.GeneratedProtocolMessageType('S3SecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _S3SECRETUPDATERESPONSE,
+  '__module__' : 's3.S3Credential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.s3.S3SecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(S3SecretUpdateResponse)
+
 S3SecretDeleteRequest = _reflection.GeneratedProtocolMessageType('S3SecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _S3SECRETDELETEREQUEST,
   '__module__' : 's3.S3Credential_pb2'
@@ -59,6 +68,13 @@ S3SecretDeleteRequest = _reflection.GeneratedProtocolMessageType('S3SecretDelete
   })
 _sym_db.RegisterMessage(S3SecretDeleteRequest)
 
+S3SecretDeleteResponse = _reflection.GeneratedProtocolMessageType('S3SecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _S3SECRETDELETERESPONSE,
+  '__module__' : 's3.S3Credential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.s3.S3SecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(S3SecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _S3SECRETCREATEREQUEST._serialized_end=383
   _S3SECRETUPDATEREQUEST._serialized_start=386
   _S3SECRETUPDATEREQUEST._serialized_end=528
-  _S3SECRETDELETEREQUEST._serialized_start=530
-  _S3SECRETDELETEREQUEST._serialized_end=634
+  _S3SECRETUPDATERESPONSE._serialized_start=530
+  _S3SECRETUPDATERESPONSE._serialized_end=572
+  _S3SECRETDELETEREQUEST._serialized_start=574
+  _S3SECRETDELETEREQUEST._serialized_end=678
+  _S3SECRETDELETERESPONSE._serialized_start=680
+  _S3SECRETDELETERESPONSE._serialized_end=720
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2.py
index 0753e24..1866893 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.s3 import S3Credential_pb2 as s3_dot_S3Credential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18s3/S3SecretService.proto\x12-org.apache.airavata.mft.credential.service.s3\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15s3/S3Credential.proto2\xe9\x04\n\x0fS3SecretService\x12\x9e\x01\n\x0bgetS3Secret\x12?.org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest\x1a\x35.org.apache.airavata.mft.credential.stubs.s3.S3Secret\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v1.0/secret/s3\x12\xa4\x0 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18s3/S3SecretService.proto\x12-org.apache.airavata.mft.credential.service.s3\x1a\x15s3/S3Credential.proto2\xdf\x04\n\x0fS3SecretService\x12\x85\x01\n\x0bgetS3Secret\x12?.org.apache.airavata.mft.credential.stubs.s3.S3SecretGetRequest\x1a\x35.org.apache.airavata.mft.credential.stubs.s3.S3Secret\x12\x8b\x01\n\x0e\x63reateS3Secret\x12\x42.org.apache.airavata.mft.credential.stubs.s3.S3SecretCreateRequest\x1a\x35.org.apache.airava [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _S3SECRETSERVICE.methods_by_name['getS3Secret']._options = None
-  _S3SECRETSERVICE.methods_by_name['getS3Secret']._serialized_options = b'\202\323\344\223\002\021\022\017/v1.0/secret/s3'
-  _S3SECRETSERVICE.methods_by_name['createS3Secret']._options = None
-  _S3SECRETSERVICE.methods_by_name['createS3Secret']._serialized_options = b'\202\323\344\223\002\021\"\017/v1.0/secret/s3'
-  _S3SECRETSERVICE.methods_by_name['updateS3Secret']._options = None
-  _S3SECRETSERVICE.methods_by_name['updateS3Secret']._serialized_options = b'\202\323\344\223\002\021\032\017/v1.0/secret/s3'
-  _S3SECRETSERVICE.methods_by_name['deleteS3Secret']._options = None
-  _S3SECRETSERVICE.methods_by_name['deleteS3Secret']._serialized_options = b'\202\323\344\223\002\021*\017/v1.0/secret/s3'
-  _S3SECRETSERVICE._serialized_start=158
-  _S3SECRETSERVICE._serialized_end=775
+  _S3SECRETSERVICE._serialized_start=99
+  _S3SECRETSERVICE._serialized_end=706
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2_grpc.py
index b9a92d7..90b31ed 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3SecretService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.s3 import S3Credential_pb2 as s3_dot_S3Credential__pb2
 
 
@@ -28,12 +27,12 @@ class S3SecretServiceStub(object):
         self.updateS3Secret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.s3.S3SecretService/updateS3Secret',
                 request_serializer=s3_dot_S3Credential__pb2.S3SecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=s3_dot_S3Credential__pb2.S3SecretUpdateResponse.FromString,
                 )
         self.deleteS3Secret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.s3.S3SecretService/deleteS3Secret',
                 request_serializer=s3_dot_S3Credential__pb2.S3SecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=s3_dot_S3Credential__pb2.S3SecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_S3SecretServiceServicer_to_server(servicer, server):
             'updateS3Secret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateS3Secret,
                     request_deserializer=s3_dot_S3Credential__pb2.S3SecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=s3_dot_S3Credential__pb2.S3SecretUpdateResponse.SerializeToString,
             ),
             'deleteS3Secret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteS3Secret,
                     request_deserializer=s3_dot_S3Credential__pb2.S3SecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=s3_dot_S3Credential__pb2.S3SecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class S3SecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.s3.S3SecretService/updateS3Secret',
             s3_dot_S3Credential__pb2.S3SecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            s3_dot_S3Credential__pb2.S3SecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class S3SecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.s3.S3SecretService/deleteS3Secret',
             s3_dot_S3Credential__pb2.S3SecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            s3_dot_S3Credential__pb2.S3SecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2.py
index f93c8bb..519702f 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.s3 import S3Storage_pb2 as s3_dot_S3Storage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19s3/S3StorageService.proto\x12+org.apache.airavata.mft.resource.service.s3\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x12s3/S3Storage.proto2\x88\x07\n\x10S3StorageService\x12\xc5\x01\n\rlistS3Storage\x12G.org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListRequest\x1aH.org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1.0/re [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19s3/S3StorageService.proto\x12+org.apache.airavata.mft.resource.service.s3\x1a\x12s3/S3Storage.proto2\xc1\x06\n\x10S3StorageService\x12\xa2\x01\n\rlistS3Storage\x12G.org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListRequest\x1aH.org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListResponse\x12\x94\x01\n\x0cgetS3Storage\x12\x46.org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageGetRequest\x1a<. [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _S3STORAGESERVICE.methods_by_name['listS3Storage']._options = None
-  _S3STORAGESERVICE.methods_by_name['listS3Storage']._serialized_options = b'\202\323\344\223\002\033\022\031/v1.0/resource/s3/storage'
-  _S3STORAGESERVICE.methods_by_name['getS3Storage']._options = None
-  _S3STORAGESERVICE.methods_by_name['getS3Storage']._serialized_options = b'\202\323\344\223\002\033\022\031/v1.0/resource/s3/storage'
-  _S3STORAGESERVICE.methods_by_name['createS3Storage']._options = None
-  _S3STORAGESERVICE.methods_by_name['createS3Storage']._serialized_options = b'\202\323\344\223\002\033\"\031/v1.0/resource/s3/storage'
-  _S3STORAGESERVICE.methods_by_name['updateS3Storage']._options = None
-  _S3STORAGESERVICE.methods_by_name['updateS3Storage']._serialized_options = b'\202\323\344\223\002\033\032\031/v1.0/resource/s3/storage'
-  _S3STORAGESERVICE.methods_by_name['deleteS3Storage']._options = None
-  _S3STORAGESERVICE.methods_by_name['deleteS3Storage']._serialized_options = b'\202\323\344\223\002\033*\031/v1.0/resource/s3/storage'
-  _S3STORAGESERVICE._serialized_start=154
-  _S3STORAGESERVICE._serialized_end=1058
+  _S3STORAGESERVICE._serialized_start=95
+  _S3STORAGESERVICE._serialized_end=928
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2_grpc.py
index 5e9ab39..6519d3e 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3StorageService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.s3 import S3Storage_pb2 as s3_dot_S3Storage__pb2
 
 
@@ -33,12 +32,12 @@ class S3StorageServiceStub(object):
         self.updateS3Storage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.s3.S3StorageService/updateS3Storage',
                 request_serializer=s3_dot_S3Storage__pb2.S3StorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=s3_dot_S3Storage__pb2.S3StorageUpdateResponse.FromString,
                 )
         self.deleteS3Storage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.s3.S3StorageService/deleteS3Storage',
                 request_serializer=s3_dot_S3Storage__pb2.S3StorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=s3_dot_S3Storage__pb2.S3StorageDeleteResponse.FromString,
                 )
 
 
@@ -97,12 +96,12 @@ def add_S3StorageServiceServicer_to_server(servicer, server):
             'updateS3Storage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateS3Storage,
                     request_deserializer=s3_dot_S3Storage__pb2.S3StorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=s3_dot_S3Storage__pb2.S3StorageUpdateResponse.SerializeToString,
             ),
             'deleteS3Storage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteS3Storage,
                     request_deserializer=s3_dot_S3Storage__pb2.S3StorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=s3_dot_S3Storage__pb2.S3StorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -178,7 +177,7 @@ class S3StorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.s3.S3StorageService/updateS3Storage',
             s3_dot_S3Storage__pb2.S3StorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            s3_dot_S3Storage__pb2.S3StorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -195,6 +194,6 @@ class S3StorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.s3.S3StorageService/deleteS3Storage',
             s3_dot_S3Storage__pb2.S3StorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            s3_dot_S3Storage__pb2.S3StorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/s3/S3Storage_pb2.py b/python-sdk/src/airavata_mft_sdk/s3/S3Storage_pb2.py
index 388c092..f510529 100644
--- a/python-sdk/src/airavata_mft_sdk/s3/S3Storage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/s3/S3Storage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12s3/S3Storage.proto\x12\x31org.apache.airavata.mft.resource.stubs.s3.storage\"r\n\tS3Storage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x12\n\nbucketName\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06useTLS\x18\x05 \x01(\x08\x12\x0c\n\x04name\x18\x06 \x01(\t\"5\n\x14S3StorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"g\n\x15 [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12s3/S3Storage.proto\x12\x31org.apache.airavata.mft.resource.stubs.s3.storage\"r\n\tS3Storage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x12\n\nbucketName\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06useTLS\x18\x05 \x01(\x08\x12\x0c\n\x04name\x18\x06 \x01(\t\"5\n\x14S3StorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"g\n\x15 [...]
 
 
 
@@ -24,7 +24,9 @@ _S3STORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['S3StorageListResponse
 _S3STORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['S3StorageGetRequest']
 _S3STORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['S3StorageCreateRequest']
 _S3STORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['S3StorageUpdateRequest']
+_S3STORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['S3StorageUpdateResponse']
 _S3STORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['S3StorageDeleteRequest']
+_S3STORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['S3StorageDeleteResponse']
 S3Storage = _reflection.GeneratedProtocolMessageType('S3Storage', (_message.Message,), {
   'DESCRIPTOR' : _S3STORAGE,
   '__module__' : 's3.S3Storage_pb2'
@@ -67,6 +69,13 @@ S3StorageUpdateRequest = _reflection.GeneratedProtocolMessageType('S3StorageUpda
   })
 _sym_db.RegisterMessage(S3StorageUpdateRequest)
 
+S3StorageUpdateResponse = _reflection.GeneratedProtocolMessageType('S3StorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _S3STORAGEUPDATERESPONSE,
+  '__module__' : 's3.S3Storage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(S3StorageUpdateResponse)
+
 S3StorageDeleteRequest = _reflection.GeneratedProtocolMessageType('S3StorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _S3STORAGEDELETEREQUEST,
   '__module__' : 's3.S3Storage_pb2'
@@ -74,6 +83,13 @@ S3StorageDeleteRequest = _reflection.GeneratedProtocolMessageType('S3StorageDele
   })
 _sym_db.RegisterMessage(S3StorageDeleteRequest)
 
+S3StorageDeleteResponse = _reflection.GeneratedProtocolMessageType('S3StorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _S3STORAGEDELETERESPONSE,
+  '__module__' : 's3.S3Storage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(S3StorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _S3STORAGECREATEREQUEST._serialized_end=518
   _S3STORAGEUPDATEREQUEST._serialized_start=520
   _S3STORAGEUPDATEREQUEST._serialized_end=647
-  _S3STORAGEDELETEREQUEST._serialized_start=649
-  _S3STORAGEDELETEREQUEST._serialized_end=692
+  _S3STORAGEUPDATERESPONSE._serialized_start=649
+  _S3STORAGEUPDATERESPONSE._serialized_end=693
+  _S3STORAGEDELETEREQUEST._serialized_start=695
+  _S3STORAGEDELETEREQUEST._serialized_end=738
+  _S3STORAGEDELETERESPONSE._serialized_start=740
+  _S3STORAGEDELETERESPONSE._serialized_end=781
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPCredential_pb2.py b/python-sdk/src/airavata_mft_sdk/scp/SCPCredential_pb2.py
index 76c04a4..d9dde8f 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPCredential_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPCredential_pb2.py
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
 import airavata_mft_sdk.CredCommon_pb2 as CredCommon__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17scp/SCPCredential.proto\x12,org.apache.airavata.mft.credential.stubs.scp\x1a\x10\x43redCommon.proto\"f\n\tSCPSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x12\n\nprivateKey\x18\x02 \x01(\t\x12\x11\n\tpublicKey\x18\x03 \x01(\t\x12\x12\n\npassphrase\x18\x04 \x01(\t\x12\x0c\n\x04user\x18\x05 \x01(\t\"f\n\x13SCPSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airava [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17scp/SCPCredential.proto\x12,org.apache.airavata.mft.credential.stubs.scp\x1a\x10\x43redCommon.proto\"f\n\tSCPSecret\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12\x12\n\nprivateKey\x18\x02 \x01(\t\x12\x11\n\tpublicKey\x18\x03 \x01(\t\x12\x12\n\npassphrase\x18\x04 \x01(\t\x12\x0c\n\x04user\x18\x05 \x01(\t\"f\n\x13SCPSecretGetRequest\x12\x10\n\x08secretId\x18\x01 \x01(\t\x12=\n\nauthzToken\x18\x02 \x01(\x0b\x32).org.apache.airava [...]
 
 
 
@@ -23,7 +23,9 @@ _SCPSECRET = DESCRIPTOR.message_types_by_name['SCPSecret']
 _SCPSECRETGETREQUEST = DESCRIPTOR.message_types_by_name['SCPSecretGetRequest']
 _SCPSECRETCREATEREQUEST = DESCRIPTOR.message_types_by_name['SCPSecretCreateRequest']
 _SCPSECRETUPDATEREQUEST = DESCRIPTOR.message_types_by_name['SCPSecretUpdateRequest']
+_SCPSECRETUPDATERESPONSE = DESCRIPTOR.message_types_by_name['SCPSecretUpdateResponse']
 _SCPSECRETDELETEREQUEST = DESCRIPTOR.message_types_by_name['SCPSecretDeleteRequest']
+_SCPSECRETDELETERESPONSE = DESCRIPTOR.message_types_by_name['SCPSecretDeleteResponse']
 SCPSecret = _reflection.GeneratedProtocolMessageType('SCPSecret', (_message.Message,), {
   'DESCRIPTOR' : _SCPSECRET,
   '__module__' : 'scp.SCPCredential_pb2'
@@ -52,6 +54,13 @@ SCPSecretUpdateRequest = _reflection.GeneratedProtocolMessageType('SCPSecretUpda
   })
 _sym_db.RegisterMessage(SCPSecretUpdateRequest)
 
+SCPSecretUpdateResponse = _reflection.GeneratedProtocolMessageType('SCPSecretUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SCPSECRETUPDATERESPONSE,
+  '__module__' : 'scp.SCPCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.scp.SCPSecretUpdateResponse)
+  })
+_sym_db.RegisterMessage(SCPSecretUpdateResponse)
+
 SCPSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('SCPSecretDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _SCPSECRETDELETEREQUEST,
   '__module__' : 'scp.SCPCredential_pb2'
@@ -59,6 +68,13 @@ SCPSecretDeleteRequest = _reflection.GeneratedProtocolMessageType('SCPSecretDele
   })
 _sym_db.RegisterMessage(SCPSecretDeleteRequest)
 
+SCPSecretDeleteResponse = _reflection.GeneratedProtocolMessageType('SCPSecretDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SCPSECRETDELETERESPONSE,
+  '__module__' : 'scp.SCPCredential_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.credential.stubs.scp.SCPSecretDeleteResponse)
+  })
+_sym_db.RegisterMessage(SCPSecretDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -71,6 +87,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _SCPSECRETCREATEREQUEST._serialized_end=460
   _SCPSECRETUPDATEREQUEST._serialized_start=463
   _SCPSECRETUPDATEREQUEST._serialized_end=641
-  _SCPSECRETDELETEREQUEST._serialized_start=643
-  _SCPSECRETDELETEREQUEST._serialized_end=748
+  _SCPSECRETUPDATERESPONSE._serialized_start=643
+  _SCPSECRETUPDATERESPONSE._serialized_end=686
+  _SCPSECRETDELETEREQUEST._serialized_start=688
+  _SCPSECRETDELETEREQUEST._serialized_end=793
+  _SCPSECRETDELETERESPONSE._serialized_start=795
+  _SCPSECRETDELETERESPONSE._serialized_end=836
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2.py b/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2.py
index 73b354b..2216aa1 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.scp import SCPCredential_pb2 as scp_dot_SCPCredential__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ascp/SCPSecretService.proto\x12.org.apache.airavata.mft.credential.service.scp\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17scp/SCPCredential.proto2\xfe\x04\n\x10SCPSecretService\x12\xa4\x01\n\x0cgetSCPSecret\x12\x41.org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.scp.SCPSecret\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1.0/secret [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ascp/SCPSecretService.proto\x12.org.apache.airavata.mft.credential.service.scp\x1a\x17scp/SCPCredential.proto2\xf4\x04\n\x10SCPSecretService\x12\x8a\x01\n\x0cgetSCPSecret\x12\x41.org.apache.airavata.mft.credential.stubs.scp.SCPSecretGetRequest\x1a\x37.org.apache.airavata.mft.credential.stubs.scp.SCPSecret\x12\x90\x01\n\x0f\x63reateSCPSecret\x12\x44.org.apache.airavata.mft.credential.stubs.scp.SCPSecretCreateRequest\x1a\x37. [...]
 
 
 
@@ -26,14 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _SCPSECRETSERVICE.methods_by_name['getSCPSecret']._options = None
-  _SCPSECRETSERVICE.methods_by_name['getSCPSecret']._serialized_options = b'\202\323\344\223\002\022\022\020/v1.0/secret/scp'
-  _SCPSECRETSERVICE.methods_by_name['createSCPSecret']._options = None
-  _SCPSECRETSERVICE.methods_by_name['createSCPSecret']._serialized_options = b'\202\323\344\223\002\022\"\020/v1.0/secret/scp'
-  _SCPSECRETSERVICE.methods_by_name['updateSCPSecret']._options = None
-  _SCPSECRETSERVICE.methods_by_name['updateSCPSecret']._serialized_options = b'\202\323\344\223\002\022\032\020/v1.0/secret/scp'
-  _SCPSECRETSERVICE.methods_by_name['deleteSCPSecret']._options = None
-  _SCPSECRETSERVICE.methods_by_name['deleteSCPSecret']._serialized_options = b'\202\323\344\223\002\022*\020/v1.0/secret/scp'
-  _SCPSECRETSERVICE._serialized_start=163
-  _SCPSECRETSERVICE._serialized_end=801
+  _SCPSECRETSERVICE._serialized_start=104
+  _SCPSECRETSERVICE._serialized_end=732
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2_grpc.py
index 3d97816..8c7b7f8 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPSecretService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.scp import SCPCredential_pb2 as scp_dot_SCPCredential__pb2
 
 
@@ -28,12 +27,12 @@ class SCPSecretServiceStub(object):
         self.updateSCPSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.scp.SCPSecretService/updateSCPSecret',
                 request_serializer=scp_dot_SCPCredential__pb2.SCPSecretUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=scp_dot_SCPCredential__pb2.SCPSecretUpdateResponse.FromString,
                 )
         self.deleteSCPSecret = channel.unary_unary(
                 '/org.apache.airavata.mft.credential.service.scp.SCPSecretService/deleteSCPSecret',
                 request_serializer=scp_dot_SCPCredential__pb2.SCPSecretDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=scp_dot_SCPCredential__pb2.SCPSecretDeleteResponse.FromString,
                 )
 
 
@@ -80,12 +79,12 @@ def add_SCPSecretServiceServicer_to_server(servicer, server):
             'updateSCPSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.updateSCPSecret,
                     request_deserializer=scp_dot_SCPCredential__pb2.SCPSecretUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=scp_dot_SCPCredential__pb2.SCPSecretUpdateResponse.SerializeToString,
             ),
             'deleteSCPSecret': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteSCPSecret,
                     request_deserializer=scp_dot_SCPCredential__pb2.SCPSecretDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=scp_dot_SCPCredential__pb2.SCPSecretDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -144,7 +143,7 @@ class SCPSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.scp.SCPSecretService/updateSCPSecret',
             scp_dot_SCPCredential__pb2.SCPSecretUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            scp_dot_SCPCredential__pb2.SCPSecretUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -161,6 +160,6 @@ class SCPSecretService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.credential.service.scp.SCPSecretService/deleteSCPSecret',
             scp_dot_SCPCredential__pb2.SCPSecretDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            scp_dot_SCPCredential__pb2.SCPSecretDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2.py b/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2.py
index 3585135..58303da 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2.py
@@ -12,12 +12,10 @@ from google.protobuf import symbol_database as _symbol_database
 _sym_db = _symbol_database.Default()
 
 
-from airavata_mft_sdk.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.scp import SCPStorage_pb2 as scp_dot_SCPStorage__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscp/SCPStorageService.proto\x12,org.apache.airavata.mft.resource.service.scp\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14scp/SCPStorage.proto2\xa3\x07\n\x11SCPStorageService\x12\xcb\x01\n\x0elistSCPStorage\x12I.org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscp/SCPStorageService.proto\x12,org.apache.airavata.mft.resource.service.scp\x1a\x14scp/SCPStorage.proto2\xdb\x06\n\x11SCPStorageService\x12\xa7\x01\n\x0elistSCPStorage\x12I.org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListRequest\x1aJ.org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListResponse\x12\x99\x01\n\rgetSCPStorage\x12H.org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageGetRe [...]
 
 
 
@@ -26,16 +24,6 @@ if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'P\001'
-  _SCPSTORAGESERVICE.methods_by_name['listSCPStorage']._options = None
-  _SCPSTORAGESERVICE.methods_by_name['listSCPStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/scp/storage'
-  _SCPSTORAGESERVICE.methods_by_name['getSCPStorage']._options = None
-  _SCPSTORAGESERVICE.methods_by_name['getSCPStorage']._serialized_options = b'\202\323\344\223\002\034\022\032/v1.0/resource/scp/storage'
-  _SCPSTORAGESERVICE.methods_by_name['createSCPStorage']._options = None
-  _SCPSTORAGESERVICE.methods_by_name['createSCPStorage']._serialized_options = b'\202\323\344\223\002\034\"\032/v1.0/resource/scp/storage'
-  _SCPSTORAGESERVICE.methods_by_name['updateSCPStorage']._options = None
-  _SCPSTORAGESERVICE.methods_by_name['updateSCPStorage']._serialized_options = b'\202\323\344\223\002\034\032\032/v1.0/resource/scp/storage'
-  _SCPSTORAGESERVICE.methods_by_name['deleteSCPStorage']._options = None
-  _SCPSTORAGESERVICE.methods_by_name['deleteSCPStorage']._serialized_options = b'\202\323\344\223\002\034*\032/v1.0/resource/scp/storage'
-  _SCPSTORAGESERVICE._serialized_start=159
-  _SCPSTORAGESERVICE._serialized_end=1090
+  _SCPSTORAGESERVICE._serialized_start=100
+  _SCPSTORAGESERVICE._serialized_end=959
 # @@protoc_insertion_point(module_scope)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2_grpc.py b/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2_grpc.py
index 60068ac..5b8b18f 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2_grpc.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPStorageService_pb2_grpc.py
@@ -2,7 +2,6 @@
 """Client and server classes corresponding to protobuf-defined services."""
 import grpc
 
-from airavata_mft_sdk.google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 from airavata_mft_sdk.scp import SCPStorage_pb2 as scp_dot_SCPStorage__pb2
 
 
@@ -33,12 +32,12 @@ class SCPStorageServiceStub(object):
         self.updateSCPStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.scp.SCPStorageService/updateSCPStorage',
                 request_serializer=scp_dot_SCPStorage__pb2.SCPStorageUpdateRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=scp_dot_SCPStorage__pb2.SCPStorageUpdateResponse.FromString,
                 )
         self.deleteSCPStorage = channel.unary_unary(
                 '/org.apache.airavata.mft.resource.service.scp.SCPStorageService/deleteSCPStorage',
                 request_serializer=scp_dot_SCPStorage__pb2.SCPStorageDeleteRequest.SerializeToString,
-                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+                response_deserializer=scp_dot_SCPStorage__pb2.SCPStorageDeleteResponse.FromString,
                 )
 
 
@@ -96,12 +95,12 @@ def add_SCPStorageServiceServicer_to_server(servicer, server):
             'updateSCPStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.updateSCPStorage,
                     request_deserializer=scp_dot_SCPStorage__pb2.SCPStorageUpdateRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=scp_dot_SCPStorage__pb2.SCPStorageUpdateResponse.SerializeToString,
             ),
             'deleteSCPStorage': grpc.unary_unary_rpc_method_handler(
                     servicer.deleteSCPStorage,
                     request_deserializer=scp_dot_SCPStorage__pb2.SCPStorageDeleteRequest.FromString,
-                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
+                    response_serializer=scp_dot_SCPStorage__pb2.SCPStorageDeleteResponse.SerializeToString,
             ),
     }
     generic_handler = grpc.method_handlers_generic_handler(
@@ -177,7 +176,7 @@ class SCPStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.scp.SCPStorageService/updateSCPStorage',
             scp_dot_SCPStorage__pb2.SCPStorageUpdateRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            scp_dot_SCPStorage__pb2.SCPStorageUpdateResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
@@ -194,6 +193,6 @@ class SCPStorageService(object):
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/org.apache.airavata.mft.resource.service.scp.SCPStorageService/deleteSCPStorage',
             scp_dot_SCPStorage__pb2.SCPStorageDeleteRequest.SerializeToString,
-            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
+            scp_dot_SCPStorage__pb2.SCPStorageDeleteResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/python-sdk/src/airavata_mft_sdk/scp/SCPStorage_pb2.py b/python-sdk/src/airavata_mft_sdk/scp/SCPStorage_pb2.py
index bf5abac..6f6bbe0 100644
--- a/python-sdk/src/airavata_mft_sdk/scp/SCPStorage_pb2.py
+++ b/python-sdk/src/airavata_mft_sdk/scp/SCPStorage_pb2.py
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14scp/SCPStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.scp.storage\"I\n\nSCPStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\"6\n\x15SCPStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16SCPStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.ai [...]
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14scp/SCPStorage.proto\x12\x32org.apache.airavata.mft.resource.stubs.scp.storage\"I\n\nSCPStorage\x12\x11\n\tstorageId\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\"6\n\x15SCPStorageListRequest\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\r\n\x05limit\x18\x02 \x01(\x05\"j\n\x16SCPStorageListResponse\x12P\n\x08storages\x18\x01 \x03(\x0b\x32>.org.apache.ai [...]
 
 
 
@@ -24,7 +24,9 @@ _SCPSTORAGELISTRESPONSE = DESCRIPTOR.message_types_by_name['SCPStorageListRespon
 _SCPSTORAGEGETREQUEST = DESCRIPTOR.message_types_by_name['SCPStorageGetRequest']
 _SCPSTORAGECREATEREQUEST = DESCRIPTOR.message_types_by_name['SCPStorageCreateRequest']
 _SCPSTORAGEUPDATEREQUEST = DESCRIPTOR.message_types_by_name['SCPStorageUpdateRequest']
+_SCPSTORAGEUPDATERESPONSE = DESCRIPTOR.message_types_by_name['SCPStorageUpdateResponse']
 _SCPSTORAGEDELETEREQUEST = DESCRIPTOR.message_types_by_name['SCPStorageDeleteRequest']
+_SCPSTORAGEDELETERESPONSE = DESCRIPTOR.message_types_by_name['SCPStorageDeleteResponse']
 SCPStorage = _reflection.GeneratedProtocolMessageType('SCPStorage', (_message.Message,), {
   'DESCRIPTOR' : _SCPSTORAGE,
   '__module__' : 'scp.SCPStorage_pb2'
@@ -67,6 +69,13 @@ SCPStorageUpdateRequest = _reflection.GeneratedProtocolMessageType('SCPStorageUp
   })
 _sym_db.RegisterMessage(SCPStorageUpdateRequest)
 
+SCPStorageUpdateResponse = _reflection.GeneratedProtocolMessageType('SCPStorageUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SCPSTORAGEUPDATERESPONSE,
+  '__module__' : 'scp.SCPStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageUpdateResponse)
+  })
+_sym_db.RegisterMessage(SCPStorageUpdateResponse)
+
 SCPStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('SCPStorageDeleteRequest', (_message.Message,), {
   'DESCRIPTOR' : _SCPSTORAGEDELETEREQUEST,
   '__module__' : 'scp.SCPStorage_pb2'
@@ -74,6 +83,13 @@ SCPStorageDeleteRequest = _reflection.GeneratedProtocolMessageType('SCPStorageDe
   })
 _sym_db.RegisterMessage(SCPStorageDeleteRequest)
 
+SCPStorageDeleteResponse = _reflection.GeneratedProtocolMessageType('SCPStorageDeleteResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SCPSTORAGEDELETERESPONSE,
+  '__module__' : 'scp.SCPStorage_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageDeleteResponse)
+  })
+_sym_db.RegisterMessage(SCPStorageDeleteResponse)
+
 if _descriptor._USE_C_DESCRIPTORS == False:
 
   DESCRIPTOR._options = None
@@ -90,6 +106,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
   _SCPSTORAGECREATEREQUEST._serialized_end=458
   _SCPSTORAGEUPDATEREQUEST._serialized_start=460
   _SCPSTORAGEUPDATEREQUEST._serialized_end=546
-  _SCPSTORAGEDELETEREQUEST._serialized_start=548
-  _SCPSTORAGEDELETEREQUEST._serialized_end=592
+  _SCPSTORAGEUPDATERESPONSE._serialized_start=548
+  _SCPSTORAGEUPDATERESPONSE._serialized_end=593
+  _SCPSTORAGEDELETEREQUEST._serialized_start=595
+  _SCPSTORAGEDELETEREQUEST._serialized_end=639
+  _SCPSTORAGEDELETERESPONSE._serialized_start=641
+  _SCPSTORAGEDELETERESPONSE._serialized_end=683
 # @@protoc_insertion_point(module_scope)
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/AzureServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/AzureServiceHandler.java
index 76928d0..e7c17cb 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/AzureServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/AzureServiceHandler.java
@@ -71,9 +71,10 @@ public class AzureServiceHandler extends AzureStorageServiceGrpc.AzureStorageSer
     }
 
     @Override
-    public void updateAzureStorage(AzureStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateAzureStorage(AzureStorageUpdateRequest request, StreamObserver<AzureStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateAzureStorage(request);
+            responseObserver.onNext(AzureStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the Azure storage {}", request.getStorageId(), e);
@@ -85,10 +86,11 @@ public class AzureServiceHandler extends AzureStorageServiceGrpc.AzureStorageSer
     }
 
     @Override
-    public void deleteAzureStorage(AzureStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteAzureStorage(AzureStorageDeleteRequest request, StreamObserver<AzureStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteAzureStorage(request);
             if (res) {
+                responseObserver.onNext(AzureStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete Azure storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/BoxServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/BoxServiceHandler.java
index f2220a5..b284a0d 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/BoxServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/BoxServiceHandler.java
@@ -71,9 +71,10 @@ public class BoxServiceHandler extends BoxStorageServiceGrpc.BoxStorageServiceIm
     }
 
     @Override
-    public void updateBoxStorage(BoxStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateBoxStorage(BoxStorageUpdateRequest request, StreamObserver<BoxStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateBoxStorage(request);
+            responseObserver.onNext(BoxStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the Box storage {}", request.getStorageId(), e);
@@ -85,10 +86,11 @@ public class BoxServiceHandler extends BoxStorageServiceGrpc.BoxStorageServiceIm
     }
 
     @Override
-    public void deleteBoxStorage(BoxStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteBoxStorage(BoxStorageDeleteRequest request, StreamObserver<BoxStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteBoxStorage(request);
             if (res) {
+                responseObserver.onNext(BoxStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete Box storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/DropboxServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/DropboxServiceHandler.java
index 9f4cdcb..dfa1332 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/DropboxServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/DropboxServiceHandler.java
@@ -71,9 +71,10 @@ public class DropboxServiceHandler extends DropboxStorageServiceGrpc.DropboxStor
     }
 
     @Override
-    public void updateDropboxStorage(DropboxStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateDropboxStorage(DropboxStorageUpdateRequest request, StreamObserver<DropboxStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateDropboxStorage(request);
+            responseObserver.onNext(DropboxStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the dropbox storage {}", request.getStorageId(), e);
@@ -85,10 +86,11 @@ public class DropboxServiceHandler extends DropboxStorageServiceGrpc.DropboxStor
     }
 
     @Override
-    public void deleteDropboxStorage(DropboxStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteDropboxStorage(DropboxStorageDeleteRequest request, StreamObserver<DropboxStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteDropboxStorage(request);
             if (res) {
+                responseObserver.onNext(DropboxStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete dropbox storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/FTPServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/FTPServiceHandler.java
index d7d6858..cb9f9a8 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/FTPServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/FTPServiceHandler.java
@@ -85,9 +85,10 @@ public class FTPServiceHandler extends FTPStorageServiceGrpc.FTPStorageServiceIm
     }
 
     @Override
-    public void updateFTPStorage(FTPStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateFTPStorage(FTPStorageUpdateRequest request, StreamObserver<FTPStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateFTPStorage(request);
+            responseObserver.onNext(FTPStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the FTP storage {}", request.getStorageId(), e);
@@ -99,10 +100,11 @@ public class FTPServiceHandler extends FTPStorageServiceGrpc.FTPStorageServiceIm
     }
 
     @Override
-    public void deleteFTPStorage(FTPStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteFTPStorage(FTPStorageDeleteRequest request, StreamObserver<FTPStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteFTPStorage(request);
             if (res) {
+                responseObserver.onNext(FTPStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 logger.error("Failed to delete FTP Storage with id " + request.getStorageId());
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GCSServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GCSServiceHandler.java
index 4a98158..1f33f46 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GCSServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GCSServiceHandler.java
@@ -71,9 +71,10 @@ public class GCSServiceHandler extends GCSStorageServiceGrpc.GCSStorageServiceIm
     }
 
     @Override
-    public void updateGCSStorage(GCSStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateGCSStorage(GCSStorageUpdateRequest request, StreamObserver<GCSStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateGCSStorage(request);
+            responseObserver.onNext(GCSStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the GCS storage {}", request.getStorageId(), e);
@@ -85,10 +86,11 @@ public class GCSServiceHandler extends GCSStorageServiceGrpc.GCSStorageServiceIm
     }
 
     @Override
-    public void deleteGCSStorage(GCSStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteGCSStorage(GCSStorageDeleteRequest request, StreamObserver<GCSStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteGCSStorage(request);
             if (res) {
+                responseObserver.onNext(GCSStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete GCS storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GenericResourceServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GenericResourceServiceHandler.java
index 5ed85e4..e8906cf 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GenericResourceServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/GenericResourceServiceHandler.java
@@ -53,9 +53,10 @@ public class GenericResourceServiceHandler extends GenericResourceServiceGrpc.Ge
     }
 
     @Override
-    public void updateGenericResource(GenericResourceUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateGenericResource(GenericResourceUpdateRequest request, StreamObserver<GenericResourceUpdateResponse> responseObserver) {
         try {
             this.backend.updateGenericResource(request);
+            responseObserver.onNext(GenericResourceUpdateResponse.newBuilder().setResourceId(request.getResourceId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the GCS resource {}", request.getResourceId(), e);
@@ -67,10 +68,11 @@ public class GenericResourceServiceHandler extends GenericResourceServiceGrpc.Ge
     }
 
     @Override
-    public void deleteGenericResource(GenericResourceDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteGenericResource(GenericResourceDeleteRequest request, StreamObserver<GenericResourceDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteGenericResource(request);
             if (res) {
+                responseObserver.onNext(GenericResourceDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete GCS Resource with id " + request.getResourceId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/LocalServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/LocalServiceHandler.java
index ff206ee..9c257d7 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/LocalServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/LocalServiceHandler.java
@@ -87,9 +87,10 @@ public class LocalServiceHandler extends LocalStorageServiceGrpc.LocalStorageSer
     }
 
     @Override
-    public void updateLocalStorage(LocalStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateLocalStorage(LocalStorageUpdateRequest request, StreamObserver<LocalStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateLocalStorage(request);
+            responseObserver.onNext(LocalStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the local storage {}", request.getStorageId(), e);
@@ -101,10 +102,11 @@ public class LocalServiceHandler extends LocalStorageServiceGrpc.LocalStorageSer
     }
 
     @Override
-    public void deleteLocalStorage(LocalStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteLocalStorage(LocalStorageDeleteRequest request, StreamObserver<LocalStorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteLocalStorage(request);
             if (res) {
+                responseObserver.onNext(LocalStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete Local storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/S3ServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/S3ServiceHandler.java
index 7a7b7d2..6cc6288 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/S3ServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/S3ServiceHandler.java
@@ -86,9 +86,10 @@ public class S3ServiceHandler extends S3StorageServiceGrpc.S3StorageServiceImplB
     }
 
     @Override
-    public void updateS3Storage(S3StorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateS3Storage(S3StorageUpdateRequest request, StreamObserver<S3StorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateS3Storage(request);
+            responseObserver.onNext(S3StorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the S3 storage {}", request.getStorageId(), e);
@@ -100,10 +101,11 @@ public class S3ServiceHandler extends S3StorageServiceGrpc.S3StorageServiceImplB
     }
 
     @Override
-    public void deleteS3Storage(S3StorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteS3Storage(S3StorageDeleteRequest request, StreamObserver<S3StorageDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteS3Storage(request);
             if (res) {
+                responseObserver.onNext(S3StorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete S3 storage with id " + request.getStorageId()));
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/SCPServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/SCPServiceHandler.java
index 9667f54..acd6f00 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/SCPServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/SCPServiceHandler.java
@@ -88,9 +88,10 @@ public class SCPServiceHandler extends SCPStorageServiceGrpc.SCPStorageServiceIm
     }
 
     @Override
-    public void updateSCPStorage(SCPStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateSCPStorage(SCPStorageUpdateRequest request, StreamObserver<SCPStorageUpdateResponse> responseObserver) {
         try {
             this.backend.updateSCPStorage(request);
+            responseObserver.onNext(SCPStorageUpdateResponse.newBuilder().setStorageId(request.getStorageId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the scp storage {}", request.getStorageId(), e);
@@ -103,11 +104,12 @@ public class SCPServiceHandler extends SCPStorageServiceGrpc.SCPStorageServiceIm
     }
 
     @Override
-    public void deleteSCPStorage(SCPStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteSCPStorage(SCPStorageDeleteRequest request, StreamObserver<SCPStorageDeleteResponse> responseObserver) {
 
         try {
             boolean res = this.backend.deleteSCPStorage(request);
             if (res) {
+                responseObserver.onNext(SCPStorageDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 logger.error("Failed to delete SCP Storage with id " + request.getStorageId());
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageSecretHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageSecretHandler.java
index 514dbf4..66bd3d1 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageSecretHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageSecretHandler.java
@@ -75,9 +75,10 @@ public class StorageSecretHandler extends StorageSecretServiceGrpc.StorageSecret
     }
 
     @Override
-    public void updateStorageSecret(StorageSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateStorageSecret(StorageSecretUpdateRequest request, StreamObserver<StorageSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateStorageSecret(request);
+            responseObserver.onNext(StorageSecretUpdateResponse.newBuilder().setStorageSecret(request.getStorageSecret()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Failed in updating the storage secret {}", request.getStorageSecret().getId(), e);
@@ -89,10 +90,11 @@ public class StorageSecretHandler extends StorageSecretServiceGrpc.StorageSecret
     }
 
     @Override
-    public void deleteStorageSecret(StorageSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteStorageSecret(StorageSecretDeleteRequest request, StreamObserver<StorageSecretDeleteResponse> responseObserver) {
         try {
             boolean res = this.backend.deleteStorageSecret(request);
             if (res) {
+                responseObserver.onNext(StorageSecretDeleteResponse.newBuilder().setStatus(true).build());
                 responseObserver.onCompleted();
             } else {
                 responseObserver.onError(new Exception("Failed to delete storage secret with id " + request.getId()));
diff --git a/services/resource-service/stub/src/main/proto/azure/AzureStorage.proto b/services/resource-service/stub/src/main/proto/azure/AzureStorage.proto
index c7fb625..e3031da 100644
--- a/services/resource-service/stub/src/main/proto/azure/AzureStorage.proto
+++ b/services/resource-service/stub/src/main/proto/azure/AzureStorage.proto
@@ -51,6 +51,14 @@ message AzureStorageUpdateRequest {
     string name = 3;
 }
 
+message AzureStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message AzureStorageDeleteRequest {
     string storageId = 1;
+}
+
+message AzureStorageDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/azure/AzureStorageService.proto b/services/resource-service/stub/src/main/proto/azure/AzureStorageService.proto
index 21fde8c..5d73776 100644
--- a/services/resource-service/stub/src/main/proto/azure/AzureStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/azure/AzureStorageService.proto
@@ -20,43 +20,23 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.azure;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "azure/AzureStorage.proto";
 
 service AzureStorageService {
     
     // Storage
 
-    rpc listAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/azure/storage"
-        };
-    }
-    
+    rpc listAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageListResponse);
+
     rpc getAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageGetRequest) returns
-    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/azure/storage"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorage);
 
     rpc createAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageCreateRequest) returns
-    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/azure/storage"
-        };
-    }
-
-    rpc updateAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/azure/storage"
-        };
-    }
-
-    rpc deleteAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/azure/storage"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorage);
+
+    rpc updateAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageUpdateResponse);
+
+    rpc deleteAzureStorage (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.azure.storage.AzureStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/box/BoxStorage.proto b/services/resource-service/stub/src/main/proto/box/BoxStorage.proto
index f5f223f..4120349 100644
--- a/services/resource-service/stub/src/main/proto/box/BoxStorage.proto
+++ b/services/resource-service/stub/src/main/proto/box/BoxStorage.proto
@@ -48,8 +48,16 @@ message BoxStorageUpdateRequest {
     string name = 2;
 }
 
+message BoxStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message BoxStorageDeleteRequest {
     string storageId = 1;
 }
 
+message BoxStorageDeleteResponse {
+    bool status = 1;
+}
+
 
diff --git a/services/resource-service/stub/src/main/proto/box/BoxStorageService.proto b/services/resource-service/stub/src/main/proto/box/BoxStorageService.proto
index e580e1f..faada1b 100644
--- a/services/resource-service/stub/src/main/proto/box/BoxStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/box/BoxStorageService.proto
@@ -20,42 +20,23 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.box;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "box/BoxStorage.proto";
 
 service BoxStorageService {
 
     // Storage
-    rpc listBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/box/storage"
-        };
-    }
+    rpc listBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageListResponse);
 
     rpc getBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageGetRequest) returns
-    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/box/storage"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage);
 
     rpc createBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageCreateRequest) returns
-    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/box/storage"
-        };
-    }
-
-    rpc updateBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/box/storage"
-        };
-    }
-
-    rpc deleteBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/box/storage"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorage);
+
+    rpc updateBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageUpdateResponse);
+
+    rpc deleteBoxStorage (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.box.storage.BoxStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/dropbox/DropboxStorage.proto b/services/resource-service/stub/src/main/proto/dropbox/DropboxStorage.proto
index 4012f7d..fb7e116 100644
--- a/services/resource-service/stub/src/main/proto/dropbox/DropboxStorage.proto
+++ b/services/resource-service/stub/src/main/proto/dropbox/DropboxStorage.proto
@@ -48,8 +48,15 @@ message DropboxStorageUpdateRequest {
     string name = 2;
 }
 
+message DropboxStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message DropboxStorageDeleteRequest {
     string storageId = 1;
 }
 
+message DropboxStorageDeleteResponse {
+    bool status = 1;
+}
 
diff --git a/services/resource-service/stub/src/main/proto/dropbox/DropboxStorageService.proto b/services/resource-service/stub/src/main/proto/dropbox/DropboxStorageService.proto
index 638a0ec..1a10107 100644
--- a/services/resource-service/stub/src/main/proto/dropbox/DropboxStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/dropbox/DropboxStorageService.proto
@@ -20,42 +20,23 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.dropbox;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "dropbox/DropboxStorage.proto";
 
 service DropboxStorageService {
 
     // Storage
-    rpc listDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/dropbox/storage"
-        };
-    }
+    rpc listDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageListResponse);
 
     rpc getDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageGetRequest) returns
-                                                    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/dropbox/storage"
-        };
-    }
+                                                    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorage);
 
     rpc createDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageCreateRequest) returns
-                                                    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/dropbox/storage"
-        };
-    }
-
-    rpc updateDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/dropbox/storage"
-        };
-    }
-
-    rpc deleteDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/dropbox/storage"
-        };
-    }
+                                                    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorage);
+
+    rpc updateDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageUpdateResponse);
+
+    rpc deleteDropboxStorage (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.dropbox.storage.DropboxStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/ftp/FTPStorage.proto b/services/resource-service/stub/src/main/proto/ftp/FTPStorage.proto
index c52bab0..5f9837c 100644
--- a/services/resource-service/stub/src/main/proto/ftp/FTPStorage.proto
+++ b/services/resource-service/stub/src/main/proto/ftp/FTPStorage.proto
@@ -54,6 +54,14 @@ message FTPStorageUpdateRequest {
     string name = 4;
 }
 
+message FTPStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message FTPStorageDeleteRequest {
     string storageId = 1;
+}
+
+message FTPStorageDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/ftp/FTPStorageService.proto b/services/resource-service/stub/src/main/proto/ftp/FTPStorageService.proto
index 73eb4f1..08f22fb 100644
--- a/services/resource-service/stub/src/main/proto/ftp/FTPStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/ftp/FTPStorageService.proto
@@ -20,41 +20,22 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.ftp;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "ftp/FTPStorage.proto";
 
 service FTPStorageService {
 
-    rpc listFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/ftp/storage"
-        };
-    }
+    rpc listFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageListResponse);
     
     rpc getFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageGetRequest) returns
-                                                        (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/ftp/storage"
-        };
-    }
+                                                        (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorage);
 
     rpc createFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageCreateRequest) returns
-                                                        (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/ftp/storage"
-        };
-    }
-
-    rpc updateFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/ftp/storage"
-        };
-    }
-
-    rpc deleteFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/ftp/storage"
-        };
-    }
+                                                        (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorage);
+
+    rpc updateFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageUpdateResponse);
+
+    rpc deleteFTPStorage (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.ftp.storage.FTPStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/gcs/GCSStorage.proto b/services/resource-service/stub/src/main/proto/gcs/GCSStorage.proto
index a638728..a7245c7 100644
--- a/services/resource-service/stub/src/main/proto/gcs/GCSStorage.proto
+++ b/services/resource-service/stub/src/main/proto/gcs/GCSStorage.proto
@@ -51,8 +51,16 @@ message GCSStorageUpdateRequest {
     string name = 3;
 }
 
+message GCSStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message GCSStorageDeleteRequest {
     string storageId = 1;
 }
 
+message GCSStorageDeleteResponse {
+    bool status = 1;
+}
+
 
diff --git a/services/resource-service/stub/src/main/proto/gcs/GCSStorageService.proto b/services/resource-service/stub/src/main/proto/gcs/GCSStorageService.proto
index 51d5de7..e742993 100644
--- a/services/resource-service/stub/src/main/proto/gcs/GCSStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/gcs/GCSStorageService.proto
@@ -20,41 +20,22 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.gcs;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "gcs/GCSStorage.proto";
 
 service GCSStorageService {
 
-    rpc listGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/gcs/storage"
-        };
-    }
+    rpc listGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageListResponse);
     
     rpc getGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageGetRequest) returns
-                                                    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/gcs/storage"
-        };
-    }
+                                                    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorage);
 
     rpc createGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageCreateRequest) returns
-                                                    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/gcs/storage"
-        };
-    }
-
-    rpc updateGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/gcs/storage"
-        };
-    }
-
-    rpc deleteGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/gcs/storage"
-        };
-    }
+                                                    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorage);
+
+    rpc updateGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageUpdateResponse);
+
+    rpc deleteGCSStorage (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.gcs.storage.GCSStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/local/LocalStorage.proto b/services/resource-service/stub/src/main/proto/local/LocalStorage.proto
index 7eff691..ef425b1 100644
--- a/services/resource-service/stub/src/main/proto/local/LocalStorage.proto
+++ b/services/resource-service/stub/src/main/proto/local/LocalStorage.proto
@@ -51,8 +51,15 @@ message LocalStorageUpdateRequest {
     string name = 3;
 }
 
+message LocalStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message LocalStorageDeleteRequest {
     string storageId = 1;
 }
 
+message LocalStorageDeleteResponse {
+    bool status = 1;
+}
 
diff --git a/services/resource-service/stub/src/main/proto/local/LocalStorageService.proto b/services/resource-service/stub/src/main/proto/local/LocalStorageService.proto
index e138633..a297562 100644
--- a/services/resource-service/stub/src/main/proto/local/LocalStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/local/LocalStorageService.proto
@@ -20,40 +20,23 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.local;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "local/LocalStorage.proto";
 
 service LocalStorageService {
 
     // Storage
-    rpc listLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/local/storage"
-        };
-    }
+    rpc listLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageListResponse);
     
-    rpc getLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageGetRequest) returns (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/local/storage"
-        };
-    }
-
-    rpc createLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageCreateRequest) returns (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/local/storage"
-        };
-    }
-
-    rpc updateLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/local/storage"
-        };
-    }
-
-    rpc deleteLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/local/storage"
-        };
-    }
+    rpc getLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageGetRequest) returns
+    (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorage);
+
+    rpc createLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageCreateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorage);
+
+    rpc updateLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageUpdateResponse);
+
+    rpc deleteLocalStorage (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.local.storage.LocalStorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/resource/ResourceService.proto b/services/resource-service/stub/src/main/proto/resource/ResourceService.proto
index 86234cf..5002c4e 100644
--- a/services/resource-service/stub/src/main/proto/resource/ResourceService.proto
+++ b/services/resource-service/stub/src/main/proto/resource/ResourceService.proto
@@ -20,8 +20,6 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.stubs.common;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "azure/AzureStorage.proto";
 import "box/BoxStorage.proto";
 import "dropbox/DropboxStorage.proto";
@@ -97,35 +95,27 @@ message GenericResourceUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 5;
 }
 
+message GenericResourceUpdateResponse {
+    string resourceId = 1;
+}
+
 message GenericResourceDeleteRequest {
     string resourceId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
 
+message GenericResourceDeleteResponse {
+    bool status = 1;
+}
+
 service GenericResourceService {
     rpc getGenericResource (GenericResourceGetRequest) returns
-    (org.apache.airavata.mft.resource.stubs.common.GenericResource) {
-        option (google.api.http) = {
-           get: "/v1.0/resource"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.common.GenericResource);
 
     rpc createGenericResource (GenericResourceCreateRequest) returns
-    (org.apache.airavata.mft.resource.stubs.common.GenericResource) {
-        option (google.api.http) = {
-           post: "/v1.0/resource"
-        };
-    }
+    (org.apache.airavata.mft.resource.stubs.common.GenericResource);
 
-    rpc updateGenericResource (GenericResourceUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource"
-        };
-    }
+    rpc updateGenericResource (GenericResourceUpdateRequest) returns (GenericResourceUpdateResponse);
 
-    rpc deleteGenericResource (GenericResourceDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource"
-        };
-    }
+    rpc deleteGenericResource (GenericResourceDeleteRequest) returns (GenericResourceDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/resourcesecretmap/StorageSecretMap.proto b/services/resource-service/stub/src/main/proto/resourcesecretmap/StorageSecretMap.proto
index 678271d..257a6fd 100644
--- a/services/resource-service/stub/src/main/proto/resourcesecretmap/StorageSecretMap.proto
+++ b/services/resource-service/stub/src/main/proto/resourcesecretmap/StorageSecretMap.proto
@@ -21,8 +21,6 @@ option java_multiple_files = true;
 package org.apache.airavata.mft.storage.stubs.storagesecret;
 
 import "CredCommon.proto";
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 
 message StorageSecret {
     string id = 1;
@@ -53,11 +51,19 @@ message StorageSecretDeleteRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
 
+message StorageSecretDeleteResponse {
+    bool status =1;
+}
+
 message StorageSecretUpdateRequest {
     StorageSecret storageSecret = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
 
+message StorageSecretUpdateResponse {
+    StorageSecret storageSecret = 1;
+}
+
 message StorageSecretGetRequest {
     string id = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
@@ -74,34 +80,14 @@ message StorageSecretSearchResponse {
 }
 
 service StorageSecretService {
-    rpc getStorageSecret (StorageSecretGetRequest) returns (StorageSecret) {
-        option (google.api.http) = {
-           get: "/v1.0/storagesecret"
-        };
-    }
+    rpc getStorageSecret (StorageSecretGetRequest) returns (StorageSecret);
 
-    rpc searchStorageSecret (StorageSecretSearchRequest) returns (StorageSecretSearchResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/storagesecret/search"
-        };
-    }
+    rpc searchStorageSecret (StorageSecretSearchRequest) returns (StorageSecretSearchResponse);
 
-    rpc createStorageSecret (StorageSecretCreateRequest) returns (StorageSecret) {
-        option (google.api.http) = {
-           post: "/v1.0/storagesecret"
-        };
-    }
+    rpc createStorageSecret (StorageSecretCreateRequest) returns (StorageSecret);
 
-    rpc updateStorageSecret (StorageSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           post: "/v1.0/storagesecret"
-        };
-    }
+    rpc updateStorageSecret (StorageSecretUpdateRequest) returns (StorageSecretUpdateResponse);
 
-    rpc deleteStorageSecret (StorageSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/storagesecret"
-        };
-    }
+    rpc deleteStorageSecret (StorageSecretDeleteRequest) returns (StorageSecretDeleteResponse);
 }
 
diff --git a/services/resource-service/stub/src/main/proto/s3/S3Storage.proto b/services/resource-service/stub/src/main/proto/s3/S3Storage.proto
index 2228485..76396ac 100644
--- a/services/resource-service/stub/src/main/proto/s3/S3Storage.proto
+++ b/services/resource-service/stub/src/main/proto/s3/S3Storage.proto
@@ -60,8 +60,17 @@ message S3StorageUpdateRequest {
     string name = 6;
 }
 
+message S3StorageUpdateResponse {
+    string storageId = 1;
+}
+
+
 message S3StorageDeleteRequest {
     string storageId = 1;
 }
 
+message S3StorageDeleteResponse {
+    bool status = 1;
+}
+
 
diff --git a/services/resource-service/stub/src/main/proto/s3/S3StorageService.proto b/services/resource-service/stub/src/main/proto/s3/S3StorageService.proto
index 70591b0..1a7c9a5 100644
--- a/services/resource-service/stub/src/main/proto/s3/S3StorageService.proto
+++ b/services/resource-service/stub/src/main/proto/s3/S3StorageService.proto
@@ -20,40 +20,23 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.s3;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "s3/S3Storage.proto";
 
 service S3StorageService {
 
     // Storage
-    rpc listS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListRequest) returns (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/s3/storage"
-        };
-    }
+    rpc listS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageListResponse);
     
-    rpc getS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageGetRequest) returns (org.apache.airavata.mft.resource.stubs.s3.storage.S3Storage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/s3/storage"
-        };
-    }
-
-    rpc createS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageCreateRequest) returns (org.apache.airavata.mft.resource.stubs.s3.storage.S3Storage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/s3/storage"
-        };
-    }
-
-    rpc updateS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/s3/storage"
-        };
-    }
-
-    rpc deleteS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/s3/storage"
-        };
-    }
+    rpc getS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageGetRequest) returns
+    (org.apache.airavata.mft.resource.stubs.s3.storage.S3Storage);
+
+    rpc createS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageCreateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.s3.storage.S3Storage);
+
+    rpc updateS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageUpdateResponse);
+
+    rpc deleteS3Storage (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.s3.storage.S3StorageDeleteResponse);
 }
\ No newline at end of file
diff --git a/services/resource-service/stub/src/main/proto/scp/SCPStorage.proto b/services/resource-service/stub/src/main/proto/scp/SCPStorage.proto
index dd73ed0..001b1d5 100644
--- a/services/resource-service/stub/src/main/proto/scp/SCPStorage.proto
+++ b/services/resource-service/stub/src/main/proto/scp/SCPStorage.proto
@@ -55,8 +55,17 @@ message SCPStorageUpdateRequest {
     string name = 4;
 }
 
+message SCPStorageUpdateResponse {
+    string storageId = 1;
+}
+
 message SCPStorageDeleteRequest {
     string storageId = 1;
 }
 
+message SCPStorageDeleteResponse {
+    bool status = 1;
+}
+
+
 
diff --git a/services/resource-service/stub/src/main/proto/scp/SCPStorageService.proto b/services/resource-service/stub/src/main/proto/scp/SCPStorageService.proto
index a9f8662..a4b4eef 100644
--- a/services/resource-service/stub/src/main/proto/scp/SCPStorageService.proto
+++ b/services/resource-service/stub/src/main/proto/scp/SCPStorageService.proto
@@ -20,39 +20,22 @@ syntax = "proto3";
 option java_multiple_files = true;
 package org.apache.airavata.mft.resource.service.scp;
 
-import "google/api/annotations.proto";
-import "google/protobuf/empty.proto";
 import "scp/SCPStorage.proto";
 
 service SCPStorageService {
 
-    rpc listSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListRequest) returns (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListResponse) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/scp/storage"
-        };
-    }
-
-    rpc getSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageGetRequest) returns (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorage) {
-        option (google.api.http) = {
-           get: "/v1.0/resource/scp/storage"
-        };
-    }
-
-    rpc createSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageCreateRequest) returns (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorage) {
-        option (google.api.http) = {
-           post: "/v1.0/resource/scp/storage"
-        };
-    }
-
-    rpc updateSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/resource/scp/storage"
-        };
-    }
-
-    rpc deleteSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/resource/scp/storage"
-        };
-    }
+    rpc listSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListRequest) returns
+    (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageListResponse);
+
+    rpc getSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageGetRequest) returns
+    (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorage);
+
+    rpc createSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageCreateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorage);
+
+    rpc updateSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageUpdateRequest) returns
+    (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageUpdateResponse);
+
+    rpc deleteSCPStorage (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageDeleteRequest) returns
+    (org.apache.airavata.mft.resource.stubs.scp.storage.SCPStorageDeleteResponse);
 }
\ No newline at end of file
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
index 8160587..8a46b28 100644
--- 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
@@ -60,7 +60,9 @@ public class AzureServiceHandler extends AzureSecretServiceGrpc.AzureSecretServi
     @Override
     public void createAzureSecret(AzureSecretCreateRequest request, StreamObserver<AzureSecret> responseObserver) {
         try {
-            this.backend.createAzureSecret(request);
+            AzureSecret azureSecret = this.backend.createAzureSecret(request);
+            responseObserver.onNext(azureSecret);
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in creating Azure Secret", e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -70,9 +72,11 @@ public class AzureServiceHandler extends AzureSecretServiceGrpc.AzureSecretServi
     }
 
     @Override
-    public void updateAzureSecret(AzureSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateAzureSecret(AzureSecretUpdateRequest request, StreamObserver<AzureSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateAzureSecret(request);
+            responseObserver.onNext(AzureSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in updating Azure Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -82,9 +86,11 @@ public class AzureServiceHandler extends AzureSecretServiceGrpc.AzureSecretServi
     }
 
     @Override
-    public void deleteAzureSecret(AzureSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteAzureSecret(AzureSecretDeleteRequest request, StreamObserver<AzureSecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteAzureSecret(request);
+            responseObserver.onNext(AzureSecretDeleteResponse.newBuilder().setStatus(true).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting Azure Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
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
index 48f9f6c..ebfc6b8 100644
--- 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
@@ -60,7 +60,9 @@ public class BoxServiceHandler extends BoxSecretServiceGrpc.BoxSecretServiceImpl
     @Override
     public void createBoxSecret(BoxSecretCreateRequest request, StreamObserver<BoxSecret> responseObserver) {
         try {
-            this.backend.createBoxSecret(request);
+            BoxSecret boxSecret = this.backend.createBoxSecret(request);
+            responseObserver.onNext(boxSecret);
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in creating Box Secret", e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -70,9 +72,11 @@ public class BoxServiceHandler extends BoxSecretServiceGrpc.BoxSecretServiceImpl
     }
 
     @Override
-    public void updateBoxSecret(BoxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateBoxSecret(BoxSecretUpdateRequest request, StreamObserver<BoxSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateBoxSecret(request);
+            responseObserver.onNext(BoxSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in updating Box Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -82,9 +86,11 @@ public class BoxServiceHandler extends BoxSecretServiceGrpc.BoxSecretServiceImpl
     }
 
     @Override
-    public void deleteBoxSecret(BoxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteBoxSecret(BoxSecretDeleteRequest request, StreamObserver<BoxSecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteBoxSecret(request);
+            responseObserver.onNext(BoxSecretDeleteResponse.newBuilder().setStatus(true).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting Box Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
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
index 307e2ee..86fa8c9 100644
--- 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
@@ -59,7 +59,9 @@ public class DropboxServiceHandler extends DropboxSecretServiceGrpc.DropboxSecre
     @Override
     public void createDropboxSecret(DropboxSecretCreateRequest request, StreamObserver<DropboxSecret> responseObserver) {
         try {
-            this.backend.createDropboxSecret(request);
+            DropboxSecret dropboxSecret = this.backend.createDropboxSecret(request);
+            responseObserver.onNext(dropboxSecret);
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in creating Dropbox Secret", e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -69,9 +71,11 @@ public class DropboxServiceHandler extends DropboxSecretServiceGrpc.DropboxSecre
     }
 
     @Override
-    public void updateDropboxSecret(DropboxSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateDropboxSecret(DropboxSecretUpdateRequest request, StreamObserver<DropboxSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateDropboxSecret(request);
+            responseObserver.onNext(DropboxSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in updating Dropbox Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -81,9 +85,11 @@ public class DropboxServiceHandler extends DropboxSecretServiceGrpc.DropboxSecre
     }
 
     @Override
-    public void deleteDropboxSecret(DropboxSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteDropboxSecret(DropboxSecretDeleteRequest request, StreamObserver<DropboxSecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteDropboxSecret(request);
+            responseObserver.onNext(DropboxSecretDeleteResponse.newBuilder().setStatus(true).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting Dropbox Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
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
index 520bc1c..01e5fb1 100644
--- 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
@@ -57,7 +57,9 @@ public class FTPServiceHandler extends FTPSecretServiceGrpc.FTPSecretServiceImpl
     @Override
     public void createFTPSecret(FTPSecretCreateRequest request, StreamObserver<FTPSecret> responseObserver) {
         try {
-            this.backend.createFTPSecret(request);
+            FTPSecret ftpSecret = this.backend.createFTPSecret(request);
+            responseObserver.onNext(ftpSecret);
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in creating FTP Secret", e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -67,9 +69,11 @@ public class FTPServiceHandler extends FTPSecretServiceGrpc.FTPSecretServiceImpl
     }
 
     @Override
-    public void updateFTPSecret(FTPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateFTPSecret(FTPSecretUpdateRequest request, StreamObserver<FTPSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateFTPSecret(request);
+            responseObserver.onNext(FTPSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in updating FTP Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -79,9 +83,11 @@ public class FTPServiceHandler extends FTPSecretServiceGrpc.FTPSecretServiceImpl
     }
 
     @Override
-    public void deleteFTPSecret(FTPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteFTPSecret(FTPSecretDeleteRequest request, StreamObserver<FTPSecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteFTPSecret(request);
+            responseObserver.onNext(FTPSecretDeleteResponse.newBuilder().setStatus(true).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting FTP Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
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
index 982a54f..f814c3a 100644
--- 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
@@ -59,7 +59,9 @@ public class GCSServiceHandler extends GCSSecretServiceGrpc.GCSSecretServiceImpl
     @Override
     public void createGCSSecret(GCSSecretCreateRequest request, StreamObserver<GCSSecret> responseObserver) {
         try {
-            this.backend.createGCSSecret(request);
+            GCSSecret gcsSecret = this.backend.createGCSSecret(request);
+            responseObserver.onNext(gcsSecret);
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in creating GCS Secret", e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -69,9 +71,10 @@ public class GCSServiceHandler extends GCSSecretServiceGrpc.GCSSecretServiceImpl
     }
 
     @Override
-    public void updateGCSSecret(GCSSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateGCSSecret(GCSSecretUpdateRequest request, StreamObserver<GCSSecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateGCSSecret(request);
+            responseObserver.onNext(GCSSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
         } catch (Exception e) {
             logger.error("Error in updating GCS Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
@@ -81,9 +84,11 @@ public class GCSServiceHandler extends GCSSecretServiceGrpc.GCSSecretServiceImpl
     }
 
     @Override
-    public void deleteGCSSecret(GCSSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteGCSSecret(GCSSecretDeleteRequest request, StreamObserver<GCSSecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteGCSSecret(request);
+            responseObserver.onNext(GCSSecretDeleteResponse.newBuilder().setStatus(true).build());
+            responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting GCS Secret with id {}", request.getSecretId(), e);
             responseObserver.onError(Status.INTERNAL.withCause(e)
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
index e26083d..a3ee69c 100644
--- 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
@@ -71,9 +71,10 @@ public class S3ServiceHandler extends S3SecretServiceGrpc.S3SecretServiceImplBas
     }
 
     @Override
-    public void updateS3Secret(S3SecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateS3Secret(S3SecretUpdateRequest request, StreamObserver<S3SecretUpdateResponse> responseObserver) {
         try {
             this.backend.updateS3Secret(request);
+            responseObserver.onNext(S3SecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in updating S3 Secret with id {}", request.getSecretId(), e);
@@ -84,9 +85,10 @@ public class S3ServiceHandler extends S3SecretServiceGrpc.S3SecretServiceImplBas
     }
 
     @Override
-    public void deleteS3Secret(S3SecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteS3Secret(S3SecretDeleteRequest request, StreamObserver<S3SecretDeleteResponse> responseObserver) {
         try {
             this.backend.deleteS3Secret(request);
+            responseObserver.onNext(S3SecretDeleteResponse.newBuilder().setStatus(true).build());
             responseObserver.onCompleted();
         } catch (Exception e) {
             logger.error("Error in deleting S3 Secret with id {}", request.getSecretId(), e);
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
index 57fc1f0..7351393 100644
--- 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
@@ -63,15 +63,17 @@ public class SCPServiceHandler extends SCPSecretServiceGrpc.SCPSecretServiceImpl
     }
 
     @Override
-    public void updateSCPSecret(SCPSecretUpdateRequest request, StreamObserver<Empty> responseObserver) {
+    public void updateSCPSecret(SCPSecretUpdateRequest request, StreamObserver<SCPSecretUpdateResponse> responseObserver) {
         this.backend.updateSCPSecret(request);
+        responseObserver.onNext(SCPSecretUpdateResponse.newBuilder().setSecretId(request.getSecretId()).build());
         responseObserver.onCompleted();
     }
 
     @Override
-    public void deleteSCPSecret(SCPSecretDeleteRequest request, StreamObserver<Empty> responseObserver) {
+    public void deleteSCPSecret(SCPSecretDeleteRequest request, StreamObserver<SCPSecretDeleteResponse> responseObserver) {
         boolean res = this.backend.deleteSCPSecret(request);
         if (res) {
+            responseObserver.onNext(SCPSecretDeleteResponse.newBuilder().setStatus(true).build());
             responseObserver.onCompleted();
         } else {
             responseObserver.onError(Status.INTERNAL
diff --git a/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto b/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto
index 1887dbb..10dbb02 100644
--- a/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto
+++ b/services/secret-service/stub/src/main/proto/azure/AzureCredential.proto
@@ -43,7 +43,15 @@ message AzureSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 3;
 }
 
+message AzureSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message AzureSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
+
+message AzureSecretDeleteResponse {
+    bool status = 1;
+}
diff --git a/services/secret-service/stub/src/main/proto/azure/AzureSecretService.proto b/services/secret-service/stub/src/main/proto/azure/AzureSecretService.proto
index 9097936..31363b3 100644
--- a/services/secret-service/stub/src/main/proto/azure/AzureSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/azure/AzureSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                        (org.apache.airavata.mft.credential.stubs.azure.AzureSecret);
 
     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"
-        };
-    }
+                                                        (org.apache.airavata.mft.credential.stubs.azure.AzureSecret);
 
-    rpc updateAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/secret/azure"
-        };
-    }
+    rpc updateAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.azure.AzureSecretUpdateResponse);
 
-    rpc deleteAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/secret/azure"
-        };
-    }
+    rpc deleteAzureSecret (org.apache.airavata.mft.credential.stubs.azure.AzureSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.azure.AzureSecretDeleteResponse);
 }
\ 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
index e66d843..189237f 100644
--- a/services/secret-service/stub/src/main/proto/box/BoxCredential.proto
+++ b/services/secret-service/stub/src/main/proto/box/BoxCredential.proto
@@ -43,7 +43,15 @@ message BoxSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 3;
 }
 
+message BoxSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message BoxSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
+
+message BoxSecretDeleteResponse {
+    bool status = 1;
+}
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/box/BoxSecretService.proto b/services/secret-service/stub/src/main/proto/box/BoxSecretService.proto
index 94fb54d..6b9b696 100644
--- a/services/secret-service/stub/src/main/proto/box/BoxSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/box/BoxSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                            (org.apache.airavata.mft.credential.stubs.box.BoxSecret);
 
     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"
-        };
-    }
+                                                            (org.apache.airavata.mft.credential.stubs.box.BoxSecret);
 
-    rpc updateBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/secret/box"
-        };
-    }
+    rpc updateBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.box.BoxSecretUpdateResponse);
 
-    rpc deleteBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/secret/box"
-        };
-    }
+    rpc deleteBoxSecret (org.apache.airavata.mft.credential.stubs.box.BoxSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.box.BoxSecretDeleteResponse);
 }
\ 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
index ce5dfb1..d372486 100644
--- a/services/secret-service/stub/src/main/proto/dropbox/DropboxCredential.proto
+++ b/services/secret-service/stub/src/main/proto/dropbox/DropboxCredential.proto
@@ -43,7 +43,15 @@ message DropboxSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 3;
 }
 
+message DropboxSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message DropboxSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
+}
+
+message DropboxSecretDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/dropbox/DropboxSecretService.proto b/services/secret-service/stub/src/main/proto/dropbox/DropboxSecretService.proto
index c1abeae..9e8e789 100644
--- a/services/secret-service/stub/src/main/proto/dropbox/DropboxSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/dropbox/DropboxSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                    (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret);
 
     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"
-        };
-    }
+                                                    (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecret);
 
-    rpc updateDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            put: "/v1.0/secret/dropbox"
-        };
-    }
+    rpc updateDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretUpdateResponse);
 
-    rpc deleteDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/v1.0/secret/dropbox"
-        };
-    }
+    rpc deleteDropboxSecret (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.dropbox.DropboxSecretDeleteResponse);
 }
diff --git a/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto b/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto
index aa8025d..9f3098b 100644
--- a/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto
+++ b/services/secret-service/stub/src/main/proto/ftp/FTPCredential.proto
@@ -46,7 +46,15 @@ message FTPSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 4;
 }
 
+message FTPSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message FTPSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 4;
+}
+
+message FTPSecretDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/ftp/FTPSecretService.proto b/services/secret-service/stub/src/main/proto/ftp/FTPSecretService.proto
index 9c12b77..30b0ab9 100644
--- a/services/secret-service/stub/src/main/proto/ftp/FTPSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/ftp/FTPSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                            (org.apache.airavata.mft.credential.stubs.ftp.FTPSecret);
 
     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"
-        };
-    }
+                                                            (org.apache.airavata.mft.credential.stubs.ftp.FTPSecret);
 
-    rpc updateFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            put: "/v1.0/secret/ftp"
-        };
-    }
+    rpc updateFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretUpdateResponse);
 
-    rpc deleteFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/v1.0/secret/ftp"
-        };
-    }
+    rpc deleteFTPSecret (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.ftp.FTPSecretDeleteResponse);
 }
diff --git a/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto b/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto
index 17a4507..f4ab974 100644
--- a/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto
+++ b/services/secret-service/stub/src/main/proto/gcs/GCSCredential.proto
@@ -43,7 +43,15 @@ message GCSSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 3;
 }
 
+message GCSSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message GCSSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
+}
+
+message GCSSecretDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/gcs/GCSSecretService.proto b/services/secret-service/stub/src/main/proto/gcs/GCSSecretService.proto
index b48f3e4..6d08739 100644
--- a/services/secret-service/stub/src/main/proto/gcs/GCSSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/gcs/GCSSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                    (org.apache.airavata.mft.credential.stubs.gcs.GCSSecret);
 
     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"
-        };
-    }
+                                                    (org.apache.airavata.mft.credential.stubs.gcs.GCSSecret);
 
-    rpc updateGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            put: "/v1.0/secret/gcs"
-        };
-    }
+    rpc updateGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretUpdateResponse);
 
-    rpc deleteGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/v1.0/secret/gcs"
-        };
-    }
+    rpc deleteGCSSecret (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.gcs.GCSSecretDeleteResponse);
 }
diff --git a/services/secret-service/stub/src/main/proto/s3/S3Credential.proto b/services/secret-service/stub/src/main/proto/s3/S3Credential.proto
index 4d64197..ae03770 100644
--- a/services/secret-service/stub/src/main/proto/s3/S3Credential.proto
+++ b/services/secret-service/stub/src/main/proto/s3/S3Credential.proto
@@ -46,7 +46,15 @@ message S3SecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 4;
 }
 
+message S3SecretUpdateResponse {
+    string secretId = 1;
+}
+
 message S3SecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
+}
+
+message S3SecretDeleteResponse {
+    bool status = 1;
 }
\ No newline at end of file
diff --git a/services/secret-service/stub/src/main/proto/s3/S3SecretService.proto b/services/secret-service/stub/src/main/proto/s3/S3SecretService.proto
index ed5517a..cdd1204 100644
--- a/services/secret-service/stub/src/main/proto/s3/S3SecretService.proto
+++ b/services/secret-service/stub/src/main/proto/s3/S3SecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                                (org.apache.airavata.mft.credential.stubs.s3.S3Secret);
 
     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"
-        };
-    }
+                                                                (org.apache.airavata.mft.credential.stubs.s3.S3Secret);
 
-    rpc updateS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/secret/s3"
-        };
-    }
+    rpc updateS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.s3.S3SecretUpdateResponse);
 
-    rpc deleteS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/secret/s3"
-        };
-    }
+    rpc deleteS3Secret (org.apache.airavata.mft.credential.stubs.s3.S3SecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.s3.S3SecretDeleteResponse);
 }
\ 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
index ece276f..1dc9adb 100644
--- a/services/secret-service/stub/src/main/proto/scp/SCPCredential.proto
+++ b/services/secret-service/stub/src/main/proto/scp/SCPCredential.proto
@@ -52,8 +52,16 @@ message SCPSecretUpdateRequest {
     org.apache.airavata.mft.common.AuthToken authzToken = 6;
 }
 
+message SCPSecretUpdateResponse {
+    string secretId = 1;
+}
+
 message SCPSecretDeleteRequest {
     string secretId = 1;
     org.apache.airavata.mft.common.AuthToken authzToken = 2;
 }
 
+message SCPSecretDeleteResponse {
+    bool status = 1;
+}
+
diff --git a/services/secret-service/stub/src/main/proto/scp/SCPSecretService.proto b/services/secret-service/stub/src/main/proto/scp/SCPSecretService.proto
index b0f0d35..cedecfb 100644
--- a/services/secret-service/stub/src/main/proto/scp/SCPSecretService.proto
+++ b/services/secret-service/stub/src/main/proto/scp/SCPSecretService.proto
@@ -20,34 +20,18 @@ 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"
-        };
-    }
+                                                        (org.apache.airavata.mft.credential.stubs.scp.SCPSecret);
 
     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"
-        };
-    }
+                                                        (org.apache.airavata.mft.credential.stubs.scp.SCPSecret);
 
-    rpc updateSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretUpdateRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           put: "/v1.0/secret/scp"
-        };
-    }
+    rpc updateSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretUpdateRequest) returns
+    (org.apache.airavata.mft.credential.stubs.scp.SCPSecretUpdateResponse);
 
-    rpc deleteSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretDeleteRequest) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-           delete: "/v1.0/secret/scp"
-        };
-    }
+    rpc deleteSCPSecret (org.apache.airavata.mft.credential.stubs.scp.SCPSecretDeleteRequest) returns
+    (org.apache.airavata.mft.credential.stubs.scp.SCPSecretDeleteResponse);
 }
\ No newline at end of file