huaweicloudsdkmrs 3.1.160__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.
- huaweicloudsdkmrs/__init__.py +0 -0
- huaweicloudsdkmrs/v1/__init__.py +87 -0
- huaweicloudsdkmrs/v1/model/__init__.py +84 -0
- huaweicloudsdkmrs/v1/model/add_jobs_req_v11.py +431 -0
- huaweicloudsdkmrs/v1/model/auto_scaling_policy.py +257 -0
- huaweicloudsdkmrs/v1/model/auto_scaling_policy_req_v11.py +138 -0
- huaweicloudsdkmrs/v1/model/available_tag.py +173 -0
- huaweicloudsdkmrs/v1/model/available_zone_v2.py +343 -0
- huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_req.py +142 -0
- huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_request.py +139 -0
- huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_response.py +85 -0
- huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_req.py +142 -0
- huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_request.py +139 -0
- huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_response.py +85 -0
- huaweicloudsdkmrs/v1/model/bootstrap_script.py +372 -0
- huaweicloudsdkmrs/v1/model/cluster.py +2058 -0
- huaweicloudsdkmrs/v1/model/cluster_scaling_params.py +340 -0
- huaweicloudsdkmrs/v1/model/cluster_scaling_req.py +197 -0
- huaweicloudsdkmrs/v1/model/component_amb.py +202 -0
- huaweicloudsdkmrs/v1/model/component_amb_v11.py +114 -0
- huaweicloudsdkmrs/v1/model/component_external_datasource.py +144 -0
- huaweicloudsdkmrs/v1/model/create_and_execute_job_request.py +111 -0
- huaweicloudsdkmrs/v1/model/create_and_execute_job_response.py +1334 -0
- huaweicloudsdkmrs/v1/model/create_cluster_req_v11.py +1119 -0
- huaweicloudsdkmrs/v1/model/create_cluster_request.py +111 -0
- huaweicloudsdkmrs/v1/model/create_cluster_response.py +174 -0
- huaweicloudsdkmrs/v1/model/create_cluster_tag_request.py +139 -0
- huaweicloudsdkmrs/v1/model/create_cluster_tag_response.py +85 -0
- huaweicloudsdkmrs/v1/model/create_scaling_policy_request.py +139 -0
- huaweicloudsdkmrs/v1/model/create_scaling_policy_response.py +116 -0
- huaweicloudsdkmrs/v1/model/create_tag_req.py +110 -0
- huaweicloudsdkmrs/v1/model/delete_cluster_request.py +114 -0
- huaweicloudsdkmrs/v1/model/delete_cluster_response.py +112 -0
- huaweicloudsdkmrs/v1/model/delete_cluster_tag_request.py +142 -0
- huaweicloudsdkmrs/v1/model/delete_cluster_tag_response.py +85 -0
- huaweicloudsdkmrs/v1/model/delete_job_execution_request.py +114 -0
- huaweicloudsdkmrs/v1/model/delete_job_execution_response.py +85 -0
- huaweicloudsdkmrs/v1/model/flavor_lists.py +173 -0
- huaweicloudsdkmrs/v1/model/host_model.py +550 -0
- huaweicloudsdkmrs/v1/model/job_exe_result.py +1011 -0
- huaweicloudsdkmrs/v1/model/list_all_tags_request.py +84 -0
- huaweicloudsdkmrs/v1/model/list_all_tags_response.py +116 -0
- huaweicloudsdkmrs/v1/model/list_available_zones_request.py +143 -0
- huaweicloudsdkmrs/v1/model/list_available_zones_response.py +174 -0
- huaweicloudsdkmrs/v1/model/list_cluster_tags_request.py +114 -0
- huaweicloudsdkmrs/v1/model/list_cluster_tags_response.py +116 -0
- huaweicloudsdkmrs/v1/model/list_clusters_by_tags_request.py +111 -0
- huaweicloudsdkmrs/v1/model/list_clusters_by_tags_response.py +145 -0
- huaweicloudsdkmrs/v1/model/list_clusters_request.py +260 -0
- huaweicloudsdkmrs/v1/model/list_clusters_response.py +145 -0
- huaweicloudsdkmrs/v1/model/list_execute_job_request.py +259 -0
- huaweicloudsdkmrs/v1/model/list_execute_job_response.py +145 -0
- huaweicloudsdkmrs/v1/model/list_hosts_request.py +172 -0
- huaweicloudsdkmrs/v1/model/list_hosts_response.py +145 -0
- huaweicloudsdkmrs/v1/model/list_resource_req.py +317 -0
- huaweicloudsdkmrs/v1/model/match.py +144 -0
- huaweicloudsdkmrs/v1/model/mrs_resource.py +202 -0
- huaweicloudsdkmrs/v1/model/node_constraint.py +376 -0
- huaweicloudsdkmrs/v1/model/node_constraints.py +315 -0
- huaweicloudsdkmrs/v1/model/node_group_v10.py +608 -0
- huaweicloudsdkmrs/v1/model/node_group_v11.py +340 -0
- huaweicloudsdkmrs/v1/model/resources_plan.py +226 -0
- huaweicloudsdkmrs/v1/model/role_deploy_meta.py +637 -0
- huaweicloudsdkmrs/v1/model/rule.py +251 -0
- huaweicloudsdkmrs/v1/model/scale_script.py +284 -0
- huaweicloudsdkmrs/v1/model/show_cluster_details_request.py +114 -0
- huaweicloudsdkmrs/v1/model/show_cluster_details_response.py +112 -0
- huaweicloudsdkmrs/v1/model/show_job_exes_request.py +114 -0
- huaweicloudsdkmrs/v1/model/show_job_exes_response.py +112 -0
- huaweicloudsdkmrs/v1/model/show_mrs_version_metadata_request.py +143 -0
- huaweicloudsdkmrs/v1/model/show_mrs_version_metadata_response.py +456 -0
- huaweicloudsdkmrs/v1/model/submit_job_req_v11.py +402 -0
- huaweicloudsdkmrs/v1/model/tag.py +142 -0
- huaweicloudsdkmrs/v1/model/tag_plain.py +144 -0
- huaweicloudsdkmrs/v1/model/tag_with_multi_value.py +143 -0
- huaweicloudsdkmrs/v1/model/task_node_group.py +251 -0
- huaweicloudsdkmrs/v1/model/task_node_info.py +198 -0
- huaweicloudsdkmrs/v1/model/trigger.py +199 -0
- huaweicloudsdkmrs/v1/model/update_cluster_scaling_request.py +139 -0
- huaweicloudsdkmrs/v1/model/update_cluster_scaling_response.py +116 -0
- huaweicloudsdkmrs/v1/model/version_component.py +434 -0
- huaweicloudsdkmrs/v1/model/version_constraint.py +169 -0
- huaweicloudsdkmrs/v1/mrs_async_client.py +1467 -0
- huaweicloudsdkmrs/v1/mrs_client.py +1464 -0
- huaweicloudsdkmrs/v1/region/__init__.py +0 -0
- huaweicloudsdkmrs/v1/region/mrs_region.py +103 -0
- huaweicloudsdkmrs/v2/__init__.py +126 -0
- huaweicloudsdkmrs/v2/model/__init__.py +123 -0
- huaweicloudsdkmrs/v2/model/add_component_request.py +139 -0
- huaweicloudsdkmrs/v2/model/add_component_response.py +116 -0
- huaweicloudsdkmrs/v2/model/add_components_req.py +114 -0
- huaweicloudsdkmrs/v2/model/add_jobs_req_v11.py +431 -0
- huaweicloudsdkmrs/v2/model/agency_mapping.py +198 -0
- huaweicloudsdkmrs/v2/model/agency_mapping_array.py +114 -0
- huaweicloudsdkmrs/v2/model/assigned_node_group.py +142 -0
- huaweicloudsdkmrs/v2/model/auto_scaling_policy.py +257 -0
- huaweicloudsdkmrs/v2/model/auto_scaling_policy_delete_req.py +142 -0
- huaweicloudsdkmrs/v2/model/auto_scaling_policy_info.py +257 -0
- huaweicloudsdkmrs/v2/model/auto_scaling_policy_v2.py +167 -0
- huaweicloudsdkmrs/v2/model/az_flavors.py +231 -0
- huaweicloudsdkmrs/v2/model/batch_delete_jobs_request.py +139 -0
- huaweicloudsdkmrs/v2/model/batch_delete_jobs_response.py +85 -0
- huaweicloudsdkmrs/v2/model/bootstrap_script.py +372 -0
- huaweicloudsdkmrs/v2/model/cancel_sql_request.py +142 -0
- huaweicloudsdkmrs/v2/model/cancel_sql_response.py +145 -0
- huaweicloudsdkmrs/v2/model/cancel_sync_iam_user_request.py +139 -0
- huaweicloudsdkmrs/v2/model/cancel_sync_iam_user_response.py +116 -0
- huaweicloudsdkmrs/v2/model/cancel_sync_request.py +144 -0
- huaweicloudsdkmrs/v2/model/charge_info.py +201 -0
- huaweicloudsdkmrs/v2/model/cluster_data_connector_map.py +289 -0
- huaweicloudsdkmrs/v2/model/cluster_node.py +396 -0
- huaweicloudsdkmrs/v2/model/component_config.py +143 -0
- huaweicloudsdkmrs/v2/model/component_info.py +521 -0
- huaweicloudsdkmrs/v2/model/component_install_mode.py +200 -0
- huaweicloudsdkmrs/v2/model/config.py +170 -0
- huaweicloudsdkmrs/v2/model/create_auto_scaling_policy_request.py +139 -0
- huaweicloudsdkmrs/v2/model/create_auto_scaling_policy_response.py +85 -0
- huaweicloudsdkmrs/v2/model/create_cluster_req_v2.py +994 -0
- huaweicloudsdkmrs/v2/model/create_cluster_request.py +111 -0
- huaweicloudsdkmrs/v2/model/create_cluster_response.py +116 -0
- huaweicloudsdkmrs/v2/model/create_data_connector_request.py +111 -0
- huaweicloudsdkmrs/v2/model/create_data_connector_response.py +116 -0
- huaweicloudsdkmrs/v2/model/create_execute_job_request.py +139 -0
- huaweicloudsdkmrs/v2/model/create_execute_job_response.py +112 -0
- huaweicloudsdkmrs/v2/model/data_connector.py +170 -0
- huaweicloudsdkmrs/v2/model/data_connector_detail.py +460 -0
- huaweicloudsdkmrs/v2/model/data_connector_req.py +110 -0
- huaweicloudsdkmrs/v2/model/delete_auto_scaling_policy_request.py +139 -0
- huaweicloudsdkmrs/v2/model/delete_auto_scaling_policy_response.py +85 -0
- huaweicloudsdkmrs/v2/model/delete_data_connector_request.py +114 -0
- huaweicloudsdkmrs/v2/model/delete_data_connector_response.py +85 -0
- huaweicloudsdkmrs/v2/model/execute_sql_request.py +139 -0
- huaweicloudsdkmrs/v2/model/execute_sql_response.py +261 -0
- huaweicloudsdkmrs/v2/model/expand_cluster_request.py +139 -0
- huaweicloudsdkmrs/v2/model/expand_cluster_response.py +145 -0
- huaweicloudsdkmrs/v2/model/expand_param.py +200 -0
- huaweicloudsdkmrs/v2/model/file_status_v2.py +405 -0
- huaweicloudsdkmrs/v2/model/flavor.py +115 -0
- huaweicloudsdkmrs/v2/model/job_batch_delete.py +115 -0
- huaweicloudsdkmrs/v2/model/job_execution.py +200 -0
- huaweicloudsdkmrs/v2/model/job_query_bean.py +579 -0
- huaweicloudsdkmrs/v2/model/job_submit_result.py +144 -0
- huaweicloudsdkmrs/v2/model/list_data_connector_request.py +260 -0
- huaweicloudsdkmrs/v2/model/list_data_connector_response.py +145 -0
- huaweicloudsdkmrs/v2/model/list_nodes_request.py +375 -0
- huaweicloudsdkmrs/v2/model/list_nodes_response.py +145 -0
- huaweicloudsdkmrs/v2/model/modify_default_tags_request_body.py +114 -0
- huaweicloudsdkmrs/v2/model/node_detail.py +376 -0
- huaweicloudsdkmrs/v2/model/node_group_v2.py +328 -0
- huaweicloudsdkmrs/v2/model/resources_plan.py +255 -0
- huaweicloudsdkmrs/v2/model/rule.py +251 -0
- huaweicloudsdkmrs/v2/model/run_job_flow_command.py +997 -0
- huaweicloudsdkmrs/v2/model/run_job_flow_request.py +111 -0
- huaweicloudsdkmrs/v2/model/run_job_flow_response.py +116 -0
- huaweicloudsdkmrs/v2/model/scale_script.py +284 -0
- huaweicloudsdkmrs/v2/model/server_info.py +340 -0
- huaweicloudsdkmrs/v2/model/show_agency_mapping_request.py +114 -0
- huaweicloudsdkmrs/v2/model/show_agency_mapping_response.py +116 -0
- huaweicloudsdkmrs/v2/model/show_auto_scaling_policy_request.py +114 -0
- huaweicloudsdkmrs/v2/model/show_auto_scaling_policy_response.py +116 -0
- huaweicloudsdkmrs/v2/model/show_hdfs_file_list_request.py +258 -0
- huaweicloudsdkmrs/v2/model/show_hdfs_file_list_response.py +145 -0
- huaweicloudsdkmrs/v2/model/show_job_exe_list_new_request.py +462 -0
- huaweicloudsdkmrs/v2/model/show_job_exe_list_new_response.py +145 -0
- huaweicloudsdkmrs/v2/model/show_mrs_flavors_request.py +143 -0
- huaweicloudsdkmrs/v2/model/show_mrs_flavors_response.py +145 -0
- huaweicloudsdkmrs/v2/model/show_mrs_version_list_request.py +84 -0
- huaweicloudsdkmrs/v2/model/show_mrs_version_list_response.py +116 -0
- huaweicloudsdkmrs/v2/model/show_single_job_exe_request.py +142 -0
- huaweicloudsdkmrs/v2/model/show_single_job_exe_response.py +112 -0
- huaweicloudsdkmrs/v2/model/show_sql_result_request.py +142 -0
- huaweicloudsdkmrs/v2/model/show_sql_result_response.py +261 -0
- huaweicloudsdkmrs/v2/model/show_sql_result_with_job_request.py +142 -0
- huaweicloudsdkmrs/v2/model/show_sql_result_with_job_response.py +116 -0
- huaweicloudsdkmrs/v2/model/show_sync_iam_user_request.py +114 -0
- huaweicloudsdkmrs/v2/model/show_sync_iam_user_response.py +145 -0
- huaweicloudsdkmrs/v2/model/show_tag_quota_request.py +143 -0
- huaweicloudsdkmrs/v2/model/show_tag_quota_response.py +145 -0
- huaweicloudsdkmrs/v2/model/show_tag_status_request.py +114 -0
- huaweicloudsdkmrs/v2/model/show_tag_status_response.py +145 -0
- huaweicloudsdkmrs/v2/model/shrink_cluster_request.py +139 -0
- huaweicloudsdkmrs/v2/model/shrink_cluster_response.py +116 -0
- huaweicloudsdkmrs/v2/model/shrink_param.py +172 -0
- huaweicloudsdkmrs/v2/model/smn_notify.py +144 -0
- huaweicloudsdkmrs/v2/model/sql_execution_req.py +200 -0
- huaweicloudsdkmrs/v2/model/step_config.py +110 -0
- huaweicloudsdkmrs/v2/model/stop_job_request.py +142 -0
- huaweicloudsdkmrs/v2/model/stop_job_response.py +85 -0
- huaweicloudsdkmrs/v2/model/switch_cluster_tags_request.py +139 -0
- huaweicloudsdkmrs/v2/model/switch_cluster_tags_response.py +85 -0
- huaweicloudsdkmrs/v2/model/tag.py +142 -0
- huaweicloudsdkmrs/v2/model/trigger.py +199 -0
- huaweicloudsdkmrs/v2/model/update_agency_mapping_request.py +139 -0
- huaweicloudsdkmrs/v2/model/update_agency_mapping_response.py +116 -0
- huaweicloudsdkmrs/v2/model/update_auto_scaling_policy_request.py +139 -0
- huaweicloudsdkmrs/v2/model/update_auto_scaling_policy_response.py +85 -0
- huaweicloudsdkmrs/v2/model/update_cluster_name_request.py +139 -0
- huaweicloudsdkmrs/v2/model/update_cluster_name_response.py +116 -0
- huaweicloudsdkmrs/v2/model/update_cluster_req.py +114 -0
- huaweicloudsdkmrs/v2/model/update_data_connector_request.py +139 -0
- huaweicloudsdkmrs/v2/model/update_data_connector_response.py +116 -0
- huaweicloudsdkmrs/v2/model/update_sync_iam_user_request.py +139 -0
- huaweicloudsdkmrs/v2/model/update_sync_iam_user_response.py +116 -0
- huaweicloudsdkmrs/v2/model/update_sync_request.py +173 -0
- huaweicloudsdkmrs/v2/model/volume.py +142 -0
- huaweicloudsdkmrs/v2/model/volume_info.py +170 -0
- huaweicloudsdkmrs/v2/mrs_async_client.py +2476 -0
- huaweicloudsdkmrs/v2/mrs_client.py +2473 -0
- huaweicloudsdkmrs/v2/region/__init__.py +0 -0
- huaweicloudsdkmrs/v2/region/mrs_region.py +103 -0
- huaweicloudsdkmrs-3.1.160.dist-info/LICENSE +13 -0
- huaweicloudsdkmrs-3.1.160.dist-info/METADATA +26 -0
- huaweicloudsdkmrs-3.1.160.dist-info/RECORD +215 -0
- huaweicloudsdkmrs-3.1.160.dist-info/WHEEL +5 -0
- huaweicloudsdkmrs-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,172 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
6
|
+
|
7
|
+
|
8
|
+
class ListHostsRequest:
|
9
|
+
|
10
|
+
"""
|
11
|
+
Attributes:
|
12
|
+
openapi_types (dict): The key is attribute name
|
13
|
+
and the value is attribute type.
|
14
|
+
attribute_map (dict): The key is attribute name
|
15
|
+
and the value is json key in definition.
|
16
|
+
"""
|
17
|
+
sensitive_list = []
|
18
|
+
|
19
|
+
openapi_types = {
|
20
|
+
'cluster_id': 'str',
|
21
|
+
'page_size': 'str',
|
22
|
+
'current_page': 'str'
|
23
|
+
}
|
24
|
+
|
25
|
+
attribute_map = {
|
26
|
+
'cluster_id': 'cluster_id',
|
27
|
+
'page_size': 'pageSize',
|
28
|
+
'current_page': 'currentPage'
|
29
|
+
}
|
30
|
+
|
31
|
+
def __init__(self, cluster_id=None, page_size=None, current_page=None):
|
32
|
+
r"""ListHostsRequest
|
33
|
+
|
34
|
+
The model defined in huaweicloud sdk
|
35
|
+
|
36
|
+
:param cluster_id: 集群ID。获取方法,请参见[获取集群ID](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)。
|
37
|
+
:type cluster_id: str
|
38
|
+
:param page_size: 分页查询每页返回的最大集群数量。 取值范围:[1~2147483646] 默认值为10。
|
39
|
+
:type page_size: str
|
40
|
+
:param current_page: 当前查询页码。默认值为1。
|
41
|
+
:type current_page: str
|
42
|
+
"""
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
self._cluster_id = None
|
47
|
+
self._page_size = None
|
48
|
+
self._current_page = None
|
49
|
+
self.discriminator = None
|
50
|
+
|
51
|
+
self.cluster_id = cluster_id
|
52
|
+
if page_size is not None:
|
53
|
+
self.page_size = page_size
|
54
|
+
if current_page is not None:
|
55
|
+
self.current_page = current_page
|
56
|
+
|
57
|
+
@property
|
58
|
+
def cluster_id(self):
|
59
|
+
r"""Gets the cluster_id of this ListHostsRequest.
|
60
|
+
|
61
|
+
集群ID。获取方法,请参见[获取集群ID](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)。
|
62
|
+
|
63
|
+
:return: The cluster_id of this ListHostsRequest.
|
64
|
+
:rtype: str
|
65
|
+
"""
|
66
|
+
return self._cluster_id
|
67
|
+
|
68
|
+
@cluster_id.setter
|
69
|
+
def cluster_id(self, cluster_id):
|
70
|
+
r"""Sets the cluster_id of this ListHostsRequest.
|
71
|
+
|
72
|
+
集群ID。获取方法,请参见[获取集群ID](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)。
|
73
|
+
|
74
|
+
:param cluster_id: The cluster_id of this ListHostsRequest.
|
75
|
+
:type cluster_id: str
|
76
|
+
"""
|
77
|
+
self._cluster_id = cluster_id
|
78
|
+
|
79
|
+
@property
|
80
|
+
def page_size(self):
|
81
|
+
r"""Gets the page_size of this ListHostsRequest.
|
82
|
+
|
83
|
+
分页查询每页返回的最大集群数量。 取值范围:[1~2147483646] 默认值为10。
|
84
|
+
|
85
|
+
:return: The page_size of this ListHostsRequest.
|
86
|
+
:rtype: str
|
87
|
+
"""
|
88
|
+
return self._page_size
|
89
|
+
|
90
|
+
@page_size.setter
|
91
|
+
def page_size(self, page_size):
|
92
|
+
r"""Sets the page_size of this ListHostsRequest.
|
93
|
+
|
94
|
+
分页查询每页返回的最大集群数量。 取值范围:[1~2147483646] 默认值为10。
|
95
|
+
|
96
|
+
:param page_size: The page_size of this ListHostsRequest.
|
97
|
+
:type page_size: str
|
98
|
+
"""
|
99
|
+
self._page_size = page_size
|
100
|
+
|
101
|
+
@property
|
102
|
+
def current_page(self):
|
103
|
+
r"""Gets the current_page of this ListHostsRequest.
|
104
|
+
|
105
|
+
当前查询页码。默认值为1。
|
106
|
+
|
107
|
+
:return: The current_page of this ListHostsRequest.
|
108
|
+
:rtype: str
|
109
|
+
"""
|
110
|
+
return self._current_page
|
111
|
+
|
112
|
+
@current_page.setter
|
113
|
+
def current_page(self, current_page):
|
114
|
+
r"""Sets the current_page of this ListHostsRequest.
|
115
|
+
|
116
|
+
当前查询页码。默认值为1。
|
117
|
+
|
118
|
+
:param current_page: The current_page of this ListHostsRequest.
|
119
|
+
:type current_page: str
|
120
|
+
"""
|
121
|
+
self._current_page = current_page
|
122
|
+
|
123
|
+
def to_dict(self):
|
124
|
+
"""Returns the model properties as a dict"""
|
125
|
+
result = {}
|
126
|
+
|
127
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
128
|
+
value = getattr(self, attr)
|
129
|
+
if isinstance(value, list):
|
130
|
+
result[attr] = list(map(
|
131
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
132
|
+
value
|
133
|
+
))
|
134
|
+
elif hasattr(value, "to_dict"):
|
135
|
+
result[attr] = value.to_dict()
|
136
|
+
elif isinstance(value, dict):
|
137
|
+
result[attr] = dict(map(
|
138
|
+
lambda item: (item[0], item[1].to_dict())
|
139
|
+
if hasattr(item[1], "to_dict") else item,
|
140
|
+
value.items()
|
141
|
+
))
|
142
|
+
else:
|
143
|
+
if attr in self.sensitive_list:
|
144
|
+
result[attr] = "****"
|
145
|
+
else:
|
146
|
+
result[attr] = value
|
147
|
+
|
148
|
+
return result
|
149
|
+
|
150
|
+
def to_str(self):
|
151
|
+
"""Returns the string representation of the model"""
|
152
|
+
import simplejson as json
|
153
|
+
if six.PY2:
|
154
|
+
import sys
|
155
|
+
reload(sys)
|
156
|
+
sys.setdefaultencoding("utf-8")
|
157
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
158
|
+
|
159
|
+
def __repr__(self):
|
160
|
+
"""For `print`"""
|
161
|
+
return self.to_str()
|
162
|
+
|
163
|
+
def __eq__(self, other):
|
164
|
+
"""Returns true if both objects are equal"""
|
165
|
+
if not isinstance(other, ListHostsRequest):
|
166
|
+
return False
|
167
|
+
|
168
|
+
return self.__dict__ == other.__dict__
|
169
|
+
|
170
|
+
def __ne__(self, other):
|
171
|
+
"""Returns true if both objects are not equal"""
|
172
|
+
return not self == other
|
@@ -0,0 +1,145 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.sdk_response import SdkResponse
|
6
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
7
|
+
|
8
|
+
|
9
|
+
class ListHostsResponse(SdkResponse):
|
10
|
+
|
11
|
+
"""
|
12
|
+
Attributes:
|
13
|
+
openapi_types (dict): The key is attribute name
|
14
|
+
and the value is attribute type.
|
15
|
+
attribute_map (dict): The key is attribute name
|
16
|
+
and the value is json key in definition.
|
17
|
+
"""
|
18
|
+
sensitive_list = []
|
19
|
+
|
20
|
+
openapi_types = {
|
21
|
+
'hosts': 'list[HostModel]',
|
22
|
+
'total': 'int'
|
23
|
+
}
|
24
|
+
|
25
|
+
attribute_map = {
|
26
|
+
'hosts': 'hosts',
|
27
|
+
'total': 'total'
|
28
|
+
}
|
29
|
+
|
30
|
+
def __init__(self, hosts=None, total=None):
|
31
|
+
r"""ListHostsResponse
|
32
|
+
|
33
|
+
The model defined in huaweicloud sdk
|
34
|
+
|
35
|
+
:param hosts: 主机参数。
|
36
|
+
:type hosts: list[:class:`huaweicloudsdkmrs.v1.HostModel`]
|
37
|
+
:param total: 主机列表总数。
|
38
|
+
:type total: int
|
39
|
+
"""
|
40
|
+
|
41
|
+
super(ListHostsResponse, self).__init__()
|
42
|
+
|
43
|
+
self._hosts = None
|
44
|
+
self._total = None
|
45
|
+
self.discriminator = None
|
46
|
+
|
47
|
+
if hosts is not None:
|
48
|
+
self.hosts = hosts
|
49
|
+
if total is not None:
|
50
|
+
self.total = total
|
51
|
+
|
52
|
+
@property
|
53
|
+
def hosts(self):
|
54
|
+
r"""Gets the hosts of this ListHostsResponse.
|
55
|
+
|
56
|
+
主机参数。
|
57
|
+
|
58
|
+
:return: The hosts of this ListHostsResponse.
|
59
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.HostModel`]
|
60
|
+
"""
|
61
|
+
return self._hosts
|
62
|
+
|
63
|
+
@hosts.setter
|
64
|
+
def hosts(self, hosts):
|
65
|
+
r"""Sets the hosts of this ListHostsResponse.
|
66
|
+
|
67
|
+
主机参数。
|
68
|
+
|
69
|
+
:param hosts: The hosts of this ListHostsResponse.
|
70
|
+
:type hosts: list[:class:`huaweicloudsdkmrs.v1.HostModel`]
|
71
|
+
"""
|
72
|
+
self._hosts = hosts
|
73
|
+
|
74
|
+
@property
|
75
|
+
def total(self):
|
76
|
+
r"""Gets the total of this ListHostsResponse.
|
77
|
+
|
78
|
+
主机列表总数。
|
79
|
+
|
80
|
+
:return: The total of this ListHostsResponse.
|
81
|
+
:rtype: int
|
82
|
+
"""
|
83
|
+
return self._total
|
84
|
+
|
85
|
+
@total.setter
|
86
|
+
def total(self, total):
|
87
|
+
r"""Sets the total of this ListHostsResponse.
|
88
|
+
|
89
|
+
主机列表总数。
|
90
|
+
|
91
|
+
:param total: The total of this ListHostsResponse.
|
92
|
+
:type total: int
|
93
|
+
"""
|
94
|
+
self._total = total
|
95
|
+
|
96
|
+
def to_dict(self):
|
97
|
+
"""Returns the model properties as a dict"""
|
98
|
+
result = {}
|
99
|
+
|
100
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
101
|
+
value = getattr(self, attr)
|
102
|
+
if isinstance(value, list):
|
103
|
+
result[attr] = list(map(
|
104
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
105
|
+
value
|
106
|
+
))
|
107
|
+
elif hasattr(value, "to_dict"):
|
108
|
+
result[attr] = value.to_dict()
|
109
|
+
elif isinstance(value, dict):
|
110
|
+
result[attr] = dict(map(
|
111
|
+
lambda item: (item[0], item[1].to_dict())
|
112
|
+
if hasattr(item[1], "to_dict") else item,
|
113
|
+
value.items()
|
114
|
+
))
|
115
|
+
else:
|
116
|
+
if attr in self.sensitive_list:
|
117
|
+
result[attr] = "****"
|
118
|
+
else:
|
119
|
+
result[attr] = value
|
120
|
+
|
121
|
+
return result
|
122
|
+
|
123
|
+
def to_str(self):
|
124
|
+
"""Returns the string representation of the model"""
|
125
|
+
import simplejson as json
|
126
|
+
if six.PY2:
|
127
|
+
import sys
|
128
|
+
reload(sys)
|
129
|
+
sys.setdefaultencoding("utf-8")
|
130
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
131
|
+
|
132
|
+
def __repr__(self):
|
133
|
+
"""For `print`"""
|
134
|
+
return self.to_str()
|
135
|
+
|
136
|
+
def __eq__(self, other):
|
137
|
+
"""Returns true if both objects are equal"""
|
138
|
+
if not isinstance(other, ListHostsResponse):
|
139
|
+
return False
|
140
|
+
|
141
|
+
return self.__dict__ == other.__dict__
|
142
|
+
|
143
|
+
def __ne__(self, other):
|
144
|
+
"""Returns true if both objects are not equal"""
|
145
|
+
return not self == other
|
@@ -0,0 +1,317 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
6
|
+
|
7
|
+
|
8
|
+
class ListResourceReq:
|
9
|
+
|
10
|
+
"""
|
11
|
+
Attributes:
|
12
|
+
openapi_types (dict): The key is attribute name
|
13
|
+
and the value is attribute type.
|
14
|
+
attribute_map (dict): The key is attribute name
|
15
|
+
and the value is json key in definition.
|
16
|
+
"""
|
17
|
+
sensitive_list = []
|
18
|
+
|
19
|
+
openapi_types = {
|
20
|
+
'tags': 'list[TagWithMultiValue]',
|
21
|
+
'tags_any': 'list[TagWithMultiValue]',
|
22
|
+
'not_tags': 'list[TagWithMultiValue]',
|
23
|
+
'not_tags_any': 'list[TagWithMultiValue]',
|
24
|
+
'action': 'str',
|
25
|
+
'limit': 'int',
|
26
|
+
'offset': 'int',
|
27
|
+
'matches': 'list[Match]'
|
28
|
+
}
|
29
|
+
|
30
|
+
attribute_map = {
|
31
|
+
'tags': 'tags',
|
32
|
+
'tags_any': 'tags_any',
|
33
|
+
'not_tags': 'not_tags',
|
34
|
+
'not_tags_any': 'not_tags_any',
|
35
|
+
'action': 'action',
|
36
|
+
'limit': 'limit',
|
37
|
+
'offset': 'offset',
|
38
|
+
'matches': 'matches'
|
39
|
+
}
|
40
|
+
|
41
|
+
def __init__(self, tags=None, tags_any=None, not_tags=None, not_tags_any=None, action=None, limit=None, offset=None, matches=None):
|
42
|
+
r"""ListResourceReq
|
43
|
+
|
44
|
+
The model defined in huaweicloud sdk
|
45
|
+
|
46
|
+
:param tags: 返回结果包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。
|
47
|
+
:type tags: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
48
|
+
:param tags_any: 返回结果包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
49
|
+
:type tags_any: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
50
|
+
:param not_tags: 返回结果不包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
51
|
+
:type not_tags: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
52
|
+
:param not_tags_any: 返回结果不包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
53
|
+
:type not_tags_any: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
54
|
+
:param action: 操作标识(仅限于filter,count):filter(过滤),count(查询总条数)。 如果是filter则为分页查询,如果是count会按照条件将总条数返回。
|
55
|
+
:type action: str
|
56
|
+
:param limit: 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。
|
57
|
+
:type limit: int
|
58
|
+
:param offset: (索引位置),从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数。
|
59
|
+
:type offset: int
|
60
|
+
:param matches: 搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索,如果value为空字符串精确匹配。
|
61
|
+
:type matches: list[:class:`huaweicloudsdkmrs.v1.Match`]
|
62
|
+
"""
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
self._tags = None
|
67
|
+
self._tags_any = None
|
68
|
+
self._not_tags = None
|
69
|
+
self._not_tags_any = None
|
70
|
+
self._action = None
|
71
|
+
self._limit = None
|
72
|
+
self._offset = None
|
73
|
+
self._matches = None
|
74
|
+
self.discriminator = None
|
75
|
+
|
76
|
+
if tags is not None:
|
77
|
+
self.tags = tags
|
78
|
+
if tags_any is not None:
|
79
|
+
self.tags_any = tags_any
|
80
|
+
if not_tags is not None:
|
81
|
+
self.not_tags = not_tags
|
82
|
+
if not_tags_any is not None:
|
83
|
+
self.not_tags_any = not_tags_any
|
84
|
+
self.action = action
|
85
|
+
if limit is not None:
|
86
|
+
self.limit = limit
|
87
|
+
if offset is not None:
|
88
|
+
self.offset = offset
|
89
|
+
if matches is not None:
|
90
|
+
self.matches = matches
|
91
|
+
|
92
|
+
@property
|
93
|
+
def tags(self):
|
94
|
+
r"""Gets the tags of this ListResourceReq.
|
95
|
+
|
96
|
+
返回结果包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。
|
97
|
+
|
98
|
+
:return: The tags of this ListResourceReq.
|
99
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
100
|
+
"""
|
101
|
+
return self._tags
|
102
|
+
|
103
|
+
@tags.setter
|
104
|
+
def tags(self, tags):
|
105
|
+
r"""Sets the tags of this ListResourceReq.
|
106
|
+
|
107
|
+
返回结果包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。
|
108
|
+
|
109
|
+
:param tags: The tags of this ListResourceReq.
|
110
|
+
:type tags: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
111
|
+
"""
|
112
|
+
self._tags = tags
|
113
|
+
|
114
|
+
@property
|
115
|
+
def tags_any(self):
|
116
|
+
r"""Gets the tags_any of this ListResourceReq.
|
117
|
+
|
118
|
+
返回结果包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
119
|
+
|
120
|
+
:return: The tags_any of this ListResourceReq.
|
121
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
122
|
+
"""
|
123
|
+
return self._tags_any
|
124
|
+
|
125
|
+
@tags_any.setter
|
126
|
+
def tags_any(self, tags_any):
|
127
|
+
r"""Sets the tags_any of this ListResourceReq.
|
128
|
+
|
129
|
+
返回结果包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
130
|
+
|
131
|
+
:param tags_any: The tags_any of this ListResourceReq.
|
132
|
+
:type tags_any: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
133
|
+
"""
|
134
|
+
self._tags_any = tags_any
|
135
|
+
|
136
|
+
@property
|
137
|
+
def not_tags(self):
|
138
|
+
r"""Gets the not_tags of this ListResourceReq.
|
139
|
+
|
140
|
+
返回结果不包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
141
|
+
|
142
|
+
:return: The not_tags of this ListResourceReq.
|
143
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
144
|
+
"""
|
145
|
+
return self._not_tags
|
146
|
+
|
147
|
+
@not_tags.setter
|
148
|
+
def not_tags(self, not_tags):
|
149
|
+
r"""Sets the not_tags of this ListResourceReq.
|
150
|
+
|
151
|
+
返回结果不包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
152
|
+
|
153
|
+
:param not_tags: The not_tags of this ListResourceReq.
|
154
|
+
:type not_tags: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
155
|
+
"""
|
156
|
+
self._not_tags = not_tags
|
157
|
+
|
158
|
+
@property
|
159
|
+
def not_tags_any(self):
|
160
|
+
r"""Gets the not_tags_any of this ListResourceReq.
|
161
|
+
|
162
|
+
返回结果不包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
163
|
+
|
164
|
+
:return: The not_tags_any of this ListResourceReq.
|
165
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
166
|
+
"""
|
167
|
+
return self._not_tags_any
|
168
|
+
|
169
|
+
@not_tags_any.setter
|
170
|
+
def not_tags_any(self, not_tags_any):
|
171
|
+
r"""Sets the not_tags_any of this ListResourceReq.
|
172
|
+
|
173
|
+
返回结果不包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。
|
174
|
+
|
175
|
+
:param not_tags_any: The not_tags_any of this ListResourceReq.
|
176
|
+
:type not_tags_any: list[:class:`huaweicloudsdkmrs.v1.TagWithMultiValue`]
|
177
|
+
"""
|
178
|
+
self._not_tags_any = not_tags_any
|
179
|
+
|
180
|
+
@property
|
181
|
+
def action(self):
|
182
|
+
r"""Gets the action of this ListResourceReq.
|
183
|
+
|
184
|
+
操作标识(仅限于filter,count):filter(过滤),count(查询总条数)。 如果是filter则为分页查询,如果是count会按照条件将总条数返回。
|
185
|
+
|
186
|
+
:return: The action of this ListResourceReq.
|
187
|
+
:rtype: str
|
188
|
+
"""
|
189
|
+
return self._action
|
190
|
+
|
191
|
+
@action.setter
|
192
|
+
def action(self, action):
|
193
|
+
r"""Sets the action of this ListResourceReq.
|
194
|
+
|
195
|
+
操作标识(仅限于filter,count):filter(过滤),count(查询总条数)。 如果是filter则为分页查询,如果是count会按照条件将总条数返回。
|
196
|
+
|
197
|
+
:param action: The action of this ListResourceReq.
|
198
|
+
:type action: str
|
199
|
+
"""
|
200
|
+
self._action = action
|
201
|
+
|
202
|
+
@property
|
203
|
+
def limit(self):
|
204
|
+
r"""Gets the limit of this ListResourceReq.
|
205
|
+
|
206
|
+
查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。
|
207
|
+
|
208
|
+
:return: The limit of this ListResourceReq.
|
209
|
+
:rtype: int
|
210
|
+
"""
|
211
|
+
return self._limit
|
212
|
+
|
213
|
+
@limit.setter
|
214
|
+
def limit(self, limit):
|
215
|
+
r"""Sets the limit of this ListResourceReq.
|
216
|
+
|
217
|
+
查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。
|
218
|
+
|
219
|
+
:param limit: The limit of this ListResourceReq.
|
220
|
+
:type limit: int
|
221
|
+
"""
|
222
|
+
self._limit = limit
|
223
|
+
|
224
|
+
@property
|
225
|
+
def offset(self):
|
226
|
+
r"""Gets the offset of this ListResourceReq.
|
227
|
+
|
228
|
+
(索引位置),从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数。
|
229
|
+
|
230
|
+
:return: The offset of this ListResourceReq.
|
231
|
+
:rtype: int
|
232
|
+
"""
|
233
|
+
return self._offset
|
234
|
+
|
235
|
+
@offset.setter
|
236
|
+
def offset(self, offset):
|
237
|
+
r"""Sets the offset of this ListResourceReq.
|
238
|
+
|
239
|
+
(索引位置),从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数。
|
240
|
+
|
241
|
+
:param offset: The offset of this ListResourceReq.
|
242
|
+
:type offset: int
|
243
|
+
"""
|
244
|
+
self._offset = offset
|
245
|
+
|
246
|
+
@property
|
247
|
+
def matches(self):
|
248
|
+
r"""Gets the matches of this ListResourceReq.
|
249
|
+
|
250
|
+
搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索,如果value为空字符串精确匹配。
|
251
|
+
|
252
|
+
:return: The matches of this ListResourceReq.
|
253
|
+
:rtype: list[:class:`huaweicloudsdkmrs.v1.Match`]
|
254
|
+
"""
|
255
|
+
return self._matches
|
256
|
+
|
257
|
+
@matches.setter
|
258
|
+
def matches(self, matches):
|
259
|
+
r"""Sets the matches of this ListResourceReq.
|
260
|
+
|
261
|
+
搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索,如果value为空字符串精确匹配。
|
262
|
+
|
263
|
+
:param matches: The matches of this ListResourceReq.
|
264
|
+
:type matches: list[:class:`huaweicloudsdkmrs.v1.Match`]
|
265
|
+
"""
|
266
|
+
self._matches = matches
|
267
|
+
|
268
|
+
def to_dict(self):
|
269
|
+
"""Returns the model properties as a dict"""
|
270
|
+
result = {}
|
271
|
+
|
272
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
273
|
+
value = getattr(self, attr)
|
274
|
+
if isinstance(value, list):
|
275
|
+
result[attr] = list(map(
|
276
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
277
|
+
value
|
278
|
+
))
|
279
|
+
elif hasattr(value, "to_dict"):
|
280
|
+
result[attr] = value.to_dict()
|
281
|
+
elif isinstance(value, dict):
|
282
|
+
result[attr] = dict(map(
|
283
|
+
lambda item: (item[0], item[1].to_dict())
|
284
|
+
if hasattr(item[1], "to_dict") else item,
|
285
|
+
value.items()
|
286
|
+
))
|
287
|
+
else:
|
288
|
+
if attr in self.sensitive_list:
|
289
|
+
result[attr] = "****"
|
290
|
+
else:
|
291
|
+
result[attr] = value
|
292
|
+
|
293
|
+
return result
|
294
|
+
|
295
|
+
def to_str(self):
|
296
|
+
"""Returns the string representation of the model"""
|
297
|
+
import simplejson as json
|
298
|
+
if six.PY2:
|
299
|
+
import sys
|
300
|
+
reload(sys)
|
301
|
+
sys.setdefaultencoding("utf-8")
|
302
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
303
|
+
|
304
|
+
def __repr__(self):
|
305
|
+
"""For `print`"""
|
306
|
+
return self.to_str()
|
307
|
+
|
308
|
+
def __eq__(self, other):
|
309
|
+
"""Returns true if both objects are equal"""
|
310
|
+
if not isinstance(other, ListResourceReq):
|
311
|
+
return False
|
312
|
+
|
313
|
+
return self.__dict__ == other.__dict__
|
314
|
+
|
315
|
+
def __ne__(self, other):
|
316
|
+
"""Returns true if both objects are not equal"""
|
317
|
+
return not self == other
|