Py4HEAppE 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. __init__.py +1 -0
  2. py4heappe/__init__.py +1 -0
  3. py4heappe/cli/__init__.py +1 -0
  4. py4heappe/cli/auth.py +153 -0
  5. py4heappe/cli/command_template.py +370 -0
  6. py4heappe/cli/configuration.py +65 -0
  7. py4heappe/cli/information.py +163 -0
  8. py4heappe/cli/job_management.py +211 -0
  9. py4heappe/cli/report.py +173 -0
  10. py4heappe/core/__init__.py +167 -0
  11. py4heappe/core/api/__init__.py +12 -0
  12. py4heappe/core/api/cluster_information_api.py +308 -0
  13. py4heappe/core/api/data_transfer_api.py +405 -0
  14. py4heappe/core/api/file_transfer_api.py +498 -0
  15. py4heappe/core/api/job_management_api.py +866 -0
  16. py4heappe/core/api/job_reporting_api.py +692 -0
  17. py4heappe/core/api/management_api.py +2540 -0
  18. py4heappe/core/api/user_and_limitation_management_api.py +676 -0
  19. py4heappe/core/api_client.py +632 -0
  20. py4heappe/core/base/__init__.py +1 -0
  21. py4heappe/core/base/exceptions.py +41 -0
  22. py4heappe/core/base/logger.py +11 -0
  23. py4heappe/core/base/utils.py +43 -0
  24. py4heappe/core/configuration.py +247 -0
  25. py4heappe/core/models/__init__.py +155 -0
  26. py4heappe/core/models/adaptor_user.py +398 -0
  27. py4heappe/core/models/adaptor_user_group.py +268 -0
  28. py4heappe/core/models/adaptor_user_role.py +242 -0
  29. py4heappe/core/models/adaptor_user_role_ext.py +138 -0
  30. py4heappe/core/models/adaptor_user_role_type.py +95 -0
  31. py4heappe/core/models/adaptor_user_type.py +91 -0
  32. py4heappe/core/models/adaptor_user_user_group_role.py +320 -0
  33. py4heappe/core/models/allocated_nodes_ips_model.py +136 -0
  34. py4heappe/core/models/authenticate_lexis_token_model.py +110 -0
  35. py4heappe/core/models/authenticate_user_digital_signature_model.py +110 -0
  36. py4heappe/core/models/authenticate_user_open_id_model.py +110 -0
  37. py4heappe/core/models/authenticate_user_open_id_open_stack_model.py +136 -0
  38. py4heappe/core/models/authenticate_user_password_model.py +110 -0
  39. py4heappe/core/models/authentication_credentials.py +110 -0
  40. py4heappe/core/models/bad_request_result.py +110 -0
  41. py4heappe/core/models/cancel_job_model.py +136 -0
  42. py4heappe/core/models/cluster.py +478 -0
  43. py4heappe/core/models/cluster_authentication_credentials.py +375 -0
  44. py4heappe/core/models/cluster_authentication_credentials_auth_type.py +97 -0
  45. py4heappe/core/models/cluster_connection_protocol.py +91 -0
  46. py4heappe/core/models/cluster_detailed_report_ext.py +214 -0
  47. py4heappe/core/models/cluster_ext.py +188 -0
  48. py4heappe/core/models/cluster_init_report_ext.py +136 -0
  49. py4heappe/core/models/cluster_node_type.py +528 -0
  50. py4heappe/core/models/cluster_node_type_detailed_report_ext.py +240 -0
  51. py4heappe/core/models/cluster_node_type_ext.py +292 -0
  52. py4heappe/core/models/cluster_node_type_for_task_ext.py +188 -0
  53. py4heappe/core/models/cluster_node_type_report_ext.py +214 -0
  54. py4heappe/core/models/cluster_node_type_requested_group.py +136 -0
  55. py4heappe/core/models/cluster_node_type_resource_usage_ext.py +292 -0
  56. py4heappe/core/models/cluster_node_usage_ext.py +318 -0
  57. py4heappe/core/models/cluster_project.py +347 -0
  58. py4heappe/core/models/cluster_project_credential.py +294 -0
  59. py4heappe/core/models/cluster_proxy_connection.py +243 -0
  60. py4heappe/core/models/cluster_proxy_connection_ext.py +214 -0
  61. py4heappe/core/models/cluster_report_ext.py +215 -0
  62. py4heappe/core/models/command_template.py +557 -0
  63. py4heappe/core/models/command_template_ext.py +240 -0
  64. py4heappe/core/models/command_template_parameter.py +347 -0
  65. py4heappe/core/models/command_template_parameter_ext.py +136 -0
  66. py4heappe/core/models/command_template_parameter_value_ext.py +136 -0
  67. py4heappe/core/models/contact.py +269 -0
  68. py4heappe/core/models/copy_job_data_from_temp_model.py +162 -0
  69. py4heappe/core/models/copy_job_data_to_temp_model.py +162 -0
  70. py4heappe/core/models/create_command_inner_template_parameter_model.py +162 -0
  71. py4heappe/core/models/create_command_template_from_generic_model.py +292 -0
  72. py4heappe/core/models/create_command_template_model.py +318 -0
  73. py4heappe/core/models/create_command_template_parameter_model.py +214 -0
  74. py4heappe/core/models/create_job_by_project_model.py +136 -0
  75. py4heappe/core/models/create_project_assignment_to_cluster_model.py +188 -0
  76. py4heappe/core/models/create_project_model.py +318 -0
  77. py4heappe/core/models/create_secure_shell_key_model.py +162 -0
  78. py4heappe/core/models/create_secure_shell_key_model_obsolete.py +188 -0
  79. py4heappe/core/models/current_cluster_node_usage_model.py +136 -0
  80. py4heappe/core/models/current_info_for_job_model.py +136 -0
  81. py4heappe/core/models/data_transfer_method_ext.py +188 -0
  82. py4heappe/core/models/delete_job_model.py +136 -0
  83. py4heappe/core/models/deployment_type_ext.py +91 -0
  84. py4heappe/core/models/digital_signature_credentials_ext.py +162 -0
  85. py4heappe/core/models/download_file_from_cluster_model.py +162 -0
  86. py4heappe/core/models/download_parts_of_job_files_from_cluster_model.py +162 -0
  87. py4heappe/core/models/end_data_transfer_model.py +136 -0
  88. py4heappe/core/models/end_file_transfer_model.py +162 -0
  89. py4heappe/core/models/environment_variable_ext.py +136 -0
  90. py4heappe/core/models/extended_command_template_ext.py +370 -0
  91. py4heappe/core/models/extended_command_template_parameter_ext.py +188 -0
  92. py4heappe/core/models/extended_project_info_ext.py +318 -0
  93. py4heappe/core/models/file_information_ext.py +136 -0
  94. py4heappe/core/models/file_transfer_cipher_type.py +94 -0
  95. py4heappe/core/models/file_transfer_cipher_type_ext.py +93 -0
  96. py4heappe/core/models/file_transfer_key_credentials_ext.py +240 -0
  97. py4heappe/core/models/file_transfer_method.py +294 -0
  98. py4heappe/core/models/file_transfer_method_ext.py +240 -0
  99. py4heappe/core/models/file_transfer_protocol.py +91 -0
  100. py4heappe/core/models/file_transfer_protocol_ext.py +91 -0
  101. py4heappe/core/models/get_command_template_parameters_name_model.py +188 -0
  102. py4heappe/core/models/get_current_usage_and_limitations_for_current_user_model.py +110 -0
  103. py4heappe/core/models/get_data_transfer_method_model.py +188 -0
  104. py4heappe/core/models/get_file_transfer_method_model.py +136 -0
  105. py4heappe/core/models/http_get_to_job_node_model.py +241 -0
  106. py4heappe/core/models/http_header_ext.py +136 -0
  107. py4heappe/core/models/http_post_to_job_node_model.py +267 -0
  108. py4heappe/core/models/initialize_cluster_script_directory_model.py +162 -0
  109. py4heappe/core/models/instance_information_ext.py +344 -0
  110. py4heappe/core/models/job_detailed_report_ext.py +318 -0
  111. py4heappe/core/models/job_file_content_ext.py +214 -0
  112. py4heappe/core/models/job_report_ext.py +188 -0
  113. py4heappe/core/models/job_specification_by_project_ext.py +448 -0
  114. py4heappe/core/models/job_specification_ext.py +448 -0
  115. py4heappe/core/models/job_state_aggregation_report_ext.py +162 -0
  116. py4heappe/core/models/job_state_ext.py +96 -0
  117. py4heappe/core/models/lexis_credentials_ext.py +137 -0
  118. py4heappe/core/models/list_changed_files_for_job_model.py +136 -0
  119. py4heappe/core/models/list_jobs_for_current_user_model.py +110 -0
  120. py4heappe/core/models/modify_command_template_from_generic_model.py +292 -0
  121. py4heappe/core/models/modify_command_template_model.py +292 -0
  122. py4heappe/core/models/modify_command_template_parameter_model.py +214 -0
  123. py4heappe/core/models/modify_project_assignment_to_cluster_model.py +188 -0
  124. py4heappe/core/models/modify_project_model.py +292 -0
  125. py4heappe/core/models/node_used_cores_and_limitation_ext.py +110 -0
  126. py4heappe/core/models/open_id_credentials_ext.py +137 -0
  127. py4heappe/core/models/open_stack_application_credentials_ext.py +136 -0
  128. py4heappe/core/models/password_credentials_ext.py +136 -0
  129. py4heappe/core/models/problem_details.py +89 -0
  130. py4heappe/core/models/project.py +482 -0
  131. py4heappe/core/models/project_contact.py +215 -0
  132. py4heappe/core/models/project_detailed_report_ext.py +292 -0
  133. py4heappe/core/models/project_ext.py +266 -0
  134. py4heappe/core/models/project_for_task_ext.py +214 -0
  135. py4heappe/core/models/project_list_report_ext.py +214 -0
  136. py4heappe/core/models/project_reference_ext.py +137 -0
  137. py4heappe/core/models/project_report_ext.py +240 -0
  138. py4heappe/core/models/project_resource_usage_ext.py +266 -0
  139. py4heappe/core/models/proxy_type.py +91 -0
  140. py4heappe/core/models/proxy_type_ext.py +91 -0
  141. py4heappe/core/models/public_key_ext.py +188 -0
  142. py4heappe/core/models/recreate_secure_shell_key_model.py +214 -0
  143. py4heappe/core/models/regenerate_secure_shell_key_model.py +188 -0
  144. py4heappe/core/models/regenerate_secure_shell_key_model_obsolete.py +188 -0
  145. py4heappe/core/models/remove_command_template_model.py +136 -0
  146. py4heappe/core/models/remove_command_template_parameter_model.py +136 -0
  147. py4heappe/core/models/remove_project_assignment_to_cluster_model.py +162 -0
  148. py4heappe/core/models/remove_project_model.py +136 -0
  149. py4heappe/core/models/remove_secure_shell_key_model.py +162 -0
  150. py4heappe/core/models/remove_secure_shell_key_model_obsolete.py +162 -0
  151. py4heappe/core/models/resource_allocation_type_ext.py +91 -0
  152. py4heappe/core/models/resource_limitation_ext.py +136 -0
  153. py4heappe/core/models/resource_usage_ext.py +163 -0
  154. py4heappe/core/models/scheduler_type.py +92 -0
  155. py4heappe/core/models/ssh_key_user_credentials_model.py +136 -0
  156. py4heappe/core/models/submit_job_model.py +136 -0
  157. py4heappe/core/models/submitted_job_info_ext.py +318 -0
  158. py4heappe/core/models/submitted_task_info_ext.py +370 -0
  159. py4heappe/core/models/synchronizable_files_ext.py +92 -0
  160. py4heappe/core/models/task_detailed_report_ext.py +318 -0
  161. py4heappe/core/models/task_file_offset_ext.py +162 -0
  162. py4heappe/core/models/task_paralization_parameter_ext.py +162 -0
  163. py4heappe/core/models/task_priority_ext.py +97 -0
  164. py4heappe/core/models/task_report_ext.py +266 -0
  165. py4heappe/core/models/task_specification_ext.py +682 -0
  166. py4heappe/core/models/task_state_ext.py +95 -0
  167. py4heappe/core/models/test_cluster_access_for_account_model.py +162 -0
  168. py4heappe/core/models/test_cluster_access_for_account_model_obsolete.py +162 -0
  169. py4heappe/core/models/unauthorized_result.py +110 -0
  170. py4heappe/core/models/usage_type.py +90 -0
  171. py4heappe/core/models/usage_type_ext.py +90 -0
  172. py4heappe/core/models/user_group_detailed_report_ext.py +240 -0
  173. py4heappe/core/models/user_group_list_report_ext.py +240 -0
  174. py4heappe/core/models/user_group_report_ext.py +240 -0
  175. py4heappe/core/models/version_information_ext.py +162 -0
  176. py4heappe/core/rest.py +311 -0
  177. py4heappe-1.0.0.dist-info/METADATA +147 -0
  178. py4heappe-1.0.0.dist-info/RECORD +183 -0
  179. py4heappe-1.0.0.dist-info/WHEEL +5 -0
  180. py4heappe-1.0.0.dist-info/entry_points.txt +2 -0
  181. py4heappe-1.0.0.dist-info/licenses/LICENSE +20 -0
  182. py4heappe-1.0.0.dist-info/top_level.txt +3 -0
  183. py4heappe_cli.py +22 -0
