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,292 @@
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 ClusterNodeTypeResourceUsageExt(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
+ 'description': 'str',
34
+ 'number_of_nodes': 'int',
35
+ 'cores_per_node': 'int',
36
+ 'max_walltime': 'int',
37
+ 'file_transfer_method_id': 'int',
38
+ 'node_used_cores_and_limitation': 'NodeUsedCoresAndLimitationExt'
39
+ }
40
+
41
+ attribute_map = {
42
+ 'id': 'Id',
43
+ 'name': 'Name',
44
+ 'description': 'Description',
45
+ 'number_of_nodes': 'NumberOfNodes',
46
+ 'cores_per_node': 'CoresPerNode',
47
+ 'max_walltime': 'MaxWalltime',
48
+ 'file_transfer_method_id': 'FileTransferMethodId',
49
+ 'node_used_cores_and_limitation': 'NodeUsedCoresAndLimitation'
50
+ }
51
+
52
+ def __init__(self, id=None, name=None, description=None, number_of_nodes=None, cores_per_node=None, max_walltime=None, file_transfer_method_id=None, node_used_cores_and_limitation=None): # noqa: E501
53
+ """ClusterNodeTypeResourceUsageExt - a model defined in Swagger""" # noqa: E501
54
+ self._id = None
55
+ self._name = None
56
+ self._description = None
57
+ self._number_of_nodes = None
58
+ self._cores_per_node = None
59
+ self._max_walltime = None
60
+ self._file_transfer_method_id = None
61
+ self._node_used_cores_and_limitation = None
62
+ self.discriminator = None
63
+ if id is not None:
64
+ self.id = id
65
+ if name is not None:
66
+ self.name = name
67
+ if description is not None:
68
+ self.description = description
69
+ if number_of_nodes is not None:
70
+ self.number_of_nodes = number_of_nodes
71
+ if cores_per_node is not None:
72
+ self.cores_per_node = cores_per_node
73
+ if max_walltime is not None:
74
+ self.max_walltime = max_walltime
75
+ if file_transfer_method_id is not None:
76
+ self.file_transfer_method_id = file_transfer_method_id
77
+ if node_used_cores_and_limitation is not None:
78
+ self.node_used_cores_and_limitation = node_used_cores_and_limitation
79
+
80
+ @property
81
+ def id(self):
82
+ """Gets the id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
83
+
84
+
85
+ :return: The id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
86
+ :rtype: int
87
+ """
88
+ return self._id
89
+
90
+ @id.setter
91
+ def id(self, id):
92
+ """Sets the id of this ClusterNodeTypeResourceUsageExt.
93
+
94
+
95
+ :param id: The id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
96
+ :type: int
97
+ """
98
+
99
+ self._id = id
100
+
101
+ @property
102
+ def name(self):
103
+ """Gets the name of this ClusterNodeTypeResourceUsageExt. # noqa: E501
104
+
105
+
106
+ :return: The name of this ClusterNodeTypeResourceUsageExt. # noqa: E501
107
+ :rtype: str
108
+ """
109
+ return self._name
110
+
111
+ @name.setter
112
+ def name(self, name):
113
+ """Sets the name of this ClusterNodeTypeResourceUsageExt.
114
+
115
+
116
+ :param name: The name of this ClusterNodeTypeResourceUsageExt. # noqa: E501
117
+ :type: str
118
+ """
119
+
120
+ self._name = name
121
+
122
+ @property
123
+ def description(self):
124
+ """Gets the description of this ClusterNodeTypeResourceUsageExt. # noqa: E501
125
+
126
+
127
+ :return: The description of this ClusterNodeTypeResourceUsageExt. # noqa: E501
128
+ :rtype: str
129
+ """
130
+ return self._description
131
+
132
+ @description.setter
133
+ def description(self, description):
134
+ """Sets the description of this ClusterNodeTypeResourceUsageExt.
135
+
136
+
137
+ :param description: The description of this ClusterNodeTypeResourceUsageExt. # noqa: E501
138
+ :type: str
139
+ """
140
+
141
+ self._description = description
142
+
143
+ @property
144
+ def number_of_nodes(self):
145
+ """Gets the number_of_nodes of this ClusterNodeTypeResourceUsageExt. # noqa: E501
146
+
147
+
148
+ :return: The number_of_nodes of this ClusterNodeTypeResourceUsageExt. # noqa: E501
149
+ :rtype: int
150
+ """
151
+ return self._number_of_nodes
152
+
153
+ @number_of_nodes.setter
154
+ def number_of_nodes(self, number_of_nodes):
155
+ """Sets the number_of_nodes of this ClusterNodeTypeResourceUsageExt.
156
+
157
+
158
+ :param number_of_nodes: The number_of_nodes of this ClusterNodeTypeResourceUsageExt. # noqa: E501
159
+ :type: int
160
+ """
161
+
162
+ self._number_of_nodes = number_of_nodes
163
+
164
+ @property
165
+ def cores_per_node(self):
166
+ """Gets the cores_per_node of this ClusterNodeTypeResourceUsageExt. # noqa: E501
167
+
168
+
169
+ :return: The cores_per_node of this ClusterNodeTypeResourceUsageExt. # noqa: E501
170
+ :rtype: int
171
+ """
172
+ return self._cores_per_node
173
+
174
+ @cores_per_node.setter
175
+ def cores_per_node(self, cores_per_node):
176
+ """Sets the cores_per_node of this ClusterNodeTypeResourceUsageExt.
177
+
178
+
179
+ :param cores_per_node: The cores_per_node of this ClusterNodeTypeResourceUsageExt. # noqa: E501
180
+ :type: int
181
+ """
182
+
183
+ self._cores_per_node = cores_per_node
184
+
185
+ @property
186
+ def max_walltime(self):
187
+ """Gets the max_walltime of this ClusterNodeTypeResourceUsageExt. # noqa: E501
188
+
189
+
190
+ :return: The max_walltime of this ClusterNodeTypeResourceUsageExt. # noqa: E501
191
+ :rtype: int
192
+ """
193
+ return self._max_walltime
194
+
195
+ @max_walltime.setter
196
+ def max_walltime(self, max_walltime):
197
+ """Sets the max_walltime of this ClusterNodeTypeResourceUsageExt.
198
+
199
+
200
+ :param max_walltime: The max_walltime of this ClusterNodeTypeResourceUsageExt. # noqa: E501
201
+ :type: int
202
+ """
203
+
204
+ self._max_walltime = max_walltime
205
+
206
+ @property
207
+ def file_transfer_method_id(self):
208
+ """Gets the file_transfer_method_id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
209
+
210
+
211
+ :return: The file_transfer_method_id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
212
+ :rtype: int
213
+ """
214
+ return self._file_transfer_method_id
215
+
216
+ @file_transfer_method_id.setter
217
+ def file_transfer_method_id(self, file_transfer_method_id):
218
+ """Sets the file_transfer_method_id of this ClusterNodeTypeResourceUsageExt.
219
+
220
+
221
+ :param file_transfer_method_id: The file_transfer_method_id of this ClusterNodeTypeResourceUsageExt. # noqa: E501
222
+ :type: int
223
+ """
224
+
225
+ self._file_transfer_method_id = file_transfer_method_id
226
+
227
+ @property
228
+ def node_used_cores_and_limitation(self):
229
+ """Gets the node_used_cores_and_limitation of this ClusterNodeTypeResourceUsageExt. # noqa: E501
230
+
231
+
232
+ :return: The node_used_cores_and_limitation of this ClusterNodeTypeResourceUsageExt. # noqa: E501
233
+ :rtype: NodeUsedCoresAndLimitationExt
234
+ """
235
+ return self._node_used_cores_and_limitation
236
+
237
+ @node_used_cores_and_limitation.setter
238
+ def node_used_cores_and_limitation(self, node_used_cores_and_limitation):
239
+ """Sets the node_used_cores_and_limitation of this ClusterNodeTypeResourceUsageExt.
240
+
241
+
242
+ :param node_used_cores_and_limitation: The node_used_cores_and_limitation of this ClusterNodeTypeResourceUsageExt. # noqa: E501
243
+ :type: NodeUsedCoresAndLimitationExt
244
+ """
245
+
246
+ self._node_used_cores_and_limitation = node_used_cores_and_limitation
247
+
248
+ def to_dict(self):
249
+ """Returns the model properties as a dict"""
250
+ result = {}
251
+
252
+ for attr, _ in six.iteritems(self.swagger_types):
253
+ value = getattr(self, attr)
254
+ if isinstance(value, list):
255
+ result[attr] = list(map(
256
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
257
+ value
258
+ ))
259
+ elif hasattr(value, "to_dict"):
260
+ result[attr] = value.to_dict()
261
+ elif isinstance(value, dict):
262
+ result[attr] = dict(map(
263
+ lambda item: (item[0], item[1].to_dict())
264
+ if hasattr(item[1], "to_dict") else item,
265
+ value.items()
266
+ ))
267
+ else:
268
+ result[attr] = value
269
+ if issubclass(ClusterNodeTypeResourceUsageExt, dict):
270
+ for key, value in self.items():
271
+ result[key] = value
272
+
273
+ return result
274
+
275
+ def to_str(self):
276
+ """Returns the string representation of the model"""
277
+ return pprint.pformat(self.to_dict())
278
+
279
+ def __repr__(self):
280
+ """For `print` and `pprint`"""
281
+ return self.to_str()
282
+
283
+ def __eq__(self, other):
284
+ """Returns true if both objects are equal"""
285
+ if not isinstance(other, ClusterNodeTypeResourceUsageExt):
286
+ return False
287
+
288
+ return self.__dict__ == other.__dict__
289
+
290
+ def __ne__(self, other):
291
+ """Returns true if both objects are not equal"""
292
+ 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 ClusterNodeUsageExt(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
+ 'description': 'str',
34
+ 'priority': 'int',
35
+ 'cores_per_node': 'int',
36
+ 'max_walltime': 'int',
37
+ 'number_of_nodes': 'int',
38
+ 'number_of_used_nodes': 'int',
39
+ 'total_jobs': 'int'
40
+ }
41
+
42
+ attribute_map = {
43
+ 'id': 'Id',
44
+ 'name': 'Name',
45
+ 'description': 'Description',
46
+ 'priority': 'Priority',
47
+ 'cores_per_node': 'CoresPerNode',
48
+ 'max_walltime': 'MaxWalltime',
49
+ 'number_of_nodes': 'NumberOfNodes',
50
+ 'number_of_used_nodes': 'NumberOfUsedNodes',
51
+ 'total_jobs': 'TotalJobs'
52
+ }
53
+
54
+ def __init__(self, id=None, name=None, description=None, priority=None, cores_per_node=None, max_walltime=None, number_of_nodes=None, number_of_used_nodes=None, total_jobs=None): # noqa: E501
55
+ """ClusterNodeUsageExt - a model defined in Swagger""" # noqa: E501
56
+ self._id = None
57
+ self._name = None
58
+ self._description = None
59
+ self._priority = None
60
+ self._cores_per_node = None
61
+ self._max_walltime = None
62
+ self._number_of_nodes = None
63
+ self._number_of_used_nodes = None
64
+ self._total_jobs = 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 description is not None:
71
+ self.description = description
72
+ if priority is not None:
73
+ self.priority = priority
74
+ if cores_per_node is not None:
75
+ self.cores_per_node = cores_per_node
76
+ if max_walltime is not None:
77
+ self.max_walltime = max_walltime
78
+ if number_of_nodes is not None:
79
+ self.number_of_nodes = number_of_nodes
80
+ if number_of_used_nodes is not None:
81
+ self.number_of_used_nodes = number_of_used_nodes
82
+ if total_jobs is not None:
83
+ self.total_jobs = total_jobs
84
+
85
+ @property
86
+ def id(self):
87
+ """Gets the id of this ClusterNodeUsageExt. # noqa: E501
88
+
89
+
90
+ :return: The id of this ClusterNodeUsageExt. # 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 ClusterNodeUsageExt.
98
+
99
+
100
+ :param id: The id of this ClusterNodeUsageExt. # noqa: E501
101
+ :type: int
102
+ """
103
+
104
+ self._id = id
105
+
106
+ @property
107
+ def name(self):
108
+ """Gets the name of this ClusterNodeUsageExt. # noqa: E501
109
+
110
+
111
+ :return: The name of this ClusterNodeUsageExt. # 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 ClusterNodeUsageExt.
119
+
120
+
121
+ :param name: The name of this ClusterNodeUsageExt. # noqa: E501
122
+ :type: str
123
+ """
124
+
125
+ self._name = name
126
+
127
+ @property
128
+ def description(self):
129
+ """Gets the description of this ClusterNodeUsageExt. # noqa: E501
130
+
131
+
132
+ :return: The description of this ClusterNodeUsageExt. # noqa: E501
133
+ :rtype: str
134
+ """
135
+ return self._description
136
+
137
+ @description.setter
138
+ def description(self, description):
139
+ """Sets the description of this ClusterNodeUsageExt.
140
+
141
+
142
+ :param description: The description of this ClusterNodeUsageExt. # noqa: E501
143
+ :type: str
144
+ """
145
+
146
+ self._description = description
147
+
148
+ @property
149
+ def priority(self):
150
+ """Gets the priority of this ClusterNodeUsageExt. # noqa: E501
151
+
152
+
153
+ :return: The priority of this ClusterNodeUsageExt. # noqa: E501
154
+ :rtype: int
155
+ """
156
+ return self._priority
157
+
158
+ @priority.setter
159
+ def priority(self, priority):
160
+ """Sets the priority of this ClusterNodeUsageExt.
161
+
162
+
163
+ :param priority: The priority of this ClusterNodeUsageExt. # noqa: E501
164
+ :type: int
165
+ """
166
+
167
+ self._priority = priority
168
+
169
+ @property
170
+ def cores_per_node(self):
171
+ """Gets the cores_per_node of this ClusterNodeUsageExt. # noqa: E501
172
+
173
+
174
+ :return: The cores_per_node of this ClusterNodeUsageExt. # noqa: E501
175
+ :rtype: int
176
+ """
177
+ return self._cores_per_node
178
+
179
+ @cores_per_node.setter
180
+ def cores_per_node(self, cores_per_node):
181
+ """Sets the cores_per_node of this ClusterNodeUsageExt.
182
+
183
+
184
+ :param cores_per_node: The cores_per_node of this ClusterNodeUsageExt. # noqa: E501
185
+ :type: int
186
+ """
187
+
188
+ self._cores_per_node = cores_per_node
189
+
190
+ @property
191
+ def max_walltime(self):
192
+ """Gets the max_walltime of this ClusterNodeUsageExt. # noqa: E501
193
+
194
+
195
+ :return: The max_walltime of this ClusterNodeUsageExt. # noqa: E501
196
+ :rtype: int
197
+ """
198
+ return self._max_walltime
199
+
200
+ @max_walltime.setter
201
+ def max_walltime(self, max_walltime):
202
+ """Sets the max_walltime of this ClusterNodeUsageExt.
203
+
204
+
205
+ :param max_walltime: The max_walltime of this ClusterNodeUsageExt. # noqa: E501
206
+ :type: int
207
+ """
208
+
209
+ self._max_walltime = max_walltime
210
+
211
+ @property
212
+ def number_of_nodes(self):
213
+ """Gets the number_of_nodes of this ClusterNodeUsageExt. # noqa: E501
214
+
215
+
216
+ :return: The number_of_nodes of this ClusterNodeUsageExt. # noqa: E501
217
+ :rtype: int
218
+ """
219
+ return self._number_of_nodes
220
+
221
+ @number_of_nodes.setter
222
+ def number_of_nodes(self, number_of_nodes):
223
+ """Sets the number_of_nodes of this ClusterNodeUsageExt.
224
+
225
+
226
+ :param number_of_nodes: The number_of_nodes of this ClusterNodeUsageExt. # noqa: E501
227
+ :type: int
228
+ """
229
+
230
+ self._number_of_nodes = number_of_nodes
231
+
232
+ @property
233
+ def number_of_used_nodes(self):
234
+ """Gets the number_of_used_nodes of this ClusterNodeUsageExt. # noqa: E501
235
+
236
+
237
+ :return: The number_of_used_nodes of this ClusterNodeUsageExt. # noqa: E501
238
+ :rtype: int
239
+ """
240
+ return self._number_of_used_nodes
241
+
242
+ @number_of_used_nodes.setter
243
+ def number_of_used_nodes(self, number_of_used_nodes):
244
+ """Sets the number_of_used_nodes of this ClusterNodeUsageExt.
245
+
246
+
247
+ :param number_of_used_nodes: The number_of_used_nodes of this ClusterNodeUsageExt. # noqa: E501
248
+ :type: int
249
+ """
250
+
251
+ self._number_of_used_nodes = number_of_used_nodes
252
+
253
+ @property
254
+ def total_jobs(self):
255
+ """Gets the total_jobs of this ClusterNodeUsageExt. # noqa: E501
256
+
257
+
258
+ :return: The total_jobs of this ClusterNodeUsageExt. # noqa: E501
259
+ :rtype: int
260
+ """
261
+ return self._total_jobs
262
+
263
+ @total_jobs.setter
264
+ def total_jobs(self, total_jobs):
265
+ """Sets the total_jobs of this ClusterNodeUsageExt.
266
+
267
+
268
+ :param total_jobs: The total_jobs of this ClusterNodeUsageExt. # noqa: E501
269
+ :type: int
270
+ """
271
+
272
+ self._total_jobs = total_jobs
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(ClusterNodeUsageExt, 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, ClusterNodeUsageExt):
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