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.
- __init__.py +1 -0
- py4heappe/__init__.py +1 -0
- py4heappe/cli/__init__.py +1 -0
- py4heappe/cli/auth.py +153 -0
- py4heappe/cli/command_template.py +370 -0
- py4heappe/cli/configuration.py +65 -0
- py4heappe/cli/information.py +163 -0
- py4heappe/cli/job_management.py +211 -0
- py4heappe/cli/report.py +173 -0
- py4heappe/core/__init__.py +167 -0
- py4heappe/core/api/__init__.py +12 -0
- py4heappe/core/api/cluster_information_api.py +308 -0
- py4heappe/core/api/data_transfer_api.py +405 -0
- py4heappe/core/api/file_transfer_api.py +498 -0
- py4heappe/core/api/job_management_api.py +866 -0
- py4heappe/core/api/job_reporting_api.py +692 -0
- py4heappe/core/api/management_api.py +2540 -0
- py4heappe/core/api/user_and_limitation_management_api.py +676 -0
- py4heappe/core/api_client.py +632 -0
- py4heappe/core/base/__init__.py +1 -0
- py4heappe/core/base/exceptions.py +41 -0
- py4heappe/core/base/logger.py +11 -0
- py4heappe/core/base/utils.py +43 -0
- py4heappe/core/configuration.py +247 -0
- py4heappe/core/models/__init__.py +155 -0
- py4heappe/core/models/adaptor_user.py +398 -0
- py4heappe/core/models/adaptor_user_group.py +268 -0
- py4heappe/core/models/adaptor_user_role.py +242 -0
- py4heappe/core/models/adaptor_user_role_ext.py +138 -0
- py4heappe/core/models/adaptor_user_role_type.py +95 -0
- py4heappe/core/models/adaptor_user_type.py +91 -0
- py4heappe/core/models/adaptor_user_user_group_role.py +320 -0
- py4heappe/core/models/allocated_nodes_ips_model.py +136 -0
- py4heappe/core/models/authenticate_lexis_token_model.py +110 -0
- py4heappe/core/models/authenticate_user_digital_signature_model.py +110 -0
- py4heappe/core/models/authenticate_user_open_id_model.py +110 -0
- py4heappe/core/models/authenticate_user_open_id_open_stack_model.py +136 -0
- py4heappe/core/models/authenticate_user_password_model.py +110 -0
- py4heappe/core/models/authentication_credentials.py +110 -0
- py4heappe/core/models/bad_request_result.py +110 -0
- py4heappe/core/models/cancel_job_model.py +136 -0
- py4heappe/core/models/cluster.py +478 -0
- py4heappe/core/models/cluster_authentication_credentials.py +375 -0
- py4heappe/core/models/cluster_authentication_credentials_auth_type.py +97 -0
- py4heappe/core/models/cluster_connection_protocol.py +91 -0
- py4heappe/core/models/cluster_detailed_report_ext.py +214 -0
- py4heappe/core/models/cluster_ext.py +188 -0
- py4heappe/core/models/cluster_init_report_ext.py +136 -0
- py4heappe/core/models/cluster_node_type.py +528 -0
- py4heappe/core/models/cluster_node_type_detailed_report_ext.py +240 -0
- py4heappe/core/models/cluster_node_type_ext.py +292 -0
- py4heappe/core/models/cluster_node_type_for_task_ext.py +188 -0
- py4heappe/core/models/cluster_node_type_report_ext.py +214 -0
- py4heappe/core/models/cluster_node_type_requested_group.py +136 -0
- py4heappe/core/models/cluster_node_type_resource_usage_ext.py +292 -0
- py4heappe/core/models/cluster_node_usage_ext.py +318 -0
- py4heappe/core/models/cluster_project.py +347 -0
- py4heappe/core/models/cluster_project_credential.py +294 -0
- py4heappe/core/models/cluster_proxy_connection.py +243 -0
- py4heappe/core/models/cluster_proxy_connection_ext.py +214 -0
- py4heappe/core/models/cluster_report_ext.py +215 -0
- py4heappe/core/models/command_template.py +557 -0
- py4heappe/core/models/command_template_ext.py +240 -0
- py4heappe/core/models/command_template_parameter.py +347 -0
- py4heappe/core/models/command_template_parameter_ext.py +136 -0
- py4heappe/core/models/command_template_parameter_value_ext.py +136 -0
- py4heappe/core/models/contact.py +269 -0
- py4heappe/core/models/copy_job_data_from_temp_model.py +162 -0
- py4heappe/core/models/copy_job_data_to_temp_model.py +162 -0
- py4heappe/core/models/create_command_inner_template_parameter_model.py +162 -0
- py4heappe/core/models/create_command_template_from_generic_model.py +292 -0
- py4heappe/core/models/create_command_template_model.py +318 -0
- py4heappe/core/models/create_command_template_parameter_model.py +214 -0
- py4heappe/core/models/create_job_by_project_model.py +136 -0
- py4heappe/core/models/create_project_assignment_to_cluster_model.py +188 -0
- py4heappe/core/models/create_project_model.py +318 -0
- py4heappe/core/models/create_secure_shell_key_model.py +162 -0
- py4heappe/core/models/create_secure_shell_key_model_obsolete.py +188 -0
- py4heappe/core/models/current_cluster_node_usage_model.py +136 -0
- py4heappe/core/models/current_info_for_job_model.py +136 -0
- py4heappe/core/models/data_transfer_method_ext.py +188 -0
- py4heappe/core/models/delete_job_model.py +136 -0
- py4heappe/core/models/deployment_type_ext.py +91 -0
- py4heappe/core/models/digital_signature_credentials_ext.py +162 -0
- py4heappe/core/models/download_file_from_cluster_model.py +162 -0
- py4heappe/core/models/download_parts_of_job_files_from_cluster_model.py +162 -0
- py4heappe/core/models/end_data_transfer_model.py +136 -0
- py4heappe/core/models/end_file_transfer_model.py +162 -0
- py4heappe/core/models/environment_variable_ext.py +136 -0
- py4heappe/core/models/extended_command_template_ext.py +370 -0
- py4heappe/core/models/extended_command_template_parameter_ext.py +188 -0
- py4heappe/core/models/extended_project_info_ext.py +318 -0
- py4heappe/core/models/file_information_ext.py +136 -0
- py4heappe/core/models/file_transfer_cipher_type.py +94 -0
- py4heappe/core/models/file_transfer_cipher_type_ext.py +93 -0
- py4heappe/core/models/file_transfer_key_credentials_ext.py +240 -0
- py4heappe/core/models/file_transfer_method.py +294 -0
- py4heappe/core/models/file_transfer_method_ext.py +240 -0
- py4heappe/core/models/file_transfer_protocol.py +91 -0
- py4heappe/core/models/file_transfer_protocol_ext.py +91 -0
- py4heappe/core/models/get_command_template_parameters_name_model.py +188 -0
- py4heappe/core/models/get_current_usage_and_limitations_for_current_user_model.py +110 -0
- py4heappe/core/models/get_data_transfer_method_model.py +188 -0
- py4heappe/core/models/get_file_transfer_method_model.py +136 -0
- py4heappe/core/models/http_get_to_job_node_model.py +241 -0
- py4heappe/core/models/http_header_ext.py +136 -0
- py4heappe/core/models/http_post_to_job_node_model.py +267 -0
- py4heappe/core/models/initialize_cluster_script_directory_model.py +162 -0
- py4heappe/core/models/instance_information_ext.py +344 -0
- py4heappe/core/models/job_detailed_report_ext.py +318 -0
- py4heappe/core/models/job_file_content_ext.py +214 -0
- py4heappe/core/models/job_report_ext.py +188 -0
- py4heappe/core/models/job_specification_by_project_ext.py +448 -0
- py4heappe/core/models/job_specification_ext.py +448 -0
- py4heappe/core/models/job_state_aggregation_report_ext.py +162 -0
- py4heappe/core/models/job_state_ext.py +96 -0
- py4heappe/core/models/lexis_credentials_ext.py +137 -0
- py4heappe/core/models/list_changed_files_for_job_model.py +136 -0
- py4heappe/core/models/list_jobs_for_current_user_model.py +110 -0
- py4heappe/core/models/modify_command_template_from_generic_model.py +292 -0
- py4heappe/core/models/modify_command_template_model.py +292 -0
- py4heappe/core/models/modify_command_template_parameter_model.py +214 -0
- py4heappe/core/models/modify_project_assignment_to_cluster_model.py +188 -0
- py4heappe/core/models/modify_project_model.py +292 -0
- py4heappe/core/models/node_used_cores_and_limitation_ext.py +110 -0
- py4heappe/core/models/open_id_credentials_ext.py +137 -0
- py4heappe/core/models/open_stack_application_credentials_ext.py +136 -0
- py4heappe/core/models/password_credentials_ext.py +136 -0
- py4heappe/core/models/problem_details.py +89 -0
- py4heappe/core/models/project.py +482 -0
- py4heappe/core/models/project_contact.py +215 -0
- py4heappe/core/models/project_detailed_report_ext.py +292 -0
- py4heappe/core/models/project_ext.py +266 -0
- py4heappe/core/models/project_for_task_ext.py +214 -0
- py4heappe/core/models/project_list_report_ext.py +214 -0
- py4heappe/core/models/project_reference_ext.py +137 -0
- py4heappe/core/models/project_report_ext.py +240 -0
- py4heappe/core/models/project_resource_usage_ext.py +266 -0
- py4heappe/core/models/proxy_type.py +91 -0
- py4heappe/core/models/proxy_type_ext.py +91 -0
- py4heappe/core/models/public_key_ext.py +188 -0
- py4heappe/core/models/recreate_secure_shell_key_model.py +214 -0
- py4heappe/core/models/regenerate_secure_shell_key_model.py +188 -0
- py4heappe/core/models/regenerate_secure_shell_key_model_obsolete.py +188 -0
- py4heappe/core/models/remove_command_template_model.py +136 -0
- py4heappe/core/models/remove_command_template_parameter_model.py +136 -0
- py4heappe/core/models/remove_project_assignment_to_cluster_model.py +162 -0
- py4heappe/core/models/remove_project_model.py +136 -0
- py4heappe/core/models/remove_secure_shell_key_model.py +162 -0
- py4heappe/core/models/remove_secure_shell_key_model_obsolete.py +162 -0
- py4heappe/core/models/resource_allocation_type_ext.py +91 -0
- py4heappe/core/models/resource_limitation_ext.py +136 -0
- py4heappe/core/models/resource_usage_ext.py +163 -0
- py4heappe/core/models/scheduler_type.py +92 -0
- py4heappe/core/models/ssh_key_user_credentials_model.py +136 -0
- py4heappe/core/models/submit_job_model.py +136 -0
- py4heappe/core/models/submitted_job_info_ext.py +318 -0
- py4heappe/core/models/submitted_task_info_ext.py +370 -0
- py4heappe/core/models/synchronizable_files_ext.py +92 -0
- py4heappe/core/models/task_detailed_report_ext.py +318 -0
- py4heappe/core/models/task_file_offset_ext.py +162 -0
- py4heappe/core/models/task_paralization_parameter_ext.py +162 -0
- py4heappe/core/models/task_priority_ext.py +97 -0
- py4heappe/core/models/task_report_ext.py +266 -0
- py4heappe/core/models/task_specification_ext.py +682 -0
- py4heappe/core/models/task_state_ext.py +95 -0
- py4heappe/core/models/test_cluster_access_for_account_model.py +162 -0
- py4heappe/core/models/test_cluster_access_for_account_model_obsolete.py +162 -0
- py4heappe/core/models/unauthorized_result.py +110 -0
- py4heappe/core/models/usage_type.py +90 -0
- py4heappe/core/models/usage_type_ext.py +90 -0
- py4heappe/core/models/user_group_detailed_report_ext.py +240 -0
- py4heappe/core/models/user_group_list_report_ext.py +240 -0
- py4heappe/core/models/user_group_report_ext.py +240 -0
- py4heappe/core/models/version_information_ext.py +162 -0
- py4heappe/core/rest.py +311 -0
- py4heappe-1.0.0.dist-info/METADATA +147 -0
- py4heappe-1.0.0.dist-info/RECORD +183 -0
- py4heappe-1.0.0.dist-info/WHEEL +5 -0
- py4heappe-1.0.0.dist-info/entry_points.txt +2 -0
- py4heappe-1.0.0.dist-info/licenses/LICENSE +20 -0
- py4heappe-1.0.0.dist-info/top_level.txt +3 -0
- 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 PasswordCredentialsExt(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
|
+
'username': 'str',
|
|
32
|
+
'password': 'str'
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
attribute_map = {
|
|
36
|
+
'username': 'Username',
|
|
37
|
+
'password': 'Password'
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
def __init__(self, username=None, password=None): # noqa: E501
|
|
41
|
+
"""PasswordCredentialsExt - a model defined in Swagger""" # noqa: E501
|
|
42
|
+
self._username = None
|
|
43
|
+
self._password = None
|
|
44
|
+
self.discriminator = None
|
|
45
|
+
if username is not None:
|
|
46
|
+
self.username = username
|
|
47
|
+
if password is not None:
|
|
48
|
+
self.password = password
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
def username(self):
|
|
52
|
+
"""Gets the username of this PasswordCredentialsExt. # noqa: E501
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
:return: The username of this PasswordCredentialsExt. # noqa: E501
|
|
56
|
+
:rtype: str
|
|
57
|
+
"""
|
|
58
|
+
return self._username
|
|
59
|
+
|
|
60
|
+
@username.setter
|
|
61
|
+
def username(self, username):
|
|
62
|
+
"""Sets the username of this PasswordCredentialsExt.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
:param username: The username of this PasswordCredentialsExt. # noqa: E501
|
|
66
|
+
:type: str
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
self._username = username
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def password(self):
|
|
73
|
+
"""Gets the password of this PasswordCredentialsExt. # noqa: E501
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
:return: The password of this PasswordCredentialsExt. # noqa: E501
|
|
77
|
+
:rtype: str
|
|
78
|
+
"""
|
|
79
|
+
return self._password
|
|
80
|
+
|
|
81
|
+
@password.setter
|
|
82
|
+
def password(self, password):
|
|
83
|
+
"""Sets the password of this PasswordCredentialsExt.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
:param password: The password of this PasswordCredentialsExt. # noqa: E501
|
|
87
|
+
:type: str
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
self._password = password
|
|
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(PasswordCredentialsExt, 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, PasswordCredentialsExt):
|
|
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,89 @@
|
|
|
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 ProblemDetails(dict):
|
|
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
|
+
}
|
|
32
|
+
if hasattr(dict, "swagger_types"):
|
|
33
|
+
swagger_types.update(dict.swagger_types)
|
|
34
|
+
|
|
35
|
+
attribute_map = {
|
|
36
|
+
}
|
|
37
|
+
if hasattr(dict, "attribute_map"):
|
|
38
|
+
attribute_map.update(dict.attribute_map)
|
|
39
|
+
|
|
40
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
|
41
|
+
"""ProblemDetails - a model defined in Swagger""" # noqa: E501
|
|
42
|
+
self.discriminator = None
|
|
43
|
+
dict.__init__(self, *args, **kwargs)
|
|
44
|
+
|
|
45
|
+
def to_dict(self):
|
|
46
|
+
"""Returns the model properties as a dict"""
|
|
47
|
+
result = {}
|
|
48
|
+
|
|
49
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
50
|
+
value = getattr(self, attr)
|
|
51
|
+
if isinstance(value, list):
|
|
52
|
+
result[attr] = list(map(
|
|
53
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
54
|
+
value
|
|
55
|
+
))
|
|
56
|
+
elif hasattr(value, "to_dict"):
|
|
57
|
+
result[attr] = value.to_dict()
|
|
58
|
+
elif isinstance(value, dict):
|
|
59
|
+
result[attr] = dict(map(
|
|
60
|
+
lambda item: (item[0], item[1].to_dict())
|
|
61
|
+
if hasattr(item[1], "to_dict") else item,
|
|
62
|
+
value.items()
|
|
63
|
+
))
|
|
64
|
+
else:
|
|
65
|
+
result[attr] = value
|
|
66
|
+
if issubclass(ProblemDetails, dict):
|
|
67
|
+
for key, value in self.items():
|
|
68
|
+
result[key] = value
|
|
69
|
+
|
|
70
|
+
return result
|
|
71
|
+
|
|
72
|
+
def to_str(self):
|
|
73
|
+
"""Returns the string representation of the model"""
|
|
74
|
+
return pprint.pformat(self.to_dict())
|
|
75
|
+
|
|
76
|
+
def __repr__(self):
|
|
77
|
+
"""For `print` and `pprint`"""
|
|
78
|
+
return self.to_str()
|
|
79
|
+
|
|
80
|
+
def __eq__(self, other):
|
|
81
|
+
"""Returns true if both objects are equal"""
|
|
82
|
+
if not isinstance(other, ProblemDetails):
|
|
83
|
+
return False
|
|
84
|
+
|
|
85
|
+
return self.__dict__ == other.__dict__
|
|
86
|
+
|
|
87
|
+
def __ne__(self, other):
|
|
88
|
+
"""Returns true if both objects are not equal"""
|
|
89
|
+
return not self == other
|
|
@@ -0,0 +1,482 @@
|
|
|
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 Project(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
|
+
'accounting_string': 'str',
|
|
35
|
+
'start_date': 'datetime',
|
|
36
|
+
'end_date': 'datetime',
|
|
37
|
+
'created_at': 'datetime',
|
|
38
|
+
'modified_at': 'datetime',
|
|
39
|
+
'is_deleted': 'bool',
|
|
40
|
+
'use_accounting_string_for_scheduler': 'bool',
|
|
41
|
+
'usage_type': 'UsageType',
|
|
42
|
+
'adaptor_user_groups': 'list[AdaptorUserGroup]',
|
|
43
|
+
'cluster_projects': 'list[ClusterProject]',
|
|
44
|
+
'command_templates': 'list[CommandTemplate]',
|
|
45
|
+
'project_contacts': 'list[ProjectContact]'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
attribute_map = {
|
|
49
|
+
'id': 'Id',
|
|
50
|
+
'name': 'Name',
|
|
51
|
+
'description': 'Description',
|
|
52
|
+
'accounting_string': 'AccountingString',
|
|
53
|
+
'start_date': 'StartDate',
|
|
54
|
+
'end_date': 'EndDate',
|
|
55
|
+
'created_at': 'CreatedAt',
|
|
56
|
+
'modified_at': 'ModifiedAt',
|
|
57
|
+
'is_deleted': 'IsDeleted',
|
|
58
|
+
'use_accounting_string_for_scheduler': 'UseAccountingStringForScheduler',
|
|
59
|
+
'usage_type': 'UsageType',
|
|
60
|
+
'adaptor_user_groups': 'AdaptorUserGroups',
|
|
61
|
+
'cluster_projects': 'ClusterProjects',
|
|
62
|
+
'command_templates': 'CommandTemplates',
|
|
63
|
+
'project_contacts': 'ProjectContacts'
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
def __init__(self, id=None, name=None, description=None, accounting_string=None, start_date=None, end_date=None, created_at=None, modified_at=None, is_deleted=None, use_accounting_string_for_scheduler=None, usage_type=None, adaptor_user_groups=None, cluster_projects=None, command_templates=None, project_contacts=None): # noqa: E501
|
|
67
|
+
"""Project - a model defined in Swagger""" # noqa: E501
|
|
68
|
+
self._id = None
|
|
69
|
+
self._name = None
|
|
70
|
+
self._description = None
|
|
71
|
+
self._accounting_string = None
|
|
72
|
+
self._start_date = None
|
|
73
|
+
self._end_date = None
|
|
74
|
+
self._created_at = None
|
|
75
|
+
self._modified_at = None
|
|
76
|
+
self._is_deleted = None
|
|
77
|
+
self._use_accounting_string_for_scheduler = None
|
|
78
|
+
self._usage_type = None
|
|
79
|
+
self._adaptor_user_groups = None
|
|
80
|
+
self._cluster_projects = None
|
|
81
|
+
self._command_templates = None
|
|
82
|
+
self._project_contacts = None
|
|
83
|
+
self.discriminator = None
|
|
84
|
+
if id is not None:
|
|
85
|
+
self.id = id
|
|
86
|
+
self.name = name
|
|
87
|
+
if description is not None:
|
|
88
|
+
self.description = description
|
|
89
|
+
self.accounting_string = accounting_string
|
|
90
|
+
self.start_date = start_date
|
|
91
|
+
self.end_date = end_date
|
|
92
|
+
self.created_at = created_at
|
|
93
|
+
if modified_at is not None:
|
|
94
|
+
self.modified_at = modified_at
|
|
95
|
+
self.is_deleted = is_deleted
|
|
96
|
+
self.use_accounting_string_for_scheduler = use_accounting_string_for_scheduler
|
|
97
|
+
self.usage_type = usage_type
|
|
98
|
+
if adaptor_user_groups is not None:
|
|
99
|
+
self.adaptor_user_groups = adaptor_user_groups
|
|
100
|
+
if cluster_projects is not None:
|
|
101
|
+
self.cluster_projects = cluster_projects
|
|
102
|
+
if command_templates is not None:
|
|
103
|
+
self.command_templates = command_templates
|
|
104
|
+
if project_contacts is not None:
|
|
105
|
+
self.project_contacts = project_contacts
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def id(self):
|
|
109
|
+
"""Gets the id of this Project. # noqa: E501
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
:return: The id of this Project. # noqa: E501
|
|
113
|
+
:rtype: int
|
|
114
|
+
"""
|
|
115
|
+
return self._id
|
|
116
|
+
|
|
117
|
+
@id.setter
|
|
118
|
+
def id(self, id):
|
|
119
|
+
"""Sets the id of this Project.
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
:param id: The id of this Project. # noqa: E501
|
|
123
|
+
:type: int
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
self._id = id
|
|
127
|
+
|
|
128
|
+
@property
|
|
129
|
+
def name(self):
|
|
130
|
+
"""Gets the name of this Project. # noqa: E501
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
:return: The name of this Project. # noqa: E501
|
|
134
|
+
:rtype: str
|
|
135
|
+
"""
|
|
136
|
+
return self._name
|
|
137
|
+
|
|
138
|
+
@name.setter
|
|
139
|
+
def name(self, name):
|
|
140
|
+
"""Sets the name of this Project.
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
:param name: The name of this Project. # noqa: E501
|
|
144
|
+
:type: str
|
|
145
|
+
"""
|
|
146
|
+
if name is None:
|
|
147
|
+
raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
|
|
148
|
+
|
|
149
|
+
self._name = name
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def description(self):
|
|
153
|
+
"""Gets the description of this Project. # noqa: E501
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
:return: The description of this Project. # noqa: E501
|
|
157
|
+
:rtype: str
|
|
158
|
+
"""
|
|
159
|
+
return self._description
|
|
160
|
+
|
|
161
|
+
@description.setter
|
|
162
|
+
def description(self, description):
|
|
163
|
+
"""Sets the description of this Project.
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
:param description: The description of this Project. # noqa: E501
|
|
167
|
+
:type: str
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
self._description = description
|
|
171
|
+
|
|
172
|
+
@property
|
|
173
|
+
def accounting_string(self):
|
|
174
|
+
"""Gets the accounting_string of this Project. # noqa: E501
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
:return: The accounting_string of this Project. # noqa: E501
|
|
178
|
+
:rtype: str
|
|
179
|
+
"""
|
|
180
|
+
return self._accounting_string
|
|
181
|
+
|
|
182
|
+
@accounting_string.setter
|
|
183
|
+
def accounting_string(self, accounting_string):
|
|
184
|
+
"""Sets the accounting_string of this Project.
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
:param accounting_string: The accounting_string of this Project. # noqa: E501
|
|
188
|
+
:type: str
|
|
189
|
+
"""
|
|
190
|
+
if accounting_string is None:
|
|
191
|
+
raise ValueError("Invalid value for `accounting_string`, must not be `None`") # noqa: E501
|
|
192
|
+
|
|
193
|
+
self._accounting_string = accounting_string
|
|
194
|
+
|
|
195
|
+
@property
|
|
196
|
+
def start_date(self):
|
|
197
|
+
"""Gets the start_date of this Project. # noqa: E501
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
:return: The start_date of this Project. # noqa: E501
|
|
201
|
+
:rtype: datetime
|
|
202
|
+
"""
|
|
203
|
+
return self._start_date
|
|
204
|
+
|
|
205
|
+
@start_date.setter
|
|
206
|
+
def start_date(self, start_date):
|
|
207
|
+
"""Sets the start_date of this Project.
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
:param start_date: The start_date of this Project. # noqa: E501
|
|
211
|
+
:type: datetime
|
|
212
|
+
"""
|
|
213
|
+
if start_date is None:
|
|
214
|
+
raise ValueError("Invalid value for `start_date`, must not be `None`") # noqa: E501
|
|
215
|
+
|
|
216
|
+
self._start_date = start_date
|
|
217
|
+
|
|
218
|
+
@property
|
|
219
|
+
def end_date(self):
|
|
220
|
+
"""Gets the end_date of this Project. # noqa: E501
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
:return: The end_date of this Project. # noqa: E501
|
|
224
|
+
:rtype: datetime
|
|
225
|
+
"""
|
|
226
|
+
return self._end_date
|
|
227
|
+
|
|
228
|
+
@end_date.setter
|
|
229
|
+
def end_date(self, end_date):
|
|
230
|
+
"""Sets the end_date of this Project.
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
:param end_date: The end_date of this Project. # noqa: E501
|
|
234
|
+
:type: datetime
|
|
235
|
+
"""
|
|
236
|
+
if end_date is None:
|
|
237
|
+
raise ValueError("Invalid value for `end_date`, must not be `None`") # noqa: E501
|
|
238
|
+
|
|
239
|
+
self._end_date = end_date
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def created_at(self):
|
|
243
|
+
"""Gets the created_at of this Project. # noqa: E501
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
:return: The created_at of this Project. # noqa: E501
|
|
247
|
+
:rtype: datetime
|
|
248
|
+
"""
|
|
249
|
+
return self._created_at
|
|
250
|
+
|
|
251
|
+
@created_at.setter
|
|
252
|
+
def created_at(self, created_at):
|
|
253
|
+
"""Sets the created_at of this Project.
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
:param created_at: The created_at of this Project. # noqa: E501
|
|
257
|
+
:type: datetime
|
|
258
|
+
"""
|
|
259
|
+
if created_at is None:
|
|
260
|
+
raise ValueError("Invalid value for `created_at`, must not be `None`") # noqa: E501
|
|
261
|
+
|
|
262
|
+
self._created_at = created_at
|
|
263
|
+
|
|
264
|
+
@property
|
|
265
|
+
def modified_at(self):
|
|
266
|
+
"""Gets the modified_at of this Project. # noqa: E501
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
:return: The modified_at of this Project. # noqa: E501
|
|
270
|
+
:rtype: datetime
|
|
271
|
+
"""
|
|
272
|
+
return self._modified_at
|
|
273
|
+
|
|
274
|
+
@modified_at.setter
|
|
275
|
+
def modified_at(self, modified_at):
|
|
276
|
+
"""Sets the modified_at of this Project.
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
:param modified_at: The modified_at of this Project. # noqa: E501
|
|
280
|
+
:type: datetime
|
|
281
|
+
"""
|
|
282
|
+
|
|
283
|
+
self._modified_at = modified_at
|
|
284
|
+
|
|
285
|
+
@property
|
|
286
|
+
def is_deleted(self):
|
|
287
|
+
"""Gets the is_deleted of this Project. # noqa: E501
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
:return: The is_deleted of this Project. # noqa: E501
|
|
291
|
+
:rtype: bool
|
|
292
|
+
"""
|
|
293
|
+
return self._is_deleted
|
|
294
|
+
|
|
295
|
+
@is_deleted.setter
|
|
296
|
+
def is_deleted(self, is_deleted):
|
|
297
|
+
"""Sets the is_deleted of this Project.
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
:param is_deleted: The is_deleted of this Project. # noqa: E501
|
|
301
|
+
:type: bool
|
|
302
|
+
"""
|
|
303
|
+
if is_deleted is None:
|
|
304
|
+
raise ValueError("Invalid value for `is_deleted`, must not be `None`") # noqa: E501
|
|
305
|
+
|
|
306
|
+
self._is_deleted = is_deleted
|
|
307
|
+
|
|
308
|
+
@property
|
|
309
|
+
def use_accounting_string_for_scheduler(self):
|
|
310
|
+
"""Gets the use_accounting_string_for_scheduler of this Project. # noqa: E501
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
:return: The use_accounting_string_for_scheduler of this Project. # noqa: E501
|
|
314
|
+
:rtype: bool
|
|
315
|
+
"""
|
|
316
|
+
return self._use_accounting_string_for_scheduler
|
|
317
|
+
|
|
318
|
+
@use_accounting_string_for_scheduler.setter
|
|
319
|
+
def use_accounting_string_for_scheduler(self, use_accounting_string_for_scheduler):
|
|
320
|
+
"""Sets the use_accounting_string_for_scheduler of this Project.
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
:param use_accounting_string_for_scheduler: The use_accounting_string_for_scheduler of this Project. # noqa: E501
|
|
324
|
+
:type: bool
|
|
325
|
+
"""
|
|
326
|
+
if use_accounting_string_for_scheduler is None:
|
|
327
|
+
raise ValueError("Invalid value for `use_accounting_string_for_scheduler`, must not be `None`") # noqa: E501
|
|
328
|
+
|
|
329
|
+
self._use_accounting_string_for_scheduler = use_accounting_string_for_scheduler
|
|
330
|
+
|
|
331
|
+
@property
|
|
332
|
+
def usage_type(self):
|
|
333
|
+
"""Gets the usage_type of this Project. # noqa: E501
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
:return: The usage_type of this Project. # noqa: E501
|
|
337
|
+
:rtype: UsageType
|
|
338
|
+
"""
|
|
339
|
+
return self._usage_type
|
|
340
|
+
|
|
341
|
+
@usage_type.setter
|
|
342
|
+
def usage_type(self, usage_type):
|
|
343
|
+
"""Sets the usage_type of this Project.
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
:param usage_type: The usage_type of this Project. # noqa: E501
|
|
347
|
+
:type: UsageType
|
|
348
|
+
"""
|
|
349
|
+
if usage_type is None:
|
|
350
|
+
raise ValueError("Invalid value for `usage_type`, must not be `None`") # noqa: E501
|
|
351
|
+
|
|
352
|
+
self._usage_type = usage_type
|
|
353
|
+
|
|
354
|
+
@property
|
|
355
|
+
def adaptor_user_groups(self):
|
|
356
|
+
"""Gets the adaptor_user_groups of this Project. # noqa: E501
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
:return: The adaptor_user_groups of this Project. # noqa: E501
|
|
360
|
+
:rtype: list[AdaptorUserGroup]
|
|
361
|
+
"""
|
|
362
|
+
return self._adaptor_user_groups
|
|
363
|
+
|
|
364
|
+
@adaptor_user_groups.setter
|
|
365
|
+
def adaptor_user_groups(self, adaptor_user_groups):
|
|
366
|
+
"""Sets the adaptor_user_groups of this Project.
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
:param adaptor_user_groups: The adaptor_user_groups of this Project. # noqa: E501
|
|
370
|
+
:type: list[AdaptorUserGroup]
|
|
371
|
+
"""
|
|
372
|
+
|
|
373
|
+
self._adaptor_user_groups = adaptor_user_groups
|
|
374
|
+
|
|
375
|
+
@property
|
|
376
|
+
def cluster_projects(self):
|
|
377
|
+
"""Gets the cluster_projects of this Project. # noqa: E501
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
:return: The cluster_projects of this Project. # noqa: E501
|
|
381
|
+
:rtype: list[ClusterProject]
|
|
382
|
+
"""
|
|
383
|
+
return self._cluster_projects
|
|
384
|
+
|
|
385
|
+
@cluster_projects.setter
|
|
386
|
+
def cluster_projects(self, cluster_projects):
|
|
387
|
+
"""Sets the cluster_projects of this Project.
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
:param cluster_projects: The cluster_projects of this Project. # noqa: E501
|
|
391
|
+
:type: list[ClusterProject]
|
|
392
|
+
"""
|
|
393
|
+
|
|
394
|
+
self._cluster_projects = cluster_projects
|
|
395
|
+
|
|
396
|
+
@property
|
|
397
|
+
def command_templates(self):
|
|
398
|
+
"""Gets the command_templates of this Project. # noqa: E501
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
:return: The command_templates of this Project. # noqa: E501
|
|
402
|
+
:rtype: list[CommandTemplate]
|
|
403
|
+
"""
|
|
404
|
+
return self._command_templates
|
|
405
|
+
|
|
406
|
+
@command_templates.setter
|
|
407
|
+
def command_templates(self, command_templates):
|
|
408
|
+
"""Sets the command_templates of this Project.
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
:param command_templates: The command_templates of this Project. # noqa: E501
|
|
412
|
+
:type: list[CommandTemplate]
|
|
413
|
+
"""
|
|
414
|
+
|
|
415
|
+
self._command_templates = command_templates
|
|
416
|
+
|
|
417
|
+
@property
|
|
418
|
+
def project_contacts(self):
|
|
419
|
+
"""Gets the project_contacts of this Project. # noqa: E501
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
:return: The project_contacts of this Project. # noqa: E501
|
|
423
|
+
:rtype: list[ProjectContact]
|
|
424
|
+
"""
|
|
425
|
+
return self._project_contacts
|
|
426
|
+
|
|
427
|
+
@project_contacts.setter
|
|
428
|
+
def project_contacts(self, project_contacts):
|
|
429
|
+
"""Sets the project_contacts of this Project.
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
:param project_contacts: The project_contacts of this Project. # noqa: E501
|
|
433
|
+
:type: list[ProjectContact]
|
|
434
|
+
"""
|
|
435
|
+
|
|
436
|
+
self._project_contacts = project_contacts
|
|
437
|
+
|
|
438
|
+
def to_dict(self):
|
|
439
|
+
"""Returns the model properties as a dict"""
|
|
440
|
+
result = {}
|
|
441
|
+
|
|
442
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
443
|
+
value = getattr(self, attr)
|
|
444
|
+
if isinstance(value, list):
|
|
445
|
+
result[attr] = list(map(
|
|
446
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
447
|
+
value
|
|
448
|
+
))
|
|
449
|
+
elif hasattr(value, "to_dict"):
|
|
450
|
+
result[attr] = value.to_dict()
|
|
451
|
+
elif isinstance(value, dict):
|
|
452
|
+
result[attr] = dict(map(
|
|
453
|
+
lambda item: (item[0], item[1].to_dict())
|
|
454
|
+
if hasattr(item[1], "to_dict") else item,
|
|
455
|
+
value.items()
|
|
456
|
+
))
|
|
457
|
+
else:
|
|
458
|
+
result[attr] = value
|
|
459
|
+
if issubclass(Project, dict):
|
|
460
|
+
for key, value in self.items():
|
|
461
|
+
result[key] = value
|
|
462
|
+
|
|
463
|
+
return result
|
|
464
|
+
|
|
465
|
+
def to_str(self):
|
|
466
|
+
"""Returns the string representation of the model"""
|
|
467
|
+
return pprint.pformat(self.to_dict())
|
|
468
|
+
|
|
469
|
+
def __repr__(self):
|
|
470
|
+
"""For `print` and `pprint`"""
|
|
471
|
+
return self.to_str()
|
|
472
|
+
|
|
473
|
+
def __eq__(self, other):
|
|
474
|
+
"""Returns true if both objects are equal"""
|
|
475
|
+
if not isinstance(other, Project):
|
|
476
|
+
return False
|
|
477
|
+
|
|
478
|
+
return self.__dict__ == other.__dict__
|
|
479
|
+
|
|
480
|
+
def __ne__(self, other):
|
|
481
|
+
"""Returns true if both objects are not equal"""
|
|
482
|
+
return not self == other
|