@@ -0,0 +1,136 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HEAppE Web API
5
+
6
+ HEAppE middleware API v4.2.1 # noqa: E501
7
+
8
+ OpenAPI spec version: v4.2.1
9
+ Contact: support.heappe@it4i.cz
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ class SubmitJobModel(object):
19
+ """NOTE: This class is auto generated by the swagger code generator program.
20
+
21
+ Do not edit the class manually.
22
+ """
23
+ """
24
+ Attributes:
25
+ swagger_types (dict): The key is attribute name
26
+ and the value is attribute type.
27
+ attribute_map (dict): The key is attribute name
28
+ and the value is json key in definition.
29
+ """
30
+ swagger_types = {
31
+ 'session_code': 'str',
32
+ 'created_job_info_id': 'int'
33
+ }
34
+
35
+ attribute_map = {
36
+ 'session_code': 'SessionCode',
37
+ 'created_job_info_id': 'CreatedJobInfoId'
38
+ }
39
+
40
+ def __init__(self, session_code=None, created_job_info_id=None): # noqa: E501
41
+ """SubmitJobModel - a model defined in Swagger""" # noqa: E501
42
+ self._session_code = None
43
+ self._created_job_info_id = None
44
+ self.discriminator = None
45
+ if session_code is not None:
46
+ self.session_code = session_code
47
+ if created_job_info_id is not None:
48
+ self.created_job_info_id = created_job_info_id
49
+
50
+ @property
51
+ def session_code(self):
52
+ """Gets the session_code of this SubmitJobModel. # noqa: E501
53
+
54
+
55
+ :return: The session_code of this SubmitJobModel. # noqa: E501
56
+ :rtype: str
57
+ """
58
+ return self._session_code
59
+
60
+ @session_code.setter
61
+ def session_code(self, session_code):
62
+ """Sets the session_code of this SubmitJobModel.
63
+
64
+
65
+ :param session_code: The session_code of this SubmitJobModel. # noqa: E501
66
+ :type: str
67
+ """
68
+
69
+ self._session_code = session_code
70
+
71
+ @property
72
+ def created_job_info_id(self):
73
+ """Gets the created_job_info_id of this SubmitJobModel. # noqa: E501
74
+
75
+
76
+ :return: The created_job_info_id of this SubmitJobModel. # noqa: E501
77
+ :rtype: int
78
+ """
79
+ return self._created_job_info_id
80
+
81
+ @created_job_info_id.setter
82
+ def created_job_info_id(self, created_job_info_id):
83
+ """Sets the created_job_info_id of this SubmitJobModel.
84
+
85
+
86
+ :param created_job_info_id: The created_job_info_id of this SubmitJobModel. # noqa: E501
87
+ :type: int
88
+ """
89
+
90
+ self._created_job_info_id = created_job_info_id
91
+
92
+ def to_dict(self):
93
+ """Returns the model properties as a dict"""
94
+ result = {}
95
+
96
+ for attr, _ in six.iteritems(self.swagger_types):
97
+ value = getattr(self, attr)
98
+ if isinstance(value, list):
99
+ result[attr] = list(map(
100
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
101
+ value
102
+ ))
103
+ elif hasattr(value, "to_dict"):
104
+ result[attr] = value.to_dict()
105
+ elif isinstance(value, dict):
106
+ result[attr] = dict(map(
107
+ lambda item: (item[0], item[1].to_dict())
108
+ if hasattr(item[1], "to_dict") else item,
109
+ value.items()
110
+ ))
111
+ else:
112
+ result[attr] = value
113
+ if issubclass(SubmitJobModel, dict):
114
+ for key, value in self.items():
115
+ result[key] = value
116
+
117
+ return result
118
+
119
+ def to_str(self):
120
+ """Returns the string representation of the model"""
121
+ return pprint.pformat(self.to_dict())
122
+
123
+ def __repr__(self):
124
+ """For `print` and `pprint`"""
125
+ return self.to_str()
126
+
127
+ def __eq__(self, other):
128
+ """Returns true if both objects are equal"""
129
+ if not isinstance(other, SubmitJobModel):
130
+ return False
131
+
132
+ return self.__dict__ == other.__dict__
133
+
134
+ def __ne__(self, other):
135
+ """Returns true if both objects are not equal"""
136
+ return not self == other
@@ -0,0 +1,318 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HEAppE Web API
5
+
6
+ HEAppE middleware API v4.2.1 # noqa: E501
7
+
8
+ OpenAPI spec version: v4.2.1
9
+ Contact: support.heappe@it4i.cz
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ class SubmittedJobInfoExt(object):
19
+ """NOTE: This class is auto generated by the swagger code generator program.
20
+
21
+ Do not edit the class manually.
22
+ """
23
+ """
24
+ Attributes:
25
+ swagger_types (dict): The key is attribute name
26
+ and the value is attribute type.
27
+ attribute_map (dict): The key is attribute name
28
+ and the value is json key in definition.
29
+ """
30
+ swagger_types = {
31
+ 'id': 'int',
32
+ 'name': 'str',
33
+ 'state': 'JobStateExt',
34
+ 'creation_time': 'datetime',
35
+ 'submit_time': 'datetime',
36
+ 'start_time': 'datetime',
37
+ 'end_time': 'datetime',
38
+ 'total_allocated_time': 'float',
39
+ 'tasks': 'list[SubmittedTaskInfoExt]'
40
+ }
41
+
42
+ attribute_map = {
43
+ 'id': 'Id',
44
+ 'name': 'Name',
45
+ 'state': 'State',
46
+ 'creation_time': 'CreationTime',
47
+ 'submit_time': 'SubmitTime',
48
+ 'start_time': 'StartTime',
49
+ 'end_time': 'EndTime',
50
+ 'total_allocated_time': 'TotalAllocatedTime',
51
+ 'tasks': 'Tasks'
52
+ }
53
+
54
+ def __init__(self, id=None, name=None, state=None, creation_time=None, submit_time=None, start_time=None, end_time=None, total_allocated_time=None, tasks=None): # noqa: E501
55
+ """SubmittedJobInfoExt - a model defined in Swagger""" # noqa: E501
56
+ self._id = None
57
+ self._name = None
58
+ self._state = None
59
+ self._creation_time = None
60
+ self._submit_time = None
61
+ self._start_time = None
62
+ self._end_time = None
63
+ self._total_allocated_time = None
64
+ self._tasks = None
65
+ self.discriminator = None
66
+ if id is not None:
67
+ self.id = id
68
+ if name is not None:
69
+ self.name = name
70
+ if state is not None:
71
+ self.state = state
72
+ if creation_time is not None:
73
+ self.creation_time = creation_time
74
+ if submit_time is not None:
75
+ self.submit_time = submit_time
76
+ if start_time is not None:
77
+ self.start_time = start_time
78
+ if end_time is not None:
79
+ self.end_time = end_time
80
+ if total_allocated_time is not None:
81
+ self.total_allocated_time = total_allocated_time
82
+ if tasks is not None:
83
+ self.tasks = tasks
84
+
85
+ @property
86
+ def id(self):
87
+ """Gets the id of this SubmittedJobInfoExt. # noqa: E501
88
+
89
+
90
+ :return: The id of this SubmittedJobInfoExt. # noqa: E501
91
+ :rtype: int
92
+ """
93
+ return self._id
94
+
95
+ @id.setter
96
+ def id(self, id):
97
+ """Sets the id of this SubmittedJobInfoExt.
98
+
99
+
100
+ :param id: The id of this SubmittedJobInfoExt. # noqa: E501
101
+ :type: int
102
+ """
103
+
104
+ self._id = id
105
+
106
+ @property
107
+ def name(self):
108
+ """Gets the name of this SubmittedJobInfoExt. # noqa: E501
109
+
110
+
111
+ :return: The name of this SubmittedJobInfoExt. # noqa: E501
112
+ :rtype: str
113
+ """
114
+ return self._name
115
+
116
+ @name.setter
117
+ def name(self, name):
118
+ """Sets the name of this SubmittedJobInfoExt.
119
+
120
+
121
+ :param name: The name of this SubmittedJobInfoExt. # noqa: E501
122
+ :type: str
123
+ """
124
+
125
+ self._name = name
126
+
127
+ @property
128
+ def state(self):
129
+ """Gets the state of this SubmittedJobInfoExt. # noqa: E501
130
+
131
+
132
+ :return: The state of this SubmittedJobInfoExt. # noqa: E501
133
+ :rtype: JobStateExt
134
+ """
135
+ return self._state
136
+
137
+ @state.setter
138
+ def state(self, state):
139
+ """Sets the state of this SubmittedJobInfoExt.
140
+
141
+
142
+ :param state: The state of this SubmittedJobInfoExt. # noqa: E501
143
+ :type: JobStateExt
144
+ """
145
+
146
+ self._state = state
147
+
148
+ @property
149
+ def creation_time(self):
150
+ """Gets the creation_time of this SubmittedJobInfoExt. # noqa: E501
151
+
152
+
153
+ :return: The creation_time of this SubmittedJobInfoExt. # noqa: E501
154
+ :rtype: datetime
155
+ """
156
+ return self._creation_time
157
+
158
+ @creation_time.setter
159
+ def creation_time(self, creation_time):
160
+ """Sets the creation_time of this SubmittedJobInfoExt.
161
+
162
+
163
+ :param creation_time: The creation_time of this SubmittedJobInfoExt. # noqa: E501
164
+ :type: datetime
165
+ """
166
+
167
+ self._creation_time = creation_time
168
+
169
+ @property
170
+ def submit_time(self):
171
+ """Gets the submit_time of this SubmittedJobInfoExt. # noqa: E501
172
+
173
+
174
+ :return: The submit_time of this SubmittedJobInfoExt. # noqa: E501
175
+ :rtype: datetime
176
+ """
177
+ return self._submit_time
178
+
179
+ @submit_time.setter
180
+ def submit_time(self, submit_time):
181
+ """Sets the submit_time of this SubmittedJobInfoExt.
182
+
183
+
184
+ :param submit_time: The submit_time of this SubmittedJobInfoExt. # noqa: E501
185
+ :type: datetime
186
+ """
187
+
188
+ self._submit_time = submit_time
189
+
190
+ @property
191
+ def start_time(self):
192
+ """Gets the start_time of this SubmittedJobInfoExt. # noqa: E501
193
+
194
+
195
+ :return: The start_time of this SubmittedJobInfoExt. # noqa: E501
196
+ :rtype: datetime
197
+ """
198
+ return self._start_time
199
+
200
+ @start_time.setter
201
+ def start_time(self, start_time):
202
+ """Sets the start_time of this SubmittedJobInfoExt.
203
+
204
+
205
+ :param start_time: The start_time of this SubmittedJobInfoExt. # noqa: E501
206
+ :type: datetime
207
+ """
208
+
209
+ self._start_time = start_time
210
+
211
+ @property
212
+ def end_time(self):
213
+ """Gets the end_time of this SubmittedJobInfoExt. # noqa: E501
214
+
215
+
216
+ :return: The end_time of this SubmittedJobInfoExt. # noqa: E501
217
+ :rtype: datetime
218
+ """
219
+ return self._end_time
220
+
221
+ @end_time.setter
222
+ def end_time(self, end_time):
223
+ """Sets the end_time of this SubmittedJobInfoExt.
224
+
225
+
226
+ :param end_time: The end_time of this SubmittedJobInfoExt. # noqa: E501
227
+ :type: datetime
228
+ """
229
+
230
+ self._end_time = end_time
231
+
232
+ @property
233
+ def total_allocated_time(self):
234
+ """Gets the total_allocated_time of this SubmittedJobInfoExt. # noqa: E501
235
+
236
+
237
+ :return: The total_allocated_time of this SubmittedJobInfoExt. # noqa: E501
238
+ :rtype: float
239
+ """
240
+ return self._total_allocated_time
241
+
242
+ @total_allocated_time.setter
243
+ def total_allocated_time(self, total_allocated_time):
244
+ """Sets the total_allocated_time of this SubmittedJobInfoExt.
245
+
246
+
247
+ :param total_allocated_time: The total_allocated_time of this SubmittedJobInfoExt. # noqa: E501
248
+ :type: float
249
+ """
250
+
251
+ self._total_allocated_time = total_allocated_time
252
+
253
+ @property
254
+ def tasks(self):
255
+ """Gets the tasks of this SubmittedJobInfoExt. # noqa: E501
256
+
257
+
258
+ :return: The tasks of this SubmittedJobInfoExt. # noqa: E501
259
+ :rtype: list[SubmittedTaskInfoExt]
260
+ """
261
+ return self._tasks
262
+
263
+ @tasks.setter
264
+ def tasks(self, tasks):
265
+ """Sets the tasks of this SubmittedJobInfoExt.
266
+
267
+
268
+ :param tasks: The tasks of this SubmittedJobInfoExt. # noqa: E501
269
+ :type: list[SubmittedTaskInfoExt]
270
+ """
271
+
272
+ self._tasks = tasks
273
+
274
+ def to_dict(self):
275
+ """Returns the model properties as a dict"""
276
+ result = {}
277
+
278
+ for attr, _ in six.iteritems(self.swagger_types):
279
+ value = getattr(self, attr)
280
+ if isinstance(value, list):
281
+ result[attr] = list(map(
282
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
283
+ value
284
+ ))
285
+ elif hasattr(value, "to_dict"):
286
+ result[attr] = value.to_dict()
287
+ elif isinstance(value, dict):
288
+ result[attr] = dict(map(
289
+ lambda item: (item[0], item[1].to_dict())
290
+ if hasattr(item[1], "to_dict") else item,
291
+ value.items()
292
+ ))
293
+ else:
294
+ result[attr] = value
295
+ if issubclass(SubmittedJobInfoExt, dict):
296
+ for key, value in self.items():
297
+ result[key] = value
298
+
299
+ return result
300
+
301
+ def to_str(self):
302
+ """Returns the string representation of the model"""
303
+ return pprint.pformat(self.to_dict())
304
+
305
+ def __repr__(self):
306
+ """For `print` and `pprint`"""
307
+ return self.to_str()
308
+
309
+ def __eq__(self, other):
310
+ """Returns true if both objects are equal"""
311
+ if not isinstance(other, SubmittedJobInfoExt):
312
+ return False
313
+
314
+ return self.__dict__ == other.__dict__
315
+
316
+ def __ne__(self, other):
317
+ """Returns true if both objects are not equal"""
318
+ return not self == other