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,448 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HEAppE Web API
5
+
6
+ HEAppE middleware API v4.0.0 # noqa: E501
7
+
8
+ OpenAPI spec version: v4.0.0
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 JobSpecificationByProjectExt(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
+ 'waiting_limit': 'int',
33
+ 'walltime_limit': 'int',
34
+ 'notification_email': 'str',
35
+ 'phone_number': 'str',
36
+ 'notify_on_abort': 'bool',
37
+ 'notify_on_finish': 'bool',
38
+ 'notify_on_start': 'bool',
39
+ 'cluster_id': 'int',
40
+ 'file_transfer_method_id': 'int',
41
+ 'is_extra_long': 'bool',
42
+ 'environment_variables': 'list[EnvironmentVariableExt]',
43
+ 'tasks': 'list[TaskSpecificationExt]',
44
+ 'project_id': 'int'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'name': 'Name',
49
+ 'waiting_limit': 'WaitingLimit',
50
+ 'walltime_limit': 'WalltimeLimit',
51
+ 'notification_email': 'NotificationEmail',
52
+ 'phone_number': 'PhoneNumber',
53
+ 'notify_on_abort': 'NotifyOnAbort',
54
+ 'notify_on_finish': 'NotifyOnFinish',
55
+ 'notify_on_start': 'NotifyOnStart',
56
+ 'cluster_id': 'ClusterId',
57
+ 'file_transfer_method_id': 'FileTransferMethodId',
58
+ 'is_extra_long': 'IsExtraLong',
59
+ 'environment_variables': 'EnvironmentVariables',
60
+ 'tasks': 'Tasks',
61
+ 'project_id': 'ProjectId'
62
+ }
63
+
64
+ def __init__(self, name=None, waiting_limit=None, walltime_limit=None, notification_email=None, phone_number=None, notify_on_abort=None, notify_on_finish=None, notify_on_start=None, cluster_id=None, file_transfer_method_id=None, is_extra_long=None, environment_variables=None, tasks=None, project_id=None): # noqa: E501
65
+ """JobSpecificationByProjectExt - a model defined in Swagger""" # noqa: E501
66
+ self._name = None
67
+ self._waiting_limit = None
68
+ self._walltime_limit = None
69
+ self._notification_email = None
70
+ self._phone_number = None
71
+ self._notify_on_abort = None
72
+ self._notify_on_finish = None
73
+ self._notify_on_start = None
74
+ self._cluster_id = None
75
+ self._file_transfer_method_id = None
76
+ self._is_extra_long = None
77
+ self._environment_variables = None
78
+ self._tasks = None
79
+ self._project_id = None
80
+ self.discriminator = None
81
+ if name is not None:
82
+ self.name = name
83
+ if waiting_limit is not None:
84
+ self.waiting_limit = waiting_limit
85
+ if walltime_limit is not None:
86
+ self.walltime_limit = walltime_limit
87
+ if notification_email is not None:
88
+ self.notification_email = notification_email
89
+ if phone_number is not None:
90
+ self.phone_number = phone_number
91
+ if notify_on_abort is not None:
92
+ self.notify_on_abort = notify_on_abort
93
+ if notify_on_finish is not None:
94
+ self.notify_on_finish = notify_on_finish
95
+ if notify_on_start is not None:
96
+ self.notify_on_start = notify_on_start
97
+ if cluster_id is not None:
98
+ self.cluster_id = cluster_id
99
+ if file_transfer_method_id is not None:
100
+ self.file_transfer_method_id = file_transfer_method_id
101
+ if is_extra_long is not None:
102
+ self.is_extra_long = is_extra_long
103
+ if environment_variables is not None:
104
+ self.environment_variables = environment_variables
105
+ if tasks is not None:
106
+ self.tasks = tasks
107
+ if project_id is not None:
108
+ self.project_id = project_id
109
+
110
+ @property
111
+ def name(self):
112
+ """Gets the name of this JobSpecificationByProjectExt. # noqa: E501
113
+
114
+
115
+ :return: The name of this JobSpecificationByProjectExt. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._name
119
+
120
+ @name.setter
121
+ def name(self, name):
122
+ """Sets the name of this JobSpecificationByProjectExt.
123
+
124
+
125
+ :param name: The name of this JobSpecificationByProjectExt. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._name = name
130
+
131
+ @property
132
+ def waiting_limit(self):
133
+ """Gets the waiting_limit of this JobSpecificationByProjectExt. # noqa: E501
134
+
135
+
136
+ :return: The waiting_limit of this JobSpecificationByProjectExt. # noqa: E501
137
+ :rtype: int
138
+ """
139
+ return self._waiting_limit
140
+
141
+ @waiting_limit.setter
142
+ def waiting_limit(self, waiting_limit):
143
+ """Sets the waiting_limit of this JobSpecificationByProjectExt.
144
+
145
+
146
+ :param waiting_limit: The waiting_limit of this JobSpecificationByProjectExt. # noqa: E501
147
+ :type: int
148
+ """
149
+
150
+ self._waiting_limit = waiting_limit
151
+
152
+ @property
153
+ def walltime_limit(self):
154
+ """Gets the walltime_limit of this JobSpecificationByProjectExt. # noqa: E501
155
+
156
+
157
+ :return: The walltime_limit of this JobSpecificationByProjectExt. # noqa: E501
158
+ :rtype: int
159
+ """
160
+ return self._walltime_limit
161
+
162
+ @walltime_limit.setter
163
+ def walltime_limit(self, walltime_limit):
164
+ """Sets the walltime_limit of this JobSpecificationByProjectExt.
165
+
166
+
167
+ :param walltime_limit: The walltime_limit of this JobSpecificationByProjectExt. # noqa: E501
168
+ :type: int
169
+ """
170
+
171
+ self._walltime_limit = walltime_limit
172
+
173
+ @property
174
+ def notification_email(self):
175
+ """Gets the notification_email of this JobSpecificationByProjectExt. # noqa: E501
176
+
177
+
178
+ :return: The notification_email of this JobSpecificationByProjectExt. # noqa: E501
179
+ :rtype: str
180
+ """
181
+ return self._notification_email
182
+
183
+ @notification_email.setter
184
+ def notification_email(self, notification_email):
185
+ """Sets the notification_email of this JobSpecificationByProjectExt.
186
+
187
+
188
+ :param notification_email: The notification_email of this JobSpecificationByProjectExt. # noqa: E501
189
+ :type: str
190
+ """
191
+
192
+ self._notification_email = notification_email
193
+
194
+ @property
195
+ def phone_number(self):
196
+ """Gets the phone_number of this JobSpecificationByProjectExt. # noqa: E501
197
+
198
+
199
+ :return: The phone_number of this JobSpecificationByProjectExt. # noqa: E501
200
+ :rtype: str
201
+ """
202
+ return self._phone_number
203
+
204
+ @phone_number.setter
205
+ def phone_number(self, phone_number):
206
+ """Sets the phone_number of this JobSpecificationByProjectExt.
207
+
208
+
209
+ :param phone_number: The phone_number of this JobSpecificationByProjectExt. # noqa: E501
210
+ :type: str
211
+ """
212
+
213
+ self._phone_number = phone_number
214
+
215
+ @property
216
+ def notify_on_abort(self):
217
+ """Gets the notify_on_abort of this JobSpecificationByProjectExt. # noqa: E501
218
+
219
+
220
+ :return: The notify_on_abort of this JobSpecificationByProjectExt. # noqa: E501
221
+ :rtype: bool
222
+ """
223
+ return self._notify_on_abort
224
+
225
+ @notify_on_abort.setter
226
+ def notify_on_abort(self, notify_on_abort):
227
+ """Sets the notify_on_abort of this JobSpecificationByProjectExt.
228
+
229
+
230
+ :param notify_on_abort: The notify_on_abort of this JobSpecificationByProjectExt. # noqa: E501
231
+ :type: bool
232
+ """
233
+
234
+ self._notify_on_abort = notify_on_abort
235
+
236
+ @property
237
+ def notify_on_finish(self):
238
+ """Gets the notify_on_finish of this JobSpecificationByProjectExt. # noqa: E501
239
+
240
+
241
+ :return: The notify_on_finish of this JobSpecificationByProjectExt. # noqa: E501
242
+ :rtype: bool
243
+ """
244
+ return self._notify_on_finish
245
+
246
+ @notify_on_finish.setter
247
+ def notify_on_finish(self, notify_on_finish):
248
+ """Sets the notify_on_finish of this JobSpecificationByProjectExt.
249
+
250
+
251
+ :param notify_on_finish: The notify_on_finish of this JobSpecificationByProjectExt. # noqa: E501
252
+ :type: bool
253
+ """
254
+
255
+ self._notify_on_finish = notify_on_finish
256
+
257
+ @property
258
+ def notify_on_start(self):
259
+ """Gets the notify_on_start of this JobSpecificationByProjectExt. # noqa: E501
260
+
261
+
262
+ :return: The notify_on_start of this JobSpecificationByProjectExt. # noqa: E501
263
+ :rtype: bool
264
+ """
265
+ return self._notify_on_start
266
+
267
+ @notify_on_start.setter
268
+ def notify_on_start(self, notify_on_start):
269
+ """Sets the notify_on_start of this JobSpecificationByProjectExt.
270
+
271
+
272
+ :param notify_on_start: The notify_on_start of this JobSpecificationByProjectExt. # noqa: E501
273
+ :type: bool
274
+ """
275
+
276
+ self._notify_on_start = notify_on_start
277
+
278
+ @property
279
+ def cluster_id(self):
280
+ """Gets the cluster_id of this JobSpecificationByProjectExt. # noqa: E501
281
+
282
+
283
+ :return: The cluster_id of this JobSpecificationByProjectExt. # noqa: E501
284
+ :rtype: int
285
+ """
286
+ return self._cluster_id
287
+
288
+ @cluster_id.setter
289
+ def cluster_id(self, cluster_id):
290
+ """Sets the cluster_id of this JobSpecificationByProjectExt.
291
+
292
+
293
+ :param cluster_id: The cluster_id of this JobSpecificationByProjectExt. # noqa: E501
294
+ :type: int
295
+ """
296
+
297
+ self._cluster_id = cluster_id
298
+
299
+ @property
300
+ def file_transfer_method_id(self):
301
+ """Gets the file_transfer_method_id of this JobSpecificationByProjectExt. # noqa: E501
302
+
303
+
304
+ :return: The file_transfer_method_id of this JobSpecificationByProjectExt. # noqa: E501
305
+ :rtype: int
306
+ """
307
+ return self._file_transfer_method_id
308
+
309
+ @file_transfer_method_id.setter
310
+ def file_transfer_method_id(self, file_transfer_method_id):
311
+ """Sets the file_transfer_method_id of this JobSpecificationByProjectExt.
312
+
313
+
314
+ :param file_transfer_method_id: The file_transfer_method_id of this JobSpecificationByProjectExt. # noqa: E501
315
+ :type: int
316
+ """
317
+
318
+ self._file_transfer_method_id = file_transfer_method_id
319
+
320
+ @property
321
+ def is_extra_long(self):
322
+ """Gets the is_extra_long of this JobSpecificationByProjectExt. # noqa: E501
323
+
324
+
325
+ :return: The is_extra_long of this JobSpecificationByProjectExt. # noqa: E501
326
+ :rtype: bool
327
+ """
328
+ return self._is_extra_long
329
+
330
+ @is_extra_long.setter
331
+ def is_extra_long(self, is_extra_long):
332
+ """Sets the is_extra_long of this JobSpecificationByProjectExt.
333
+
334
+
335
+ :param is_extra_long: The is_extra_long of this JobSpecificationByProjectExt. # noqa: E501
336
+ :type: bool
337
+ """
338
+
339
+ self._is_extra_long = is_extra_long
340
+
341
+ @property
342
+ def environment_variables(self):
343
+ """Gets the environment_variables of this JobSpecificationByProjectExt. # noqa: E501
344
+
345
+
346
+ :return: The environment_variables of this JobSpecificationByProjectExt. # noqa: E501
347
+ :rtype: list[EnvironmentVariableExt]
348
+ """
349
+ return self._environment_variables
350
+
351
+ @environment_variables.setter
352
+ def environment_variables(self, environment_variables):
353
+ """Sets the environment_variables of this JobSpecificationByProjectExt.
354
+
355
+
356
+ :param environment_variables: The environment_variables of this JobSpecificationByProjectExt. # noqa: E501
357
+ :type: list[EnvironmentVariableExt]
358
+ """
359
+
360
+ self._environment_variables = environment_variables
361
+
362
+ @property
363
+ def tasks(self):
364
+ """Gets the tasks of this JobSpecificationByProjectExt. # noqa: E501
365
+
366
+
367
+ :return: The tasks of this JobSpecificationByProjectExt. # noqa: E501
368
+ :rtype: list[TaskSpecificationExt]
369
+ """
370
+ return self._tasks
371
+
372
+ @tasks.setter
373
+ def tasks(self, tasks):
374
+ """Sets the tasks of this JobSpecificationByProjectExt.
375
+
376
+
377
+ :param tasks: The tasks of this JobSpecificationByProjectExt. # noqa: E501
378
+ :type: list[TaskSpecificationExt]
379
+ """
380
+
381
+ self._tasks = tasks
382
+
383
+ @property
384
+ def project_id(self):
385
+ """Gets the project_id of this JobSpecificationByProjectExt. # noqa: E501
386
+
387
+
388
+ :return: The project_id of this JobSpecificationByProjectExt. # noqa: E501
389
+ :rtype: int
390
+ """
391
+ return self._project_id
392
+
393
+ @project_id.setter
394
+ def project_id(self, project_id):
395
+ """Sets the project_id of this JobSpecificationByProjectExt.
396
+
397
+
398
+ :param project_id: The project_id of this JobSpecificationByProjectExt. # noqa: E501
399
+ :type: int
400
+ """
401
+
402
+ self._project_id = project_id
403
+
404
+ def to_dict(self):
405
+ """Returns the model properties as a dict"""
406
+ result = {}
407
+
408
+ for attr, _ in six.iteritems(self.swagger_types):
409
+ value = getattr(self, attr)
410
+ if isinstance(value, list):
411
+ result[attr] = list(map(
412
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
413
+ value
414
+ ))
415
+ elif hasattr(value, "to_dict"):
416
+ result[attr] = value.to_dict()
417
+ elif isinstance(value, dict):
418
+ result[attr] = dict(map(
419
+ lambda item: (item[0], item[1].to_dict())
420
+ if hasattr(item[1], "to_dict") else item,
421
+ value.items()
422
+ ))
423
+ else:
424
+ result[attr] = value
425
+ if issubclass(JobSpecificationByProjectExt, dict):
426
+ for key, value in self.items():
427
+ result[key] = value
428
+
429
+ return result
430
+
431
+ def to_str(self):
432
+ """Returns the string representation of the model"""
433
+ return pprint.pformat(self.to_dict())
434
+
435
+ def __repr__(self):
436
+ """For `print` and `pprint`"""
437
+ return self.to_str()
438
+
439
+ def __eq__(self, other):
440
+ """Returns true if both objects are equal"""
441
+ if not isinstance(other, JobSpecificationByProjectExt):
442
+ return False
443
+
444
+ return self.__dict__ == other.__dict__
445
+
446
+ def __ne__(self, other):
447
+ """Returns true if both objects are not equal"""
448
+ return not self == other