in python-cli/mft_cli/airavata_mft_cli/operations.py [0:0]
def fetch_storage_and_secret_ids(storage_name):
client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
transfer_api_secured = configcli.transfer_api_secured,
resource_service_host = configcli.resource_service_host,
resource_service_port = configcli.resource_service_port,
resource_service_secured = configcli.resource_service_secured,
secret_service_host = configcli.secret_service_host,
secret_service_port = configcli.secret_service_port)
search_req = StorageCommon_pb2.StorageSearchRequest(storageName=storage_name)
storages = client.common_api.searchStorages(search_req)
if len(storages.storageList) == 0:
search_req = StorageCommon_pb2.StorageSearchRequest(storageId=storage_name)
storages = client.common_api.searchStorages(search_req)
if len(storages.storageList) == 0:
print("No storage with name or id " + storage_name + " was found. Please register the storage with command mft-cli storage add")
raise typer.Abort()
if len(storages.storageList) > 1:
print("More than one storage with nam " + storage_name + " was found. Please use the storage id. You can fetch it from mft-cli storage list")
raise typer.Abort()
storage = storages.storageList[0]
if storage.storageType == StorageCommon_pb2.StorageType.LOCAL : #checking if storageID is Local
return storage.storageId, ''
sec_req = StorageCommon_pb2.SecretForStorageGetRequest(storageId = storage.storageId)
sec_resp = client.common_api.getSecretForStorage(sec_req)
if sec_resp.error != 0:
print("Could not fetch the secret for storage " + storage.storageId)
return sec_resp.storageId, sec_resp.secretId