Py4HEAppE 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. __init__.py +1 -0
  2. py4heappe/__init__.py +1 -0
  3. py4heappe/cli/__init__.py +1 -0
  4. py4heappe/cli/auth.py +153 -0
  5. py4heappe/cli/command_template.py +370 -0
  6. py4heappe/cli/configuration.py +65 -0
  7. py4heappe/cli/information.py +163 -0
  8. py4heappe/cli/job_management.py +211 -0
  9. py4heappe/cli/report.py +173 -0
  10. py4heappe/core/__init__.py +167 -0
  11. py4heappe/core/api/__init__.py +12 -0
  12. py4heappe/core/api/cluster_information_api.py +308 -0
  13. py4heappe/core/api/data_transfer_api.py +405 -0
  14. py4heappe/core/api/file_transfer_api.py +498 -0
  15. py4heappe/core/api/job_management_api.py +866 -0
  16. py4heappe/core/api/job_reporting_api.py +692 -0
  17. py4heappe/core/api/management_api.py +2540 -0
  18. py4heappe/core/api/user_and_limitation_management_api.py +676 -0
  19. py4heappe/core/api_client.py +632 -0
  20. py4heappe/core/base/__init__.py +1 -0
  21. py4heappe/core/base/exceptions.py +41 -0
  22. py4heappe/core/base/logger.py +11 -0
  23. py4heappe/core/base/utils.py +43 -0
  24. py4heappe/core/configuration.py +247 -0
  25. py4heappe/core/models/__init__.py +155 -0
  26. py4heappe/core/models/adaptor_user.py +398 -0
  27. py4heappe/core/models/adaptor_user_group.py +268 -0
  28. py4heappe/core/models/adaptor_user_role.py +242 -0
  29. py4heappe/core/models/adaptor_user_role_ext.py +138 -0
  30. py4heappe/core/models/adaptor_user_role_type.py +95 -0
  31. py4heappe/core/models/adaptor_user_type.py +91 -0
  32. py4heappe/core/models/adaptor_user_user_group_role.py +320 -0
  33. py4heappe/core/models/allocated_nodes_ips_model.py +136 -0
  34. py4heappe/core/models/authenticate_lexis_token_model.py +110 -0
  35. py4heappe/core/models/authenticate_user_digital_signature_model.py +110 -0
  36. py4heappe/core/models/authenticate_user_open_id_model.py +110 -0
  37. py4heappe/core/models/authenticate_user_open_id_open_stack_model.py +136 -0
  38. py4heappe/core/models/authenticate_user_password_model.py +110 -0
  39. py4heappe/core/models/authentication_credentials.py +110 -0
  40. py4heappe/core/models/bad_request_result.py +110 -0
  41. py4heappe/core/models/cancel_job_model.py +136 -0
  42. py4heappe/core/models/cluster.py +478 -0
  43. py4heappe/core/models/cluster_authentication_credentials.py +375 -0
  44. py4heappe/core/models/cluster_authentication_credentials_auth_type.py +97 -0
  45. py4heappe/core/models/cluster_connection_protocol.py +91 -0
  46. py4heappe/core/models/cluster_detailed_report_ext.py +214 -0
  47. py4heappe/core/models/cluster_ext.py +188 -0
  48. py4heappe/core/models/cluster_init_report_ext.py +136 -0
  49. py4heappe/core/models/cluster_node_type.py +528 -0
  50. py4heappe/core/models/cluster_node_type_detailed_report_ext.py +240 -0
  51. py4heappe/core/models/cluster_node_type_ext.py +292 -0
  52. py4heappe/core/models/cluster_node_type_for_task_ext.py +188 -0
  53. py4heappe/core/models/cluster_node_type_report_ext.py +214 -0
  54. py4heappe/core/models/cluster_node_type_requested_group.py +136 -0
  55. py4heappe/core/models/cluster_node_type_resource_usage_ext.py +292 -0
  56. py4heappe/core/models/cluster_node_usage_ext.py +318 -0
  57. py4heappe/core/models/cluster_project.py +347 -0
  58. py4heappe/core/models/cluster_project_credential.py +294 -0
  59. py4heappe/core/models/cluster_proxy_connection.py +243 -0
  60. py4heappe/core/models/cluster_proxy_connection_ext.py +214 -0
  61. py4heappe/core/models/cluster_report_ext.py +215 -0
  62. py4heappe/core/models/command_template.py +557 -0
  63. py4heappe/core/models/command_template_ext.py +240 -0
  64. py4heappe/core/models/command_template_parameter.py +347 -0
  65. py4heappe/core/models/command_template_parameter_ext.py +136 -0
  66. py4heappe/core/models/command_template_parameter_value_ext.py +136 -0
  67. py4heappe/core/models/contact.py +269 -0
  68. py4heappe/core/models/copy_job_data_from_temp_model.py +162 -0
  69. py4heappe/core/models/copy_job_data_to_temp_model.py +162 -0
  70. py4heappe/core/models/create_command_inner_template_parameter_model.py +162 -0
  71. py4heappe/core/models/create_command_template_from_generic_model.py +292 -0
  72. py4heappe/core/models/create_command_template_model.py +318 -0
  73. py4heappe/core/models/create_command_template_parameter_model.py +214 -0
  74. py4heappe/core/models/create_job_by_project_model.py +136 -0
  75. py4heappe/core/models/create_project_assignment_to_cluster_model.py +188 -0
  76. py4heappe/core/models/create_project_model.py +318 -0
  77. py4heappe/core/models/create_secure_shell_key_model.py +162 -0
  78. py4heappe/core/models/create_secure_shell_key_model_obsolete.py +188 -0
  79. py4heappe/core/models/current_cluster_node_usage_model.py +136 -0
  80. py4heappe/core/models/current_info_for_job_model.py +136 -0
  81. py4heappe/core/models/data_transfer_method_ext.py +188 -0
  82. py4heappe/core/models/delete_job_model.py +136 -0
  83. py4heappe/core/models/deployment_type_ext.py +91 -0
  84. py4heappe/core/models/digital_signature_credentials_ext.py +162 -0
  85. py4heappe/core/models/download_file_from_cluster_model.py +162 -0
  86. py4heappe/core/models/download_parts_of_job_files_from_cluster_model.py +162 -0
  87. py4heappe/core/models/end_data_transfer_model.py +136 -0
  88. py4heappe/core/models/end_file_transfer_model.py +162 -0
  89. py4heappe/core/models/environment_variable_ext.py +136 -0
  90. py4heappe/core/models/extended_command_template_ext.py +370 -0
  91. py4heappe/core/models/extended_command_template_parameter_ext.py +188 -0
  92. py4heappe/core/models/extended_project_info_ext.py +318 -0
  93. py4heappe/core/models/file_information_ext.py +136 -0
  94. py4heappe/core/models/file_transfer_cipher_type.py +94 -0
  95. py4heappe/core/models/file_transfer_cipher_type_ext.py +93 -0
  96. py4heappe/core/models/file_transfer_key_credentials_ext.py +240 -0
  97. py4heappe/core/models/file_transfer_method.py +294 -0
  98. py4heappe/core/models/file_transfer_method_ext.py +240 -0
  99. py4heappe/core/models/file_transfer_protocol.py +91 -0
  100. py4heappe/core/models/file_transfer_protocol_ext.py +91 -0
  101. py4heappe/core/models/get_command_template_parameters_name_model.py +188 -0
  102. py4heappe/core/models/get_current_usage_and_limitations_for_current_user_model.py +110 -0
  103. py4heappe/core/models/get_data_transfer_method_model.py +188 -0
  104. py4heappe/core/models/get_file_transfer_method_model.py +136 -0
  105. py4heappe/core/models/http_get_to_job_node_model.py +241 -0
  106. py4heappe/core/models/http_header_ext.py +136 -0
  107. py4heappe/core/models/http_post_to_job_node_model.py +267 -0
  108. py4heappe/core/models/initialize_cluster_script_directory_model.py +162 -0
  109. py4heappe/core/models/instance_information_ext.py +344 -0
  110. py4heappe/core/models/job_detailed_report_ext.py +318 -0
  111. py4heappe/core/models/job_file_content_ext.py +214 -0
  112. py4heappe/core/models/job_report_ext.py +188 -0
  113. py4heappe/core/models/job_specification_by_project_ext.py +448 -0
  114. py4heappe/core/models/job_specification_ext.py +448 -0
  115. py4heappe/core/models/job_state_aggregation_report_ext.py +162 -0
  116. py4heappe/core/models/job_state_ext.py +96 -0
  117. py4heappe/core/models/lexis_credentials_ext.py +137 -0
  118. py4heappe/core/models/list_changed_files_for_job_model.py +136 -0
  119. py4heappe/core/models/list_jobs_for_current_user_model.py +110 -0
  120. py4heappe/core/models/modify_command_template_from_generic_model.py +292 -0
  121. py4heappe/core/models/modify_command_template_model.py +292 -0
  122. py4heappe/core/models/modify_command_template_parameter_model.py +214 -0
  123. py4heappe/core/models/modify_project_assignment_to_cluster_model.py +188 -0
  124. py4heappe/core/models/modify_project_model.py +292 -0
  125. py4heappe/core/models/node_used_cores_and_limitation_ext.py +110 -0
  126. py4heappe/core/models/open_id_credentials_ext.py +137 -0
  127. py4heappe/core/models/open_stack_application_credentials_ext.py +136 -0
  128. py4heappe/core/models/password_credentials_ext.py +136 -0
  129. py4heappe/core/models/problem_details.py +89 -0
  130. py4heappe/core/models/project.py +482 -0
  131. py4heappe/core/models/project_contact.py +215 -0
  132. py4heappe/core/models/project_detailed_report_ext.py +292 -0
  133. py4heappe/core/models/project_ext.py +266 -0
  134. py4heappe/core/models/project_for_task_ext.py +214 -0
  135. py4heappe/core/models/project_list_report_ext.py +214 -0
  136. py4heappe/core/models/project_reference_ext.py +137 -0
  137. py4heappe/core/models/project_report_ext.py +240 -0
  138. py4heappe/core/models/project_resource_usage_ext.py +266 -0
  139. py4heappe/core/models/proxy_type.py +91 -0
  140. py4heappe/core/models/proxy_type_ext.py +91 -0
  141. py4heappe/core/models/public_key_ext.py +188 -0
  142. py4heappe/core/models/recreate_secure_shell_key_model.py +214 -0
  143. py4heappe/core/models/regenerate_secure_shell_key_model.py +188 -0
  144. py4heappe/core/models/regenerate_secure_shell_key_model_obsolete.py +188 -0
  145. py4heappe/core/models/remove_command_template_model.py +136 -0
  146. py4heappe/core/models/remove_command_template_parameter_model.py +136 -0
  147. py4heappe/core/models/remove_project_assignment_to_cluster_model.py +162 -0
  148. py4heappe/core/models/remove_project_model.py +136 -0
  149. py4heappe/core/models/remove_secure_shell_key_model.py +162 -0
  150. py4heappe/core/models/remove_secure_shell_key_model_obsolete.py +162 -0
  151. py4heappe/core/models/resource_allocation_type_ext.py +91 -0
  152. py4heappe/core/models/resource_limitation_ext.py +136 -0
  153. py4heappe/core/models/resource_usage_ext.py +163 -0
  154. py4heappe/core/models/scheduler_type.py +92 -0
  155. py4heappe/core/models/ssh_key_user_credentials_model.py +136 -0
  156. py4heappe/core/models/submit_job_model.py +136 -0
  157. py4heappe/core/models/submitted_job_info_ext.py +318 -0
  158. py4heappe/core/models/submitted_task_info_ext.py +370 -0
  159. py4heappe/core/models/synchronizable_files_ext.py +92 -0
  160. py4heappe/core/models/task_detailed_report_ext.py +318 -0
  161. py4heappe/core/models/task_file_offset_ext.py +162 -0
  162. py4heappe/core/models/task_paralization_parameter_ext.py +162 -0
  163. py4heappe/core/models/task_priority_ext.py +97 -0
  164. py4heappe/core/models/task_report_ext.py +266 -0
  165. py4heappe/core/models/task_specification_ext.py +682 -0
  166. py4heappe/core/models/task_state_ext.py +95 -0
  167. py4heappe/core/models/test_cluster_access_for_account_model.py +162 -0
  168. py4heappe/core/models/test_cluster_access_for_account_model_obsolete.py +162 -0
  169. py4heappe/core/models/unauthorized_result.py +110 -0
  170. py4heappe/core/models/usage_type.py +90 -0
  171. py4heappe/core/models/usage_type_ext.py +90 -0
  172. py4heappe/core/models/user_group_detailed_report_ext.py +240 -0
  173. py4heappe/core/models/user_group_list_report_ext.py +240 -0
  174. py4heappe/core/models/user_group_report_ext.py +240 -0
  175. py4heappe/core/models/version_information_ext.py +162 -0
  176. py4heappe/core/rest.py +311 -0
  177. py4heappe-1.0.0.dist-info/METADATA +147 -0
  178. py4heappe-1.0.0.dist-info/RECORD +183 -0
  179. py4heappe-1.0.0.dist-info/WHEEL +5 -0
  180. py4heappe-1.0.0.dist-info/entry_points.txt +2 -0
  181. py4heappe-1.0.0.dist-info/licenses/LICENSE +20 -0
  182. py4heappe-1.0.0.dist-info/top_level.txt +3 -0
  183. py4heappe_cli.py +22 -0
