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,344 @@
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 InstanceInformationExt(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
+ 'name': 'str',
32
+ 'description': 'str',
33
+ 'version': 'str',
34
+ 'deployed_ip_address': 'str',
35
+ 'port': 'int',
36
+ 'url': 'str',
37
+ 'url_postfix': 'str',
38
+ 'deployment_type': 'DeploymentTypeExt',
39
+ 'resource_allocation_types': 'list[ResourceAllocationTypeExt]',
40
+ 'projects': 'list[ExtendedProjectInfoExt]'
41
+ }
42
+
43
+ attribute_map = {
44
+ 'name': 'Name',
45
+ 'description': 'Description',
46
+ 'version': 'Version',
47
+ 'deployed_ip_address': 'DeployedIPAddress',
48
+ 'port': 'Port',
49
+ 'url': 'URL',
50
+ 'url_postfix': 'URLPostfix',
51
+ 'deployment_type': 'DeploymentType',
52
+ 'resource_allocation_types': 'ResourceAllocationTypes',
53
+ 'projects': 'Projects'
54
+ }
55
+
56
+ def __init__(self, name=None, description=None, version=None, deployed_ip_address=None, port=None, url=None, url_postfix=None, deployment_type=None, resource_allocation_types=None, projects=None): # noqa: E501
57
+ """InstanceInformationExt - a model defined in Swagger""" # noqa: E501
58
+ self._name = None
59
+ self._description = None
60
+ self._version = None
61
+ self._deployed_ip_address = None
62
+ self._port = None
63
+ self._url = None
64
+ self._url_postfix = None
65
+ self._deployment_type = None
66
+ self._resource_allocation_types = None
67
+ self._projects = None
68
+ self.discriminator = None
69
+ if name is not None:
70
+ self.name = name
71
+ if description is not None:
72
+ self.description = description
73
+ if version is not None:
74
+ self.version = version
75
+ if deployed_ip_address is not None:
76
+ self.deployed_ip_address = deployed_ip_address
77
+ if port is not None:
78
+ self.port = port
79
+ if url is not None:
80
+ self.url = url
81
+ if url_postfix is not None:
82
+ self.url_postfix = url_postfix
83
+ if deployment_type is not None:
84
+ self.deployment_type = deployment_type
85
+ if resource_allocation_types is not None:
86
+ self.resource_allocation_types = resource_allocation_types
87
+ if projects is not None:
88
+ self.projects = projects
89
+
90
+ @property
91
+ def name(self):
92
+ """Gets the name of this InstanceInformationExt. # noqa: E501
93
+
94
+
95
+ :return: The name of this InstanceInformationExt. # noqa: E501
96
+ :rtype: str
97
+ """
98
+ return self._name
99
+
100
+ @name.setter
101
+ def name(self, name):
102
+ """Sets the name of this InstanceInformationExt.
103
+
104
+
105
+ :param name: The name of this InstanceInformationExt. # noqa: E501
106
+ :type: str
107
+ """
108
+
109
+ self._name = name
110
+
111
+ @property
112
+ def description(self):
113
+ """Gets the description of this InstanceInformationExt. # noqa: E501
114
+
115
+
116
+ :return: The description of this InstanceInformationExt. # noqa: E501
117
+ :rtype: str
118
+ """
119
+ return self._description
120
+
121
+ @description.setter
122
+ def description(self, description):
123
+ """Sets the description of this InstanceInformationExt.
124
+
125
+
126
+ :param description: The description of this InstanceInformationExt. # noqa: E501
127
+ :type: str
128
+ """
129
+
130
+ self._description = description
131
+
132
+ @property
133
+ def version(self):
134
+ """Gets the version of this InstanceInformationExt. # noqa: E501
135
+
136
+
137
+ :return: The version of this InstanceInformationExt. # noqa: E501
138
+ :rtype: str
139
+ """
140
+ return self._version
141
+
142
+ @version.setter
143
+ def version(self, version):
144
+ """Sets the version of this InstanceInformationExt.
145
+
146
+
147
+ :param version: The version of this InstanceInformationExt. # noqa: E501
148
+ :type: str
149
+ """
150
+
151
+ self._version = version
152
+
153
+ @property
154
+ def deployed_ip_address(self):
155
+ """Gets the deployed_ip_address of this InstanceInformationExt. # noqa: E501
156
+
157
+
158
+ :return: The deployed_ip_address of this InstanceInformationExt. # noqa: E501
159
+ :rtype: str
160
+ """
161
+ return self._deployed_ip_address
162
+
163
+ @deployed_ip_address.setter
164
+ def deployed_ip_address(self, deployed_ip_address):
165
+ """Sets the deployed_ip_address of this InstanceInformationExt.
166
+
167
+
168
+ :param deployed_ip_address: The deployed_ip_address of this InstanceInformationExt. # noqa: E501
169
+ :type: str
170
+ """
171
+
172
+ self._deployed_ip_address = deployed_ip_address
173
+
174
+ @property
175
+ def port(self):
176
+ """Gets the port of this InstanceInformationExt. # noqa: E501
177
+
178
+
179
+ :return: The port of this InstanceInformationExt. # noqa: E501
180
+ :rtype: int
181
+ """
182
+ return self._port
183
+
184
+ @port.setter
185
+ def port(self, port):
186
+ """Sets the port of this InstanceInformationExt.
187
+
188
+
189
+ :param port: The port of this InstanceInformationExt. # noqa: E501
190
+ :type: int
191
+ """
192
+
193
+ self._port = port
194
+
195
+ @property
196
+ def url(self):
197
+ """Gets the url of this InstanceInformationExt. # noqa: E501
198
+
199
+
200
+ :return: The url of this InstanceInformationExt. # noqa: E501
201
+ :rtype: str
202
+ """
203
+ return self._url
204
+
205
+ @url.setter
206
+ def url(self, url):
207
+ """Sets the url of this InstanceInformationExt.
208
+
209
+
210
+ :param url: The url of this InstanceInformationExt. # noqa: E501
211
+ :type: str
212
+ """
213
+
214
+ self._url = url
215
+
216
+ @property
217
+ def url_postfix(self):
218
+ """Gets the url_postfix of this InstanceInformationExt. # noqa: E501
219
+
220
+
221
+ :return: The url_postfix of this InstanceInformationExt. # noqa: E501
222
+ :rtype: str
223
+ """
224
+ return self._url_postfix
225
+
226
+ @url_postfix.setter
227
+ def url_postfix(self, url_postfix):
228
+ """Sets the url_postfix of this InstanceInformationExt.
229
+
230
+
231
+ :param url_postfix: The url_postfix of this InstanceInformationExt. # noqa: E501
232
+ :type: str
233
+ """
234
+
235
+ self._url_postfix = url_postfix
236
+
237
+ @property
238
+ def deployment_type(self):
239
+ """Gets the deployment_type of this InstanceInformationExt. # noqa: E501
240
+
241
+
242
+ :return: The deployment_type of this InstanceInformationExt. # noqa: E501
243
+ :rtype: DeploymentTypeExt
244
+ """
245
+ return self._deployment_type
246
+
247
+ @deployment_type.setter
248
+ def deployment_type(self, deployment_type):
249
+ """Sets the deployment_type of this InstanceInformationExt.
250
+
251
+
252
+ :param deployment_type: The deployment_type of this InstanceInformationExt. # noqa: E501
253
+ :type: DeploymentTypeExt
254
+ """
255
+
256
+ self._deployment_type = deployment_type
257
+
258
+ @property
259
+ def resource_allocation_types(self):
260
+ """Gets the resource_allocation_types of this InstanceInformationExt. # noqa: E501
261
+
262
+
263
+ :return: The resource_allocation_types of this InstanceInformationExt. # noqa: E501
264
+ :rtype: list[ResourceAllocationTypeExt]
265
+ """
266
+ return self._resource_allocation_types
267
+
268
+ @resource_allocation_types.setter
269
+ def resource_allocation_types(self, resource_allocation_types):
270
+ """Sets the resource_allocation_types of this InstanceInformationExt.
271
+
272
+
273
+ :param resource_allocation_types: The resource_allocation_types of this InstanceInformationExt. # noqa: E501
274
+ :type: list[ResourceAllocationTypeExt]
275
+ """
276
+
277
+ self._resource_allocation_types = resource_allocation_types
278
+
279
+ @property
280
+ def projects(self):
281
+ """Gets the projects of this InstanceInformationExt. # noqa: E501
282
+
283
+
284
+ :return: The projects of this InstanceInformationExt. # noqa: E501
285
+ :rtype: list[ExtendedProjectInfoExt]
286
+ """
287
+ return self._projects
288
+
289
+ @projects.setter
290
+ def projects(self, projects):
291
+ """Sets the projects of this InstanceInformationExt.
292
+
293
+
294
+ :param projects: The projects of this InstanceInformationExt. # noqa: E501
295
+ :type: list[ExtendedProjectInfoExt]
296
+ """
297
+
298
+ self._projects = projects
299
+
300
+ def to_dict(self):
301
+ """Returns the model properties as a dict"""
302
+ result = {}
303
+
304
+ for attr, _ in six.iteritems(self.swagger_types):
305
+ value = getattr(self, attr)
306
+ if isinstance(value, list):
307
+ result[attr] = list(map(
308
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
309
+ value
310
+ ))
311
+ elif hasattr(value, "to_dict"):
312
+ result[attr] = value.to_dict()
313
+ elif isinstance(value, dict):
314
+ result[attr] = dict(map(
315
+ lambda item: (item[0], item[1].to_dict())
316
+ if hasattr(item[1], "to_dict") else item,
317
+ value.items()
318
+ ))
319
+ else:
320
+ result[attr] = value
321
+ if issubclass(InstanceInformationExt, dict):
322
+ for key, value in self.items():
323
+ result[key] = value
324
+
325
+ return result
326
+
327
+ def to_str(self):
328
+ """Returns the string representation of the model"""
329
+ return pprint.pformat(self.to_dict())
330
+
331
+ def __repr__(self):
332
+ """For `print` and `pprint`"""
333
+ return self.to_str()
334
+
335
+ def __eq__(self, other):
336
+ """Returns true if both objects are equal"""
337
+ if not isinstance(other, InstanceInformationExt):
338
+ return False
339
+
340
+ return self.__dict__ == other.__dict__
341
+
342
+ def __ne__(self, other):
343
+ """Returns true if both objects are not equal"""
344
+ 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 JobDetailedReportExt(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
+ 'submitter': 'str',
39
+ 'tasks': 'list[TaskDetailedReportExt]'
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
+ 'submitter': 'Submitter',
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, submitter=None, tasks=None): # noqa: E501
55
+ """JobDetailedReportExt - 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._submitter = 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 submitter is not None:
81
+ self.submitter = submitter
82
+ if tasks is not None:
83
+ self.tasks = tasks
84
+
85
+ @property
86
+ def id(self):
87
+ """Gets the id of this JobDetailedReportExt. # noqa: E501
88
+
89
+
90
+ :return: The id of this JobDetailedReportExt. # 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 JobDetailedReportExt.
98
+
99
+
100
+ :param id: The id of this JobDetailedReportExt. # noqa: E501
101
+ :type: int
102
+ """
103
+
104
+ self._id = id
105
+
106
+ @property
107
+ def name(self):
108
+ """Gets the name of this JobDetailedReportExt. # noqa: E501
109
+
110
+
111
+ :return: The name of this JobDetailedReportExt. # 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 JobDetailedReportExt.
119
+
120
+
121
+ :param name: The name of this JobDetailedReportExt. # noqa: E501
122
+ :type: str
123
+ """
124
+
125
+ self._name = name
126
+
127
+ @property
128
+ def state(self):
129
+ """Gets the state of this JobDetailedReportExt. # noqa: E501
130
+
131
+
132
+ :return: The state of this JobDetailedReportExt. # 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 JobDetailedReportExt.
140
+
141
+
142
+ :param state: The state of this JobDetailedReportExt. # 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 JobDetailedReportExt. # noqa: E501
151
+
152
+
153
+ :return: The creation_time of this JobDetailedReportExt. # 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 JobDetailedReportExt.
161
+
162
+
163
+ :param creation_time: The creation_time of this JobDetailedReportExt. # 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 JobDetailedReportExt. # noqa: E501
172
+
173
+
174
+ :return: The submit_time of this JobDetailedReportExt. # 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 JobDetailedReportExt.
182
+
183
+
184
+ :param submit_time: The submit_time of this JobDetailedReportExt. # 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 JobDetailedReportExt. # noqa: E501
193
+
194
+
195
+ :return: The start_time of this JobDetailedReportExt. # 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 JobDetailedReportExt.
203
+
204
+
205
+ :param start_time: The start_time of this JobDetailedReportExt. # 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 JobDetailedReportExt. # noqa: E501
214
+
215
+
216
+ :return: The end_time of this JobDetailedReportExt. # 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 JobDetailedReportExt.
224
+
225
+
226
+ :param end_time: The end_time of this JobDetailedReportExt. # noqa: E501
227
+ :type: datetime
228
+ """
229
+
230
+ self._end_time = end_time
231
+
232
+ @property
233
+ def submitter(self):
234
+ """Gets the submitter of this JobDetailedReportExt. # noqa: E501
235
+
236
+
237
+ :return: The submitter of this JobDetailedReportExt. # noqa: E501
238
+ :rtype: str
239
+ """
240
+ return self._submitter
241
+
242
+ @submitter.setter
243
+ def submitter(self, submitter):
244
+ """Sets the submitter of this JobDetailedReportExt.
245
+
246
+
247
+ :param submitter: The submitter of this JobDetailedReportExt. # noqa: E501
248
+ :type: str
249
+ """
250
+
251
+ self._submitter = submitter
252
+
253
+ @property
254
+ def tasks(self):
255
+ """Gets the tasks of this JobDetailedReportExt. # noqa: E501
256
+
257
+
258
+ :return: The tasks of this JobDetailedReportExt. # noqa: E501
259
+ :rtype: list[TaskDetailedReportExt]
260
+ """
261
+ return self._tasks
262
+
263
+ @tasks.setter
264
+ def tasks(self, tasks):
265
+ """Sets the tasks of this JobDetailedReportExt.
266
+
267
+
268
+ :param tasks: The tasks of this JobDetailedReportExt. # noqa: E501
269
+ :type: list[TaskDetailedReportExt]
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(JobDetailedReportExt, 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, JobDetailedReportExt):
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