You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ya...@apache.org on 2025/07/14 02:39:28 UTC
(airavata) branch master updated: [python-sdk] generate code from latest thrift stubs. add Makefile. bump version to 2.1.6
This is an automated email from the ASF dual-hosted git repository.
yasith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/master by this push:
new 005766c4ac [python-sdk] generate code from latest thrift stubs. add Makefile. bump version to 2.1.6
005766c4ac is described below
commit 005766c4ac7581c632d4022a73e6fd0907336b3e
Author: yasithdev <ya...@icloud.com>
AuthorDate: Sun Jul 13 21:39:18 2025 -0500
[python-sdk] generate code from latest thrift stubs. add Makefile. bump version to 2.1.6
---
dev-tools/airavata-python-sdk/Makefile | 19 +
dev-tools/airavata-python-sdk/airavata/__init__.py | 4 -
.../airavata-python-sdk/airavata/api/__init__.py | 5 -
.../airavata/api/credential/__init__.py | 4 -
.../airavata/api/credential/store/__init__.py | 5 -
.../api/credential/store/error/__init__.py | 5 -
.../airavata/api/credential/store/ttypes.py | 2 +-
.../airavata/api/error/__init__.py | 5 -
.../airavata/api/error/ttypes.py | 1 -
.../airavata/api/sharing/__init__.py | 5 -
.../airavata/api/sharing/ttypes.py | 2 +-
.../airavata-python-sdk/airavata/api/ttypes.py | 4 +-
.../airavata/api/workflow/Workflow-remote | 166 ++
.../airavata/api/workflow/Workflow.py | 1738 ++++++++++++++++++++
.../airavata/api/workflow/__init__.py | 1 +
.../{service/profile => api/workflow}/constants.py | 1 +
.../profile/tenant/cpi => api/workflow}/ttypes.py | 9 +-
.../airavata-python-sdk/airavata/base/__init__.py | 4 -
.../airavata/base/api/__init__.py | 5 -
.../airavata-python-sdk/airavata/model/__init__.py | 5 -
.../airavata/model/appcatalog/__init__.py | 4 -
.../appcatalog/accountprovisioning/__init__.py | 5 -
.../model/appcatalog/appdeployment/__init__.py | 5 -
.../model/appcatalog/appinterface/__init__.py | 5 -
.../model/appcatalog/appinterface/ttypes.py | 2 +-
.../model/appcatalog/computeresource/__init__.py | 5 -
.../model/appcatalog/gatewaygroups/__init__.py | 5 -
.../model/appcatalog/gatewayprofile/__init__.py | 5 -
.../model/appcatalog/gatewayprofile/ttypes.py | 1 -
.../appcatalog/groupresourceprofile/__init__.py | 5 -
.../appcatalog/groupresourceprofile/ttypes.py | 509 ++++--
.../model/appcatalog/parallelism/__init__.py | 5 -
.../airavata/model/appcatalog/parser/__init__.py | 5 -
.../model/appcatalog/storageresource/__init__.py | 5 -
.../appcatalog/userresourceprofile/__init__.py | 5 -
.../model/appcatalog/userresourceprofile/ttypes.py | 3 -
.../airavata/model/application/__init__.py | 4 -
.../airavata/model/application/io/__init__.py | 5 -
.../airavata/model/application/io/ttypes.py | 1 -
.../airavata/model/commons/__init__.py | 5 -
.../airavata/model/credential/__init__.py | 4 -
.../airavata/model/credential/store/__init__.py | 5 -
.../airavata/model/data/__init__.py | 4 -
.../airavata/model/data/movement/__init__.py | 5 -
.../airavata/model/data/replica/__init__.py | 5 -
.../airavata/model/dbevent/__init__.py | 5 -
.../airavata/model/experiment/__init__.py | 5 -
.../airavata/model/group/__init__.py | 5 -
.../airavata/model/group/ttypes.py | 1 -
.../airavata/model/job/__init__.py | 5 -
.../airavata/model/messaging/__init__.py | 4 -
.../airavata/model/messaging/event/__init__.py | 5 -
.../airavata/model/messaging/event/ttypes.py | 2 +-
.../airavata/model/process/__init__.py | 5 -
.../airavata/model/process/ttypes.py | 2 +-
.../airavata/model/scheduling/__init__.py | 5 -
.../airavata/model/security/__init__.py | 5 -
.../airavata/model/sharing/__init__.py | 5 -
.../airavata/model/status/__init__.py | 5 -
.../airavata/model/task/__init__.py | 5 -
.../airavata/model/task/ttypes.py | 4 +-
.../airavata/model/tenant/__init__.py | 5 -
.../airavata/model/tenant/ttypes.py | 1 -
.../airavata-python-sdk/airavata/model/ttypes.py | 768 ++++++++-
.../airavata/model/user/__init__.py | 5 -
.../airavata/model/workflow/__init__.py | 5 -
.../airavata/model/workspace/__init__.py | 5 -
.../airavata/service/__init__.py | 4 -
.../airavata/service/profile/__init__.py | 6 -
.../service/profile/groupmanager/__init__.py | 4 -
.../service/profile/groupmanager/cpi/__init__.py | 5 -
.../profile/groupmanager/cpi/error/__init__.py | 5 -
.../service/profile/groupmanager/cpi/ttypes.py | 4 +-
.../airavata/service/profile/iam/__init__.py | 4 -
.../airavata/service/profile/iam/admin/__init__.py | 4 -
.../service/profile/iam/admin/services/__init__.py | 4 -
.../profile/iam/admin/services/cpi/__init__.py | 5 -
.../iam/admin/services/cpi/error/__init__.py | 5 -
.../profile/iam/admin/services/cpi/ttypes.py | 8 +-
.../airavata/service/profile/tenant/__init__.py | 4 -
.../service/profile/tenant/cpi/__init__.py | 5 -
.../service/profile/tenant/cpi/error/__init__.py | 5 -
.../airavata/service/profile/tenant/cpi/ttypes.py | 4 +-
.../airavata/service/profile/ttypes.py | 27 -
.../airavata/service/profile/user/__init__.py | 4 -
.../airavata/service/profile/user/cpi/__init__.py | 5 -
.../service/profile/user/cpi/error/__init__.py | 5 -
.../airavata/service/profile/user/cpi/ttypes.py | 4 +-
dev-tools/airavata-python-sdk/pyproject.toml | 2 +-
thrift-interface-descriptions/stubs_python.thrift | 60 +
90 files changed, 3140 insertions(+), 502 deletions(-)
diff --git a/dev-tools/airavata-python-sdk/Makefile b/dev-tools/airavata-python-sdk/Makefile
new file mode 100644
index 0000000000..6fed805e91
--- /dev/null
+++ b/dev-tools/airavata-python-sdk/Makefile
@@ -0,0 +1,19 @@
+BASEDIR:=$(abspath $(dir $(lastword $(MAKEFILE_LIST)))/../..)
+OUTDIR:=$(abspath $(dir $(lastword $(MAKEFILE_LIST))))
+
+clean:
+ rm -rf $(OUTDIR)/airavata
+ rm -rf $(OUTDIR)/dist
+ rm -rf $(OUTDIR)/build
+ rm -rf $(OUTDIR)/airavata.egg-info
+
+thrift: clean
+ thrift -r -o $(OUTDIR) --gen py:enum,type_hints ${BASEDIR}/thrift-interface-descriptions/stubs_python.thrift && \
+ cp -r $(OUTDIR)/gen-py/airavata $(OUTDIR) && \
+ rm -rf $(OUTDIR)/gen-py
+
+build: thrift
+ python -m build
+
+deploy: build
+ twine upload --repository airavata dist/*
\ No newline at end of file
diff --git a/dev-tools/airavata-python-sdk/airavata/__init__.py b/dev-tools/airavata-python-sdk/airavata/__init__.py
index 7bf193ae61..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import api, base, model, service
diff --git a/dev-tools/airavata-python-sdk/airavata/api/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/__init__.py
index 790c71cb23..e85fb34030 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'Airavata']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import credential, error, sharing, Airavata, constants, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/api/credential/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/credential/__init__.py
index ec03c45cea..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/credential/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/credential/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import store
diff --git a/dev-tools/airavata-python-sdk/airavata/api/credential/store/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/credential/store/__init__.py
index b1c72ee879..5d704d6952 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/credential/store/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/credential/store/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'CredentialStoreService']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import error, constants, CredentialStoreService, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/api/credential/store/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/credential/store/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/credential/store/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/credential/store/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/api/credential/store/ttypes.py b/dev-tools/airavata-python-sdk/airavata/api/credential/store/ttypes.py
index 06b323c176..f299291af9 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/credential/store/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/credential/store/ttypes.py
@@ -15,9 +15,9 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.credential.store.ttypes
import airavata.api.credential.store.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.credential.store.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/api/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/api/error/ttypes.py b/dev-tools/airavata-python-sdk/airavata/api/error/ttypes.py
index 4b7fe21765..ba3e0dceec 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/error/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/error/ttypes.py
@@ -15,7 +15,6 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.experiment.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/api/sharing/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/sharing/__init__.py
index 7650c5bcfc..35a411caae 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/sharing/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/sharing/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'SharingRegistryService']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants, SharingRegistryService
diff --git a/dev-tools/airavata-python-sdk/airavata/api/sharing/ttypes.py b/dev-tools/airavata-python-sdk/airavata/api/sharing/ttypes.py
index d7c9737e4e..4786690a46 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/sharing/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/sharing/ttypes.py
@@ -15,8 +15,8 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.sharing.ttypes
import airavata.base.api.ttypes
+import airavata.model.sharing.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/api/ttypes.py b/dev-tools/airavata-python-sdk/airavata/api/ttypes.py
index ac73d6aa23..ccac1b8515 100644
--- a/dev-tools/airavata-python-sdk/airavata/api/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/ttypes.py
@@ -17,7 +17,7 @@ from enum import IntEnum
import sys
import airavata.api.error.ttypes
import airavata.model.security.ttypes
-import airavata.model.ttypes
+import airavata.base.api.ttypes
import airavata.model.credential.store.ttypes
import airavata.model.status.ttypes
import airavata.model.job.ttypes
@@ -38,8 +38,6 @@ import airavata.model.data.movement.ttypes
import airavata.model.appcatalog.gatewaygroups.ttypes
import airavata.model.data.replica.ttypes
import airavata.model.group.ttypes
-import airavata.model.user.ttypes
-import airavata.base.api.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow-remote b/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow-remote
new file mode 100755
index 0000000000..9c4717325c
--- /dev/null
+++ b/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow-remote
@@ -0,0 +1,166 @@
+#!/usr/bin/env python
+#
+# Autogenerated by Thrift Compiler (0.21.0)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+# options string: py:enum,type_hints
+#
+
+import sys
+import pprint
+if sys.version_info[0] > 2:
+ from urllib.parse import urlparse
+else:
+ from urlparse import urlparse
+from thrift.transport import TTransport, TSocket, TSSLSocket, THttpClient
+from thrift.protocol.TBinaryProtocol import TBinaryProtocol
+
+from airavata.api.workflow import Workflow
+from airavata.api.workflow.ttypes import *
+
+if len(sys.argv) <= 1 or sys.argv[1] == '--help':
+ print('')
+ print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] [-novalidate] [-ca_certs certs] [-keyfile keyfile] [-certfile certfile] function [arg1 [arg2...]]')
+ print('')
+ print('Functions:')
+ print(' getAllWorkflows()')
+ print(' WorkflowModel getWorkflow(string workflowTemplateId)')
+ print(' void deleteWorkflow(string workflowTemplateId)')
+ print(' string registerWorkflow(WorkflowModel workflow)')
+ print(' void updateWorkflow(string workflowTemplateId, WorkflowModel workflow)')
+ print(' string getWorkflowTemplateId(string workflowName)')
+ print(' bool isWorkflowExistWithName(string workflowName)')
+ print(' string getAPIVersion()')
+ print('')
+ sys.exit(0)
+
+pp = pprint.PrettyPrinter(indent=2)
+host = 'localhost'
+port = 9090
+uri = ''
+framed = False
+ssl = False
+validate = True
+ca_certs = None
+keyfile = None
+certfile = None
+http = False
+argi = 1
+
+if sys.argv[argi] == '-h':
+ parts = sys.argv[argi + 1].split(':')
+ host = parts[0]
+ if len(parts) > 1:
+ port = int(parts[1])
+ argi += 2
+
+if sys.argv[argi] == '-u':
+ url = urlparse(sys.argv[argi + 1])
+ parts = url[1].split(':')
+ host = parts[0]
+ if len(parts) > 1:
+ port = int(parts[1])
+ else:
+ port = 80
+ uri = url[2]
+ if url[4]:
+ uri += '?%s' % url[4]
+ http = True
+ argi += 2
+
+if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
+ framed = True
+ argi += 1
+
+if sys.argv[argi] == '-s' or sys.argv[argi] == '-ssl':
+ ssl = True
+ argi += 1
+
+if sys.argv[argi] == '-novalidate':
+ validate = False
+ argi += 1
+
+if sys.argv[argi] == '-ca_certs':
+ ca_certs = sys.argv[argi+1]
+ argi += 2
+
+if sys.argv[argi] == '-keyfile':
+ keyfile = sys.argv[argi+1]
+ argi += 2
+
+if sys.argv[argi] == '-certfile':
+ certfile = sys.argv[argi+1]
+ argi += 2
+
+cmd = sys.argv[argi]
+args = sys.argv[argi + 1:]
+
+if http:
+ transport = THttpClient.THttpClient(host, port, uri)
+else:
+ if ssl:
+ socket = TSSLSocket.TSSLSocket(host, port, validate=validate, ca_certs=ca_certs, keyfile=keyfile, certfile=certfile)
+ else:
+ socket = TSocket.TSocket(host, port)
+ if framed:
+ transport = TTransport.TFramedTransport(socket)
+ else:
+ transport = TTransport.TBufferedTransport(socket)
+protocol = TBinaryProtocol(transport)
+client = Workflow.Client(protocol)
+transport.open()
+
+if cmd == 'getAllWorkflows':
+ if len(args) != 0:
+ print('getAllWorkflows requires 0 args')
+ sys.exit(1)
+ pp.pprint(client.getAllWorkflows())
+
+elif cmd == 'getWorkflow':
+ if len(args) != 1:
+ print('getWorkflow requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.getWorkflow(args[0],))
+
+elif cmd == 'deleteWorkflow':
+ if len(args) != 1:
+ print('deleteWorkflow requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.deleteWorkflow(args[0],))
+
+elif cmd == 'registerWorkflow':
+ if len(args) != 1:
+ print('registerWorkflow requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.registerWorkflow(eval(args[0]),))
+
+elif cmd == 'updateWorkflow':
+ if len(args) != 2:
+ print('updateWorkflow requires 2 args')
+ sys.exit(1)
+ pp.pprint(client.updateWorkflow(args[0], eval(args[1]),))
+
+elif cmd == 'getWorkflowTemplateId':
+ if len(args) != 1:
+ print('getWorkflowTemplateId requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.getWorkflowTemplateId(args[0],))
+
+elif cmd == 'isWorkflowExistWithName':
+ if len(args) != 1:
+ print('isWorkflowExistWithName requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.isWorkflowExistWithName(args[0],))
+
+elif cmd == 'getAPIVersion':
+ if len(args) != 0:
+ print('getAPIVersion requires 0 args')
+ sys.exit(1)
+ pp.pprint(client.getAPIVersion())
+
+else:
+ print('Unrecognized method %s' % cmd)
+ sys.exit(1)
+
+transport.close()
diff --git a/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow.py b/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow.py
new file mode 100644
index 0000000000..44f4794835
--- /dev/null
+++ b/dev-tools/airavata-python-sdk/airavata/api/workflow/Workflow.py
@@ -0,0 +1,1738 @@
+#
+# Autogenerated by Thrift Compiler (0.21.0)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+# options string: py:enum,type_hints
+#
+
+from __future__ import annotations
+import typing
+from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+from uuid import UUID
+from enum import IntEnum
+
+import sys
+import airavata.base.api.BaseAPI
+import logging
+from .ttypes import *
+from thrift.Thrift import TProcessor
+from thrift.transport import TTransport
+all_structs = []
+
+
+class Iface(airavata.base.api.BaseAPI.Iface):
+ def getAllWorkflows(self) -> list[str]:
+ pass
+
+ def getWorkflow(self, workflowTemplateId: str) -> airavata.model.ttypes.WorkflowModel:
+ """
+ Parameters:
+ - workflowTemplateId
+
+ """
+ pass
+
+ def deleteWorkflow(self, workflowTemplateId: str) -> None:
+ """
+ Parameters:
+ - workflowTemplateId
+
+ """
+ pass
+
+ def registerWorkflow(self, workflow: airavata.model.ttypes.WorkflowModel) -> str:
+ """
+ Parameters:
+ - workflow
+
+ """
+ pass
+
+ def updateWorkflow(self, workflowTemplateId: str, workflow: airavata.model.ttypes.WorkflowModel) -> None:
+ """
+ Parameters:
+ - workflowTemplateId
+ - workflow
+
+ """
+ pass
+
+ def getWorkflowTemplateId(self, workflowName: str) -> str:
+ """
+ Parameters:
+ - workflowName
+
+ """
+ pass
+
+ def isWorkflowExistWithName(self, workflowName: str) -> bool:
+ """
+ Parameters:
+ - workflowName
+
+ """
+ pass
+
+
+class Client(airavata.base.api.BaseAPI.Client, Iface):
+ def __init__(self, iprot, oprot=None):
+ airavata.base.api.BaseAPI.Client.__init__(self, iprot, oprot)
+
+ def getAllWorkflows(self) -> list[str]:
+ self.send_getAllWorkflows()
+ return self.recv_getAllWorkflows()
+
+ def send_getAllWorkflows(self):
+ self._oprot.writeMessageBegin('getAllWorkflows', TMessageType.CALL, self._seqid)
+ args = getAllWorkflows_args()
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getAllWorkflows(self) -> list[str]:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getAllWorkflows_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllWorkflows failed: unknown result")
+
+ def getWorkflow(self, workflowTemplateId: str) -> airavata.model.ttypes.WorkflowModel:
+ """
+ Parameters:
+ - workflowTemplateId
+
+ """
+ self.send_getWorkflow(workflowTemplateId)
+ return self.recv_getWorkflow()
+
+ def send_getWorkflow(self, workflowTemplateId: str):
+ self._oprot.writeMessageBegin('getWorkflow', TMessageType.CALL, self._seqid)
+ args = getWorkflow_args()
+ args.workflowTemplateId = workflowTemplateId
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getWorkflow(self) -> airavata.model.ttypes.WorkflowModel:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getWorkflow_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getWorkflow failed: unknown result")
+
+ def deleteWorkflow(self, workflowTemplateId: str) -> None:
+ """
+ Parameters:
+ - workflowTemplateId
+
+ """
+ self.send_deleteWorkflow(workflowTemplateId)
+ self.recv_deleteWorkflow()
+
+ def send_deleteWorkflow(self, workflowTemplateId: str):
+ self._oprot.writeMessageBegin('deleteWorkflow', TMessageType.CALL, self._seqid)
+ args = deleteWorkflow_args()
+ args.workflowTemplateId = workflowTemplateId
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_deleteWorkflow(self) -> None:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = deleteWorkflow_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ return
+
+ def registerWorkflow(self, workflow: airavata.model.ttypes.WorkflowModel) -> str:
+ """
+ Parameters:
+ - workflow
+
+ """
+ self.send_registerWorkflow(workflow)
+ return self.recv_registerWorkflow()
+
+ def send_registerWorkflow(self, workflow: airavata.model.ttypes.WorkflowModel):
+ self._oprot.writeMessageBegin('registerWorkflow', TMessageType.CALL, self._seqid)
+ args = registerWorkflow_args()
+ args.workflow = workflow
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_registerWorkflow(self) -> str:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = registerWorkflow_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "registerWorkflow failed: unknown result")
+
+ def updateWorkflow(self, workflowTemplateId: str, workflow: airavata.model.ttypes.WorkflowModel) -> None:
+ """
+ Parameters:
+ - workflowTemplateId
+ - workflow
+
+ """
+ self.send_updateWorkflow(workflowTemplateId, workflow)
+ self.recv_updateWorkflow()
+
+ def send_updateWorkflow(self, workflowTemplateId: str, workflow: airavata.model.ttypes.WorkflowModel):
+ self._oprot.writeMessageBegin('updateWorkflow', TMessageType.CALL, self._seqid)
+ args = updateWorkflow_args()
+ args.workflowTemplateId = workflowTemplateId
+ args.workflow = workflow
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_updateWorkflow(self) -> None:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = updateWorkflow_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ return
+
+ def getWorkflowTemplateId(self, workflowName: str) -> str:
+ """
+ Parameters:
+ - workflowName
+
+ """
+ self.send_getWorkflowTemplateId(workflowName)
+ return self.recv_getWorkflowTemplateId()
+
+ def send_getWorkflowTemplateId(self, workflowName: str):
+ self._oprot.writeMessageBegin('getWorkflowTemplateId', TMessageType.CALL, self._seqid)
+ args = getWorkflowTemplateId_args()
+ args.workflowName = workflowName
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getWorkflowTemplateId(self) -> str:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getWorkflowTemplateId_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getWorkflowTemplateId failed: unknown result")
+
+ def isWorkflowExistWithName(self, workflowName: str) -> bool:
+ """
+ Parameters:
+ - workflowName
+
+ """
+ self.send_isWorkflowExistWithName(workflowName)
+ return self.recv_isWorkflowExistWithName()
+
+ def send_isWorkflowExistWithName(self, workflowName: str):
+ self._oprot.writeMessageBegin('isWorkflowExistWithName', TMessageType.CALL, self._seqid)
+ args = isWorkflowExistWithName_args()
+ args.workflowName = workflowName
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_isWorkflowExistWithName(self) -> bool:
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = isWorkflowExistWithName_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.ire is not None:
+ raise result.ire
+ if result.ace is not None:
+ raise result.ace
+ if result.ase is not None:
+ raise result.ase
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "isWorkflowExistWithName failed: unknown result")
+
+
+class Processor(airavata.base.api.BaseAPI.Processor, Iface, TProcessor):
+ def __init__(self, handler):
+ airavata.base.api.BaseAPI.Processor.__init__(self, handler)
+ self._processMap["getAllWorkflows"] = Processor.process_getAllWorkflows
+ self._processMap["getWorkflow"] = Processor.process_getWorkflow
+ self._processMap["deleteWorkflow"] = Processor.process_deleteWorkflow
+ self._processMap["registerWorkflow"] = Processor.process_registerWorkflow
+ self._processMap["updateWorkflow"] = Processor.process_updateWorkflow
+ self._processMap["getWorkflowTemplateId"] = Processor.process_getWorkflowTemplateId
+ self._processMap["isWorkflowExistWithName"] = Processor.process_isWorkflowExistWithName
+ self._on_message_begin = None
+
+ def on_message_begin(self, func):
+ self._on_message_begin = func
+
+ def process(self, iprot, oprot):
+ (name, type, seqid) = iprot.readMessageBegin()
+ if self._on_message_begin:
+ self._on_message_begin(name, type, seqid)
+ if name not in self._processMap:
+ iprot.skip(TType.STRUCT)
+ iprot.readMessageEnd()
+ x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name))
+ oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid)
+ x.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+ return
+ else:
+ self._processMap[name](self, seqid, iprot, oprot)
+ return True
+
+ def process_getAllWorkflows(self, seqid, iprot, oprot):
+ args = getAllWorkflows_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getAllWorkflows_result()
+ try:
+ result.success = self._handler.getAllWorkflows()
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("getAllWorkflows", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_getWorkflow(self, seqid, iprot, oprot):
+ args = getWorkflow_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getWorkflow_result()
+ try:
+ result.success = self._handler.getWorkflow(args.workflowTemplateId)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("getWorkflow", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_deleteWorkflow(self, seqid, iprot, oprot):
+ args = deleteWorkflow_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = deleteWorkflow_result()
+ try:
+ self._handler.deleteWorkflow(args.workflowTemplateId)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("deleteWorkflow", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_registerWorkflow(self, seqid, iprot, oprot):
+ args = registerWorkflow_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = registerWorkflow_result()
+ try:
+ result.success = self._handler.registerWorkflow(args.workflow)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("registerWorkflow", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_updateWorkflow(self, seqid, iprot, oprot):
+ args = updateWorkflow_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = updateWorkflow_result()
+ try:
+ self._handler.updateWorkflow(args.workflowTemplateId, args.workflow)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("updateWorkflow", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_getWorkflowTemplateId(self, seqid, iprot, oprot):
+ args = getWorkflowTemplateId_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getWorkflowTemplateId_result()
+ try:
+ result.success = self._handler.getWorkflowTemplateId(args.workflowName)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("getWorkflowTemplateId", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_isWorkflowExistWithName(self, seqid, iprot, oprot):
+ args = isWorkflowExistWithName_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = isWorkflowExistWithName_result()
+ try:
+ result.success = self._handler.isWorkflowExistWithName(args.workflowName)
+ msg_type = TMessageType.REPLY
+ except TTransport.TTransportException:
+ raise
+ except airavata.api.error.ttypes.InvalidRequestException as ire:
+ msg_type = TMessageType.REPLY
+ result.ire = ire
+ except airavata.api.error.ttypes.AiravataClientException as ace:
+ msg_type = TMessageType.REPLY
+ result.ace = ace
+ except airavata.api.error.ttypes.AiravataSystemException as ase:
+ msg_type = TMessageType.REPLY
+ result.ase = ase
+ except TApplicationException as ex:
+ logging.exception('TApplication exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = ex
+ except Exception:
+ logging.exception('Unexpected exception in handler')
+ msg_type = TMessageType.EXCEPTION
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("isWorkflowExistWithName", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+# HELPER FUNCTIONS AND STRUCTURES
+
+
+class getAllWorkflows_args(object):
+ thrift_spec: typing.Any = None
+
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getAllWorkflows_args')
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getAllWorkflows_args)
+getAllWorkflows_args.thrift_spec = (
+)
+
+
+class getAllWorkflows_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, success: typing.Optional[list[str]] = None, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.success: typing.Optional[list[str]] = success
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 0:
+ if ftype == TType.LIST:
+ self.success = []
+ (_etype3, _size0) = iprot.readListBegin()
+ for _i4 in range(_size0):
+ _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ self.success.append(_elem5)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getAllWorkflows_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRING, len(self.success))
+ for iter6 in self.success:
+ oprot.writeString(iter6.encode('utf-8') if sys.version_info[0] == 2 else iter6)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getAllWorkflows_result)
+getAllWorkflows_result.thrift_spec = (
+ (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ), # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class getWorkflow_args(object):
+ """
+ Attributes:
+ - workflowTemplateId
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflowTemplateId: str = None,):
+ self.workflowTemplateId: str = workflowTemplateId
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.workflowTemplateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getWorkflow_args')
+ if self.workflowTemplateId is not None:
+ oprot.writeFieldBegin('workflowTemplateId', TType.STRING, 1)
+ oprot.writeString(self.workflowTemplateId.encode('utf-8') if sys.version_info[0] == 2 else self.workflowTemplateId)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowTemplateId is None:
+ raise TProtocolException(message='Required field workflowTemplateId is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getWorkflow_args)
+getWorkflow_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'workflowTemplateId', 'UTF8', None, ), # 1
+)
+
+
+class getWorkflow_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, success: typing.Optional[airavata.model.ttypes.WorkflowModel] = None, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.success: typing.Optional[airavata.model.ttypes.WorkflowModel] = success
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 0:
+ if ftype == TType.STRUCT:
+ self.success = airavata.model.ttypes.WorkflowModel()
+ self.success.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getWorkflow_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.STRUCT, 0)
+ self.success.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getWorkflow_result)
+getWorkflow_result.thrift_spec = (
+ (0, TType.STRUCT, 'success', [airavata.model.ttypes.WorkflowModel, None], None, ), # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class deleteWorkflow_args(object):
+ """
+ Attributes:
+ - workflowTemplateId
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflowTemplateId: str = None,):
+ self.workflowTemplateId: str = workflowTemplateId
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.workflowTemplateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('deleteWorkflow_args')
+ if self.workflowTemplateId is not None:
+ oprot.writeFieldBegin('workflowTemplateId', TType.STRING, 1)
+ oprot.writeString(self.workflowTemplateId.encode('utf-8') if sys.version_info[0] == 2 else self.workflowTemplateId)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowTemplateId is None:
+ raise TProtocolException(message='Required field workflowTemplateId is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(deleteWorkflow_args)
+deleteWorkflow_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'workflowTemplateId', 'UTF8', None, ), # 1
+)
+
+
+class deleteWorkflow_result(object):
+ """
+ Attributes:
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('deleteWorkflow_result')
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(deleteWorkflow_result)
+deleteWorkflow_result.thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class registerWorkflow_args(object):
+ """
+ Attributes:
+ - workflow
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflow: airavata.model.ttypes.WorkflowModel = None,):
+ self.workflow: airavata.model.ttypes.WorkflowModel = workflow
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRUCT:
+ self.workflow = airavata.model.ttypes.WorkflowModel()
+ self.workflow.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('registerWorkflow_args')
+ if self.workflow is not None:
+ oprot.writeFieldBegin('workflow', TType.STRUCT, 1)
+ self.workflow.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflow is None:
+ raise TProtocolException(message='Required field workflow is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(registerWorkflow_args)
+registerWorkflow_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'workflow', [airavata.model.ttypes.WorkflowModel, None], None, ), # 1
+)
+
+
+class registerWorkflow_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, success: typing.Optional[str] = None, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.success: typing.Optional[str] = success
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 0:
+ if ftype == TType.STRING:
+ self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('registerWorkflow_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.STRING, 0)
+ oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
+ oprot.writeFieldEnd()
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(registerWorkflow_result)
+registerWorkflow_result.thrift_spec = (
+ (0, TType.STRING, 'success', 'UTF8', None, ), # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class updateWorkflow_args(object):
+ """
+ Attributes:
+ - workflowTemplateId
+ - workflow
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflowTemplateId: str = None, workflow: airavata.model.ttypes.WorkflowModel = None,):
+ self.workflowTemplateId: str = workflowTemplateId
+ self.workflow: airavata.model.ttypes.WorkflowModel = workflow
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.workflowTemplateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.workflow = airavata.model.ttypes.WorkflowModel()
+ self.workflow.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('updateWorkflow_args')
+ if self.workflowTemplateId is not None:
+ oprot.writeFieldBegin('workflowTemplateId', TType.STRING, 1)
+ oprot.writeString(self.workflowTemplateId.encode('utf-8') if sys.version_info[0] == 2 else self.workflowTemplateId)
+ oprot.writeFieldEnd()
+ if self.workflow is not None:
+ oprot.writeFieldBegin('workflow', TType.STRUCT, 2)
+ self.workflow.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowTemplateId is None:
+ raise TProtocolException(message='Required field workflowTemplateId is unset!')
+ if self.workflow is None:
+ raise TProtocolException(message='Required field workflow is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(updateWorkflow_args)
+updateWorkflow_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'workflowTemplateId', 'UTF8', None, ), # 1
+ (2, TType.STRUCT, 'workflow', [airavata.model.ttypes.WorkflowModel, None], None, ), # 2
+)
+
+
+class updateWorkflow_result(object):
+ """
+ Attributes:
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('updateWorkflow_result')
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(updateWorkflow_result)
+updateWorkflow_result.thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class getWorkflowTemplateId_args(object):
+ """
+ Attributes:
+ - workflowName
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflowName: str = None,):
+ self.workflowName: str = workflowName
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.workflowName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getWorkflowTemplateId_args')
+ if self.workflowName is not None:
+ oprot.writeFieldBegin('workflowName', TType.STRING, 1)
+ oprot.writeString(self.workflowName.encode('utf-8') if sys.version_info[0] == 2 else self.workflowName)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowName is None:
+ raise TProtocolException(message='Required field workflowName is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getWorkflowTemplateId_args)
+getWorkflowTemplateId_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'workflowName', 'UTF8', None, ), # 1
+)
+
+
+class getWorkflowTemplateId_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, success: typing.Optional[str] = None, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.success: typing.Optional[str] = success
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 0:
+ if ftype == TType.STRING:
+ self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('getWorkflowTemplateId_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.STRING, 0)
+ oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
+ oprot.writeFieldEnd()
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(getWorkflowTemplateId_result)
+getWorkflowTemplateId_result.thrift_spec = (
+ (0, TType.STRING, 'success', 'UTF8', None, ), # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+
+
+class isWorkflowExistWithName_args(object):
+ """
+ Attributes:
+ - workflowName
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, workflowName: str = None,):
+ self.workflowName: str = workflowName
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.workflowName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('isWorkflowExistWithName_args')
+ if self.workflowName is not None:
+ oprot.writeFieldBegin('workflowName', TType.STRING, 1)
+ oprot.writeString(self.workflowName.encode('utf-8') if sys.version_info[0] == 2 else self.workflowName)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowName is None:
+ raise TProtocolException(message='Required field workflowName is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(isWorkflowExistWithName_args)
+isWorkflowExistWithName_args.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'workflowName', 'UTF8', None, ), # 1
+)
+
+
+class isWorkflowExistWithName_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, success: typing.Optional[bool] = None, ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = None, ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = None, ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = None,):
+ self.success: typing.Optional[bool] = success
+ self.ire: typing.Optional[airavata.api.error.ttypes.InvalidRequestException] = ire
+ self.ace: typing.Optional[airavata.api.error.ttypes.AiravataClientException] = ace
+ self.ase: typing.Optional[airavata.api.error.ttypes.AiravataSystemException] = ase
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 0:
+ if ftype == TType.BOOL:
+ self.success = iprot.readBool()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('isWorkflowExistWithName_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.BOOL, 0)
+ oprot.writeBool(self.success)
+ oprot.writeFieldEnd()
+ if self.ire is not None:
+ oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+ self.ire.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ace is not None:
+ oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+ self.ace.write(oprot)
+ oprot.writeFieldEnd()
+ if self.ase is not None:
+ oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+ self.ase.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(isWorkflowExistWithName_result)
+isWorkflowExistWithName_result.thrift_spec = (
+ (0, TType.BOOL, 'success', None, None, ), # 0
+ (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ), # 1
+ (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ), # 2
+ (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ), # 3
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/dev-tools/airavata-python-sdk/airavata/api/workflow/__init__.py b/dev-tools/airavata-python-sdk/airavata/api/workflow/__init__.py
new file mode 100644
index 0000000000..28b4f394c8
--- /dev/null
+++ b/dev-tools/airavata-python-sdk/airavata/api/workflow/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants', 'Workflow']
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/constants.py b/dev-tools/airavata-python-sdk/airavata/api/workflow/constants.py
similarity index 93%
rename from dev-tools/airavata-python-sdk/airavata/service/profile/constants.py
rename to dev-tools/airavata-python-sdk/airavata/api/workflow/constants.py
index 65de08872f..bc2228fe55 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/constants.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/workflow/constants.py
@@ -16,3 +16,4 @@ from enum import IntEnum
import sys
from .ttypes import *
+WORKFLOW_API_VERSION = "0.18.0"
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py b/dev-tools/airavata-python-sdk/airavata/api/workflow/ttypes.py
similarity index 73%
copy from dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
copy to dev-tools/airavata-python-sdk/airavata/api/workflow/ttypes.py
index 7092d0d2a2..b57ef59e12 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/api/workflow/ttypes.py
@@ -16,10 +16,13 @@ from enum import IntEnum
import sys
import airavata.api.error.ttypes
-import airavata.model.security.ttypes
-import airavata.model.workspace.ttypes
-import airavata.service.profile.tenant.cpi.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.experiment.ttypes
+import airavata.model.workspace.ttypes
+import airavata.model.appcatalog.computeresource.ttypes
+import airavata.model.appcatalog.appdeployment.ttypes
+import airavata.model.appcatalog.appinterface.ttypes
+import airavata.model.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/base/__init__.py b/dev-tools/airavata-python-sdk/airavata/base/__init__.py
index bf13c0c98f..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/base/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/base/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import api
\ No newline at end of file
diff --git a/dev-tools/airavata-python-sdk/airavata/base/api/__init__.py b/dev-tools/airavata-python-sdk/airavata/base/api/__init__.py
index 034e355d5f..d9a4e6b8ec 100644
--- a/dev-tools/airavata-python-sdk/airavata/base/api/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/base/api/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'BaseAPI']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import BaseAPI, constants, ttypes
\ No newline at end of file
diff --git a/dev-tools/airavata-python-sdk/airavata/model/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/__init__.py
index 6be748cd08..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import appcatalog, application, commons, credential, data, dbevent, experiment, group, job, messaging, process, scheduling, security, sharing, status, task, tenant, user, workflow, workspace, constants, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/__init__.py
index ea117a60ee..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import accountprovisioning, appdeployment, appinterface, computeresource, gatewaygroups, gatewayprofile, groupresourceprofile, parallelism, parser, storageresource, userresourceprofile
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appdeployment/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appdeployment/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appdeployment/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appdeployment/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
index 89efce5044..eb9b57cbf9 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
@@ -15,8 +15,8 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.application.io.ttypes
import airavata.model.commons.ttypes
+import airavata.model.application.io.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/computeresource/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/computeresource/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/computeresource/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/computeresource/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
index 3a08ceac3f..0c2cdffd07 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
@@ -17,7 +17,6 @@ from enum import IntEnum
import sys
import airavata.model.appcatalog.computeresource.ttypes
import airavata.model.data.movement.ttypes
-import airavata.model.appcatalog.accountprovisioning.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
index d924a8836b..3a52b17e2a 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
@@ -23,6 +23,12 @@ from thrift.transport import TTransport
all_structs = []
+class ResourceType(IntEnum):
+ SLURM = 0
+ AWS = 1
+
+
+
class GroupAccountSSHProvisionerConfig(object):
"""
Attributes:
@@ -242,6 +248,313 @@ class ComputeResourceReservation(object):
return not (self == other)
+class SlurmComputeResourcePreference(object):
+ """
+ Attributes:
+ - allocationProjectNumber
+ - preferredBatchQueue
+ - qualityOfService
+ - usageReportingGatewayId
+ - sshAccountProvisioner
+ - groupSSHAccountProvisionerConfigs
+ - sshAccountProvisionerAdditionalInfo
+ - reservations
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, allocationProjectNumber: typing.Optional[str] = None, preferredBatchQueue: typing.Optional[str] = None, qualityOfService: typing.Optional[str] = None, usageReportingGatewayId: typing.Optional[str] = None, sshAccountProvisioner: typing.Optional[str] = None, groupSSHAccountProvisionerConfigs: typing.Optional[list[GroupAccountSSHProvisionerConfig]] = None, sshAccountProvisionerAdditionalInfo: typing.Optional[str] = None, reservations: typing.Optional[list[ComputeResou [...]
+ self.allocationProjectNumber: typing.Optional[str] = allocationProjectNumber
+ self.preferredBatchQueue: typing.Optional[str] = preferredBatchQueue
+ self.qualityOfService: typing.Optional[str] = qualityOfService
+ self.usageReportingGatewayId: typing.Optional[str] = usageReportingGatewayId
+ self.sshAccountProvisioner: typing.Optional[str] = sshAccountProvisioner
+ self.groupSSHAccountProvisionerConfigs: typing.Optional[list[GroupAccountSSHProvisionerConfig]] = groupSSHAccountProvisionerConfigs
+ self.sshAccountProvisionerAdditionalInfo: typing.Optional[str] = sshAccountProvisionerAdditionalInfo
+ self.reservations: typing.Optional[list[ComputeResourceReservation]] = reservations
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.allocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.preferredBatchQueue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.qualityOfService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.usageReportingGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.sshAccountProvisioner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.LIST:
+ self.groupSSHAccountProvisionerConfigs = []
+ (_etype10, _size7) = iprot.readListBegin()
+ for _i11 in range(_size7):
+ _elem12 = GroupAccountSSHProvisionerConfig()
+ _elem12.read(iprot)
+ self.groupSSHAccountProvisionerConfigs.append(_elem12)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.STRING:
+ self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.LIST:
+ self.reservations = []
+ (_etype16, _size13) = iprot.readListBegin()
+ for _i17 in range(_size13):
+ _elem18 = ComputeResourceReservation()
+ _elem18.read(iprot)
+ self.reservations.append(_elem18)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('SlurmComputeResourcePreference')
+ if self.allocationProjectNumber is not None:
+ oprot.writeFieldBegin('allocationProjectNumber', TType.STRING, 1)
+ oprot.writeString(self.allocationProjectNumber.encode('utf-8') if sys.version_info[0] == 2 else self.allocationProjectNumber)
+ oprot.writeFieldEnd()
+ if self.preferredBatchQueue is not None:
+ oprot.writeFieldBegin('preferredBatchQueue', TType.STRING, 2)
+ oprot.writeString(self.preferredBatchQueue.encode('utf-8') if sys.version_info[0] == 2 else self.preferredBatchQueue)
+ oprot.writeFieldEnd()
+ if self.qualityOfService is not None:
+ oprot.writeFieldBegin('qualityOfService', TType.STRING, 3)
+ oprot.writeString(self.qualityOfService.encode('utf-8') if sys.version_info[0] == 2 else self.qualityOfService)
+ oprot.writeFieldEnd()
+ if self.usageReportingGatewayId is not None:
+ oprot.writeFieldBegin('usageReportingGatewayId', TType.STRING, 4)
+ oprot.writeString(self.usageReportingGatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.usageReportingGatewayId)
+ oprot.writeFieldEnd()
+ if self.sshAccountProvisioner is not None:
+ oprot.writeFieldBegin('sshAccountProvisioner', TType.STRING, 5)
+ oprot.writeString(self.sshAccountProvisioner.encode('utf-8') if sys.version_info[0] == 2 else self.sshAccountProvisioner)
+ oprot.writeFieldEnd()
+ if self.groupSSHAccountProvisionerConfigs is not None:
+ oprot.writeFieldBegin('groupSSHAccountProvisionerConfigs', TType.LIST, 6)
+ oprot.writeListBegin(TType.STRUCT, len(self.groupSSHAccountProvisionerConfigs))
+ for iter19 in self.groupSSHAccountProvisionerConfigs:
+ iter19.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.sshAccountProvisionerAdditionalInfo is not None:
+ oprot.writeFieldBegin('sshAccountProvisionerAdditionalInfo', TType.STRING, 7)
+ oprot.writeString(self.sshAccountProvisionerAdditionalInfo.encode('utf-8') if sys.version_info[0] == 2 else self.sshAccountProvisionerAdditionalInfo)
+ oprot.writeFieldEnd()
+ if self.reservations is not None:
+ oprot.writeFieldBegin('reservations', TType.LIST, 8)
+ oprot.writeListBegin(TType.STRUCT, len(self.reservations))
+ for iter20 in self.reservations:
+ iter20.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class AwsComputeResourcePreference(object):
+ """
+ Attributes:
+ - region
+ - preferredAmiId
+ - preferredInstanceType
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, region: typing.Optional[str] = None, preferredAmiId: typing.Optional[str] = None, preferredInstanceType: typing.Optional[str] = None,):
+ self.region: typing.Optional[str] = region
+ self.preferredAmiId: typing.Optional[str] = preferredAmiId
+ self.preferredInstanceType: typing.Optional[str] = preferredInstanceType
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.region = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.preferredAmiId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.preferredInstanceType = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('AwsComputeResourcePreference')
+ if self.region is not None:
+ oprot.writeFieldBegin('region', TType.STRING, 1)
+ oprot.writeString(self.region.encode('utf-8') if sys.version_info[0] == 2 else self.region)
+ oprot.writeFieldEnd()
+ if self.preferredAmiId is not None:
+ oprot.writeFieldBegin('preferredAmiId', TType.STRING, 2)
+ oprot.writeString(self.preferredAmiId.encode('utf-8') if sys.version_info[0] == 2 else self.preferredAmiId)
+ oprot.writeFieldEnd()
+ if self.preferredInstanceType is not None:
+ oprot.writeFieldBegin('preferredInstanceType', TType.STRING, 3)
+ oprot.writeString(self.preferredInstanceType.encode('utf-8') if sys.version_info[0] == 2 else self.preferredInstanceType)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class EnvironmentSpecificPreferences(object):
+ """
+ Attributes:
+ - slurm
+ - aws
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, slurm: typing.Optional[SlurmComputeResourcePreference] = None, aws: typing.Optional[AwsComputeResourcePreference] = None,):
+ self.slurm: typing.Optional[SlurmComputeResourcePreference] = slurm
+ self.aws: typing.Optional[AwsComputeResourcePreference] = aws
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRUCT:
+ self.slurm = SlurmComputeResourcePreference()
+ self.slurm.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.aws = AwsComputeResourcePreference()
+ self.aws.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('EnvironmentSpecificPreferences')
+ if self.slurm is not None:
+ oprot.writeFieldBegin('slurm', TType.STRUCT, 1)
+ self.slurm.write(oprot)
+ oprot.writeFieldEnd()
+ if self.aws is not None:
+ oprot.writeFieldBegin('aws', TType.STRUCT, 2)
+ self.aws.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
class GroupComputeResourcePreference(object):
"""
Attributes:
@@ -249,40 +562,28 @@ class GroupComputeResourcePreference(object):
- groupResourceProfileId
- overridebyAiravata
- loginUserName
+ - scratchLocation
- preferredJobSubmissionProtocol
- preferredDataMovementProtocol
- - preferredBatchQueue
- - scratchLocation
- - allocationProjectNumber
- resourceSpecificCredentialStoreToken
- - usageReportingGatewayId
- - qualityOfService
- - sshAccountProvisioner
- - groupSSHAccountProvisionerConfigs
- - sshAccountProvisionerAdditionalInfo
- - reservations
+ - resourceType
+ - specificPreferences
"""
thrift_spec: typing.Any = None
- def __init__(self, computeResourceId: str = None, groupResourceProfileId: str = "DO_NOT_SET_AT_CLIENTS", overridebyAiravata: bool = True, loginUserName: typing.Optional[str] = None, preferredJobSubmissionProtocol: typing.Optional[airavata.model.appcatalog.computeresource.ttypes.JobSubmissionProtocol] = None, preferredDataMovementProtocol: typing.Optional[airavata.model.data.movement.ttypes.DataMovementProtocol] = None, preferredBatchQueue: typing.Optional[str] = None, scratchLocation [...]
+ def __init__(self, computeResourceId: str = None, groupResourceProfileId: str = "DO_NOT_SET_AT_CLIENTS", overridebyAiravata: bool = True, loginUserName: typing.Optional[str] = None, scratchLocation: typing.Optional[str] = None, preferredJobSubmissionProtocol: typing.Optional[airavata.model.appcatalog.computeresource.ttypes.JobSubmissionProtocol] = None, preferredDataMovementProtocol: typing.Optional[airavata.model.data.movement.ttypes.DataMovementProtocol] = None, resourceSpecificCre [...]
self.computeResourceId: str = computeResourceId
self.groupResourceProfileId: str = groupResourceProfileId
self.overridebyAiravata: bool = overridebyAiravata
self.loginUserName: typing.Optional[str] = loginUserName
+ self.scratchLocation: typing.Optional[str] = scratchLocation
self.preferredJobSubmissionProtocol: typing.Optional[airavata.model.appcatalog.computeresource.ttypes.JobSubmissionProtocol] = preferredJobSubmissionProtocol
self.preferredDataMovementProtocol: typing.Optional[airavata.model.data.movement.ttypes.DataMovementProtocol] = preferredDataMovementProtocol
- self.preferredBatchQueue: typing.Optional[str] = preferredBatchQueue
- self.scratchLocation: typing.Optional[str] = scratchLocation
- self.allocationProjectNumber: typing.Optional[str] = allocationProjectNumber
self.resourceSpecificCredentialStoreToken: typing.Optional[str] = resourceSpecificCredentialStoreToken
- self.usageReportingGatewayId: typing.Optional[str] = usageReportingGatewayId
- self.qualityOfService: typing.Optional[str] = qualityOfService
- self.sshAccountProvisioner: typing.Optional[str] = sshAccountProvisioner
- self.groupSSHAccountProvisionerConfigs: typing.Optional[list[GroupAccountSSHProvisionerConfig]] = groupSSHAccountProvisionerConfigs
- self.sshAccountProvisionerAdditionalInfo: typing.Optional[str] = sshAccountProvisionerAdditionalInfo
- self.reservations: typing.Optional[list[ComputeResourceReservation]] = reservations
+ self.resourceType: ResourceType = resourceType
+ self.specificPreferences: typing.Optional[EnvironmentSpecificPreferences] = specificPreferences
def __setattr__(self, name, value):
if name == "preferredJobSubmissionProtocol":
@@ -291,6 +592,9 @@ class GroupComputeResourcePreference(object):
if name == "preferredDataMovementProtocol":
super().__setattr__(name, value if hasattr(value, 'value') else airavata.model.data.movement.ttypes.DataMovementProtocol.__members__.get(value))
return
+ if name == "resourceType":
+ super().__setattr__(name, value if hasattr(value, 'value') else ResourceType.__members__.get(value))
+ return
super().__setattr__(name, value)
@@ -324,75 +628,34 @@ class GroupComputeResourcePreference(object):
else:
iprot.skip(ftype)
elif fid == 5:
- if ftype == TType.I32:
- self.preferredJobSubmissionProtocol = airavata.model.appcatalog.computeresource.ttypes.JobSubmissionProtocol(iprot.readI32())
+ if ftype == TType.STRING:
+ self.scratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
else:
iprot.skip(ftype)
elif fid == 6:
if ftype == TType.I32:
- self.preferredDataMovementProtocol = airavata.model.data.movement.ttypes.DataMovementProtocol(iprot.readI32())
+ self.preferredJobSubmissionProtocol = airavata.model.appcatalog.computeresource.ttypes.JobSubmissionProtocol(iprot.readI32())
else:
iprot.skip(ftype)
elif fid == 7:
- if ftype == TType.STRING:
- self.preferredBatchQueue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ if ftype == TType.I32:
+ self.preferredDataMovementProtocol = airavata.model.data.movement.ttypes.DataMovementProtocol(iprot.readI32())
else:
iprot.skip(ftype)
elif fid == 8:
if ftype == TType.STRING:
- self.scratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
else:
iprot.skip(ftype)
elif fid == 9:
- if ftype == TType.STRING:
- self.allocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ if ftype == TType.I32:
+ self.resourceType = ResourceType(iprot.readI32())
else:
iprot.skip(ftype)
elif fid == 10:
- if ftype == TType.STRING:
- self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
- else:
- iprot.skip(ftype)
- elif fid == 11:
- if ftype == TType.STRING:
- self.usageReportingGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
- else:
- iprot.skip(ftype)
- elif fid == 12:
- if ftype == TType.STRING:
- self.qualityOfService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
- else:
- iprot.skip(ftype)
- elif fid == 16:
- if ftype == TType.STRING:
- self.sshAccountProvisioner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
- else:
- iprot.skip(ftype)
- elif fid == 17:
- if ftype == TType.LIST:
- self.groupSSHAccountProvisionerConfigs = []
- (_etype10, _size7) = iprot.readListBegin()
- for _i11 in range(_size7):
- _elem12 = GroupAccountSSHProvisionerConfig()
- _elem12.read(iprot)
- self.groupSSHAccountProvisionerConfigs.append(_elem12)
- iprot.readListEnd()
- else:
- iprot.skip(ftype)
- elif fid == 18:
- if ftype == TType.STRING:
- self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
- else:
- iprot.skip(ftype)
- elif fid == 19:
- if ftype == TType.LIST:
- self.reservations = []
- (_etype16, _size13) = iprot.readListBegin()
- for _i17 in range(_size13):
- _elem18 = ComputeResourceReservation()
- _elem18.read(iprot)
- self.reservations.append(_elem18)
- iprot.readListEnd()
+ if ftype == TType.STRUCT:
+ self.specificPreferences = EnvironmentSpecificPreferences()
+ self.specificPreferences.read(iprot)
else:
iprot.skip(ftype)
else:
@@ -422,59 +685,29 @@ class GroupComputeResourcePreference(object):
oprot.writeFieldBegin('loginUserName', TType.STRING, 4)
oprot.writeString(self.loginUserName.encode('utf-8') if sys.version_info[0] == 2 else self.loginUserName)
oprot.writeFieldEnd()
+ if self.scratchLocation is not None:
+ oprot.writeFieldBegin('scratchLocation', TType.STRING, 5)
+ oprot.writeString(self.scratchLocation.encode('utf-8') if sys.version_info[0] == 2 else self.scratchLocation)
+ oprot.writeFieldEnd()
if self.preferredJobSubmissionProtocol is not None:
- oprot.writeFieldBegin('preferredJobSubmissionProtocol', TType.I32, 5)
+ oprot.writeFieldBegin('preferredJobSubmissionProtocol', TType.I32, 6)
oprot.writeI32(self.preferredJobSubmissionProtocol.value)
oprot.writeFieldEnd()
if self.preferredDataMovementProtocol is not None:
- oprot.writeFieldBegin('preferredDataMovementProtocol', TType.I32, 6)
+ oprot.writeFieldBegin('preferredDataMovementProtocol', TType.I32, 7)
oprot.writeI32(self.preferredDataMovementProtocol.value)
oprot.writeFieldEnd()
- if self.preferredBatchQueue is not None:
- oprot.writeFieldBegin('preferredBatchQueue', TType.STRING, 7)
- oprot.writeString(self.preferredBatchQueue.encode('utf-8') if sys.version_info[0] == 2 else self.preferredBatchQueue)
- oprot.writeFieldEnd()
- if self.scratchLocation is not None:
- oprot.writeFieldBegin('scratchLocation', TType.STRING, 8)
- oprot.writeString(self.scratchLocation.encode('utf-8') if sys.version_info[0] == 2 else self.scratchLocation)
- oprot.writeFieldEnd()
- if self.allocationProjectNumber is not None:
- oprot.writeFieldBegin('allocationProjectNumber', TType.STRING, 9)
- oprot.writeString(self.allocationProjectNumber.encode('utf-8') if sys.version_info[0] == 2 else self.allocationProjectNumber)
- oprot.writeFieldEnd()
if self.resourceSpecificCredentialStoreToken is not None:
- oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 10)
+ oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 8)
oprot.writeString(self.resourceSpecificCredentialStoreToken.encode('utf-8') if sys.version_info[0] == 2 else self.resourceSpecificCredentialStoreToken)
oprot.writeFieldEnd()
- if self.usageReportingGatewayId is not None:
- oprot.writeFieldBegin('usageReportingGatewayId', TType.STRING, 11)
- oprot.writeString(self.usageReportingGatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.usageReportingGatewayId)
- oprot.writeFieldEnd()
- if self.qualityOfService is not None:
- oprot.writeFieldBegin('qualityOfService', TType.STRING, 12)
- oprot.writeString(self.qualityOfService.encode('utf-8') if sys.version_info[0] == 2 else self.qualityOfService)
- oprot.writeFieldEnd()
- if self.sshAccountProvisioner is not None:
- oprot.writeFieldBegin('sshAccountProvisioner', TType.STRING, 16)
- oprot.writeString(self.sshAccountProvisioner.encode('utf-8') if sys.version_info[0] == 2 else self.sshAccountProvisioner)
- oprot.writeFieldEnd()
- if self.groupSSHAccountProvisionerConfigs is not None:
- oprot.writeFieldBegin('groupSSHAccountProvisionerConfigs', TType.LIST, 17)
- oprot.writeListBegin(TType.STRUCT, len(self.groupSSHAccountProvisionerConfigs))
- for iter19 in self.groupSSHAccountProvisionerConfigs:
- iter19.write(oprot)
- oprot.writeListEnd()
+ if self.resourceType is not None:
+ oprot.writeFieldBegin('resourceType', TType.I32, 9)
+ oprot.writeI32(self.resourceType.value)
oprot.writeFieldEnd()
- if self.sshAccountProvisionerAdditionalInfo is not None:
- oprot.writeFieldBegin('sshAccountProvisionerAdditionalInfo', TType.STRING, 18)
- oprot.writeString(self.sshAccountProvisionerAdditionalInfo.encode('utf-8') if sys.version_info[0] == 2 else self.sshAccountProvisionerAdditionalInfo)
- oprot.writeFieldEnd()
- if self.reservations is not None:
- oprot.writeFieldBegin('reservations', TType.LIST, 19)
- oprot.writeListBegin(TType.STRUCT, len(self.reservations))
- for iter20 in self.reservations:
- iter20.write(oprot)
- oprot.writeListEnd()
+ if self.specificPreferences is not None:
+ oprot.writeFieldBegin('specificPreferences', TType.STRUCT, 10)
+ self.specificPreferences.write(oprot)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -486,6 +719,8 @@ class GroupComputeResourcePreference(object):
raise TProtocolException(message='Required field groupResourceProfileId is unset!')
if self.overridebyAiravata is None:
raise TProtocolException(message='Required field overridebyAiravata is unset!')
+ if self.resourceType is None:
+ raise TProtocolException(message='Required field resourceType is unset!')
return
def __repr__(self):
@@ -950,6 +1185,31 @@ ComputeResourceReservation.thrift_spec = (
(4, TType.I64, 'startTime', None, None, ), # 4
(5, TType.I64, 'endTime', None, None, ), # 5
)
+all_structs.append(SlurmComputeResourcePreference)
+SlurmComputeResourcePreference.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ), # 1
+ (2, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'qualityOfService', 'UTF8', None, ), # 3
+ (4, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ), # 4
+ (5, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ), # 5
+ (6, TType.LIST, 'groupSSHAccountProvisionerConfigs', (TType.STRUCT, [GroupAccountSSHProvisionerConfig, None], False), None, ), # 6
+ (7, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ), # 7
+ (8, TType.LIST, 'reservations', (TType.STRUCT, [ComputeResourceReservation, None], False), None, ), # 8
+)
+all_structs.append(AwsComputeResourcePreference)
+AwsComputeResourcePreference.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'region', 'UTF8', None, ), # 1
+ (2, TType.STRING, 'preferredAmiId', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'preferredInstanceType', 'UTF8', None, ), # 3
+)
+all_structs.append(EnvironmentSpecificPreferences)
+EnvironmentSpecificPreferences.thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'slurm', [SlurmComputeResourcePreference, None], None, ), # 1
+ (2, TType.STRUCT, 'aws', [AwsComputeResourcePreference, None], None, ), # 2
+)
all_structs.append(GroupComputeResourcePreference)
GroupComputeResourcePreference.thrift_spec = (
None, # 0
@@ -957,21 +1217,12 @@ GroupComputeResourcePreference.thrift_spec = (
(2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 2
(3, TType.BOOL, 'overridebyAiravata', None, True, ), # 3
(4, TType.STRING, 'loginUserName', 'UTF8', None, ), # 4
- (5, TType.I32, 'preferredJobSubmissionProtocol', None, None, ), # 5
- (6, TType.I32, 'preferredDataMovementProtocol', None, None, ), # 6
- (7, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ), # 7
- (8, TType.STRING, 'scratchLocation', 'UTF8', None, ), # 8
- (9, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ), # 9
- (10, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ), # 10
- (11, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ), # 11
- (12, TType.STRING, 'qualityOfService', 'UTF8', None, ), # 12
- None, # 13
- None, # 14
- None, # 15
- (16, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ), # 16
- (17, TType.LIST, 'groupSSHAccountProvisionerConfigs', (TType.STRUCT, [GroupAccountSSHProvisionerConfig, None], False), None, ), # 17
- (18, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ), # 18
- (19, TType.LIST, 'reservations', (TType.STRUCT, [ComputeResourceReservation, None], False), None, ), # 19
+ (5, TType.STRING, 'scratchLocation', 'UTF8', None, ), # 5
+ (6, TType.I32, 'preferredJobSubmissionProtocol', None, None, ), # 6
+ (7, TType.I32, 'preferredDataMovementProtocol', None, None, ), # 7
+ (8, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ), # 8
+ (9, TType.I32, 'resourceType', None, None, ), # 9
+ (10, TType.STRUCT, 'specificPreferences', [EnvironmentSpecificPreferences, None], None, ), # 10
)
all_structs.append(ComputeResourcePolicy)
ComputeResourcePolicy.thrift_spec = (
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parallelism/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parallelism/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parallelism/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parallelism/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parser/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parser/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parser/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/parser/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/storageresource/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/storageresource/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/storageresource/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/storageresource/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
index 89f2523a99..c3c39c1d94 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
@@ -15,9 +15,6 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.appcatalog.computeresource.ttypes
-import airavata.model.data.movement.ttypes
-import airavata.model.user.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/application/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/application/__init__.py
index d5d826e6e4..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/application/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/application/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import io
diff --git a/dev-tools/airavata-python-sdk/airavata/model/application/io/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/application/io/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/application/io/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/application/io/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/application/io/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/application/io/ttypes.py
index 7c0533e347..7b2df40ec4 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/application/io/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/application/io/ttypes.py
@@ -15,7 +15,6 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.appcatalog.computeresource.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/commons/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/commons/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/commons/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/commons/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/credential/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/credential/__init__.py
index ec03c45cea..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/credential/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/credential/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import store
diff --git a/dev-tools/airavata-python-sdk/airavata/model/credential/store/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/credential/store/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/credential/store/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/credential/store/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/data/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/data/__init__.py
index 65c4413df6..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/data/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/data/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import movement, replica
diff --git a/dev-tools/airavata-python-sdk/airavata/model/data/movement/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/data/movement/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/data/movement/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/data/movement/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/data/replica/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/data/replica/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/data/replica/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/data/replica/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/dbevent/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/dbevent/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/dbevent/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/dbevent/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/experiment/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/experiment/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/experiment/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/experiment/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/group/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/group/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/group/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/group/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/group/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/group/ttypes.py
index fa9aa7f33d..3b297f307a 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/group/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/group/ttypes.py
@@ -15,7 +15,6 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.commons.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/job/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/job/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/job/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/job/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/messaging/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/messaging/__init__.py
index e75c1502fb..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/messaging/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/messaging/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import event
diff --git a/dev-tools/airavata-python-sdk/airavata/model/messaging/event/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/messaging/event/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/messaging/event/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/messaging/event/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/messaging/event/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
index 61163301d4..97ec7bbf09 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
@@ -15,9 +15,9 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.model.commons.ttypes
import airavata.model.status.ttypes
import airavata.model.application.io.ttypes
-import airavata.model.commons.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/process/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/process/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/process/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/process/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/process/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/process/ttypes.py
index 8999075533..554d422c49 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/process/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/process/ttypes.py
@@ -17,9 +17,9 @@ from enum import IntEnum
import sys
import airavata.model.commons.ttypes
import airavata.model.application.io.ttypes
+import airavata.model.scheduling.ttypes
import airavata.model.status.ttypes
import airavata.model.task.ttypes
-import airavata.model.scheduling.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/scheduling/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/scheduling/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/scheduling/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/scheduling/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/security/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/security/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/security/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/security/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/sharing/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/sharing/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/sharing/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/sharing/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/status/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/status/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/status/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/status/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/task/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/task/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/task/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/task/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/task/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/task/ttypes.py
index ed300e89f4..bad948b3a8 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/task/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/task/ttypes.py
@@ -16,11 +16,11 @@ from enum import IntEnum
import sys
import airavata.model.commons.ttypes
+import airavata.model.application.io.ttypes
import airavata.model.appcatalog.computeresource.ttypes
import airavata.model.data.movement.ttypes
-import airavata.model.application.io.ttypes
-import airavata.model.status.ttypes
import airavata.model.job.ttypes
+import airavata.model.status.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/tenant/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/tenant/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/tenant/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/tenant/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/tenant/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/tenant/ttypes.py
index 981f466ae6..b28c7832b3 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/tenant/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/tenant/ttypes.py
@@ -15,7 +15,6 @@ from uuid import UUID
from enum import IntEnum
import sys
-import airavata.model.commons.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/model/ttypes.py b/dev-tools/airavata-python-sdk/airavata/model/ttypes.py
index b74486a39d..b90a3c4dd0 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/ttypes.py
@@ -15,27 +15,759 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.model.application.io.ttypes
import airavata.model.commons.ttypes
-import airavata.model.workspace.ttypes
-import airavata.api.error.ttypes
-import airavata.model.messaging.event.ttypes
-import airavata.model.security.ttypes
-import airavata.model.dbevent.ttypes
-import airavata.model.experiment.ttypes
-import airavata.model.job.ttypes
-import airavata.model.task.ttypes
-import airavata.model.process.ttypes
-import airavata.model.scheduling.ttypes
-import airavata.model.status.ttypes
-import airavata.model.data.movement.ttypes
-import airavata.model.data.replica.ttypes
-import airavata.model.user.ttypes
-import airavata.model.group.ttypes
-import airavata.model.tenant.ttypes
-import airavata.model.credential.store.ttypes
-import airavata.model.appcatalog.gatewaygroups.ttypes
from thrift.transport import TTransport
all_structs = []
+
+
+class WorkflowState(IntEnum):
+ CREATED = 0
+ STARTED = 1
+ EXECUTING = 2
+ COMPLETED = 3
+ FAILED = 4
+ CANCELLING = 5
+ CANCELED = 6
+
+
+
+class ComponentState(IntEnum):
+ CREATED = 0
+ WAITING = 1
+ READY = 2
+ RUNNING = 3
+ COMPLETED = 4
+ FAILED = 5
+ CANCELED = 6
+
+
+
+class WorkflowModel(object):
+ """
+ Attributes:
+ - templateId
+ - name
+ - graph
+ - gatewayId
+ - createdUser
+ - image
+ - workflowInputs
+ - workflowOutputs
+ - creationTime
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, templateId: str = "DO_NOT_SET_AT_CLIENTS", name: str = None, graph: str = None, gatewayId: str = None, createdUser: str = None, image: typing.Optional[bytes] = None, workflowInputs: typing.Optional[list[airavata.model.application.io.ttypes.InputDataObjectType]] = None, workflowOutputs: typing.Optional[list[airavata.model.application.io.ttypes.OutputDataObjectType]] = None, creationTime: typing.Optional[int] = None,):
+ self.templateId: str = templateId
+ self.name: str = name
+ self.graph: str = graph
+ self.gatewayId: str = gatewayId
+ self.createdUser: str = createdUser
+ self.image: typing.Optional[bytes] = image
+ self.workflowInputs: typing.Optional[list[airavata.model.application.io.ttypes.InputDataObjectType]] = workflowInputs
+ self.workflowOutputs: typing.Optional[list[airavata.model.application.io.ttypes.OutputDataObjectType]] = workflowOutputs
+ self.creationTime: typing.Optional[int] = creationTime
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.templateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.graph = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.createdUser = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRING:
+ self.image = iprot.readBinary()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.LIST:
+ self.workflowInputs = []
+ (_etype3, _size0) = iprot.readListBegin()
+ for _i4 in range(_size0):
+ _elem5 = airavata.model.application.io.ttypes.InputDataObjectType()
+ _elem5.read(iprot)
+ self.workflowInputs.append(_elem5)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.LIST:
+ self.workflowOutputs = []
+ (_etype9, _size6) = iprot.readListBegin()
+ for _i10 in range(_size6):
+ _elem11 = airavata.model.application.io.ttypes.OutputDataObjectType()
+ _elem11.read(iprot)
+ self.workflowOutputs.append(_elem11)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('WorkflowModel')
+ if self.templateId is not None:
+ oprot.writeFieldBegin('templateId', TType.STRING, 1)
+ oprot.writeString(self.templateId.encode('utf-8') if sys.version_info[0] == 2 else self.templateId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+ oprot.writeFieldEnd()
+ if self.graph is not None:
+ oprot.writeFieldBegin('graph', TType.STRING, 3)
+ oprot.writeString(self.graph.encode('utf-8') if sys.version_info[0] == 2 else self.graph)
+ oprot.writeFieldEnd()
+ if self.gatewayId is not None:
+ oprot.writeFieldBegin('gatewayId', TType.STRING, 4)
+ oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+ oprot.writeFieldEnd()
+ if self.createdUser is not None:
+ oprot.writeFieldBegin('createdUser', TType.STRING, 5)
+ oprot.writeString(self.createdUser.encode('utf-8') if sys.version_info[0] == 2 else self.createdUser)
+ oprot.writeFieldEnd()
+ if self.image is not None:
+ oprot.writeFieldBegin('image', TType.STRING, 6)
+ oprot.writeBinary(self.image)
+ oprot.writeFieldEnd()
+ if self.workflowInputs is not None:
+ oprot.writeFieldBegin('workflowInputs', TType.LIST, 7)
+ oprot.writeListBegin(TType.STRUCT, len(self.workflowInputs))
+ for iter12 in self.workflowInputs:
+ iter12.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.workflowOutputs is not None:
+ oprot.writeFieldBegin('workflowOutputs', TType.LIST, 8)
+ oprot.writeListBegin(TType.STRUCT, len(self.workflowOutputs))
+ for iter13 in self.workflowOutputs:
+ iter13.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 9)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.templateId is None:
+ raise TProtocolException(message='Required field templateId is unset!')
+ if self.name is None:
+ raise TProtocolException(message='Required field name is unset!')
+ if self.graph is None:
+ raise TProtocolException(message='Required field graph is unset!')
+ if self.gatewayId is None:
+ raise TProtocolException(message='Required field gatewayId is unset!')
+ if self.createdUser is None:
+ raise TProtocolException(message='Required field createdUser is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class ComponentStatus(object):
+ """
+ Attributes:
+ - state
+ - reason
+ - timeofStateChange
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, state: ComponentState = ComponentState.CREATED, reason: typing.Optional[str] = None, timeofStateChange: typing.Optional[int] = None,):
+ self.state: ComponentState = state
+ self.reason: typing.Optional[str] = reason
+ self.timeofStateChange: typing.Optional[int] = timeofStateChange
+
+ def __setattr__(self, name, value):
+ if name == "state":
+ super().__setattr__(name, value if hasattr(value, 'value') else ComponentState.__members__.get(value))
+ return
+ super().__setattr__(name, value)
+
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.state = ComponentState(iprot.readI32())
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.I64:
+ self.timeofStateChange = iprot.readI64()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('ComponentStatus')
+ if self.state is not None:
+ oprot.writeFieldBegin('state', TType.I32, 1)
+ oprot.writeI32(self.state.value)
+ oprot.writeFieldEnd()
+ if self.reason is not None:
+ oprot.writeFieldBegin('reason', TType.STRING, 2)
+ oprot.writeString(self.reason.encode('utf-8') if sys.version_info[0] == 2 else self.reason)
+ oprot.writeFieldEnd()
+ if self.timeofStateChange is not None:
+ oprot.writeFieldBegin('timeofStateChange', TType.I64, 3)
+ oprot.writeI64(self.timeofStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.state is None:
+ raise TProtocolException(message='Required field state is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class WorkflowStatus(object):
+ """
+ Attributes:
+ - state
+ - timeOfStateChange
+ - reason
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, state: WorkflowState = None, timeOfStateChange: typing.Optional[int] = None, reason: typing.Optional[str] = None,):
+ self.state: WorkflowState = state
+ self.timeOfStateChange: typing.Optional[int] = timeOfStateChange
+ self.reason: typing.Optional[str] = reason
+
+ def __setattr__(self, name, value):
+ if name == "state":
+ super().__setattr__(name, value if hasattr(value, 'value') else WorkflowState.__members__.get(value))
+ return
+ super().__setattr__(name, value)
+
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.state = WorkflowState(iprot.readI32())
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('WorkflowStatus')
+ if self.state is not None:
+ oprot.writeFieldBegin('state', TType.I32, 1)
+ oprot.writeI32(self.state.value)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ if self.reason is not None:
+ oprot.writeFieldBegin('reason', TType.STRING, 3)
+ oprot.writeString(self.reason.encode('utf-8') if sys.version_info[0] == 2 else self.reason)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.state is None:
+ raise TProtocolException(message='Required field state is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class EdgeModel(object):
+ """
+ Attributes:
+ - edgeId
+ - name
+ - status
+ - description
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, edgeId: str = "DO_NOT_SET_AT_CLIENTS", name: typing.Optional[str] = None, status: typing.Optional[ComponentStatus] = None, description: typing.Optional[str] = None,):
+ self.edgeId: str = edgeId
+ self.name: typing.Optional[str] = name
+ self.status: typing.Optional[ComponentStatus] = status
+ self.description: typing.Optional[str] = description
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.edgeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('EdgeModel')
+ if self.edgeId is not None:
+ oprot.writeFieldBegin('edgeId', TType.STRING, 1)
+ oprot.writeString(self.edgeId.encode('utf-8') if sys.version_info[0] == 2 else self.edgeId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 3)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 4)
+ oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.edgeId is None:
+ raise TProtocolException(message='Required field edgeId is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class PortModel(object):
+ """
+ Attributes:
+ - portId
+ - name
+ - status
+ - value
+ - description
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, portId: str = "DO_NOT_SET_AT_CLIENTS", name: typing.Optional[str] = None, status: typing.Optional[ComponentStatus] = None, value: typing.Optional[str] = None, description: typing.Optional[str] = None,):
+ self.portId: str = portId
+ self.name: typing.Optional[str] = name
+ self.status: typing.Optional[ComponentStatus] = status
+ self.value: typing.Optional[str] = value
+ self.description: typing.Optional[str] = description
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.portId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('PortModel')
+ if self.portId is not None:
+ oprot.writeFieldBegin('portId', TType.STRING, 1)
+ oprot.writeString(self.portId.encode('utf-8') if sys.version_info[0] == 2 else self.portId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 3)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.value is not None:
+ oprot.writeFieldBegin('value', TType.STRING, 4)
+ oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 5)
+ oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.portId is None:
+ raise TProtocolException(message='Required field portId is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+
+class NodeModel(object):
+ """
+ Attributes:
+ - nodeId
+ - name
+ - applicationId
+ - applicationName
+ - status
+ - description
+
+ """
+ thrift_spec: typing.Any = None
+
+
+ def __init__(self, nodeId: str = "DO_NOT_SET_AT_CLIENTS", name: typing.Optional[str] = None, applicationId: typing.Optional[str] = None, applicationName: typing.Optional[str] = None, status: typing.Optional[ComponentStatus] = None, description: typing.Optional[str] = None,):
+ self.nodeId: str = nodeId
+ self.name: typing.Optional[str] = name
+ self.applicationId: typing.Optional[str] = applicationId
+ self.applicationName: typing.Optional[str] = applicationName
+ self.status: typing.Optional[ComponentStatus] = status
+ self.description: typing.Optional[str] = description
+
+ def read(self, iprot):
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.nodeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.applicationId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.applicationName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRING:
+ self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ self.validate()
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
+ return
+ oprot.writeStructBegin('NodeModel')
+ if self.nodeId is not None:
+ oprot.writeFieldBegin('nodeId', TType.STRING, 1)
+ oprot.writeString(self.nodeId.encode('utf-8') if sys.version_info[0] == 2 else self.nodeId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+ oprot.writeFieldEnd()
+ if self.applicationId is not None:
+ oprot.writeFieldBegin('applicationId', TType.STRING, 3)
+ oprot.writeString(self.applicationId.encode('utf-8') if sys.version_info[0] == 2 else self.applicationId)
+ oprot.writeFieldEnd()
+ if self.applicationName is not None:
+ oprot.writeFieldBegin('applicationName', TType.STRING, 4)
+ oprot.writeString(self.applicationName.encode('utf-8') if sys.version_info[0] == 2 else self.applicationName)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 5)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 6)
+ oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.nodeId is None:
+ raise TProtocolException(message='Required field nodeId is unset!')
+ return
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.items()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+all_structs.append(WorkflowModel)
+WorkflowModel.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'templateId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'graph', 'UTF8', None, ), # 3
+ (4, TType.STRING, 'gatewayId', 'UTF8', None, ), # 4
+ (5, TType.STRING, 'createdUser', 'UTF8', None, ), # 5
+ (6, TType.STRING, 'image', 'BINARY', None, ), # 6
+ (7, TType.LIST, 'workflowInputs', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ), # 7
+ (8, TType.LIST, 'workflowOutputs', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ), # 8
+ (9, TType.I64, 'creationTime', None, None, ), # 9
+)
+all_structs.append(ComponentStatus)
+ComponentStatus.thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'state', None, ComponentState.CREATED, ), # 1
+ (2, TType.STRING, 'reason', 'UTF8', None, ), # 2
+ (3, TType.I64, 'timeofStateChange', None, None, ), # 3
+)
+all_structs.append(WorkflowStatus)
+WorkflowStatus.thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'state', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ (3, TType.STRING, 'reason', 'UTF8', None, ), # 3
+)
+all_structs.append(EdgeModel)
+EdgeModel.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'edgeId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', 'UTF8', None, ), # 2
+ (3, TType.STRUCT, 'status', [ComponentStatus, None], None, ), # 3
+ (4, TType.STRING, 'description', 'UTF8', None, ), # 4
+)
+all_structs.append(PortModel)
+PortModel.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'portId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', 'UTF8', None, ), # 2
+ (3, TType.STRUCT, 'status', [ComponentStatus, None], None, ), # 3
+ (4, TType.STRING, 'value', 'UTF8', None, ), # 4
+ (5, TType.STRING, 'description', 'UTF8', None, ), # 5
+)
+all_structs.append(NodeModel)
+NodeModel.thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'nodeId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'applicationId', 'UTF8', None, ), # 3
+ (4, TType.STRING, 'applicationName', 'UTF8', None, ), # 4
+ (5, TType.STRUCT, 'status', [ComponentStatus, None], None, ), # 5
+ (6, TType.STRING, 'description', 'UTF8', None, ), # 6
+)
fix_spec(all_structs)
del all_structs
diff --git a/dev-tools/airavata-python-sdk/airavata/model/user/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/user/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/user/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/user/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/workflow/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/workflow/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/workflow/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/workflow/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/model/workspace/__init__.py b/dev-tools/airavata-python-sdk/airavata/model/workspace/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/model/workspace/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/model/workspace/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/__init__.py
index a1fb9f8170..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import profile
\ No newline at end of file
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/__init__.py
index a56a10f33a..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/__init__.py
@@ -1,6 +0,0 @@
-__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import groupmanager, iam, tenant, user, ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/__init__.py
index 83b54ad908..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import cpi
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/__init__.py
index 1566ac223f..54b6619724 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'GroupManagerService']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import error, constants, GroupManagerService, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
index 342510d304..1c5cf8709b 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
@@ -15,11 +15,11 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.service.profile.groupmanager.cpi.error.ttypes
import airavata.api.error.ttypes
import airavata.model.security.ttypes
-import airavata.model.group.ttypes
-import airavata.service.profile.groupmanager.cpi.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.group.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/__init__.py
index adcffe1769..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import admin
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/__init__.py
index 5b894e751a..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import services
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/__init__.py
index 83b54ad908..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import cpi
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/__init__.py
index ae24fd0d07..58a44a7008 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'IamAdminServices']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import error, constants, IamAdminServices, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
index 002a9617b5..9474c0b659 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
@@ -15,13 +15,13 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.service.profile.iam.admin.services.cpi.error.ttypes
import airavata.api.error.ttypes
import airavata.model.security.ttypes
-import airavata.model.workspace.ttypes
-import airavata.model.user.ttypes
-import airavata.model.credential.store.ttypes
-import airavata.service.profile.iam.admin.services.cpi.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.credential.store.ttypes
+import airavata.model.user.ttypes
+import airavata.model.workspace.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/__init__.py
index 83b54ad908..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import cpi
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/__init__.py
index 11598036b8..491c65a457 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'TenantProfileService']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import error, constants, TenantProfileService, ttypes
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
index 7092d0d2a2..32e1753424 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
@@ -15,11 +15,11 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.service.profile.tenant.cpi.error.ttypes
import airavata.api.error.ttypes
import airavata.model.security.ttypes
-import airavata.model.workspace.ttypes
-import airavata.service.profile.tenant.cpi.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.workspace.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/ttypes.py b/dev-tools/airavata-python-sdk/airavata/service/profile/ttypes.py
deleted file mode 100644
index 6800f2816b..0000000000
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/ttypes.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Autogenerated by Thrift Compiler (0.21.0)
-#
-# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
-#
-# options string: py:enum,type_hints
-#
-
-from __future__ import annotations
-import typing
-from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
-from thrift.protocol.TProtocol import TProtocolException
-from thrift.TRecursive import fix_spec
-from uuid import UUID
-from enum import IntEnum
-
-import sys
-import airavata.service.profile.user.cpi.ttypes
-import airavata.service.profile.tenant.cpi.ttypes
-import airavata.service.profile.iam.admin.services.cpi.ttypes
-import airavata.service.profile.groupmanager.cpi.ttypes
-import airavata.base.api.ttypes
-
-from thrift.transport import TTransport
-all_structs = []
-fix_spec(all_structs)
-del all_structs
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/user/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/user/__init__.py
index 83b54ad908..e69de29bb2 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/user/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/user/__init__.py
@@ -1,4 +0,0 @@
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import cpi
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/__init__.py
index e3f9ad0f59..8e170a01f6 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants', 'UserProfileService']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import error, constants, ttypes, UserProfileService
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/error/__init__.py b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/error/__init__.py
index 1e3cc4b787..adefd8e51f 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/error/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/error/__init__.py
@@ -1,6 +1 @@
__all__ = ['ttypes', 'constants']
-
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from . import ttypes, constants
diff --git a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
index f772562d78..8c2b9225c1 100644
--- a/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
+++ b/dev-tools/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
@@ -15,11 +15,11 @@ from uuid import UUID
from enum import IntEnum
import sys
+import airavata.service.profile.user.cpi.error.ttypes
import airavata.api.error.ttypes
import airavata.model.security.ttypes
-import airavata.model.user.ttypes
-import airavata.service.profile.user.cpi.error.ttypes
import airavata.base.api.ttypes
+import airavata.model.user.ttypes
from thrift.transport import TTransport
all_structs = []
diff --git a/dev-tools/airavata-python-sdk/pyproject.toml b/dev-tools/airavata-python-sdk/pyproject.toml
index 0b775d8384..402e43f420 100644
--- a/dev-tools/airavata-python-sdk/pyproject.toml
+++ b/dev-tools/airavata-python-sdk/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "airavata-python-sdk"
-version = "2.1.5"
+version = "2.1.6"
description = "Apache Airavata Python SDK"
readme = "README.md"
license = "Apache-2.0"
diff --git a/thrift-interface-descriptions/stubs_python.thrift b/thrift-interface-descriptions/stubs_python.thrift
new file mode 100644
index 0000000000..d9c8478359
--- /dev/null
+++ b/thrift-interface-descriptions/stubs_python.thrift
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+include "base-api/base_api.thrift"
+
+include "data-models/credential_store_models.thrift"
+include "data-models/status_models.thrift"
+include "data-models/job_model.thrift"
+include "data-models/experiment_model.thrift"
+include "data-models/workspace_model.thrift"
+include "data-models/scheduling_model.thrift"
+include "data-models/application_deployment_model.thrift"
+include "data-models/application_interface_model.thrift"
+include "data-models/application_io_models.thrift"
+include "data-models/parser_model.thrift"
+include "data-models/account_provisioning_model.thrift"
+include "data-models/compute_resource_model.thrift"
+include "data-models/storage_resource_model.thrift"
+include "data-models/gateway_resource_profile_model.thrift"
+include "data-models/group_resource_profile_model.thrift"
+include "data-models/user_resource_profile_model.thrift"
+include "data-models/data_movement_models.thrift"
+include "data-models/gateway_groups_model.thrift"
+include "data-models/replica_catalog_models.thrift"
+include "data-models/group_manager_model.thrift"
+include "data-models/tenant_profile_model.thrift"
+include "data-models/user_profile_model.thrift"
+include "data-models/workflow_data_model.thrift"
+include "data-models/sharing_models.thrift"
+
+include "airavata-apis/airavata_api.thrift"
+include "airavata-apis/airavata_commons.thrift"
+include "airavata-apis/airavata_errors.thrift"
+include "airavata-apis/db_event_model.thrift"
+include "airavata-apis/messaging_events.thrift"
+include "airavata-apis/security_model.thrift"
+include "airavata-apis/workflow_api.thrift"
+
+include "service-cpis/credential-store-cpi.thrift"
+include "service-cpis/registry-api.thrift"
+include "service-cpis/orchestrator-cpi.thrift"
+include "service-cpis/sharing_cpi.thrift"
+include "service-cpis/profile-service-cpi.thrift"