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,328 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
6
|
+
|
7
|
+
|
8
|
+
class NodeGroupV2:
|
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
|
+
'group_name': 'str',
|
21
|
+
'node_num': 'int',
|
22
|
+
'node_size': 'str',
|
23
|
+
'root_volume': 'Volume',
|
24
|
+
'data_volume': 'Volume',
|
25
|
+
'data_volume_count': 'int',
|
26
|
+
'charge_info': 'ChargeInfo',
|
27
|
+
'auto_scaling_policy': 'AutoScalingPolicy',
|
28
|
+
'assigned_roles': 'list[str]'
|
29
|
+
}
|
30
|
+
|
31
|
+
attribute_map = {
|
32
|
+
'group_name': 'group_name',
|
33
|
+
'node_num': 'node_num',
|
34
|
+
'node_size': 'node_size',
|
35
|
+
'root_volume': 'root_volume',
|
36
|
+
'data_volume': 'data_volume',
|
37
|
+
'data_volume_count': 'data_volume_count',
|
38
|
+
'charge_info': 'charge_info',
|
39
|
+
'auto_scaling_policy': 'auto_scaling_policy',
|
40
|
+
'assigned_roles': 'assigned_roles'
|
41
|
+
}
|
42
|
+
|
43
|
+
def __init__(self, group_name=None, node_num=None, node_size=None, root_volume=None, data_volume=None, data_volume_count=None, charge_info=None, auto_scaling_policy=None, assigned_roles=None):
|
44
|
+
r"""NodeGroupV2
|
45
|
+
|
46
|
+
The model defined in huaweicloud sdk
|
47
|
+
|
48
|
+
:param group_name: 节点组名称,最大长度64,支持大小写英文、数字以及“_”。节点组配置原则如下: - master_node_default_group:Master节点组,所有集群类型均需包含该节点组。 - core_node_analysis_group:分析Core节点组,分析集群、混合集群均需包含该节点组。 - core_node_streaming_group:流式Core节点组,流式集群和混合集群均需包含该节点组。 - task_node_analysis_group:分析Task节点组,分析集群和混合集群可根据需要选择该节点组。 - task_node_streaming_group:流式Task节点组,流式集群、混合集群可根据需要选择该节点组。 - node_group{x}:自定义集群节点组,可根据需要添加多个,最多支持添加9个该节点组。
|
49
|
+
:type group_name: str
|
50
|
+
:param node_num: 节点数量,取值范围0~500,Core与Task节点总数最大为500个。
|
51
|
+
:type node_num: int
|
52
|
+
:param node_size: 节点的实例规格。 例如:c3.4xlarge.2.linux.bigdata。实例规格详细说明请参见[MRS所使用的弹性云服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9006.html)和[MRS所使用的裸金属服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9001.html)。 该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。
|
53
|
+
:type node_size: str
|
54
|
+
:param root_volume:
|
55
|
+
:type root_volume: :class:`huaweicloudsdkmrs.v2.Volume`
|
56
|
+
:param data_volume:
|
57
|
+
:type data_volume: :class:`huaweicloudsdkmrs.v2.Volume`
|
58
|
+
:param data_volume_count: 节点数据磁盘存储数目,取值范围:0~20。
|
59
|
+
:type data_volume_count: int
|
60
|
+
:param charge_info:
|
61
|
+
:type charge_info: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
|
62
|
+
:param auto_scaling_policy:
|
63
|
+
:type auto_scaling_policy: :class:`huaweicloudsdkmrs.v2.AutoScalingPolicy`
|
64
|
+
:param assigned_roles: 当集群类型为CUSTOM时,该参数必选。可以指定节点组中部署的角色,该参数是一个字符串数组,每个字符串表示一个角色表达式。 角色表达式定义: - 当该角色在节点组所有节点部署时: {role name},如“DataNode”。 - 当该角色在节点组指定下标节点部署时:{role name}:{index1},{index2}…,{indexN},如“NameNode:1,2”,下标从1开始计数。 - 部分角色支持多实例部署(即在一个节点部署多个同角色的实例):{role name}[{instance count}],如“EsNode[9]” 可选的角色请参考[MRS支持的角色与组件对应表](https://support.huaweicloud.com/api-mrs/mrs_02_0106.html)。
|
65
|
+
:type assigned_roles: list[str]
|
66
|
+
"""
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
self._group_name = None
|
71
|
+
self._node_num = None
|
72
|
+
self._node_size = None
|
73
|
+
self._root_volume = None
|
74
|
+
self._data_volume = None
|
75
|
+
self._data_volume_count = None
|
76
|
+
self._charge_info = None
|
77
|
+
self._auto_scaling_policy = None
|
78
|
+
self._assigned_roles = None
|
79
|
+
self.discriminator = None
|
80
|
+
|
81
|
+
self.group_name = group_name
|
82
|
+
self.node_num = node_num
|
83
|
+
self.node_size = node_size
|
84
|
+
if root_volume is not None:
|
85
|
+
self.root_volume = root_volume
|
86
|
+
if data_volume is not None:
|
87
|
+
self.data_volume = data_volume
|
88
|
+
if data_volume_count is not None:
|
89
|
+
self.data_volume_count = data_volume_count
|
90
|
+
if charge_info is not None:
|
91
|
+
self.charge_info = charge_info
|
92
|
+
if auto_scaling_policy is not None:
|
93
|
+
self.auto_scaling_policy = auto_scaling_policy
|
94
|
+
if assigned_roles is not None:
|
95
|
+
self.assigned_roles = assigned_roles
|
96
|
+
|
97
|
+
@property
|
98
|
+
def group_name(self):
|
99
|
+
r"""Gets the group_name of this NodeGroupV2.
|
100
|
+
|
101
|
+
节点组名称,最大长度64,支持大小写英文、数字以及“_”。节点组配置原则如下: - master_node_default_group:Master节点组,所有集群类型均需包含该节点组。 - core_node_analysis_group:分析Core节点组,分析集群、混合集群均需包含该节点组。 - core_node_streaming_group:流式Core节点组,流式集群和混合集群均需包含该节点组。 - task_node_analysis_group:分析Task节点组,分析集群和混合集群可根据需要选择该节点组。 - task_node_streaming_group:流式Task节点组,流式集群、混合集群可根据需要选择该节点组。 - node_group{x}:自定义集群节点组,可根据需要添加多个,最多支持添加9个该节点组。
|
102
|
+
|
103
|
+
:return: The group_name of this NodeGroupV2.
|
104
|
+
:rtype: str
|
105
|
+
"""
|
106
|
+
return self._group_name
|
107
|
+
|
108
|
+
@group_name.setter
|
109
|
+
def group_name(self, group_name):
|
110
|
+
r"""Sets the group_name of this NodeGroupV2.
|
111
|
+
|
112
|
+
节点组名称,最大长度64,支持大小写英文、数字以及“_”。节点组配置原则如下: - master_node_default_group:Master节点组,所有集群类型均需包含该节点组。 - core_node_analysis_group:分析Core节点组,分析集群、混合集群均需包含该节点组。 - core_node_streaming_group:流式Core节点组,流式集群和混合集群均需包含该节点组。 - task_node_analysis_group:分析Task节点组,分析集群和混合集群可根据需要选择该节点组。 - task_node_streaming_group:流式Task节点组,流式集群、混合集群可根据需要选择该节点组。 - node_group{x}:自定义集群节点组,可根据需要添加多个,最多支持添加9个该节点组。
|
113
|
+
|
114
|
+
:param group_name: The group_name of this NodeGroupV2.
|
115
|
+
:type group_name: str
|
116
|
+
"""
|
117
|
+
self._group_name = group_name
|
118
|
+
|
119
|
+
@property
|
120
|
+
def node_num(self):
|
121
|
+
r"""Gets the node_num of this NodeGroupV2.
|
122
|
+
|
123
|
+
节点数量,取值范围0~500,Core与Task节点总数最大为500个。
|
124
|
+
|
125
|
+
:return: The node_num of this NodeGroupV2.
|
126
|
+
:rtype: int
|
127
|
+
"""
|
128
|
+
return self._node_num
|
129
|
+
|
130
|
+
@node_num.setter
|
131
|
+
def node_num(self, node_num):
|
132
|
+
r"""Sets the node_num of this NodeGroupV2.
|
133
|
+
|
134
|
+
节点数量,取值范围0~500,Core与Task节点总数最大为500个。
|
135
|
+
|
136
|
+
:param node_num: The node_num of this NodeGroupV2.
|
137
|
+
:type node_num: int
|
138
|
+
"""
|
139
|
+
self._node_num = node_num
|
140
|
+
|
141
|
+
@property
|
142
|
+
def node_size(self):
|
143
|
+
r"""Gets the node_size of this NodeGroupV2.
|
144
|
+
|
145
|
+
节点的实例规格。 例如:c3.4xlarge.2.linux.bigdata。实例规格详细说明请参见[MRS所使用的弹性云服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9006.html)和[MRS所使用的裸金属服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9001.html)。 该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。
|
146
|
+
|
147
|
+
:return: The node_size of this NodeGroupV2.
|
148
|
+
:rtype: str
|
149
|
+
"""
|
150
|
+
return self._node_size
|
151
|
+
|
152
|
+
@node_size.setter
|
153
|
+
def node_size(self, node_size):
|
154
|
+
r"""Sets the node_size of this NodeGroupV2.
|
155
|
+
|
156
|
+
节点的实例规格。 例如:c3.4xlarge.2.linux.bigdata。实例规格详细说明请参见[MRS所使用的弹性云服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9006.html)和[MRS所使用的裸金属服务器规格](https://support.huaweicloud.com/api-mrs/mrs_01_9001.html)。 该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。
|
157
|
+
|
158
|
+
:param node_size: The node_size of this NodeGroupV2.
|
159
|
+
:type node_size: str
|
160
|
+
"""
|
161
|
+
self._node_size = node_size
|
162
|
+
|
163
|
+
@property
|
164
|
+
def root_volume(self):
|
165
|
+
r"""Gets the root_volume of this NodeGroupV2.
|
166
|
+
|
167
|
+
:return: The root_volume of this NodeGroupV2.
|
168
|
+
:rtype: :class:`huaweicloudsdkmrs.v2.Volume`
|
169
|
+
"""
|
170
|
+
return self._root_volume
|
171
|
+
|
172
|
+
@root_volume.setter
|
173
|
+
def root_volume(self, root_volume):
|
174
|
+
r"""Sets the root_volume of this NodeGroupV2.
|
175
|
+
|
176
|
+
:param root_volume: The root_volume of this NodeGroupV2.
|
177
|
+
:type root_volume: :class:`huaweicloudsdkmrs.v2.Volume`
|
178
|
+
"""
|
179
|
+
self._root_volume = root_volume
|
180
|
+
|
181
|
+
@property
|
182
|
+
def data_volume(self):
|
183
|
+
r"""Gets the data_volume of this NodeGroupV2.
|
184
|
+
|
185
|
+
:return: The data_volume of this NodeGroupV2.
|
186
|
+
:rtype: :class:`huaweicloudsdkmrs.v2.Volume`
|
187
|
+
"""
|
188
|
+
return self._data_volume
|
189
|
+
|
190
|
+
@data_volume.setter
|
191
|
+
def data_volume(self, data_volume):
|
192
|
+
r"""Sets the data_volume of this NodeGroupV2.
|
193
|
+
|
194
|
+
:param data_volume: The data_volume of this NodeGroupV2.
|
195
|
+
:type data_volume: :class:`huaweicloudsdkmrs.v2.Volume`
|
196
|
+
"""
|
197
|
+
self._data_volume = data_volume
|
198
|
+
|
199
|
+
@property
|
200
|
+
def data_volume_count(self):
|
201
|
+
r"""Gets the data_volume_count of this NodeGroupV2.
|
202
|
+
|
203
|
+
节点数据磁盘存储数目,取值范围:0~20。
|
204
|
+
|
205
|
+
:return: The data_volume_count of this NodeGroupV2.
|
206
|
+
:rtype: int
|
207
|
+
"""
|
208
|
+
return self._data_volume_count
|
209
|
+
|
210
|
+
@data_volume_count.setter
|
211
|
+
def data_volume_count(self, data_volume_count):
|
212
|
+
r"""Sets the data_volume_count of this NodeGroupV2.
|
213
|
+
|
214
|
+
节点数据磁盘存储数目,取值范围:0~20。
|
215
|
+
|
216
|
+
:param data_volume_count: The data_volume_count of this NodeGroupV2.
|
217
|
+
:type data_volume_count: int
|
218
|
+
"""
|
219
|
+
self._data_volume_count = data_volume_count
|
220
|
+
|
221
|
+
@property
|
222
|
+
def charge_info(self):
|
223
|
+
r"""Gets the charge_info of this NodeGroupV2.
|
224
|
+
|
225
|
+
:return: The charge_info of this NodeGroupV2.
|
226
|
+
:rtype: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
|
227
|
+
"""
|
228
|
+
return self._charge_info
|
229
|
+
|
230
|
+
@charge_info.setter
|
231
|
+
def charge_info(self, charge_info):
|
232
|
+
r"""Sets the charge_info of this NodeGroupV2.
|
233
|
+
|
234
|
+
:param charge_info: The charge_info of this NodeGroupV2.
|
235
|
+
:type charge_info: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
|
236
|
+
"""
|
237
|
+
self._charge_info = charge_info
|
238
|
+
|
239
|
+
@property
|
240
|
+
def auto_scaling_policy(self):
|
241
|
+
r"""Gets the auto_scaling_policy of this NodeGroupV2.
|
242
|
+
|
243
|
+
:return: The auto_scaling_policy of this NodeGroupV2.
|
244
|
+
:rtype: :class:`huaweicloudsdkmrs.v2.AutoScalingPolicy`
|
245
|
+
"""
|
246
|
+
return self._auto_scaling_policy
|
247
|
+
|
248
|
+
@auto_scaling_policy.setter
|
249
|
+
def auto_scaling_policy(self, auto_scaling_policy):
|
250
|
+
r"""Sets the auto_scaling_policy of this NodeGroupV2.
|
251
|
+
|
252
|
+
:param auto_scaling_policy: The auto_scaling_policy of this NodeGroupV2.
|
253
|
+
:type auto_scaling_policy: :class:`huaweicloudsdkmrs.v2.AutoScalingPolicy`
|
254
|
+
"""
|
255
|
+
self._auto_scaling_policy = auto_scaling_policy
|
256
|
+
|
257
|
+
@property
|
258
|
+
def assigned_roles(self):
|
259
|
+
r"""Gets the assigned_roles of this NodeGroupV2.
|
260
|
+
|
261
|
+
当集群类型为CUSTOM时,该参数必选。可以指定节点组中部署的角色,该参数是一个字符串数组,每个字符串表示一个角色表达式。 角色表达式定义: - 当该角色在节点组所有节点部署时: {role name},如“DataNode”。 - 当该角色在节点组指定下标节点部署时:{role name}:{index1},{index2}…,{indexN},如“NameNode:1,2”,下标从1开始计数。 - 部分角色支持多实例部署(即在一个节点部署多个同角色的实例):{role name}[{instance count}],如“EsNode[9]” 可选的角色请参考[MRS支持的角色与组件对应表](https://support.huaweicloud.com/api-mrs/mrs_02_0106.html)。
|
262
|
+
|
263
|
+
:return: The assigned_roles of this NodeGroupV2.
|
264
|
+
:rtype: list[str]
|
265
|
+
"""
|
266
|
+
return self._assigned_roles
|
267
|
+
|
268
|
+
@assigned_roles.setter
|
269
|
+
def assigned_roles(self, assigned_roles):
|
270
|
+
r"""Sets the assigned_roles of this NodeGroupV2.
|
271
|
+
|
272
|
+
当集群类型为CUSTOM时,该参数必选。可以指定节点组中部署的角色,该参数是一个字符串数组,每个字符串表示一个角色表达式。 角色表达式定义: - 当该角色在节点组所有节点部署时: {role name},如“DataNode”。 - 当该角色在节点组指定下标节点部署时:{role name}:{index1},{index2}…,{indexN},如“NameNode:1,2”,下标从1开始计数。 - 部分角色支持多实例部署(即在一个节点部署多个同角色的实例):{role name}[{instance count}],如“EsNode[9]” 可选的角色请参考[MRS支持的角色与组件对应表](https://support.huaweicloud.com/api-mrs/mrs_02_0106.html)。
|
273
|
+
|
274
|
+
:param assigned_roles: The assigned_roles of this NodeGroupV2.
|
275
|
+
:type assigned_roles: list[str]
|
276
|
+
"""
|
277
|
+
self._assigned_roles = assigned_roles
|
278
|
+
|
279
|
+
def to_dict(self):
|
280
|
+
"""Returns the model properties as a dict"""
|
281
|
+
result = {}
|
282
|
+
|
283
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
284
|
+
value = getattr(self, attr)
|
285
|
+
if isinstance(value, list):
|
286
|
+
result[attr] = list(map(
|
287
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
288
|
+
value
|
289
|
+
))
|
290
|
+
elif hasattr(value, "to_dict"):
|
291
|
+
result[attr] = value.to_dict()
|
292
|
+
elif isinstance(value, dict):
|
293
|
+
result[attr] = dict(map(
|
294
|
+
lambda item: (item[0], item[1].to_dict())
|
295
|
+
if hasattr(item[1], "to_dict") else item,
|
296
|
+
value.items()
|
297
|
+
))
|
298
|
+
else:
|
299
|
+
if attr in self.sensitive_list:
|
300
|
+
result[attr] = "****"
|
301
|
+
else:
|
302
|
+
result[attr] = value
|
303
|
+
|
304
|
+
return result
|
305
|
+
|
306
|
+
def to_str(self):
|
307
|
+
"""Returns the string representation of the model"""
|
308
|
+
import simplejson as json
|
309
|
+
if six.PY2:
|
310
|
+
import sys
|
311
|
+
reload(sys)
|
312
|
+
sys.setdefaultencoding("utf-8")
|
313
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
314
|
+
|
315
|
+
def __repr__(self):
|
316
|
+
"""For `print`"""
|
317
|
+
return self.to_str()
|
318
|
+
|
319
|
+
def __eq__(self, other):
|
320
|
+
"""Returns true if both objects are equal"""
|
321
|
+
if not isinstance(other, NodeGroupV2):
|
322
|
+
return False
|
323
|
+
|
324
|
+
return self.__dict__ == other.__dict__
|
325
|
+
|
326
|
+
def __ne__(self, other):
|
327
|
+
"""Returns true if both objects are not equal"""
|
328
|
+
return not self == other
|
@@ -0,0 +1,255 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
import six
|
4
|
+
|
5
|
+
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
|
6
|
+
|
7
|
+
|
8
|
+
class ResourcesPlan:
|
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
|
+
'period_type': 'str',
|
21
|
+
'start_time': 'str',
|
22
|
+
'end_time': 'str',
|
23
|
+
'min_capacity': 'int',
|
24
|
+
'max_capacity': 'int',
|
25
|
+
'effective_days': 'list[str]'
|
26
|
+
}
|
27
|
+
|
28
|
+
attribute_map = {
|
29
|
+
'period_type': 'period_type',
|
30
|
+
'start_time': 'start_time',
|
31
|
+
'end_time': 'end_time',
|
32
|
+
'min_capacity': 'min_capacity',
|
33
|
+
'max_capacity': 'max_capacity',
|
34
|
+
'effective_days': 'effective_days'
|
35
|
+
}
|
36
|
+
|
37
|
+
def __init__(self, period_type=None, start_time=None, end_time=None, min_capacity=None, max_capacity=None, effective_days=None):
|
38
|
+
r"""ResourcesPlan
|
39
|
+
|
40
|
+
The model defined in huaweicloud sdk
|
41
|
+
|
42
|
+
:param period_type: 资源计划的周期类型,当前只允许以下类型: daily
|
43
|
+
:type period_type: str
|
44
|
+
:param start_time: 资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。
|
45
|
+
:type start_time: str
|
46
|
+
:param end_time: 资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。
|
47
|
+
:type end_time: str
|
48
|
+
:param min_capacity: 资源计划内该节点组的最小保留节点数。 取值范围:[0~500]
|
49
|
+
:type min_capacity: int
|
50
|
+
:param max_capacity: 资源计划内该节点组的最大保留节点数。 取值范围:[0~500]
|
51
|
+
:type max_capacity: int
|
52
|
+
:param effective_days: 资源计划的生效日期,为空时代表每日,另外也可为以下返回值: MONDAY(周一)、TUESDAY(周二)、WEDNESDAY(周三)、THURSDAY(周四)、FRIDAY(周五)、SATURDAY(周六)、SUNDAY(周日)
|
53
|
+
:type effective_days: list[str]
|
54
|
+
"""
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
self._period_type = None
|
59
|
+
self._start_time = None
|
60
|
+
self._end_time = None
|
61
|
+
self._min_capacity = None
|
62
|
+
self._max_capacity = None
|
63
|
+
self._effective_days = None
|
64
|
+
self.discriminator = None
|
65
|
+
|
66
|
+
self.period_type = period_type
|
67
|
+
self.start_time = start_time
|
68
|
+
self.end_time = end_time
|
69
|
+
self.min_capacity = min_capacity
|
70
|
+
self.max_capacity = max_capacity
|
71
|
+
if effective_days is not None:
|
72
|
+
self.effective_days = effective_days
|
73
|
+
|
74
|
+
@property
|
75
|
+
def period_type(self):
|
76
|
+
r"""Gets the period_type of this ResourcesPlan.
|
77
|
+
|
78
|
+
资源计划的周期类型,当前只允许以下类型: daily
|
79
|
+
|
80
|
+
:return: The period_type of this ResourcesPlan.
|
81
|
+
:rtype: str
|
82
|
+
"""
|
83
|
+
return self._period_type
|
84
|
+
|
85
|
+
@period_type.setter
|
86
|
+
def period_type(self, period_type):
|
87
|
+
r"""Sets the period_type of this ResourcesPlan.
|
88
|
+
|
89
|
+
资源计划的周期类型,当前只允许以下类型: daily
|
90
|
+
|
91
|
+
:param period_type: The period_type of this ResourcesPlan.
|
92
|
+
:type period_type: str
|
93
|
+
"""
|
94
|
+
self._period_type = period_type
|
95
|
+
|
96
|
+
@property
|
97
|
+
def start_time(self):
|
98
|
+
r"""Gets the start_time of this ResourcesPlan.
|
99
|
+
|
100
|
+
资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。
|
101
|
+
|
102
|
+
:return: The start_time of this ResourcesPlan.
|
103
|
+
:rtype: str
|
104
|
+
"""
|
105
|
+
return self._start_time
|
106
|
+
|
107
|
+
@start_time.setter
|
108
|
+
def start_time(self, start_time):
|
109
|
+
r"""Sets the start_time of this ResourcesPlan.
|
110
|
+
|
111
|
+
资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。
|
112
|
+
|
113
|
+
:param start_time: The start_time of this ResourcesPlan.
|
114
|
+
:type start_time: str
|
115
|
+
"""
|
116
|
+
self._start_time = start_time
|
117
|
+
|
118
|
+
@property
|
119
|
+
def end_time(self):
|
120
|
+
r"""Gets the end_time of this ResourcesPlan.
|
121
|
+
|
122
|
+
资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。
|
123
|
+
|
124
|
+
:return: The end_time of this ResourcesPlan.
|
125
|
+
:rtype: str
|
126
|
+
"""
|
127
|
+
return self._end_time
|
128
|
+
|
129
|
+
@end_time.setter
|
130
|
+
def end_time(self, end_time):
|
131
|
+
r"""Sets the end_time of this ResourcesPlan.
|
132
|
+
|
133
|
+
资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。
|
134
|
+
|
135
|
+
:param end_time: The end_time of this ResourcesPlan.
|
136
|
+
:type end_time: str
|
137
|
+
"""
|
138
|
+
self._end_time = end_time
|
139
|
+
|
140
|
+
@property
|
141
|
+
def min_capacity(self):
|
142
|
+
r"""Gets the min_capacity of this ResourcesPlan.
|
143
|
+
|
144
|
+
资源计划内该节点组的最小保留节点数。 取值范围:[0~500]
|
145
|
+
|
146
|
+
:return: The min_capacity of this ResourcesPlan.
|
147
|
+
:rtype: int
|
148
|
+
"""
|
149
|
+
return self._min_capacity
|
150
|
+
|
151
|
+
@min_capacity.setter
|
152
|
+
def min_capacity(self, min_capacity):
|
153
|
+
r"""Sets the min_capacity of this ResourcesPlan.
|
154
|
+
|
155
|
+
资源计划内该节点组的最小保留节点数。 取值范围:[0~500]
|
156
|
+
|
157
|
+
:param min_capacity: The min_capacity of this ResourcesPlan.
|
158
|
+
:type min_capacity: int
|
159
|
+
"""
|
160
|
+
self._min_capacity = min_capacity
|
161
|
+
|
162
|
+
@property
|
163
|
+
def max_capacity(self):
|
164
|
+
r"""Gets the max_capacity of this ResourcesPlan.
|
165
|
+
|
166
|
+
资源计划内该节点组的最大保留节点数。 取值范围:[0~500]
|
167
|
+
|
168
|
+
:return: The max_capacity of this ResourcesPlan.
|
169
|
+
:rtype: int
|
170
|
+
"""
|
171
|
+
return self._max_capacity
|
172
|
+
|
173
|
+
@max_capacity.setter
|
174
|
+
def max_capacity(self, max_capacity):
|
175
|
+
r"""Sets the max_capacity of this ResourcesPlan.
|
176
|
+
|
177
|
+
资源计划内该节点组的最大保留节点数。 取值范围:[0~500]
|
178
|
+
|
179
|
+
:param max_capacity: The max_capacity of this ResourcesPlan.
|
180
|
+
:type max_capacity: int
|
181
|
+
"""
|
182
|
+
self._max_capacity = max_capacity
|
183
|
+
|
184
|
+
@property
|
185
|
+
def effective_days(self):
|
186
|
+
r"""Gets the effective_days of this ResourcesPlan.
|
187
|
+
|
188
|
+
资源计划的生效日期,为空时代表每日,另外也可为以下返回值: MONDAY(周一)、TUESDAY(周二)、WEDNESDAY(周三)、THURSDAY(周四)、FRIDAY(周五)、SATURDAY(周六)、SUNDAY(周日)
|
189
|
+
|
190
|
+
:return: The effective_days of this ResourcesPlan.
|
191
|
+
:rtype: list[str]
|
192
|
+
"""
|
193
|
+
return self._effective_days
|
194
|
+
|
195
|
+
@effective_days.setter
|
196
|
+
def effective_days(self, effective_days):
|
197
|
+
r"""Sets the effective_days of this ResourcesPlan.
|
198
|
+
|
199
|
+
资源计划的生效日期,为空时代表每日,另外也可为以下返回值: MONDAY(周一)、TUESDAY(周二)、WEDNESDAY(周三)、THURSDAY(周四)、FRIDAY(周五)、SATURDAY(周六)、SUNDAY(周日)
|
200
|
+
|
201
|
+
:param effective_days: The effective_days of this ResourcesPlan.
|
202
|
+
:type effective_days: list[str]
|
203
|
+
"""
|
204
|
+
self._effective_days = effective_days
|
205
|
+
|
206
|
+
def to_dict(self):
|
207
|
+
"""Returns the model properties as a dict"""
|
208
|
+
result = {}
|
209
|
+
|
210
|
+
for attr, _ in six.iteritems(self.openapi_types):
|
211
|
+
value = getattr(self, attr)
|
212
|
+
if isinstance(value, list):
|
213
|
+
result[attr] = list(map(
|
214
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
215
|
+
value
|
216
|
+
))
|
217
|
+
elif hasattr(value, "to_dict"):
|
218
|
+
result[attr] = value.to_dict()
|
219
|
+
elif isinstance(value, dict):
|
220
|
+
result[attr] = dict(map(
|
221
|
+
lambda item: (item[0], item[1].to_dict())
|
222
|
+
if hasattr(item[1], "to_dict") else item,
|
223
|
+
value.items()
|
224
|
+
))
|
225
|
+
else:
|
226
|
+
if attr in self.sensitive_list:
|
227
|
+
result[attr] = "****"
|
228
|
+
else:
|
229
|
+
result[attr] = value
|
230
|
+
|
231
|
+
return result
|
232
|
+
|
233
|
+
def to_str(self):
|
234
|
+
"""Returns the string representation of the model"""
|
235
|
+
import simplejson as json
|
236
|
+
if six.PY2:
|
237
|
+
import sys
|
238
|
+
reload(sys)
|
239
|
+
sys.setdefaultencoding("utf-8")
|
240
|
+
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
|
241
|
+
|
242
|
+
def __repr__(self):
|
243
|
+
"""For `print`"""
|
244
|
+
return self.to_str()
|
245
|
+
|
246
|
+
def __eq__(self, other):
|
247
|
+
"""Returns true if both objects are equal"""
|
248
|
+
if not isinstance(other, ResourcesPlan):
|
249
|
+
return False
|
250
|
+
|
251
|
+
return self.__dict__ == other.__dict__
|
252
|
+
|
253
|
+
def __ne__(self, other):
|
254
|
+
"""Returns true if both objects are not equal"""
|
255
|
+
return not self == other
|