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.
Files changed (215) hide show
  1. huaweicloudsdkmrs/__init__.py +0 -0
  2. huaweicloudsdkmrs/v1/__init__.py +87 -0
  3. huaweicloudsdkmrs/v1/model/__init__.py +84 -0
  4. huaweicloudsdkmrs/v1/model/add_jobs_req_v11.py +431 -0
  5. huaweicloudsdkmrs/v1/model/auto_scaling_policy.py +257 -0
  6. huaweicloudsdkmrs/v1/model/auto_scaling_policy_req_v11.py +138 -0
  7. huaweicloudsdkmrs/v1/model/available_tag.py +173 -0
  8. huaweicloudsdkmrs/v1/model/available_zone_v2.py +343 -0
  9. huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_req.py +142 -0
  10. huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_request.py +139 -0
  11. huaweicloudsdkmrs/v1/model/batch_create_cluster_tags_response.py +85 -0
  12. huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_req.py +142 -0
  13. huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_request.py +139 -0
  14. huaweicloudsdkmrs/v1/model/batch_delete_cluster_tags_response.py +85 -0
  15. huaweicloudsdkmrs/v1/model/bootstrap_script.py +372 -0
  16. huaweicloudsdkmrs/v1/model/cluster.py +2058 -0
  17. huaweicloudsdkmrs/v1/model/cluster_scaling_params.py +340 -0
  18. huaweicloudsdkmrs/v1/model/cluster_scaling_req.py +197 -0
  19. huaweicloudsdkmrs/v1/model/component_amb.py +202 -0
  20. huaweicloudsdkmrs/v1/model/component_amb_v11.py +114 -0
  21. huaweicloudsdkmrs/v1/model/component_external_datasource.py +144 -0
  22. huaweicloudsdkmrs/v1/model/create_and_execute_job_request.py +111 -0
  23. huaweicloudsdkmrs/v1/model/create_and_execute_job_response.py +1334 -0
  24. huaweicloudsdkmrs/v1/model/create_cluster_req_v11.py +1119 -0
  25. huaweicloudsdkmrs/v1/model/create_cluster_request.py +111 -0
  26. huaweicloudsdkmrs/v1/model/create_cluster_response.py +174 -0
  27. huaweicloudsdkmrs/v1/model/create_cluster_tag_request.py +139 -0
  28. huaweicloudsdkmrs/v1/model/create_cluster_tag_response.py +85 -0
  29. huaweicloudsdkmrs/v1/model/create_scaling_policy_request.py +139 -0
  30. huaweicloudsdkmrs/v1/model/create_scaling_policy_response.py +116 -0
  31. huaweicloudsdkmrs/v1/model/create_tag_req.py +110 -0
  32. huaweicloudsdkmrs/v1/model/delete_cluster_request.py +114 -0
  33. huaweicloudsdkmrs/v1/model/delete_cluster_response.py +112 -0
  34. huaweicloudsdkmrs/v1/model/delete_cluster_tag_request.py +142 -0
  35. huaweicloudsdkmrs/v1/model/delete_cluster_tag_response.py +85 -0
  36. huaweicloudsdkmrs/v1/model/delete_job_execution_request.py +114 -0
  37. huaweicloudsdkmrs/v1/model/delete_job_execution_response.py +85 -0
  38. huaweicloudsdkmrs/v1/model/flavor_lists.py +173 -0
  39. huaweicloudsdkmrs/v1/model/host_model.py +550 -0
  40. huaweicloudsdkmrs/v1/model/job_exe_result.py +1011 -0
  41. huaweicloudsdkmrs/v1/model/list_all_tags_request.py +84 -0
  42. huaweicloudsdkmrs/v1/model/list_all_tags_response.py +116 -0
  43. huaweicloudsdkmrs/v1/model/list_available_zones_request.py +143 -0
  44. huaweicloudsdkmrs/v1/model/list_available_zones_response.py +174 -0
  45. huaweicloudsdkmrs/v1/model/list_cluster_tags_request.py +114 -0
  46. huaweicloudsdkmrs/v1/model/list_cluster_tags_response.py +116 -0
  47. huaweicloudsdkmrs/v1/model/list_clusters_by_tags_request.py +111 -0
  48. huaweicloudsdkmrs/v1/model/list_clusters_by_tags_response.py +145 -0
  49. huaweicloudsdkmrs/v1/model/list_clusters_request.py +260 -0
  50. huaweicloudsdkmrs/v1/model/list_clusters_response.py +145 -0
  51. huaweicloudsdkmrs/v1/model/list_execute_job_request.py +259 -0
  52. huaweicloudsdkmrs/v1/model/list_execute_job_response.py +145 -0
  53. huaweicloudsdkmrs/v1/model/list_hosts_request.py +172 -0
  54. huaweicloudsdkmrs/v1/model/list_hosts_response.py +145 -0
  55. huaweicloudsdkmrs/v1/model/list_resource_req.py +317 -0
  56. huaweicloudsdkmrs/v1/model/match.py +144 -0
  57. huaweicloudsdkmrs/v1/model/mrs_resource.py +202 -0
  58. huaweicloudsdkmrs/v1/model/node_constraint.py +376 -0
  59. huaweicloudsdkmrs/v1/model/node_constraints.py +315 -0
  60. huaweicloudsdkmrs/v1/model/node_group_v10.py +608 -0
  61. huaweicloudsdkmrs/v1/model/node_group_v11.py +340 -0
  62. huaweicloudsdkmrs/v1/model/resources_plan.py +226 -0
  63. huaweicloudsdkmrs/v1/model/role_deploy_meta.py +637 -0
  64. huaweicloudsdkmrs/v1/model/rule.py +251 -0
  65. huaweicloudsdkmrs/v1/model/scale_script.py +284 -0
  66. huaweicloudsdkmrs/v1/model/show_cluster_details_request.py +114 -0
  67. huaweicloudsdkmrs/v1/model/show_cluster_details_response.py +112 -0
  68. huaweicloudsdkmrs/v1/model/show_job_exes_request.py +114 -0
  69. huaweicloudsdkmrs/v1/model/show_job_exes_response.py +112 -0
  70. huaweicloudsdkmrs/v1/model/show_mrs_version_metadata_request.py +143 -0
  71. huaweicloudsdkmrs/v1/model/show_mrs_version_metadata_response.py +456 -0
  72. huaweicloudsdkmrs/v1/model/submit_job_req_v11.py +402 -0
  73. huaweicloudsdkmrs/v1/model/tag.py +142 -0
  74. huaweicloudsdkmrs/v1/model/tag_plain.py +144 -0
  75. huaweicloudsdkmrs/v1/model/tag_with_multi_value.py +143 -0
  76. huaweicloudsdkmrs/v1/model/task_node_group.py +251 -0
  77. huaweicloudsdkmrs/v1/model/task_node_info.py +198 -0
  78. huaweicloudsdkmrs/v1/model/trigger.py +199 -0
  79. huaweicloudsdkmrs/v1/model/update_cluster_scaling_request.py +139 -0
  80. huaweicloudsdkmrs/v1/model/update_cluster_scaling_response.py +116 -0
  81. huaweicloudsdkmrs/v1/model/version_component.py +434 -0
  82. huaweicloudsdkmrs/v1/model/version_constraint.py +169 -0
  83. huaweicloudsdkmrs/v1/mrs_async_client.py +1467 -0
  84. huaweicloudsdkmrs/v1/mrs_client.py +1464 -0
  85. huaweicloudsdkmrs/v1/region/__init__.py +0 -0
  86. huaweicloudsdkmrs/v1/region/mrs_region.py +103 -0
  87. huaweicloudsdkmrs/v2/__init__.py +126 -0
  88. huaweicloudsdkmrs/v2/model/__init__.py +123 -0
  89. huaweicloudsdkmrs/v2/model/add_component_request.py +139 -0
  90. huaweicloudsdkmrs/v2/model/add_component_response.py +116 -0
  91. huaweicloudsdkmrs/v2/model/add_components_req.py +114 -0
  92. huaweicloudsdkmrs/v2/model/add_jobs_req_v11.py +431 -0
  93. huaweicloudsdkmrs/v2/model/agency_mapping.py +198 -0
  94. huaweicloudsdkmrs/v2/model/agency_mapping_array.py +114 -0
  95. huaweicloudsdkmrs/v2/model/assigned_node_group.py +142 -0
  96. huaweicloudsdkmrs/v2/model/auto_scaling_policy.py +257 -0
  97. huaweicloudsdkmrs/v2/model/auto_scaling_policy_delete_req.py +142 -0
  98. huaweicloudsdkmrs/v2/model/auto_scaling_policy_info.py +257 -0
  99. huaweicloudsdkmrs/v2/model/auto_scaling_policy_v2.py +167 -0
  100. huaweicloudsdkmrs/v2/model/az_flavors.py +231 -0
  101. huaweicloudsdkmrs/v2/model/batch_delete_jobs_request.py +139 -0
  102. huaweicloudsdkmrs/v2/model/batch_delete_jobs_response.py +85 -0
  103. huaweicloudsdkmrs/v2/model/bootstrap_script.py +372 -0
  104. huaweicloudsdkmrs/v2/model/cancel_sql_request.py +142 -0
  105. huaweicloudsdkmrs/v2/model/cancel_sql_response.py +145 -0
  106. huaweicloudsdkmrs/v2/model/cancel_sync_iam_user_request.py +139 -0
  107. huaweicloudsdkmrs/v2/model/cancel_sync_iam_user_response.py +116 -0
  108. huaweicloudsdkmrs/v2/model/cancel_sync_request.py +144 -0
  109. huaweicloudsdkmrs/v2/model/charge_info.py +201 -0
  110. huaweicloudsdkmrs/v2/model/cluster_data_connector_map.py +289 -0
  111. huaweicloudsdkmrs/v2/model/cluster_node.py +396 -0
  112. huaweicloudsdkmrs/v2/model/component_config.py +143 -0
  113. huaweicloudsdkmrs/v2/model/component_info.py +521 -0
  114. huaweicloudsdkmrs/v2/model/component_install_mode.py +200 -0
  115. huaweicloudsdkmrs/v2/model/config.py +170 -0
  116. huaweicloudsdkmrs/v2/model/create_auto_scaling_policy_request.py +139 -0
  117. huaweicloudsdkmrs/v2/model/create_auto_scaling_policy_response.py +85 -0
  118. huaweicloudsdkmrs/v2/model/create_cluster_req_v2.py +994 -0
  119. huaweicloudsdkmrs/v2/model/create_cluster_request.py +111 -0
  120. huaweicloudsdkmrs/v2/model/create_cluster_response.py +116 -0
  121. huaweicloudsdkmrs/v2/model/create_data_connector_request.py +111 -0
  122. huaweicloudsdkmrs/v2/model/create_data_connector_response.py +116 -0
  123. huaweicloudsdkmrs/v2/model/create_execute_job_request.py +139 -0
  124. huaweicloudsdkmrs/v2/model/create_execute_job_response.py +112 -0
  125. huaweicloudsdkmrs/v2/model/data_connector.py +170 -0
  126. huaweicloudsdkmrs/v2/model/data_connector_detail.py +460 -0
  127. huaweicloudsdkmrs/v2/model/data_connector_req.py +110 -0
  128. huaweicloudsdkmrs/v2/model/delete_auto_scaling_policy_request.py +139 -0
  129. huaweicloudsdkmrs/v2/model/delete_auto_scaling_policy_response.py +85 -0
  130. huaweicloudsdkmrs/v2/model/delete_data_connector_request.py +114 -0
  131. huaweicloudsdkmrs/v2/model/delete_data_connector_response.py +85 -0
  132. huaweicloudsdkmrs/v2/model/execute_sql_request.py +139 -0
  133. huaweicloudsdkmrs/v2/model/execute_sql_response.py +261 -0
  134. huaweicloudsdkmrs/v2/model/expand_cluster_request.py +139 -0
  135. huaweicloudsdkmrs/v2/model/expand_cluster_response.py +145 -0
  136. huaweicloudsdkmrs/v2/model/expand_param.py +200 -0
  137. huaweicloudsdkmrs/v2/model/file_status_v2.py +405 -0
  138. huaweicloudsdkmrs/v2/model/flavor.py +115 -0
  139. huaweicloudsdkmrs/v2/model/job_batch_delete.py +115 -0
  140. huaweicloudsdkmrs/v2/model/job_execution.py +200 -0
  141. huaweicloudsdkmrs/v2/model/job_query_bean.py +579 -0
  142. huaweicloudsdkmrs/v2/model/job_submit_result.py +144 -0
  143. huaweicloudsdkmrs/v2/model/list_data_connector_request.py +260 -0
  144. huaweicloudsdkmrs/v2/model/list_data_connector_response.py +145 -0
  145. huaweicloudsdkmrs/v2/model/list_nodes_request.py +375 -0
  146. huaweicloudsdkmrs/v2/model/list_nodes_response.py +145 -0
  147. huaweicloudsdkmrs/v2/model/modify_default_tags_request_body.py +114 -0
  148. huaweicloudsdkmrs/v2/model/node_detail.py +376 -0
  149. huaweicloudsdkmrs/v2/model/node_group_v2.py +328 -0
  150. huaweicloudsdkmrs/v2/model/resources_plan.py +255 -0
  151. huaweicloudsdkmrs/v2/model/rule.py +251 -0
  152. huaweicloudsdkmrs/v2/model/run_job_flow_command.py +997 -0
  153. huaweicloudsdkmrs/v2/model/run_job_flow_request.py +111 -0
  154. huaweicloudsdkmrs/v2/model/run_job_flow_response.py +116 -0
  155. huaweicloudsdkmrs/v2/model/scale_script.py +284 -0
  156. huaweicloudsdkmrs/v2/model/server_info.py +340 -0
  157. huaweicloudsdkmrs/v2/model/show_agency_mapping_request.py +114 -0
  158. huaweicloudsdkmrs/v2/model/show_agency_mapping_response.py +116 -0
  159. huaweicloudsdkmrs/v2/model/show_auto_scaling_policy_request.py +114 -0
  160. huaweicloudsdkmrs/v2/model/show_auto_scaling_policy_response.py +116 -0
  161. huaweicloudsdkmrs/v2/model/show_hdfs_file_list_request.py +258 -0
  162. huaweicloudsdkmrs/v2/model/show_hdfs_file_list_response.py +145 -0
  163. huaweicloudsdkmrs/v2/model/show_job_exe_list_new_request.py +462 -0
  164. huaweicloudsdkmrs/v2/model/show_job_exe_list_new_response.py +145 -0
  165. huaweicloudsdkmrs/v2/model/show_mrs_flavors_request.py +143 -0
  166. huaweicloudsdkmrs/v2/model/show_mrs_flavors_response.py +145 -0
  167. huaweicloudsdkmrs/v2/model/show_mrs_version_list_request.py +84 -0
  168. huaweicloudsdkmrs/v2/model/show_mrs_version_list_response.py +116 -0
  169. huaweicloudsdkmrs/v2/model/show_single_job_exe_request.py +142 -0
  170. huaweicloudsdkmrs/v2/model/show_single_job_exe_response.py +112 -0
  171. huaweicloudsdkmrs/v2/model/show_sql_result_request.py +142 -0
  172. huaweicloudsdkmrs/v2/model/show_sql_result_response.py +261 -0
  173. huaweicloudsdkmrs/v2/model/show_sql_result_with_job_request.py +142 -0
  174. huaweicloudsdkmrs/v2/model/show_sql_result_with_job_response.py +116 -0
  175. huaweicloudsdkmrs/v2/model/show_sync_iam_user_request.py +114 -0
  176. huaweicloudsdkmrs/v2/model/show_sync_iam_user_response.py +145 -0
  177. huaweicloudsdkmrs/v2/model/show_tag_quota_request.py +143 -0
  178. huaweicloudsdkmrs/v2/model/show_tag_quota_response.py +145 -0
  179. huaweicloudsdkmrs/v2/model/show_tag_status_request.py +114 -0
  180. huaweicloudsdkmrs/v2/model/show_tag_status_response.py +145 -0
  181. huaweicloudsdkmrs/v2/model/shrink_cluster_request.py +139 -0
  182. huaweicloudsdkmrs/v2/model/shrink_cluster_response.py +116 -0
  183. huaweicloudsdkmrs/v2/model/shrink_param.py +172 -0
  184. huaweicloudsdkmrs/v2/model/smn_notify.py +144 -0
  185. huaweicloudsdkmrs/v2/model/sql_execution_req.py +200 -0
  186. huaweicloudsdkmrs/v2/model/step_config.py +110 -0
  187. huaweicloudsdkmrs/v2/model/stop_job_request.py +142 -0
  188. huaweicloudsdkmrs/v2/model/stop_job_response.py +85 -0
  189. huaweicloudsdkmrs/v2/model/switch_cluster_tags_request.py +139 -0
  190. huaweicloudsdkmrs/v2/model/switch_cluster_tags_response.py +85 -0
  191. huaweicloudsdkmrs/v2/model/tag.py +142 -0
  192. huaweicloudsdkmrs/v2/model/trigger.py +199 -0
  193. huaweicloudsdkmrs/v2/model/update_agency_mapping_request.py +139 -0
  194. huaweicloudsdkmrs/v2/model/update_agency_mapping_response.py +116 -0
  195. huaweicloudsdkmrs/v2/model/update_auto_scaling_policy_request.py +139 -0
  196. huaweicloudsdkmrs/v2/model/update_auto_scaling_policy_response.py +85 -0
  197. huaweicloudsdkmrs/v2/model/update_cluster_name_request.py +139 -0
  198. huaweicloudsdkmrs/v2/model/update_cluster_name_response.py +116 -0
  199. huaweicloudsdkmrs/v2/model/update_cluster_req.py +114 -0
  200. huaweicloudsdkmrs/v2/model/update_data_connector_request.py +139 -0
  201. huaweicloudsdkmrs/v2/model/update_data_connector_response.py +116 -0
  202. huaweicloudsdkmrs/v2/model/update_sync_iam_user_request.py +139 -0
  203. huaweicloudsdkmrs/v2/model/update_sync_iam_user_response.py +116 -0
  204. huaweicloudsdkmrs/v2/model/update_sync_request.py +173 -0
  205. huaweicloudsdkmrs/v2/model/volume.py +142 -0
  206. huaweicloudsdkmrs/v2/model/volume_info.py +170 -0
  207. huaweicloudsdkmrs/v2/mrs_async_client.py +2476 -0
  208. huaweicloudsdkmrs/v2/mrs_client.py +2473 -0
  209. huaweicloudsdkmrs/v2/region/__init__.py +0 -0
  210. huaweicloudsdkmrs/v2/region/mrs_region.py +103 -0
  211. huaweicloudsdkmrs-3.1.160.dist-info/LICENSE +13 -0
  212. huaweicloudsdkmrs-3.1.160.dist-info/METADATA +26 -0
  213. huaweicloudsdkmrs-3.1.160.dist-info/RECORD +215 -0
  214. huaweicloudsdkmrs-3.1.160.dist-info/WHEEL +5 -0
  215. huaweicloudsdkmrs-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,997 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class RunJobFlowCommand:
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
+ 'is_dec_project': 'bool',
21
+ 'cluster_version': 'str',
22
+ 'cluster_name': 'str',
23
+ 'cluster_type': 'str',
24
+ 'charge_info': 'ChargeInfo',
25
+ 'region': 'str',
26
+ 'vpc_name': 'str',
27
+ 'subnet_id': 'str',
28
+ 'subnet_name': 'str',
29
+ 'components': 'str',
30
+ 'external_datasources': 'list[ClusterDataConnectorMap]',
31
+ 'availability_zone': 'str',
32
+ 'security_groups_id': 'str',
33
+ 'auto_create_default_security_group': 'bool',
34
+ 'safe_mode': 'str',
35
+ 'manager_admin_password': 'str',
36
+ 'login_mode': 'str',
37
+ 'node_root_password': 'str',
38
+ 'node_keypair_name': 'str',
39
+ 'enterprise_project_id': 'str',
40
+ 'eip_address': 'str',
41
+ 'eip_id': 'str',
42
+ 'mrs_ecs_default_agency': 'str',
43
+ 'template_id': 'str',
44
+ 'tags': 'list[Tag]',
45
+ 'log_collection': 'int',
46
+ 'node_groups': 'list[NodeGroupV2]',
47
+ 'bootstrap_scripts': 'list[BootstrapScript]',
48
+ 'log_uri': 'str',
49
+ 'component_configs': 'list[ComponentConfig]',
50
+ 'delete_when_no_steps': 'bool',
51
+ 'steps': 'list[StepConfig]'
52
+ }
53
+
54
+ attribute_map = {
55
+ 'is_dec_project': 'is_dec_project',
56
+ 'cluster_version': 'cluster_version',
57
+ 'cluster_name': 'cluster_name',
58
+ 'cluster_type': 'cluster_type',
59
+ 'charge_info': 'charge_info',
60
+ 'region': 'region',
61
+ 'vpc_name': 'vpc_name',
62
+ 'subnet_id': 'subnet_id',
63
+ 'subnet_name': 'subnet_name',
64
+ 'components': 'components',
65
+ 'external_datasources': 'external_datasources',
66
+ 'availability_zone': 'availability_zone',
67
+ 'security_groups_id': 'security_groups_id',
68
+ 'auto_create_default_security_group': 'auto_create_default_security_group',
69
+ 'safe_mode': 'safe_mode',
70
+ 'manager_admin_password': 'manager_admin_password',
71
+ 'login_mode': 'login_mode',
72
+ 'node_root_password': 'node_root_password',
73
+ 'node_keypair_name': 'node_keypair_name',
74
+ 'enterprise_project_id': 'enterprise_project_id',
75
+ 'eip_address': 'eip_address',
76
+ 'eip_id': 'eip_id',
77
+ 'mrs_ecs_default_agency': 'mrs_ecs_default_agency',
78
+ 'template_id': 'template_id',
79
+ 'tags': 'tags',
80
+ 'log_collection': 'log_collection',
81
+ 'node_groups': 'node_groups',
82
+ 'bootstrap_scripts': 'bootstrap_scripts',
83
+ 'log_uri': 'log_uri',
84
+ 'component_configs': 'component_configs',
85
+ 'delete_when_no_steps': 'delete_when_no_steps',
86
+ 'steps': 'steps'
87
+ }
88
+
89
+ def __init__(self, is_dec_project=None, cluster_version=None, cluster_name=None, cluster_type=None, charge_info=None, region=None, vpc_name=None, subnet_id=None, subnet_name=None, components=None, external_datasources=None, availability_zone=None, security_groups_id=None, auto_create_default_security_group=None, safe_mode=None, manager_admin_password=None, login_mode=None, node_root_password=None, node_keypair_name=None, enterprise_project_id=None, eip_address=None, eip_id=None, mrs_ecs_default_agency=None, template_id=None, tags=None, log_collection=None, node_groups=None, bootstrap_scripts=None, log_uri=None, component_configs=None, delete_when_no_steps=None, steps=None):
90
+ r"""RunJobFlowCommand
91
+
92
+ The model defined in huaweicloud sdk
93
+
94
+ :param is_dec_project: 说明是否为专属云的资源,默认为false。
95
+ :type is_dec_project: bool
96
+ :param cluster_version: 集群版本。例如:MRS 3.1.0。
97
+ :type cluster_version: str
98
+ :param cluster_name: 集群名称,不允许相同。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。
99
+ :type cluster_name: str
100
+ :param cluster_type: 集群类型,取值范围: - ANALYSIS:分析集群 - STREAMING:流式集群 - MIXED:混合集群 - CUSTOM:自定义集群,仅MRS 3.x版本支持。
101
+ :type cluster_type: str
102
+ :param charge_info:
103
+ :type charge_info: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
104
+ :param region: 集群所在区域信息,请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
105
+ :type region: str
106
+ :param vpc_name: 子网所在VPC名称。 通过VPC管理控制台获取名称: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 在“虚拟私有云”页面的列表中即可获取VPC名称。
107
+ :type vpc_name: str
108
+ :param subnet_id: 子网ID。通过VPC管理控制台获取子网ID: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网。 4) 单击对应子网名称,获取“网络ID”。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。推荐使用“subnet_id”。
109
+ :type subnet_id: str
110
+ :param subnet_name: 子网名称。 通过VPC管理控制台获取子网名称: 1) 登录管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网,获取子网名称。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。当仅填写“subnet_name”一个参数且VPC下存在同名子网时,创建集群时以VPC平台第一个名称的子网为准。推荐使用“subnet_id”。
111
+ :type subnet_name: str
112
+ :param components: 组件名称列表,用逗号分隔。支持的组件请参见[获取MRS集群信息](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)页面的“MRS服务支持的组件”内容。
113
+ :type components: str
114
+ :param external_datasources: 部署Hive和Ranger等组件时,可以关联数据连接,将元数据存储于关联的数据库
115
+ :type external_datasources: list[:class:`huaweicloudsdkmrs.v2.ClusterDataConnectorMap`]
116
+ :param availability_zone: 可用分区名称,不支持多AZ集群。 可用分区信息请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
117
+ :type availability_zone: str
118
+ :param security_groups_id: 集群安全组的ID。 - 当该ID为空时MRS后台会自动创建安全组,自动创建的安全组名称以mrs_{cluster_name}开头。 - 当该ID不为空时,表示使用固定安全组来创建集群,传入的ID必须是当前租户中包含的安全组ID,且该安全组中需要包含一条支持全部协议、全部端口、源地址为指定的管理面节点IP的入方向规则。 - 支持多个安全组ID,以逗号分隔。
119
+ :type security_groups_id: str
120
+ :param auto_create_default_security_group: 是否要创建MRS集群默认安全组,默认为false。 当指定该参数为true,则无论“security_groups_id”参数是否指定,都会为集群创建默认安全组。
121
+ :type auto_create_default_security_group: bool
122
+ :param safe_mode: MRS集群运行模式。 - SIMPLE:普通集群,表示Kerberos认证关闭,用户可使用集群提供的所有功能。 - KERBEROS:安全集群,表示Kerberos认证开启,普通用户无权限使用MRS集群的“文件管理”和“作业管理”功能,并且无法查看Hadoop、Spark的作业记录以及集群资源使用情况。如果需要使用集群更多功能,需要找Manager的管理员分配权限。
123
+ :type safe_mode: str
124
+ :param manager_admin_password: 配置Manager管理员用户的密码。 - 密码长度应在8~26个字符之间。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
125
+ :type manager_admin_password: str
126
+ :param login_mode: 节点登录方式。 - PASSWORD:密码登录,选择此项时,node_root_password不能为空。 - KEYPAIR:密钥对登录,选择此项时,node_keypair_name不能为空。
127
+ :type login_mode: str
128
+ :param node_root_password: 配置访问集群节点的root密码。 密码设置约束如下: - 字符串类型,可输入的字符串长度为8-26。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
129
+ :type node_root_password: str
130
+ :param node_keypair_name: 密钥对名称。用户可以使用密钥对方式登录集群节点。
131
+ :type node_keypair_name: str
132
+ :param enterprise_project_id: 企业项目ID。 创建集群时,给集群绑定企业项目ID。 默认设置为0,表示为default企业项目。 获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。
133
+ :type enterprise_project_id: str
134
+ :param eip_address: 与MRS集群绑定的弹性公网IP,可实现使用弹性公网IP访问Manager的目的。该弹性公网IP必须已经创建且与集群在同一区域。
135
+ :type eip_address: str
136
+ :param eip_id: 当“eip_address”配置时,该参数必须配置,用于表示绑定的弹性公网IP的ID。可通过在VPC服务的“网络控制台 > 弹性公网IP和带宽 > 弹性公网IP”页面单击待绑定的弹性公网IP,在基本信息中获取“ID”。
137
+ :type eip_id: str
138
+ :param mrs_ecs_default_agency: 集群节点默认绑定的委托名称,固定为MRS_ECS_DEFAULT_AGENCY。 通过绑定委托,您可以将部分资源共享给ECS或BMS云服务来管理,例如通过配置ECS委托可自动获取AK/SK访问OBS。 MRS_ECS_DEFAULT_AGENCY委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有CES FullAccess(对开启细粒度策略的用户)、CES Administrator和KMS Administrator权限。
139
+ :type mrs_ecs_default_agency: str
140
+ :param template_id: 当集群类型为CUSTOM时,用于指定节点部署所使用的模板。 - mgmt_control_combined_v2:管控合设模板,管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。 - mgmt_control_separated_v2:管控分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。 - mgmt_control_data_separated_v2:数据分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。
141
+ :type template_id: str
142
+ :param tags: 集群的标签信息。 同一个集群最多能使用10个tag,tag的名称(key)不能重复。
143
+ :type tags: list[:class:`huaweicloudsdkmrs.v2.Tag`]
144
+ :param log_collection: 集群创建失败时,是否收集失败日志。 默认设置为1,此时将创建OBS桶仅用于MRS集群创建失败时的日志收集。 枚举值: - 0:不收集 - 1:收集
145
+ :type log_collection: int
146
+ :param node_groups: 组成集群的节点组信息。
147
+ :type node_groups: list[:class:`huaweicloudsdkmrs.v2.NodeGroupV2`]
148
+ :param bootstrap_scripts: 配置引导操作脚本信息。
149
+ :type bootstrap_scripts: list[:class:`huaweicloudsdkmrs.v2.BootstrapScript`]
150
+ :param log_uri: 集群日志转储至OBS的具体路径。 开启日志转储功能后,日志上传需要对应OBS路径的读写权限, 请配置MRS_ECS_DEFULT_AGENCY默认委托或具有对应OBS路径读写权限的自定义委托。 具体请参见[配置存算分离集群(委托方式)](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0768.html)。 该参数只适用于支持“集群日志转储OBS”特性的集群版本。
151
+ :type log_uri: str
152
+ :param component_configs: 集群组件自定义配置。 该参数只适用于支持“自定义组件配置创建集群”特性的集群版本。
153
+ :type component_configs: list[:class:`huaweicloudsdkmrs.v2.ComponentConfig`]
154
+ :param delete_when_no_steps: 作业完成后是否自动删除集群,默认为false。
155
+ :type delete_when_no_steps: bool
156
+ :param steps: 作业列表。
157
+ :type steps: list[:class:`huaweicloudsdkmrs.v2.StepConfig`]
158
+ """
159
+
160
+
161
+
162
+ self._is_dec_project = None
163
+ self._cluster_version = None
164
+ self._cluster_name = None
165
+ self._cluster_type = None
166
+ self._charge_info = None
167
+ self._region = None
168
+ self._vpc_name = None
169
+ self._subnet_id = None
170
+ self._subnet_name = None
171
+ self._components = None
172
+ self._external_datasources = None
173
+ self._availability_zone = None
174
+ self._security_groups_id = None
175
+ self._auto_create_default_security_group = None
176
+ self._safe_mode = None
177
+ self._manager_admin_password = None
178
+ self._login_mode = None
179
+ self._node_root_password = None
180
+ self._node_keypair_name = None
181
+ self._enterprise_project_id = None
182
+ self._eip_address = None
183
+ self._eip_id = None
184
+ self._mrs_ecs_default_agency = None
185
+ self._template_id = None
186
+ self._tags = None
187
+ self._log_collection = None
188
+ self._node_groups = None
189
+ self._bootstrap_scripts = None
190
+ self._log_uri = None
191
+ self._component_configs = None
192
+ self._delete_when_no_steps = None
193
+ self._steps = None
194
+ self.discriminator = None
195
+
196
+ if is_dec_project is not None:
197
+ self.is_dec_project = is_dec_project
198
+ self.cluster_version = cluster_version
199
+ self.cluster_name = cluster_name
200
+ self.cluster_type = cluster_type
201
+ if charge_info is not None:
202
+ self.charge_info = charge_info
203
+ self.region = region
204
+ self.vpc_name = vpc_name
205
+ if subnet_id is not None:
206
+ self.subnet_id = subnet_id
207
+ self.subnet_name = subnet_name
208
+ self.components = components
209
+ if external_datasources is not None:
210
+ self.external_datasources = external_datasources
211
+ self.availability_zone = availability_zone
212
+ if security_groups_id is not None:
213
+ self.security_groups_id = security_groups_id
214
+ if auto_create_default_security_group is not None:
215
+ self.auto_create_default_security_group = auto_create_default_security_group
216
+ self.safe_mode = safe_mode
217
+ self.manager_admin_password = manager_admin_password
218
+ self.login_mode = login_mode
219
+ if node_root_password is not None:
220
+ self.node_root_password = node_root_password
221
+ if node_keypair_name is not None:
222
+ self.node_keypair_name = node_keypair_name
223
+ if enterprise_project_id is not None:
224
+ self.enterprise_project_id = enterprise_project_id
225
+ if eip_address is not None:
226
+ self.eip_address = eip_address
227
+ if eip_id is not None:
228
+ self.eip_id = eip_id
229
+ if mrs_ecs_default_agency is not None:
230
+ self.mrs_ecs_default_agency = mrs_ecs_default_agency
231
+ if template_id is not None:
232
+ self.template_id = template_id
233
+ if tags is not None:
234
+ self.tags = tags
235
+ if log_collection is not None:
236
+ self.log_collection = log_collection
237
+ self.node_groups = node_groups
238
+ if bootstrap_scripts is not None:
239
+ self.bootstrap_scripts = bootstrap_scripts
240
+ if log_uri is not None:
241
+ self.log_uri = log_uri
242
+ if component_configs is not None:
243
+ self.component_configs = component_configs
244
+ if delete_when_no_steps is not None:
245
+ self.delete_when_no_steps = delete_when_no_steps
246
+ self.steps = steps
247
+
248
+ @property
249
+ def is_dec_project(self):
250
+ r"""Gets the is_dec_project of this RunJobFlowCommand.
251
+
252
+ 说明是否为专属云的资源,默认为false。
253
+
254
+ :return: The is_dec_project of this RunJobFlowCommand.
255
+ :rtype: bool
256
+ """
257
+ return self._is_dec_project
258
+
259
+ @is_dec_project.setter
260
+ def is_dec_project(self, is_dec_project):
261
+ r"""Sets the is_dec_project of this RunJobFlowCommand.
262
+
263
+ 说明是否为专属云的资源,默认为false。
264
+
265
+ :param is_dec_project: The is_dec_project of this RunJobFlowCommand.
266
+ :type is_dec_project: bool
267
+ """
268
+ self._is_dec_project = is_dec_project
269
+
270
+ @property
271
+ def cluster_version(self):
272
+ r"""Gets the cluster_version of this RunJobFlowCommand.
273
+
274
+ 集群版本。例如:MRS 3.1.0。
275
+
276
+ :return: The cluster_version of this RunJobFlowCommand.
277
+ :rtype: str
278
+ """
279
+ return self._cluster_version
280
+
281
+ @cluster_version.setter
282
+ def cluster_version(self, cluster_version):
283
+ r"""Sets the cluster_version of this RunJobFlowCommand.
284
+
285
+ 集群版本。例如:MRS 3.1.0。
286
+
287
+ :param cluster_version: The cluster_version of this RunJobFlowCommand.
288
+ :type cluster_version: str
289
+ """
290
+ self._cluster_version = cluster_version
291
+
292
+ @property
293
+ def cluster_name(self):
294
+ r"""Gets the cluster_name of this RunJobFlowCommand.
295
+
296
+ 集群名称,不允许相同。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。
297
+
298
+ :return: The cluster_name of this RunJobFlowCommand.
299
+ :rtype: str
300
+ """
301
+ return self._cluster_name
302
+
303
+ @cluster_name.setter
304
+ def cluster_name(self, cluster_name):
305
+ r"""Sets the cluster_name of this RunJobFlowCommand.
306
+
307
+ 集群名称,不允许相同。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。
308
+
309
+ :param cluster_name: The cluster_name of this RunJobFlowCommand.
310
+ :type cluster_name: str
311
+ """
312
+ self._cluster_name = cluster_name
313
+
314
+ @property
315
+ def cluster_type(self):
316
+ r"""Gets the cluster_type of this RunJobFlowCommand.
317
+
318
+ 集群类型,取值范围: - ANALYSIS:分析集群 - STREAMING:流式集群 - MIXED:混合集群 - CUSTOM:自定义集群,仅MRS 3.x版本支持。
319
+
320
+ :return: The cluster_type of this RunJobFlowCommand.
321
+ :rtype: str
322
+ """
323
+ return self._cluster_type
324
+
325
+ @cluster_type.setter
326
+ def cluster_type(self, cluster_type):
327
+ r"""Sets the cluster_type of this RunJobFlowCommand.
328
+
329
+ 集群类型,取值范围: - ANALYSIS:分析集群 - STREAMING:流式集群 - MIXED:混合集群 - CUSTOM:自定义集群,仅MRS 3.x版本支持。
330
+
331
+ :param cluster_type: The cluster_type of this RunJobFlowCommand.
332
+ :type cluster_type: str
333
+ """
334
+ self._cluster_type = cluster_type
335
+
336
+ @property
337
+ def charge_info(self):
338
+ r"""Gets the charge_info of this RunJobFlowCommand.
339
+
340
+ :return: The charge_info of this RunJobFlowCommand.
341
+ :rtype: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
342
+ """
343
+ return self._charge_info
344
+
345
+ @charge_info.setter
346
+ def charge_info(self, charge_info):
347
+ r"""Sets the charge_info of this RunJobFlowCommand.
348
+
349
+ :param charge_info: The charge_info of this RunJobFlowCommand.
350
+ :type charge_info: :class:`huaweicloudsdkmrs.v2.ChargeInfo`
351
+ """
352
+ self._charge_info = charge_info
353
+
354
+ @property
355
+ def region(self):
356
+ r"""Gets the region of this RunJobFlowCommand.
357
+
358
+ 集群所在区域信息,请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
359
+
360
+ :return: The region of this RunJobFlowCommand.
361
+ :rtype: str
362
+ """
363
+ return self._region
364
+
365
+ @region.setter
366
+ def region(self, region):
367
+ r"""Sets the region of this RunJobFlowCommand.
368
+
369
+ 集群所在区域信息,请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
370
+
371
+ :param region: The region of this RunJobFlowCommand.
372
+ :type region: str
373
+ """
374
+ self._region = region
375
+
376
+ @property
377
+ def vpc_name(self):
378
+ r"""Gets the vpc_name of this RunJobFlowCommand.
379
+
380
+ 子网所在VPC名称。 通过VPC管理控制台获取名称: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 在“虚拟私有云”页面的列表中即可获取VPC名称。
381
+
382
+ :return: The vpc_name of this RunJobFlowCommand.
383
+ :rtype: str
384
+ """
385
+ return self._vpc_name
386
+
387
+ @vpc_name.setter
388
+ def vpc_name(self, vpc_name):
389
+ r"""Sets the vpc_name of this RunJobFlowCommand.
390
+
391
+ 子网所在VPC名称。 通过VPC管理控制台获取名称: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 在“虚拟私有云”页面的列表中即可获取VPC名称。
392
+
393
+ :param vpc_name: The vpc_name of this RunJobFlowCommand.
394
+ :type vpc_name: str
395
+ """
396
+ self._vpc_name = vpc_name
397
+
398
+ @property
399
+ def subnet_id(self):
400
+ r"""Gets the subnet_id of this RunJobFlowCommand.
401
+
402
+ 子网ID。通过VPC管理控制台获取子网ID: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网。 4) 单击对应子网名称,获取“网络ID”。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。推荐使用“subnet_id”。
403
+
404
+ :return: The subnet_id of this RunJobFlowCommand.
405
+ :rtype: str
406
+ """
407
+ return self._subnet_id
408
+
409
+ @subnet_id.setter
410
+ def subnet_id(self, subnet_id):
411
+ r"""Sets the subnet_id of this RunJobFlowCommand.
412
+
413
+ 子网ID。通过VPC管理控制台获取子网ID: 1) 登录VPC管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网。 4) 单击对应子网名称,获取“网络ID”。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。推荐使用“subnet_id”。
414
+
415
+ :param subnet_id: The subnet_id of this RunJobFlowCommand.
416
+ :type subnet_id: str
417
+ """
418
+ self._subnet_id = subnet_id
419
+
420
+ @property
421
+ def subnet_name(self):
422
+ r"""Gets the subnet_name of this RunJobFlowCommand.
423
+
424
+ 子网名称。 通过VPC管理控制台获取子网名称: 1) 登录管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网,获取子网名称。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。当仅填写“subnet_name”一个参数且VPC下存在同名子网时,创建集群时以VPC平台第一个名称的子网为准。推荐使用“subnet_id”。
425
+
426
+ :return: The subnet_name of this RunJobFlowCommand.
427
+ :rtype: str
428
+ """
429
+ return self._subnet_name
430
+
431
+ @subnet_name.setter
432
+ def subnet_name(self, subnet_name):
433
+ r"""Sets the subnet_name of this RunJobFlowCommand.
434
+
435
+ 子网名称。 通过VPC管理控制台获取子网名称: 1) 登录管理控制台。 2) 单击“虚拟私有云”,从左侧列表选择虚拟私有云。 3) 单击对应虚拟私有云所在行的“子网个数”查看子网,获取子网名称。 “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。当仅填写“subnet_name”一个参数且VPC下存在同名子网时,创建集群时以VPC平台第一个名称的子网为准。推荐使用“subnet_id”。
436
+
437
+ :param subnet_name: The subnet_name of this RunJobFlowCommand.
438
+ :type subnet_name: str
439
+ """
440
+ self._subnet_name = subnet_name
441
+
442
+ @property
443
+ def components(self):
444
+ r"""Gets the components of this RunJobFlowCommand.
445
+
446
+ 组件名称列表,用逗号分隔。支持的组件请参见[获取MRS集群信息](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)页面的“MRS服务支持的组件”内容。
447
+
448
+ :return: The components of this RunJobFlowCommand.
449
+ :rtype: str
450
+ """
451
+ return self._components
452
+
453
+ @components.setter
454
+ def components(self, components):
455
+ r"""Sets the components of this RunJobFlowCommand.
456
+
457
+ 组件名称列表,用逗号分隔。支持的组件请参见[获取MRS集群信息](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)页面的“MRS服务支持的组件”内容。
458
+
459
+ :param components: The components of this RunJobFlowCommand.
460
+ :type components: str
461
+ """
462
+ self._components = components
463
+
464
+ @property
465
+ def external_datasources(self):
466
+ r"""Gets the external_datasources of this RunJobFlowCommand.
467
+
468
+ 部署Hive和Ranger等组件时,可以关联数据连接,将元数据存储于关联的数据库
469
+
470
+ :return: The external_datasources of this RunJobFlowCommand.
471
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.ClusterDataConnectorMap`]
472
+ """
473
+ return self._external_datasources
474
+
475
+ @external_datasources.setter
476
+ def external_datasources(self, external_datasources):
477
+ r"""Sets the external_datasources of this RunJobFlowCommand.
478
+
479
+ 部署Hive和Ranger等组件时,可以关联数据连接,将元数据存储于关联的数据库
480
+
481
+ :param external_datasources: The external_datasources of this RunJobFlowCommand.
482
+ :type external_datasources: list[:class:`huaweicloudsdkmrs.v2.ClusterDataConnectorMap`]
483
+ """
484
+ self._external_datasources = external_datasources
485
+
486
+ @property
487
+ def availability_zone(self):
488
+ r"""Gets the availability_zone of this RunJobFlowCommand.
489
+
490
+ 可用分区名称,不支持多AZ集群。 可用分区信息请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
491
+
492
+ :return: The availability_zone of this RunJobFlowCommand.
493
+ :rtype: str
494
+ """
495
+ return self._availability_zone
496
+
497
+ @availability_zone.setter
498
+ def availability_zone(self, availability_zone):
499
+ r"""Sets the availability_zone of this RunJobFlowCommand.
500
+
501
+ 可用分区名称,不支持多AZ集群。 可用分区信息请参见[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)。
502
+
503
+ :param availability_zone: The availability_zone of this RunJobFlowCommand.
504
+ :type availability_zone: str
505
+ """
506
+ self._availability_zone = availability_zone
507
+
508
+ @property
509
+ def security_groups_id(self):
510
+ r"""Gets the security_groups_id of this RunJobFlowCommand.
511
+
512
+ 集群安全组的ID。 - 当该ID为空时MRS后台会自动创建安全组,自动创建的安全组名称以mrs_{cluster_name}开头。 - 当该ID不为空时,表示使用固定安全组来创建集群,传入的ID必须是当前租户中包含的安全组ID,且该安全组中需要包含一条支持全部协议、全部端口、源地址为指定的管理面节点IP的入方向规则。 - 支持多个安全组ID,以逗号分隔。
513
+
514
+ :return: The security_groups_id of this RunJobFlowCommand.
515
+ :rtype: str
516
+ """
517
+ return self._security_groups_id
518
+
519
+ @security_groups_id.setter
520
+ def security_groups_id(self, security_groups_id):
521
+ r"""Sets the security_groups_id of this RunJobFlowCommand.
522
+
523
+ 集群安全组的ID。 - 当该ID为空时MRS后台会自动创建安全组,自动创建的安全组名称以mrs_{cluster_name}开头。 - 当该ID不为空时,表示使用固定安全组来创建集群,传入的ID必须是当前租户中包含的安全组ID,且该安全组中需要包含一条支持全部协议、全部端口、源地址为指定的管理面节点IP的入方向规则。 - 支持多个安全组ID,以逗号分隔。
524
+
525
+ :param security_groups_id: The security_groups_id of this RunJobFlowCommand.
526
+ :type security_groups_id: str
527
+ """
528
+ self._security_groups_id = security_groups_id
529
+
530
+ @property
531
+ def auto_create_default_security_group(self):
532
+ r"""Gets the auto_create_default_security_group of this RunJobFlowCommand.
533
+
534
+ 是否要创建MRS集群默认安全组,默认为false。 当指定该参数为true,则无论“security_groups_id”参数是否指定,都会为集群创建默认安全组。
535
+
536
+ :return: The auto_create_default_security_group of this RunJobFlowCommand.
537
+ :rtype: bool
538
+ """
539
+ return self._auto_create_default_security_group
540
+
541
+ @auto_create_default_security_group.setter
542
+ def auto_create_default_security_group(self, auto_create_default_security_group):
543
+ r"""Sets the auto_create_default_security_group of this RunJobFlowCommand.
544
+
545
+ 是否要创建MRS集群默认安全组,默认为false。 当指定该参数为true,则无论“security_groups_id”参数是否指定,都会为集群创建默认安全组。
546
+
547
+ :param auto_create_default_security_group: The auto_create_default_security_group of this RunJobFlowCommand.
548
+ :type auto_create_default_security_group: bool
549
+ """
550
+ self._auto_create_default_security_group = auto_create_default_security_group
551
+
552
+ @property
553
+ def safe_mode(self):
554
+ r"""Gets the safe_mode of this RunJobFlowCommand.
555
+
556
+ MRS集群运行模式。 - SIMPLE:普通集群,表示Kerberos认证关闭,用户可使用集群提供的所有功能。 - KERBEROS:安全集群,表示Kerberos认证开启,普通用户无权限使用MRS集群的“文件管理”和“作业管理”功能,并且无法查看Hadoop、Spark的作业记录以及集群资源使用情况。如果需要使用集群更多功能,需要找Manager的管理员分配权限。
557
+
558
+ :return: The safe_mode of this RunJobFlowCommand.
559
+ :rtype: str
560
+ """
561
+ return self._safe_mode
562
+
563
+ @safe_mode.setter
564
+ def safe_mode(self, safe_mode):
565
+ r"""Sets the safe_mode of this RunJobFlowCommand.
566
+
567
+ MRS集群运行模式。 - SIMPLE:普通集群,表示Kerberos认证关闭,用户可使用集群提供的所有功能。 - KERBEROS:安全集群,表示Kerberos认证开启,普通用户无权限使用MRS集群的“文件管理”和“作业管理”功能,并且无法查看Hadoop、Spark的作业记录以及集群资源使用情况。如果需要使用集群更多功能,需要找Manager的管理员分配权限。
568
+
569
+ :param safe_mode: The safe_mode of this RunJobFlowCommand.
570
+ :type safe_mode: str
571
+ """
572
+ self._safe_mode = safe_mode
573
+
574
+ @property
575
+ def manager_admin_password(self):
576
+ r"""Gets the manager_admin_password of this RunJobFlowCommand.
577
+
578
+ 配置Manager管理员用户的密码。 - 密码长度应在8~26个字符之间。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
579
+
580
+ :return: The manager_admin_password of this RunJobFlowCommand.
581
+ :rtype: str
582
+ """
583
+ return self._manager_admin_password
584
+
585
+ @manager_admin_password.setter
586
+ def manager_admin_password(self, manager_admin_password):
587
+ r"""Sets the manager_admin_password of this RunJobFlowCommand.
588
+
589
+ 配置Manager管理员用户的密码。 - 密码长度应在8~26个字符之间。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
590
+
591
+ :param manager_admin_password: The manager_admin_password of this RunJobFlowCommand.
592
+ :type manager_admin_password: str
593
+ """
594
+ self._manager_admin_password = manager_admin_password
595
+
596
+ @property
597
+ def login_mode(self):
598
+ r"""Gets the login_mode of this RunJobFlowCommand.
599
+
600
+ 节点登录方式。 - PASSWORD:密码登录,选择此项时,node_root_password不能为空。 - KEYPAIR:密钥对登录,选择此项时,node_keypair_name不能为空。
601
+
602
+ :return: The login_mode of this RunJobFlowCommand.
603
+ :rtype: str
604
+ """
605
+ return self._login_mode
606
+
607
+ @login_mode.setter
608
+ def login_mode(self, login_mode):
609
+ r"""Sets the login_mode of this RunJobFlowCommand.
610
+
611
+ 节点登录方式。 - PASSWORD:密码登录,选择此项时,node_root_password不能为空。 - KEYPAIR:密钥对登录,选择此项时,node_keypair_name不能为空。
612
+
613
+ :param login_mode: The login_mode of this RunJobFlowCommand.
614
+ :type login_mode: str
615
+ """
616
+ self._login_mode = login_mode
617
+
618
+ @property
619
+ def node_root_password(self):
620
+ r"""Gets the node_root_password of this RunJobFlowCommand.
621
+
622
+ 配置访问集群节点的root密码。 密码设置约束如下: - 字符串类型,可输入的字符串长度为8-26。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
623
+
624
+ :return: The node_root_password of this RunJobFlowCommand.
625
+ :rtype: str
626
+ """
627
+ return self._node_root_password
628
+
629
+ @node_root_password.setter
630
+ def node_root_password(self, node_root_password):
631
+ r"""Sets the node_root_password of this RunJobFlowCommand.
632
+
633
+ 配置访问集群节点的root密码。 密码设置约束如下: - 字符串类型,可输入的字符串长度为8-26。 - 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。 - 不能与用户名或者倒序用户名相同。
634
+
635
+ :param node_root_password: The node_root_password of this RunJobFlowCommand.
636
+ :type node_root_password: str
637
+ """
638
+ self._node_root_password = node_root_password
639
+
640
+ @property
641
+ def node_keypair_name(self):
642
+ r"""Gets the node_keypair_name of this RunJobFlowCommand.
643
+
644
+ 密钥对名称。用户可以使用密钥对方式登录集群节点。
645
+
646
+ :return: The node_keypair_name of this RunJobFlowCommand.
647
+ :rtype: str
648
+ """
649
+ return self._node_keypair_name
650
+
651
+ @node_keypair_name.setter
652
+ def node_keypair_name(self, node_keypair_name):
653
+ r"""Sets the node_keypair_name of this RunJobFlowCommand.
654
+
655
+ 密钥对名称。用户可以使用密钥对方式登录集群节点。
656
+
657
+ :param node_keypair_name: The node_keypair_name of this RunJobFlowCommand.
658
+ :type node_keypair_name: str
659
+ """
660
+ self._node_keypair_name = node_keypair_name
661
+
662
+ @property
663
+ def enterprise_project_id(self):
664
+ r"""Gets the enterprise_project_id of this RunJobFlowCommand.
665
+
666
+ 企业项目ID。 创建集群时,给集群绑定企业项目ID。 默认设置为0,表示为default企业项目。 获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。
667
+
668
+ :return: The enterprise_project_id of this RunJobFlowCommand.
669
+ :rtype: str
670
+ """
671
+ return self._enterprise_project_id
672
+
673
+ @enterprise_project_id.setter
674
+ def enterprise_project_id(self, enterprise_project_id):
675
+ r"""Sets the enterprise_project_id of this RunJobFlowCommand.
676
+
677
+ 企业项目ID。 创建集群时,给集群绑定企业项目ID。 默认设置为0,表示为default企业项目。 获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。
678
+
679
+ :param enterprise_project_id: The enterprise_project_id of this RunJobFlowCommand.
680
+ :type enterprise_project_id: str
681
+ """
682
+ self._enterprise_project_id = enterprise_project_id
683
+
684
+ @property
685
+ def eip_address(self):
686
+ r"""Gets the eip_address of this RunJobFlowCommand.
687
+
688
+ 与MRS集群绑定的弹性公网IP,可实现使用弹性公网IP访问Manager的目的。该弹性公网IP必须已经创建且与集群在同一区域。
689
+
690
+ :return: The eip_address of this RunJobFlowCommand.
691
+ :rtype: str
692
+ """
693
+ return self._eip_address
694
+
695
+ @eip_address.setter
696
+ def eip_address(self, eip_address):
697
+ r"""Sets the eip_address of this RunJobFlowCommand.
698
+
699
+ 与MRS集群绑定的弹性公网IP,可实现使用弹性公网IP访问Manager的目的。该弹性公网IP必须已经创建且与集群在同一区域。
700
+
701
+ :param eip_address: The eip_address of this RunJobFlowCommand.
702
+ :type eip_address: str
703
+ """
704
+ self._eip_address = eip_address
705
+
706
+ @property
707
+ def eip_id(self):
708
+ r"""Gets the eip_id of this RunJobFlowCommand.
709
+
710
+ 当“eip_address”配置时,该参数必须配置,用于表示绑定的弹性公网IP的ID。可通过在VPC服务的“网络控制台 > 弹性公网IP和带宽 > 弹性公网IP”页面单击待绑定的弹性公网IP,在基本信息中获取“ID”。
711
+
712
+ :return: The eip_id of this RunJobFlowCommand.
713
+ :rtype: str
714
+ """
715
+ return self._eip_id
716
+
717
+ @eip_id.setter
718
+ def eip_id(self, eip_id):
719
+ r"""Sets the eip_id of this RunJobFlowCommand.
720
+
721
+ 当“eip_address”配置时,该参数必须配置,用于表示绑定的弹性公网IP的ID。可通过在VPC服务的“网络控制台 > 弹性公网IP和带宽 > 弹性公网IP”页面单击待绑定的弹性公网IP,在基本信息中获取“ID”。
722
+
723
+ :param eip_id: The eip_id of this RunJobFlowCommand.
724
+ :type eip_id: str
725
+ """
726
+ self._eip_id = eip_id
727
+
728
+ @property
729
+ def mrs_ecs_default_agency(self):
730
+ r"""Gets the mrs_ecs_default_agency of this RunJobFlowCommand.
731
+
732
+ 集群节点默认绑定的委托名称,固定为MRS_ECS_DEFAULT_AGENCY。 通过绑定委托,您可以将部分资源共享给ECS或BMS云服务来管理,例如通过配置ECS委托可自动获取AK/SK访问OBS。 MRS_ECS_DEFAULT_AGENCY委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有CES FullAccess(对开启细粒度策略的用户)、CES Administrator和KMS Administrator权限。
733
+
734
+ :return: The mrs_ecs_default_agency of this RunJobFlowCommand.
735
+ :rtype: str
736
+ """
737
+ return self._mrs_ecs_default_agency
738
+
739
+ @mrs_ecs_default_agency.setter
740
+ def mrs_ecs_default_agency(self, mrs_ecs_default_agency):
741
+ r"""Sets the mrs_ecs_default_agency of this RunJobFlowCommand.
742
+
743
+ 集群节点默认绑定的委托名称,固定为MRS_ECS_DEFAULT_AGENCY。 通过绑定委托,您可以将部分资源共享给ECS或BMS云服务来管理,例如通过配置ECS委托可自动获取AK/SK访问OBS。 MRS_ECS_DEFAULT_AGENCY委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有CES FullAccess(对开启细粒度策略的用户)、CES Administrator和KMS Administrator权限。
744
+
745
+ :param mrs_ecs_default_agency: The mrs_ecs_default_agency of this RunJobFlowCommand.
746
+ :type mrs_ecs_default_agency: str
747
+ """
748
+ self._mrs_ecs_default_agency = mrs_ecs_default_agency
749
+
750
+ @property
751
+ def template_id(self):
752
+ r"""Gets the template_id of this RunJobFlowCommand.
753
+
754
+ 当集群类型为CUSTOM时,用于指定节点部署所使用的模板。 - mgmt_control_combined_v2:管控合设模板,管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。 - mgmt_control_separated_v2:管控分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。 - mgmt_control_data_separated_v2:数据分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。
755
+
756
+ :return: The template_id of this RunJobFlowCommand.
757
+ :rtype: str
758
+ """
759
+ return self._template_id
760
+
761
+ @template_id.setter
762
+ def template_id(self, template_id):
763
+ r"""Sets the template_id of this RunJobFlowCommand.
764
+
765
+ 当集群类型为CUSTOM时,用于指定节点部署所使用的模板。 - mgmt_control_combined_v2:管控合设模板,管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。 - mgmt_control_separated_v2:管控分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。 - mgmt_control_data_separated_v2:数据分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。
766
+
767
+ :param template_id: The template_id of this RunJobFlowCommand.
768
+ :type template_id: str
769
+ """
770
+ self._template_id = template_id
771
+
772
+ @property
773
+ def tags(self):
774
+ r"""Gets the tags of this RunJobFlowCommand.
775
+
776
+ 集群的标签信息。 同一个集群最多能使用10个tag,tag的名称(key)不能重复。
777
+
778
+ :return: The tags of this RunJobFlowCommand.
779
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.Tag`]
780
+ """
781
+ return self._tags
782
+
783
+ @tags.setter
784
+ def tags(self, tags):
785
+ r"""Sets the tags of this RunJobFlowCommand.
786
+
787
+ 集群的标签信息。 同一个集群最多能使用10个tag,tag的名称(key)不能重复。
788
+
789
+ :param tags: The tags of this RunJobFlowCommand.
790
+ :type tags: list[:class:`huaweicloudsdkmrs.v2.Tag`]
791
+ """
792
+ self._tags = tags
793
+
794
+ @property
795
+ def log_collection(self):
796
+ r"""Gets the log_collection of this RunJobFlowCommand.
797
+
798
+ 集群创建失败时,是否收集失败日志。 默认设置为1,此时将创建OBS桶仅用于MRS集群创建失败时的日志收集。 枚举值: - 0:不收集 - 1:收集
799
+
800
+ :return: The log_collection of this RunJobFlowCommand.
801
+ :rtype: int
802
+ """
803
+ return self._log_collection
804
+
805
+ @log_collection.setter
806
+ def log_collection(self, log_collection):
807
+ r"""Sets the log_collection of this RunJobFlowCommand.
808
+
809
+ 集群创建失败时,是否收集失败日志。 默认设置为1,此时将创建OBS桶仅用于MRS集群创建失败时的日志收集。 枚举值: - 0:不收集 - 1:收集
810
+
811
+ :param log_collection: The log_collection of this RunJobFlowCommand.
812
+ :type log_collection: int
813
+ """
814
+ self._log_collection = log_collection
815
+
816
+ @property
817
+ def node_groups(self):
818
+ r"""Gets the node_groups of this RunJobFlowCommand.
819
+
820
+ 组成集群的节点组信息。
821
+
822
+ :return: The node_groups of this RunJobFlowCommand.
823
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.NodeGroupV2`]
824
+ """
825
+ return self._node_groups
826
+
827
+ @node_groups.setter
828
+ def node_groups(self, node_groups):
829
+ r"""Sets the node_groups of this RunJobFlowCommand.
830
+
831
+ 组成集群的节点组信息。
832
+
833
+ :param node_groups: The node_groups of this RunJobFlowCommand.
834
+ :type node_groups: list[:class:`huaweicloudsdkmrs.v2.NodeGroupV2`]
835
+ """
836
+ self._node_groups = node_groups
837
+
838
+ @property
839
+ def bootstrap_scripts(self):
840
+ r"""Gets the bootstrap_scripts of this RunJobFlowCommand.
841
+
842
+ 配置引导操作脚本信息。
843
+
844
+ :return: The bootstrap_scripts of this RunJobFlowCommand.
845
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.BootstrapScript`]
846
+ """
847
+ return self._bootstrap_scripts
848
+
849
+ @bootstrap_scripts.setter
850
+ def bootstrap_scripts(self, bootstrap_scripts):
851
+ r"""Sets the bootstrap_scripts of this RunJobFlowCommand.
852
+
853
+ 配置引导操作脚本信息。
854
+
855
+ :param bootstrap_scripts: The bootstrap_scripts of this RunJobFlowCommand.
856
+ :type bootstrap_scripts: list[:class:`huaweicloudsdkmrs.v2.BootstrapScript`]
857
+ """
858
+ self._bootstrap_scripts = bootstrap_scripts
859
+
860
+ @property
861
+ def log_uri(self):
862
+ r"""Gets the log_uri of this RunJobFlowCommand.
863
+
864
+ 集群日志转储至OBS的具体路径。 开启日志转储功能后,日志上传需要对应OBS路径的读写权限, 请配置MRS_ECS_DEFULT_AGENCY默认委托或具有对应OBS路径读写权限的自定义委托。 具体请参见[配置存算分离集群(委托方式)](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0768.html)。 该参数只适用于支持“集群日志转储OBS”特性的集群版本。
865
+
866
+ :return: The log_uri of this RunJobFlowCommand.
867
+ :rtype: str
868
+ """
869
+ return self._log_uri
870
+
871
+ @log_uri.setter
872
+ def log_uri(self, log_uri):
873
+ r"""Sets the log_uri of this RunJobFlowCommand.
874
+
875
+ 集群日志转储至OBS的具体路径。 开启日志转储功能后,日志上传需要对应OBS路径的读写权限, 请配置MRS_ECS_DEFULT_AGENCY默认委托或具有对应OBS路径读写权限的自定义委托。 具体请参见[配置存算分离集群(委托方式)](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0768.html)。 该参数只适用于支持“集群日志转储OBS”特性的集群版本。
876
+
877
+ :param log_uri: The log_uri of this RunJobFlowCommand.
878
+ :type log_uri: str
879
+ """
880
+ self._log_uri = log_uri
881
+
882
+ @property
883
+ def component_configs(self):
884
+ r"""Gets the component_configs of this RunJobFlowCommand.
885
+
886
+ 集群组件自定义配置。 该参数只适用于支持“自定义组件配置创建集群”特性的集群版本。
887
+
888
+ :return: The component_configs of this RunJobFlowCommand.
889
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.ComponentConfig`]
890
+ """
891
+ return self._component_configs
892
+
893
+ @component_configs.setter
894
+ def component_configs(self, component_configs):
895
+ r"""Sets the component_configs of this RunJobFlowCommand.
896
+
897
+ 集群组件自定义配置。 该参数只适用于支持“自定义组件配置创建集群”特性的集群版本。
898
+
899
+ :param component_configs: The component_configs of this RunJobFlowCommand.
900
+ :type component_configs: list[:class:`huaweicloudsdkmrs.v2.ComponentConfig`]
901
+ """
902
+ self._component_configs = component_configs
903
+
904
+ @property
905
+ def delete_when_no_steps(self):
906
+ r"""Gets the delete_when_no_steps of this RunJobFlowCommand.
907
+
908
+ 作业完成后是否自动删除集群,默认为false。
909
+
910
+ :return: The delete_when_no_steps of this RunJobFlowCommand.
911
+ :rtype: bool
912
+ """
913
+ return self._delete_when_no_steps
914
+
915
+ @delete_when_no_steps.setter
916
+ def delete_when_no_steps(self, delete_when_no_steps):
917
+ r"""Sets the delete_when_no_steps of this RunJobFlowCommand.
918
+
919
+ 作业完成后是否自动删除集群,默认为false。
920
+
921
+ :param delete_when_no_steps: The delete_when_no_steps of this RunJobFlowCommand.
922
+ :type delete_when_no_steps: bool
923
+ """
924
+ self._delete_when_no_steps = delete_when_no_steps
925
+
926
+ @property
927
+ def steps(self):
928
+ r"""Gets the steps of this RunJobFlowCommand.
929
+
930
+ 作业列表。
931
+
932
+ :return: The steps of this RunJobFlowCommand.
933
+ :rtype: list[:class:`huaweicloudsdkmrs.v2.StepConfig`]
934
+ """
935
+ return self._steps
936
+
937
+ @steps.setter
938
+ def steps(self, steps):
939
+ r"""Sets the steps of this RunJobFlowCommand.
940
+
941
+ 作业列表。
942
+
943
+ :param steps: The steps of this RunJobFlowCommand.
944
+ :type steps: list[:class:`huaweicloudsdkmrs.v2.StepConfig`]
945
+ """
946
+ self._steps = steps
947
+
948
+ def to_dict(self):
949
+ """Returns the model properties as a dict"""
950
+ result = {}
951
+
952
+ for attr, _ in six.iteritems(self.openapi_types):
953
+ value = getattr(self, attr)
954
+ if isinstance(value, list):
955
+ result[attr] = list(map(
956
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
957
+ value
958
+ ))
959
+ elif hasattr(value, "to_dict"):
960
+ result[attr] = value.to_dict()
961
+ elif isinstance(value, dict):
962
+ result[attr] = dict(map(
963
+ lambda item: (item[0], item[1].to_dict())
964
+ if hasattr(item[1], "to_dict") else item,
965
+ value.items()
966
+ ))
967
+ else:
968
+ if attr in self.sensitive_list:
969
+ result[attr] = "****"
970
+ else:
971
+ result[attr] = value
972
+
973
+ return result
974
+
975
+ def to_str(self):
976
+ """Returns the string representation of the model"""
977
+ import simplejson as json
978
+ if six.PY2:
979
+ import sys
980
+ reload(sys)
981
+ sys.setdefaultencoding("utf-8")
982
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
983
+
984
+ def __repr__(self):
985
+ """For `print`"""
986
+ return self.to_str()
987
+
988
+ def __eq__(self, other):
989
+ """Returns true if both objects are equal"""
990
+ if not isinstance(other, RunJobFlowCommand):
991
+ return False
992
+
993
+ return self.__dict__ == other.__dict__
994
+
995
+ def __ne__(self, other):
996
+ """Returns true if both objects are not equal"""
997
+ return not self == other