@@ -0,0 +1,136 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HEAppE Web API
5
+
6
+ HEAppE middleware API v4.2.1 # noqa: E501
7
+
8
+ OpenAPI spec version: v4.2.1
9
+ Contact: support.heappe@it4i.cz
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ class CancelJobModel(object):
19
+ """NOTE: This class is auto generated by the swagger code generator program.
20
+
21
+ Do not edit the class manually.
22
+ """
23
+ """
24
+ Attributes:
25
+ swagger_types (dict): The key is attribute name
26
+ and the value is attribute type.
27
+ attribute_map (dict): The key is attribute name
28
+ and the value is json key in definition.
29
+ """
30
+ swagger_types = {
31
+ 'session_code': 'str',
32
+ 'submitted_job_info_id': 'int'
33
+ }
34
+
35
+ attribute_map = {
36
+ 'session_code': 'SessionCode',
37
+ 'submitted_job_info_id': 'SubmittedJobInfoId'
38
+ }
39
+
40
+ def __init__(self, session_code=None, submitted_job_info_id=None): # noqa: E501
41
+ """CancelJobModel - a model defined in Swagger""" # noqa: E501
42
+ self._session_code = None
43
+ self._submitted_job_info_id = None
44
+ self.discriminator = None
45
+ if session_code is not None:
46
+ self.session_code = session_code
47
+ if submitted_job_info_id is not None:
48
+ self.submitted_job_info_id = submitted_job_info_id
49
+
50
+ @property
51
+ def session_code(self):
52
+ """Gets the session_code of this CancelJobModel. # noqa: E501
53
+
54
+
55
+ :return: The session_code of this CancelJobModel. # noqa: E501
56
+ :rtype: str
57
+ """
58
+ return self._session_code
59
+
60
+ @session_code.setter
61
+ def session_code(self, session_code):
62
+ """Sets the session_code of this CancelJobModel.
63
+
64
+
65
+ :param session_code: The session_code of this CancelJobModel. # noqa: E501
66
+ :type: str
67
+ """
68
+
69
+ self._session_code = session_code
70
+
71
+ @property
72
+ def submitted_job_info_id(self):
73
+ """Gets the submitted_job_info_id of this CancelJobModel. # noqa: E501
74
+
75
+
76
+ :return: The submitted_job_info_id of this CancelJobModel. # noqa: E501
77
+ :rtype: int
78
+ """
79
+ return self._submitted_job_info_id
80
+
81
+ @submitted_job_info_id.setter
82
+ def submitted_job_info_id(self, submitted_job_info_id):
83
+ """Sets the submitted_job_info_id of this CancelJobModel.
84
+
85
+
86
+ :param submitted_job_info_id: The submitted_job_info_id of this CancelJobModel. # noqa: E501
87
+ :type: int
88
+ """
89
+
90
+ self._submitted_job_info_id = submitted_job_info_id
91
+
92
+ def to_dict(self):
93
+ """Returns the model properties as a dict"""
94
+ result = {}
95
+
96
+ for attr, _ in six.iteritems(self.swagger_types):
97
+ value = getattr(self, attr)
98
+ if isinstance(value, list):
99
+ result[attr] = list(map(
100
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
101
+ value
102
+ ))
103
+ elif hasattr(value, "to_dict"):
104
+ result[attr] = value.to_dict()
105
+ elif isinstance(value, dict):
106
+ result[attr] = dict(map(
107
+ lambda item: (item[0], item[1].to_dict())
108
+ if hasattr(item[1], "to_dict") else item,
109
+ value.items()
110
+ ))
111
+ else:
112
+ result[attr] = value
113
+ if issubclass(CancelJobModel, dict):
114
+ for key, value in self.items():
115
+ result[key] = value
116
+
117
+ return result
118
+
119
+ def to_str(self):
120
+ """Returns the string representation of the model"""
121
+ return pprint.pformat(self.to_dict())
122
+
123
+ def __repr__(self):
124
+ """For `print` and `pprint`"""
125
+ return self.to_str()
126
+
127
+ def __eq__(self, other):
128
+ """Returns true if both objects are equal"""
129
+ if not isinstance(other, CancelJobModel):
130
+ return False
131
+
132
+ return self.__dict__ == other.__dict__
133
+
134
+ def __ne__(self, other):
135
+ """Returns true if both objects are not equal"""
136
+ return not self == other
@@ -0,0 +1,478 @@
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 Cluster(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
+ 'master_node_name': 'str',
35
+ 'domain_name': 'str',
36
+ 'port': 'int',
37
+ 'time_zone': 'str',
38
+ 'update_job_state_by_service_account': 'bool',
39
+ 'scheduler_type': 'SchedulerType',
40
+ 'connection_protocol': 'ClusterConnectionProtocol',
41
+ 'node_types': 'list[ClusterNodeType]',
42
+ 'file_transfer_methods': 'list[FileTransferMethod]',
43
+ 'proxy_connection_id': 'int',
44
+ 'proxy_connection': 'ClusterProxyConnection',
45
+ 'cluster_projects': 'list[ClusterProject]'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'id': 'Id',
50
+ 'name': 'Name',
51
+ 'description': 'Description',
52
+ 'master_node_name': 'MasterNodeName',
53
+ 'domain_name': 'DomainName',
54
+ 'port': 'Port',
55
+ 'time_zone': 'TimeZone',
56
+ 'update_job_state_by_service_account': 'UpdateJobStateByServiceAccount',
57
+ 'scheduler_type': 'SchedulerType',
58
+ 'connection_protocol': 'ConnectionProtocol',
59
+ 'node_types': 'NodeTypes',
60
+ 'file_transfer_methods': 'FileTransferMethods',
61
+ 'proxy_connection_id': 'ProxyConnectionId',
62
+ 'proxy_connection': 'ProxyConnection',
63
+ 'cluster_projects': 'ClusterProjects'
64
+ }
65
+
66
+ def __init__(self, id=None, name=None, description=None, master_node_name=None, domain_name=None, port=None, time_zone=None, update_job_state_by_service_account=None, scheduler_type=None, connection_protocol=None, node_types=None, file_transfer_methods=None, proxy_connection_id=None, proxy_connection=None, cluster_projects=None): # noqa: E501
67
+ """Cluster - a model defined in Swagger""" # noqa: E501
68
+ self._id = None
69
+ self._name = None
70
+ self._description = None
71
+ self._master_node_name = None
72
+ self._domain_name = None
73
+ self._port = None
74
+ self._time_zone = None
75
+ self._update_job_state_by_service_account = None
76
+ self._scheduler_type = None
77
+ self._connection_protocol = None
78
+ self._node_types = None
79
+ self._file_transfer_methods = None
80
+ self._proxy_connection_id = None
81
+ self._proxy_connection = None
82
+ self._cluster_projects = None
83
+ self.discriminator = None
84
+ if id is not None:
85
+ self.id = id
86
+ self.name = name
87
+ self.description = description
88
+ self.master_node_name = master_node_name
89
+ if domain_name is not None:
90
+ self.domain_name = domain_name
91
+ if port is not None:
92
+ self.port = port
93
+ self.time_zone = time_zone
94
+ if update_job_state_by_service_account is not None:
95
+ self.update_job_state_by_service_account = update_job_state_by_service_account
96
+ if scheduler_type is not None:
97
+ self.scheduler_type = scheduler_type
98
+ if connection_protocol is not None:
99
+ self.connection_protocol = connection_protocol
100
+ if node_types is not None:
101
+ self.node_types = node_types
102
+ if file_transfer_methods is not None:
103
+ self.file_transfer_methods = file_transfer_methods
104
+ if proxy_connection_id is not None:
105
+ self.proxy_connection_id = proxy_connection_id
106
+ if proxy_connection is not None:
107
+ self.proxy_connection = proxy_connection
108
+ if cluster_projects is not None:
109
+ self.cluster_projects = cluster_projects
110
+
111
+ @property
112
+ def id(self):
113
+ """Gets the id of this Cluster. # noqa: E501
114
+
115
+
116
+ :return: The id of this Cluster. # noqa: E501
117
+ :rtype: int
118
+ """
119
+ return self._id
120
+
121
+ @id.setter
122
+ def id(self, id):
123
+ """Sets the id of this Cluster.
124
+
125
+
126
+ :param id: The id of this Cluster. # noqa: E501
127
+ :type: int
128
+ """
129
+
130
+ self._id = id
131
+
132
+ @property
133
+ def name(self):
134
+ """Gets the name of this Cluster. # noqa: E501
135
+
136
+
137
+ :return: The name of this Cluster. # noqa: E501
138
+ :rtype: str
139
+ """
140
+ return self._name
141
+
142
+ @name.setter
143
+ def name(self, name):
144
+ """Sets the name of this Cluster.
145
+
146
+
147
+ :param name: The name of this Cluster. # noqa: E501
148
+ :type: str
149
+ """
150
+ if name is None:
151
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
152
+
153
+ self._name = name
154
+
155
+ @property
156
+ def description(self):
157
+ """Gets the description of this Cluster. # noqa: E501
158
+
159
+
160
+ :return: The description of this Cluster. # noqa: E501
161
+ :rtype: str
162
+ """
163
+ return self._description
164
+
165
+ @description.setter
166
+ def description(self, description):
167
+ """Sets the description of this Cluster.
168
+
169
+
170
+ :param description: The description of this Cluster. # noqa: E501
171
+ :type: str
172
+ """
173
+ if description is None:
174
+ raise ValueError("Invalid value for `description`, must not be `None`") # noqa: E501
175
+
176
+ self._description = description
177
+
178
+ @property
179
+ def master_node_name(self):
180
+ """Gets the master_node_name of this Cluster. # noqa: E501
181
+
182
+
183
+ :return: The master_node_name of this Cluster. # noqa: E501
184
+ :rtype: str
185
+ """
186
+ return self._master_node_name
187
+
188
+ @master_node_name.setter
189
+ def master_node_name(self, master_node_name):
190
+ """Sets the master_node_name of this Cluster.
191
+
192
+
193
+ :param master_node_name: The master_node_name of this Cluster. # noqa: E501
194
+ :type: str
195
+ """
196
+ if master_node_name is None:
197
+ raise ValueError("Invalid value for `master_node_name`, must not be `None`") # noqa: E501
198
+
199
+ self._master_node_name = master_node_name
200
+
201
+ @property
202
+ def domain_name(self):
203
+ """Gets the domain_name of this Cluster. # noqa: E501
204
+
205
+
206
+ :return: The domain_name of this Cluster. # noqa: E501
207
+ :rtype: str
208
+ """
209
+ return self._domain_name
210
+
211
+ @domain_name.setter
212
+ def domain_name(self, domain_name):
213
+ """Sets the domain_name of this Cluster.
214
+
215
+
216
+ :param domain_name: The domain_name of this Cluster. # noqa: E501
217
+ :type: str
218
+ """
219
+
220
+ self._domain_name = domain_name
221
+
222
+ @property
223
+ def port(self):
224
+ """Gets the port of this Cluster. # noqa: E501
225
+
226
+
227
+ :return: The port of this Cluster. # noqa: E501
228
+ :rtype: int
229
+ """
230
+ return self._port
231
+
232
+ @port.setter
233
+ def port(self, port):
234
+ """Sets the port of this Cluster.
235
+
236
+
237
+ :param port: The port of this Cluster. # noqa: E501
238
+ :type: int
239
+ """
240
+
241
+ self._port = port
242
+
243
+ @property
244
+ def time_zone(self):
245
+ """Gets the time_zone of this Cluster. # noqa: E501
246
+
247
+
248
+ :return: The time_zone of this Cluster. # noqa: E501
249
+ :rtype: str
250
+ """
251
+ return self._time_zone
252
+
253
+ @time_zone.setter
254
+ def time_zone(self, time_zone):
255
+ """Sets the time_zone of this Cluster.
256
+
257
+
258
+ :param time_zone: The time_zone of this Cluster. # noqa: E501
259
+ :type: str
260
+ """
261
+ if time_zone is None:
262
+ raise ValueError("Invalid value for `time_zone`, must not be `None`") # noqa: E501
263
+
264
+ self._time_zone = time_zone
265
+
266
+ @property
267
+ def update_job_state_by_service_account(self):
268
+ """Gets the update_job_state_by_service_account of this Cluster. # noqa: E501
269
+
270
+
271
+ :return: The update_job_state_by_service_account of this Cluster. # noqa: E501
272
+ :rtype: bool
273
+ """
274
+ return self._update_job_state_by_service_account
275
+
276
+ @update_job_state_by_service_account.setter
277
+ def update_job_state_by_service_account(self, update_job_state_by_service_account):
278
+ """Sets the update_job_state_by_service_account of this Cluster.
279
+
280
+
281
+ :param update_job_state_by_service_account: The update_job_state_by_service_account of this Cluster. # noqa: E501
282
+ :type: bool
283
+ """
284
+
285
+ self._update_job_state_by_service_account = update_job_state_by_service_account
286
+
287
+ @property
288
+ def scheduler_type(self):
289
+ """Gets the scheduler_type of this Cluster. # noqa: E501
290
+
291
+
292
+ :return: The scheduler_type of this Cluster. # noqa: E501
293
+ :rtype: SchedulerType
294
+ """
295
+ return self._scheduler_type
296
+
297
+ @scheduler_type.setter
298
+ def scheduler_type(self, scheduler_type):
299
+ """Sets the scheduler_type of this Cluster.
300
+
301
+
302
+ :param scheduler_type: The scheduler_type of this Cluster. # noqa: E501
303
+ :type: SchedulerType
304
+ """
305
+
306
+ self._scheduler_type = scheduler_type
307
+
308
+ @property
309
+ def connection_protocol(self):
310
+ """Gets the connection_protocol of this Cluster. # noqa: E501
311
+
312
+
313
+ :return: The connection_protocol of this Cluster. # noqa: E501
314
+ :rtype: ClusterConnectionProtocol
315
+ """
316
+ return self._connection_protocol
317
+
318
+ @connection_protocol.setter
319
+ def connection_protocol(self, connection_protocol):
320
+ """Sets the connection_protocol of this Cluster.
321
+
322
+
323
+ :param connection_protocol: The connection_protocol of this Cluster. # noqa: E501
324
+ :type: ClusterConnectionProtocol
325
+ """
326
+
327
+ self._connection_protocol = connection_protocol
328
+
329
+ @property
330
+ def node_types(self):
331
+ """Gets the node_types of this Cluster. # noqa: E501
332
+
333
+
334
+ :return: The node_types of this Cluster. # noqa: E501
335
+ :rtype: list[ClusterNodeType]
336
+ """
337
+ return self._node_types
338
+
339
+ @node_types.setter
340
+ def node_types(self, node_types):
341
+ """Sets the node_types of this Cluster.
342
+
343
+
344
+ :param node_types: The node_types of this Cluster. # noqa: E501
345
+ :type: list[ClusterNodeType]
346
+ """
347
+
348
+ self._node_types = node_types
349
+
350
+ @property
351
+ def file_transfer_methods(self):
352
+ """Gets the file_transfer_methods of this Cluster. # noqa: E501
353
+
354
+
355
+ :return: The file_transfer_methods of this Cluster. # noqa: E501
356
+ :rtype: list[FileTransferMethod]
357
+ """
358
+ return self._file_transfer_methods
359
+
360
+ @file_transfer_methods.setter
361
+ def file_transfer_methods(self, file_transfer_methods):
362
+ """Sets the file_transfer_methods of this Cluster.
363
+
364
+
365
+ :param file_transfer_methods: The file_transfer_methods of this Cluster. # noqa: E501
366
+ :type: list[FileTransferMethod]
367
+ """
368
+
369
+ self._file_transfer_methods = file_transfer_methods
370
+
371
+ @property
372
+ def proxy_connection_id(self):
373
+ """Gets the proxy_connection_id of this Cluster. # noqa: E501
374
+
375
+
376
+ :return: The proxy_connection_id of this Cluster. # noqa: E501
377
+ :rtype: int
378
+ """
379
+ return self._proxy_connection_id
380
+
381
+ @proxy_connection_id.setter
382
+ def proxy_connection_id(self, proxy_connection_id):
383
+ """Sets the proxy_connection_id of this Cluster.
384
+
385
+
386
+ :param proxy_connection_id: The proxy_connection_id of this Cluster. # noqa: E501
387
+ :type: int
388
+ """
389
+
390
+ self._proxy_connection_id = proxy_connection_id
391
+
392
+ @property
393
+ def proxy_connection(self):
394
+ """Gets the proxy_connection of this Cluster. # noqa: E501
395
+
396
+
397
+ :return: The proxy_connection of this Cluster. # noqa: E501
398
+ :rtype: ClusterProxyConnection
399
+ """
400
+ return self._proxy_connection
401
+
402
+ @proxy_connection.setter
403
+ def proxy_connection(self, proxy_connection):
404
+ """Sets the proxy_connection of this Cluster.
405
+
406
+
407
+ :param proxy_connection: The proxy_connection of this Cluster. # noqa: E501
408
+ :type: ClusterProxyConnection
409
+ """
410
+
411
+ self._proxy_connection = proxy_connection
412
+
413
+ @property
414
+ def cluster_projects(self):
415
+ """Gets the cluster_projects of this Cluster. # noqa: E501
416
+
417
+
418
+ :return: The cluster_projects of this Cluster. # noqa: E501
419
+ :rtype: list[ClusterProject]
420
+ """
421
+ return self._cluster_projects
422
+
423
+ @cluster_projects.setter
424
+ def cluster_projects(self, cluster_projects):
425
+ """Sets the cluster_projects of this Cluster.
426
+
427
+
428
+ :param cluster_projects: The cluster_projects of this Cluster. # noqa: E501
429
+ :type: list[ClusterProject]
430
+ """
431
+
432
+ self._cluster_projects = cluster_projects
433
+
434
+ def to_dict(self):
435
+ """Returns the model properties as a dict"""
436
+ result = {}
437
+
438
+ for attr, _ in six.iteritems(self.swagger_types):
439
+ value = getattr(self, attr)
440
+ if isinstance(value, list):
441
+ result[attr] = list(map(
442
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
443
+ value
444
+ ))
445
+ elif hasattr(value, "to_dict"):
446
+ result[attr] = value.to_dict()
447
+ elif isinstance(value, dict):
448
+ result[attr] = dict(map(
449
+ lambda item: (item[0], item[1].to_dict())
450
+ if hasattr(item[1], "to_dict") else item,
451
+ value.items()
452
+ ))
453
+ else:
454
+ result[attr] = value
455
+ if issubclass(Cluster, dict):
456
+ for key, value in self.items():
457
+ result[key] = value
458
+
459
+ return result
460
+
461
+ def to_str(self):
462
+ """Returns the string representation of the model"""
463
+ return pprint.pformat(self.to_dict())
464
+
465
+ def __repr__(self):
466
+ """For `print` and `pprint`"""
467
+ return self.to_str()
468
+
469
+ def __eq__(self, other):
470
+ """Returns true if both objects are equal"""
471
+ if not isinstance(other, Cluster):
472
+ return False
473
+
474
+ return self.__dict__ == other.__dict__
475
+
476
+ def __ne__(self, other):
477
+ """Returns true if both objects are not equal"""
478
+ return not self == other