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,528 @@
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 ClusterNodeType(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
+ 'queue': 'str',
37
+ 'quality_of_service': 'str',
38
+ 'cluster_allocation_name': 'str',
39
+ 'max_walltime': 'int',
40
+ 'max_nodes_per_user': 'int',
41
+ 'max_nodes_per_job': 'int',
42
+ 'cluster_id': 'int',
43
+ 'cluster': 'Cluster',
44
+ 'file_transfer_method_id': 'int',
45
+ 'file_transfer_method': 'FileTransferMethod',
46
+ 'requested_node_groups': 'list[ClusterNodeTypeRequestedGroup]',
47
+ 'possible_commands': 'list[CommandTemplate]'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'id': 'Id',
52
+ 'name': 'Name',
53
+ 'description': 'Description',
54
+ 'number_of_nodes': 'NumberOfNodes',
55
+ 'cores_per_node': 'CoresPerNode',
56
+ 'queue': 'Queue',
57
+ 'quality_of_service': 'QualityOfService',
58
+ 'cluster_allocation_name': 'ClusterAllocationName',
59
+ 'max_walltime': 'MaxWalltime',
60
+ 'max_nodes_per_user': 'MaxNodesPerUser',
61
+ 'max_nodes_per_job': 'MaxNodesPerJob',
62
+ 'cluster_id': 'ClusterId',
63
+ 'cluster': 'Cluster',
64
+ 'file_transfer_method_id': 'FileTransferMethodId',
65
+ 'file_transfer_method': 'FileTransferMethod',
66
+ 'requested_node_groups': 'RequestedNodeGroups',
67
+ 'possible_commands': 'PossibleCommands'
68
+ }
69
+
70
+ def __init__(self, id=None, name=None, description=None, number_of_nodes=None, cores_per_node=None, queue=None, quality_of_service=None, cluster_allocation_name=None, max_walltime=None, max_nodes_per_user=None, max_nodes_per_job=None, cluster_id=None, cluster=None, file_transfer_method_id=None, file_transfer_method=None, requested_node_groups=None, possible_commands=None): # noqa: E501
71
+ """ClusterNodeType - a model defined in Swagger""" # noqa: E501
72
+ self._id = None
73
+ self._name = None
74
+ self._description = None
75
+ self._number_of_nodes = None
76
+ self._cores_per_node = None
77
+ self._queue = None
78
+ self._quality_of_service = None
79
+ self._cluster_allocation_name = None
80
+ self._max_walltime = None
81
+ self._max_nodes_per_user = None
82
+ self._max_nodes_per_job = None
83
+ self._cluster_id = None
84
+ self._cluster = None
85
+ self._file_transfer_method_id = None
86
+ self._file_transfer_method = None
87
+ self._requested_node_groups = None
88
+ self._possible_commands = None
89
+ self.discriminator = None
90
+ if id is not None:
91
+ self.id = id
92
+ self.name = name
93
+ self.description = description
94
+ if number_of_nodes is not None:
95
+ self.number_of_nodes = number_of_nodes
96
+ if cores_per_node is not None:
97
+ self.cores_per_node = cores_per_node
98
+ if queue is not None:
99
+ self.queue = queue
100
+ if quality_of_service is not None:
101
+ self.quality_of_service = quality_of_service
102
+ if cluster_allocation_name is not None:
103
+ self.cluster_allocation_name = cluster_allocation_name
104
+ if max_walltime is not None:
105
+ self.max_walltime = max_walltime
106
+ if max_nodes_per_user is not None:
107
+ self.max_nodes_per_user = max_nodes_per_user
108
+ if max_nodes_per_job is not None:
109
+ self.max_nodes_per_job = max_nodes_per_job
110
+ if cluster_id is not None:
111
+ self.cluster_id = cluster_id
112
+ if cluster is not None:
113
+ self.cluster = cluster
114
+ if file_transfer_method_id is not None:
115
+ self.file_transfer_method_id = file_transfer_method_id
116
+ if file_transfer_method is not None:
117
+ self.file_transfer_method = file_transfer_method
118
+ if requested_node_groups is not None:
119
+ self.requested_node_groups = requested_node_groups
120
+ if possible_commands is not None:
121
+ self.possible_commands = possible_commands
122
+
123
+ @property
124
+ def id(self):
125
+ """Gets the id of this ClusterNodeType. # noqa: E501
126
+
127
+
128
+ :return: The id of this ClusterNodeType. # noqa: E501
129
+ :rtype: int
130
+ """
131
+ return self._id
132
+
133
+ @id.setter
134
+ def id(self, id):
135
+ """Sets the id of this ClusterNodeType.
136
+
137
+
138
+ :param id: The id of this ClusterNodeType. # noqa: E501
139
+ :type: int
140
+ """
141
+
142
+ self._id = id
143
+
144
+ @property
145
+ def name(self):
146
+ """Gets the name of this ClusterNodeType. # noqa: E501
147
+
148
+
149
+ :return: The name of this ClusterNodeType. # noqa: E501
150
+ :rtype: str
151
+ """
152
+ return self._name
153
+
154
+ @name.setter
155
+ def name(self, name):
156
+ """Sets the name of this ClusterNodeType.
157
+
158
+
159
+ :param name: The name of this ClusterNodeType. # noqa: E501
160
+ :type: str
161
+ """
162
+ if name is None:
163
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
164
+
165
+ self._name = name
166
+
167
+ @property
168
+ def description(self):
169
+ """Gets the description of this ClusterNodeType. # noqa: E501
170
+
171
+
172
+ :return: The description of this ClusterNodeType. # noqa: E501
173
+ :rtype: str
174
+ """
175
+ return self._description
176
+
177
+ @description.setter
178
+ def description(self, description):
179
+ """Sets the description of this ClusterNodeType.
180
+
181
+
182
+ :param description: The description of this ClusterNodeType. # noqa: E501
183
+ :type: str
184
+ """
185
+ if description is None:
186
+ raise ValueError("Invalid value for `description`, must not be `None`") # noqa: E501
187
+
188
+ self._description = description
189
+
190
+ @property
191
+ def number_of_nodes(self):
192
+ """Gets the number_of_nodes of this ClusterNodeType. # noqa: E501
193
+
194
+
195
+ :return: The number_of_nodes of this ClusterNodeType. # noqa: E501
196
+ :rtype: int
197
+ """
198
+ return self._number_of_nodes
199
+
200
+ @number_of_nodes.setter
201
+ def number_of_nodes(self, number_of_nodes):
202
+ """Sets the number_of_nodes of this ClusterNodeType.
203
+
204
+
205
+ :param number_of_nodes: The number_of_nodes of this ClusterNodeType. # noqa: E501
206
+ :type: int
207
+ """
208
+
209
+ self._number_of_nodes = number_of_nodes
210
+
211
+ @property
212
+ def cores_per_node(self):
213
+ """Gets the cores_per_node of this ClusterNodeType. # noqa: E501
214
+
215
+
216
+ :return: The cores_per_node of this ClusterNodeType. # noqa: E501
217
+ :rtype: int
218
+ """
219
+ return self._cores_per_node
220
+
221
+ @cores_per_node.setter
222
+ def cores_per_node(self, cores_per_node):
223
+ """Sets the cores_per_node of this ClusterNodeType.
224
+
225
+
226
+ :param cores_per_node: The cores_per_node of this ClusterNodeType. # noqa: E501
227
+ :type: int
228
+ """
229
+
230
+ self._cores_per_node = cores_per_node
231
+
232
+ @property
233
+ def queue(self):
234
+ """Gets the queue of this ClusterNodeType. # noqa: E501
235
+
236
+
237
+ :return: The queue of this ClusterNodeType. # noqa: E501
238
+ :rtype: str
239
+ """
240
+ return self._queue
241
+
242
+ @queue.setter
243
+ def queue(self, queue):
244
+ """Sets the queue of this ClusterNodeType.
245
+
246
+
247
+ :param queue: The queue of this ClusterNodeType. # noqa: E501
248
+ :type: str
249
+ """
250
+
251
+ self._queue = queue
252
+
253
+ @property
254
+ def quality_of_service(self):
255
+ """Gets the quality_of_service of this ClusterNodeType. # noqa: E501
256
+
257
+
258
+ :return: The quality_of_service of this ClusterNodeType. # noqa: E501
259
+ :rtype: str
260
+ """
261
+ return self._quality_of_service
262
+
263
+ @quality_of_service.setter
264
+ def quality_of_service(self, quality_of_service):
265
+ """Sets the quality_of_service of this ClusterNodeType.
266
+
267
+
268
+ :param quality_of_service: The quality_of_service of this ClusterNodeType. # noqa: E501
269
+ :type: str
270
+ """
271
+
272
+ self._quality_of_service = quality_of_service
273
+
274
+ @property
275
+ def cluster_allocation_name(self):
276
+ """Gets the cluster_allocation_name of this ClusterNodeType. # noqa: E501
277
+
278
+
279
+ :return: The cluster_allocation_name of this ClusterNodeType. # noqa: E501
280
+ :rtype: str
281
+ """
282
+ return self._cluster_allocation_name
283
+
284
+ @cluster_allocation_name.setter
285
+ def cluster_allocation_name(self, cluster_allocation_name):
286
+ """Sets the cluster_allocation_name of this ClusterNodeType.
287
+
288
+
289
+ :param cluster_allocation_name: The cluster_allocation_name of this ClusterNodeType. # noqa: E501
290
+ :type: str
291
+ """
292
+
293
+ self._cluster_allocation_name = cluster_allocation_name
294
+
295
+ @property
296
+ def max_walltime(self):
297
+ """Gets the max_walltime of this ClusterNodeType. # noqa: E501
298
+
299
+
300
+ :return: The max_walltime of this ClusterNodeType. # noqa: E501
301
+ :rtype: int
302
+ """
303
+ return self._max_walltime
304
+
305
+ @max_walltime.setter
306
+ def max_walltime(self, max_walltime):
307
+ """Sets the max_walltime of this ClusterNodeType.
308
+
309
+
310
+ :param max_walltime: The max_walltime of this ClusterNodeType. # noqa: E501
311
+ :type: int
312
+ """
313
+
314
+ self._max_walltime = max_walltime
315
+
316
+ @property
317
+ def max_nodes_per_user(self):
318
+ """Gets the max_nodes_per_user of this ClusterNodeType. # noqa: E501
319
+
320
+
321
+ :return: The max_nodes_per_user of this ClusterNodeType. # noqa: E501
322
+ :rtype: int
323
+ """
324
+ return self._max_nodes_per_user
325
+
326
+ @max_nodes_per_user.setter
327
+ def max_nodes_per_user(self, max_nodes_per_user):
328
+ """Sets the max_nodes_per_user of this ClusterNodeType.
329
+
330
+
331
+ :param max_nodes_per_user: The max_nodes_per_user of this ClusterNodeType. # noqa: E501
332
+ :type: int
333
+ """
334
+
335
+ self._max_nodes_per_user = max_nodes_per_user
336
+
337
+ @property
338
+ def max_nodes_per_job(self):
339
+ """Gets the max_nodes_per_job of this ClusterNodeType. # noqa: E501
340
+
341
+
342
+ :return: The max_nodes_per_job of this ClusterNodeType. # noqa: E501
343
+ :rtype: int
344
+ """
345
+ return self._max_nodes_per_job
346
+
347
+ @max_nodes_per_job.setter
348
+ def max_nodes_per_job(self, max_nodes_per_job):
349
+ """Sets the max_nodes_per_job of this ClusterNodeType.
350
+
351
+
352
+ :param max_nodes_per_job: The max_nodes_per_job of this ClusterNodeType. # noqa: E501
353
+ :type: int
354
+ """
355
+
356
+ self._max_nodes_per_job = max_nodes_per_job
357
+
358
+ @property
359
+ def cluster_id(self):
360
+ """Gets the cluster_id of this ClusterNodeType. # noqa: E501
361
+
362
+
363
+ :return: The cluster_id of this ClusterNodeType. # noqa: E501
364
+ :rtype: int
365
+ """
366
+ return self._cluster_id
367
+
368
+ @cluster_id.setter
369
+ def cluster_id(self, cluster_id):
370
+ """Sets the cluster_id of this ClusterNodeType.
371
+
372
+
373
+ :param cluster_id: The cluster_id of this ClusterNodeType. # noqa: E501
374
+ :type: int
375
+ """
376
+
377
+ self._cluster_id = cluster_id
378
+
379
+ @property
380
+ def cluster(self):
381
+ """Gets the cluster of this ClusterNodeType. # noqa: E501
382
+
383
+
384
+ :return: The cluster of this ClusterNodeType. # noqa: E501
385
+ :rtype: Cluster
386
+ """
387
+ return self._cluster
388
+
389
+ @cluster.setter
390
+ def cluster(self, cluster):
391
+ """Sets the cluster of this ClusterNodeType.
392
+
393
+
394
+ :param cluster: The cluster of this ClusterNodeType. # noqa: E501
395
+ :type: Cluster
396
+ """
397
+
398
+ self._cluster = cluster
399
+
400
+ @property
401
+ def file_transfer_method_id(self):
402
+ """Gets the file_transfer_method_id of this ClusterNodeType. # noqa: E501
403
+
404
+
405
+ :return: The file_transfer_method_id of this ClusterNodeType. # noqa: E501
406
+ :rtype: int
407
+ """
408
+ return self._file_transfer_method_id
409
+
410
+ @file_transfer_method_id.setter
411
+ def file_transfer_method_id(self, file_transfer_method_id):
412
+ """Sets the file_transfer_method_id of this ClusterNodeType.
413
+
414
+
415
+ :param file_transfer_method_id: The file_transfer_method_id of this ClusterNodeType. # noqa: E501
416
+ :type: int
417
+ """
418
+
419
+ self._file_transfer_method_id = file_transfer_method_id
420
+
421
+ @property
422
+ def file_transfer_method(self):
423
+ """Gets the file_transfer_method of this ClusterNodeType. # noqa: E501
424
+
425
+
426
+ :return: The file_transfer_method of this ClusterNodeType. # noqa: E501
427
+ :rtype: FileTransferMethod
428
+ """
429
+ return self._file_transfer_method
430
+
431
+ @file_transfer_method.setter
432
+ def file_transfer_method(self, file_transfer_method):
433
+ """Sets the file_transfer_method of this ClusterNodeType.
434
+
435
+
436
+ :param file_transfer_method: The file_transfer_method of this ClusterNodeType. # noqa: E501
437
+ :type: FileTransferMethod
438
+ """
439
+
440
+ self._file_transfer_method = file_transfer_method
441
+
442
+ @property
443
+ def requested_node_groups(self):
444
+ """Gets the requested_node_groups of this ClusterNodeType. # noqa: E501
445
+
446
+
447
+ :return: The requested_node_groups of this ClusterNodeType. # noqa: E501
448
+ :rtype: list[ClusterNodeTypeRequestedGroup]
449
+ """
450
+ return self._requested_node_groups
451
+
452
+ @requested_node_groups.setter
453
+ def requested_node_groups(self, requested_node_groups):
454
+ """Sets the requested_node_groups of this ClusterNodeType.
455
+
456
+
457
+ :param requested_node_groups: The requested_node_groups of this ClusterNodeType. # noqa: E501
458
+ :type: list[ClusterNodeTypeRequestedGroup]
459
+ """
460
+
461
+ self._requested_node_groups = requested_node_groups
462
+
463
+ @property
464
+ def possible_commands(self):
465
+ """Gets the possible_commands of this ClusterNodeType. # noqa: E501
466
+
467
+
468
+ :return: The possible_commands of this ClusterNodeType. # noqa: E501
469
+ :rtype: list[CommandTemplate]
470
+ """
471
+ return self._possible_commands
472
+
473
+ @possible_commands.setter
474
+ def possible_commands(self, possible_commands):
475
+ """Sets the possible_commands of this ClusterNodeType.
476
+
477
+
478
+ :param possible_commands: The possible_commands of this ClusterNodeType. # noqa: E501
479
+ :type: list[CommandTemplate]
480
+ """
481
+
482
+ self._possible_commands = possible_commands
483
+
484
+ def to_dict(self):
485
+ """Returns the model properties as a dict"""
486
+ result = {}
487
+
488
+ for attr, _ in six.iteritems(self.swagger_types):
489
+ value = getattr(self, attr)
490
+ if isinstance(value, list):
491
+ result[attr] = list(map(
492
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
493
+ value
494
+ ))
495
+ elif hasattr(value, "to_dict"):
496
+ result[attr] = value.to_dict()
497
+ elif isinstance(value, dict):
498
+ result[attr] = dict(map(
499
+ lambda item: (item[0], item[1].to_dict())
500
+ if hasattr(item[1], "to_dict") else item,
501
+ value.items()
502
+ ))
503
+ else:
504
+ result[attr] = value
505
+ if issubclass(ClusterNodeType, dict):
506
+ for key, value in self.items():
507
+ result[key] = value
508
+
509
+ return result
510
+
511
+ def to_str(self):
512
+ """Returns the string representation of the model"""
513
+ return pprint.pformat(self.to_dict())
514
+
515
+ def __repr__(self):
516
+ """For `print` and `pprint`"""
517
+ return self.to_str()
518
+
519
+ def __eq__(self, other):
520
+ """Returns true if both objects are equal"""
521
+ if not isinstance(other, ClusterNodeType):
522
+ return False
523
+
524
+ return self.__dict__ == other.__dict__
525
+
526
+ def __ne__(self, other):
527
+ """Returns true if both objects are not equal"""
528
+ return not self == other