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,2476 @@
1
+ # coding: utf-8
2
+
3
+ from __future__ import absolute_import
4
+
5
+ import importlib
6
+ import warnings
7
+
8
+ from huaweicloudsdkcore.client import Client, ClientBuilder
9
+ from huaweicloudsdkcore.utils import http_utils
10
+ from huaweicloudsdkcore.sdk_stream_request import SdkStreamRequest
11
+
12
+ try:
13
+ from huaweicloudsdkcore.invoker.invoker import AsyncInvoker
14
+ except ImportError as e:
15
+ warnings.warn(str(e) + ", please check if you are using the same versions of 'huaweicloudsdkcore' and 'huaweicloudsdkmrs'")
16
+
17
+
18
+ class MrsAsyncClient(Client):
19
+ def __init__(self):
20
+ super(MrsAsyncClient, self).__init__()
21
+ self.model_package = importlib.import_module("huaweicloudsdkmrs.v2.model")
22
+
23
+ @classmethod
24
+ def new_builder(cls, clazz=None):
25
+ if not clazz:
26
+ client_builder = ClientBuilder(cls)
27
+ else:
28
+ if clazz.__name__ != "MrsAsyncClient":
29
+ raise TypeError("client type error, support client type is MrsAsyncClient")
30
+ client_builder = ClientBuilder(clazz)
31
+
32
+
33
+
34
+ return client_builder
35
+
36
+ def batch_delete_jobs_async(self, request):
37
+ r"""批量删除作业
38
+
39
+ 在MRS集群中批量删除作业。
40
+
41
+ Please refer to HUAWEI cloud API Explorer for details.
42
+
43
+
44
+ :param request: Request instance for BatchDeleteJobs
45
+ :type request: :class:`huaweicloudsdkmrs.v2.BatchDeleteJobsRequest`
46
+ :rtype: :class:`huaweicloudsdkmrs.v2.BatchDeleteJobsResponse`
47
+ """
48
+ http_info = self._batch_delete_jobs_http_info(request)
49
+ return self._call_api(**http_info)
50
+
51
+ def batch_delete_jobs_async_invoker(self, request):
52
+ http_info = self._batch_delete_jobs_http_info(request)
53
+ return AsyncInvoker(self, http_info)
54
+
55
+ def _batch_delete_jobs_http_info(self, request):
56
+ http_info = {
57
+ "method": "POST",
58
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions/batch-delete",
59
+ "request_type": request.__class__.__name__,
60
+ "response_type": "BatchDeleteJobsResponse"
61
+ }
62
+
63
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
64
+
65
+ cname = None
66
+
67
+ collection_formats = {}
68
+
69
+ path_params = {}
70
+ if 'cluster_id' in local_var_params:
71
+ path_params['cluster_id'] = local_var_params['cluster_id']
72
+
73
+ query_params = []
74
+
75
+ header_params = {}
76
+
77
+ form_params = {}
78
+
79
+ body = None
80
+ if 'body' in local_var_params:
81
+ body = local_var_params['body']
82
+ if isinstance(request, SdkStreamRequest):
83
+ body = request.get_file_stream()
84
+
85
+ response_headers = []
86
+
87
+ header_params['Content-Type'] = http_utils.select_header_content_type(
88
+ ['application/json'])
89
+
90
+ auth_settings = []
91
+
92
+ http_info["cname"] = cname
93
+ http_info["collection_formats"] = collection_formats
94
+ http_info["path_params"] = path_params
95
+ http_info["query_params"] = query_params
96
+ http_info["header_params"] = header_params
97
+ http_info["post_params"] = form_params
98
+ http_info["body"] = body
99
+ http_info["response_headers"] = response_headers
100
+
101
+ return http_info
102
+
103
+ def create_auto_scaling_policy_async(self, request):
104
+ r"""创建弹性伸缩策略
105
+
106
+ 创建弹性伸缩策略。
107
+
108
+ Please refer to HUAWEI cloud API Explorer for details.
109
+
110
+
111
+ :param request: Request instance for CreateAutoScalingPolicy
112
+ :type request: :class:`huaweicloudsdkmrs.v2.CreateAutoScalingPolicyRequest`
113
+ :rtype: :class:`huaweicloudsdkmrs.v2.CreateAutoScalingPolicyResponse`
114
+ """
115
+ http_info = self._create_auto_scaling_policy_http_info(request)
116
+ return self._call_api(**http_info)
117
+
118
+ def create_auto_scaling_policy_async_invoker(self, request):
119
+ http_info = self._create_auto_scaling_policy_http_info(request)
120
+ return AsyncInvoker(self, http_info)
121
+
122
+ def _create_auto_scaling_policy_http_info(self, request):
123
+ http_info = {
124
+ "method": "POST",
125
+ "resource_path": "/v2/{project_id}/autoscaling-policy/{cluster_id}",
126
+ "request_type": request.__class__.__name__,
127
+ "response_type": "CreateAutoScalingPolicyResponse"
128
+ }
129
+
130
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
131
+
132
+ cname = None
133
+
134
+ collection_formats = {}
135
+
136
+ path_params = {}
137
+ if 'cluster_id' in local_var_params:
138
+ path_params['cluster_id'] = local_var_params['cluster_id']
139
+
140
+ query_params = []
141
+
142
+ header_params = {}
143
+
144
+ form_params = {}
145
+
146
+ body = None
147
+ if 'body' in local_var_params:
148
+ body = local_var_params['body']
149
+ if isinstance(request, SdkStreamRequest):
150
+ body = request.get_file_stream()
151
+
152
+ response_headers = []
153
+
154
+ header_params['Content-Type'] = http_utils.select_header_content_type(
155
+ ['application/json;charset=UTF-8'])
156
+
157
+ auth_settings = []
158
+
159
+ http_info["cname"] = cname
160
+ http_info["collection_formats"] = collection_formats
161
+ http_info["path_params"] = path_params
162
+ http_info["query_params"] = query_params
163
+ http_info["header_params"] = header_params
164
+ http_info["post_params"] = form_params
165
+ http_info["body"] = body
166
+ http_info["response_headers"] = response_headers
167
+
168
+ return http_info
169
+
170
+ def create_cluster_async(self, request):
171
+ r"""创建集群
172
+
173
+ 创建一个MRS集群。使用接口前,您需要先获取下的资源信息。
174
+ - 通过VPC创建或查询VPC、子网
175
+ - 通过ECS创建或查询密钥对
176
+ - 通过[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)获取区域信息
177
+ - 参考[MRS服务支持的组件](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)获取MRS版本及对应版本支持的组件信息
178
+
179
+ Please refer to HUAWEI cloud API Explorer for details.
180
+
181
+
182
+ :param request: Request instance for CreateCluster
183
+ :type request: :class:`huaweicloudsdkmrs.v2.CreateClusterRequest`
184
+ :rtype: :class:`huaweicloudsdkmrs.v2.CreateClusterResponse`
185
+ """
186
+ http_info = self._create_cluster_http_info(request)
187
+ return self._call_api(**http_info)
188
+
189
+ def create_cluster_async_invoker(self, request):
190
+ http_info = self._create_cluster_http_info(request)
191
+ return AsyncInvoker(self, http_info)
192
+
193
+ def _create_cluster_http_info(self, request):
194
+ http_info = {
195
+ "method": "POST",
196
+ "resource_path": "/v2/{project_id}/clusters",
197
+ "request_type": request.__class__.__name__,
198
+ "response_type": "CreateClusterResponse"
199
+ }
200
+
201
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
202
+
203
+ cname = None
204
+
205
+ collection_formats = {}
206
+
207
+ path_params = {}
208
+
209
+ query_params = []
210
+
211
+ header_params = {}
212
+
213
+ form_params = {}
214
+
215
+ body = None
216
+ if 'body' in local_var_params:
217
+ body = local_var_params['body']
218
+ if isinstance(request, SdkStreamRequest):
219
+ body = request.get_file_stream()
220
+
221
+ response_headers = []
222
+
223
+ header_params['Content-Type'] = http_utils.select_header_content_type(
224
+ ['application/json'])
225
+
226
+ auth_settings = []
227
+
228
+ http_info["cname"] = cname
229
+ http_info["collection_formats"] = collection_formats
230
+ http_info["path_params"] = path_params
231
+ http_info["query_params"] = query_params
232
+ http_info["header_params"] = header_params
233
+ http_info["post_params"] = form_params
234
+ http_info["body"] = body
235
+ http_info["response_headers"] = response_headers
236
+
237
+ return http_info
238
+
239
+ def create_execute_job_async(self, request):
240
+ r"""新增并执行作业
241
+
242
+ 在MRS集群中新增并提交一个作业。
243
+
244
+ 需要先在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步,然后再通过该接口提交作业。
245
+
246
+ 如需使用OBS加密功能,请先参考“MRS用户指南 > 管理现有集群 > 作业管理 > 使用OBS加密数据运行作业”页面进行相关配置后,再调用API接口运行作业。
247
+
248
+ 所有示例中涉及的OBS路径、样例文件及终端节点和AKSK,请提前准备并在提交请求时根据实际情况替换。
249
+
250
+ Please refer to HUAWEI cloud API Explorer for details.
251
+
252
+
253
+ :param request: Request instance for CreateExecuteJob
254
+ :type request: :class:`huaweicloudsdkmrs.v2.CreateExecuteJobRequest`
255
+ :rtype: :class:`huaweicloudsdkmrs.v2.CreateExecuteJobResponse`
256
+ """
257
+ http_info = self._create_execute_job_http_info(request)
258
+ return self._call_api(**http_info)
259
+
260
+ def create_execute_job_async_invoker(self, request):
261
+ http_info = self._create_execute_job_http_info(request)
262
+ return AsyncInvoker(self, http_info)
263
+
264
+ def _create_execute_job_http_info(self, request):
265
+ http_info = {
266
+ "method": "POST",
267
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions",
268
+ "request_type": request.__class__.__name__,
269
+ "response_type": "CreateExecuteJobResponse"
270
+ }
271
+
272
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
273
+
274
+ cname = None
275
+
276
+ collection_formats = {}
277
+
278
+ path_params = {}
279
+ if 'cluster_id' in local_var_params:
280
+ path_params['cluster_id'] = local_var_params['cluster_id']
281
+
282
+ query_params = []
283
+
284
+ header_params = {}
285
+
286
+ form_params = {}
287
+
288
+ body = None
289
+ if 'body' in local_var_params:
290
+ body = local_var_params['body']
291
+ if isinstance(request, SdkStreamRequest):
292
+ body = request.get_file_stream()
293
+
294
+ response_headers = []
295
+
296
+ header_params['Content-Type'] = http_utils.select_header_content_type(
297
+ ['application/json'])
298
+
299
+ auth_settings = []
300
+
301
+ http_info["cname"] = cname
302
+ http_info["collection_formats"] = collection_formats
303
+ http_info["path_params"] = path_params
304
+ http_info["query_params"] = query_params
305
+ http_info["header_params"] = header_params
306
+ http_info["post_params"] = form_params
307
+ http_info["body"] = body
308
+ http_info["response_headers"] = response_headers
309
+
310
+ return http_info
311
+
312
+ def delete_auto_scaling_policy_async(self, request):
313
+ r"""删除弹性伸缩策略
314
+
315
+ 删除弹性伸缩策略。
316
+
317
+ Please refer to HUAWEI cloud API Explorer for details.
318
+
319
+
320
+ :param request: Request instance for DeleteAutoScalingPolicy
321
+ :type request: :class:`huaweicloudsdkmrs.v2.DeleteAutoScalingPolicyRequest`
322
+ :rtype: :class:`huaweicloudsdkmrs.v2.DeleteAutoScalingPolicyResponse`
323
+ """
324
+ http_info = self._delete_auto_scaling_policy_http_info(request)
325
+ return self._call_api(**http_info)
326
+
327
+ def delete_auto_scaling_policy_async_invoker(self, request):
328
+ http_info = self._delete_auto_scaling_policy_http_info(request)
329
+ return AsyncInvoker(self, http_info)
330
+
331
+ def _delete_auto_scaling_policy_http_info(self, request):
332
+ http_info = {
333
+ "method": "DELETE",
334
+ "resource_path": "/v2/{project_id}/autoscaling-policy/{cluster_id}",
335
+ "request_type": request.__class__.__name__,
336
+ "response_type": "DeleteAutoScalingPolicyResponse"
337
+ }
338
+
339
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
340
+
341
+ cname = None
342
+
343
+ collection_formats = {}
344
+
345
+ path_params = {}
346
+ if 'cluster_id' in local_var_params:
347
+ path_params['cluster_id'] = local_var_params['cluster_id']
348
+
349
+ query_params = []
350
+
351
+ header_params = {}
352
+
353
+ form_params = {}
354
+
355
+ body = None
356
+ if 'body' in local_var_params:
357
+ body = local_var_params['body']
358
+ if isinstance(request, SdkStreamRequest):
359
+ body = request.get_file_stream()
360
+
361
+ response_headers = []
362
+
363
+ header_params['Content-Type'] = http_utils.select_header_content_type(
364
+ ['application/json;charset=UTF-8'])
365
+
366
+ auth_settings = []
367
+
368
+ http_info["cname"] = cname
369
+ http_info["collection_formats"] = collection_formats
370
+ http_info["path_params"] = path_params
371
+ http_info["query_params"] = query_params
372
+ http_info["header_params"] = header_params
373
+ http_info["post_params"] = form_params
374
+ http_info["body"] = body
375
+ http_info["response_headers"] = response_headers
376
+
377
+ return http_info
378
+
379
+ def run_job_flow_async(self, request):
380
+ r"""创建集群并提交作业
381
+
382
+ 创建一个MRS集群并提交作业,并支持作业完成后删除集群,支持MRS 1.8.9及以上集群版本使用。使用接口前,您需要先获取下的资源信息。
383
+ - 通过VPC创建或查询VPC、子网
384
+ - 通过ECS创建或查询密钥对
385
+ - 通过[终端节点](https://support.huaweicloud.com/api-mrs/mrs_02_0003.html)获取区域信息
386
+ - 参考[MRS服务支持的组件](https://support.huaweicloud.com/api-mrs/mrs_02_9001.html)获取MRS版本及对应版本支持的组件信息
387
+
388
+ Please refer to HUAWEI cloud API Explorer for details.
389
+
390
+
391
+ :param request: Request instance for RunJobFlow
392
+ :type request: :class:`huaweicloudsdkmrs.v2.RunJobFlowRequest`
393
+ :rtype: :class:`huaweicloudsdkmrs.v2.RunJobFlowResponse`
394
+ """
395
+ http_info = self._run_job_flow_http_info(request)
396
+ return self._call_api(**http_info)
397
+
398
+ def run_job_flow_async_invoker(self, request):
399
+ http_info = self._run_job_flow_http_info(request)
400
+ return AsyncInvoker(self, http_info)
401
+
402
+ def _run_job_flow_http_info(self, request):
403
+ http_info = {
404
+ "method": "POST",
405
+ "resource_path": "/v2/{project_id}/run-job-flow",
406
+ "request_type": request.__class__.__name__,
407
+ "response_type": "RunJobFlowResponse"
408
+ }
409
+
410
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
411
+
412
+ cname = None
413
+
414
+ collection_formats = {}
415
+
416
+ path_params = {}
417
+
418
+ query_params = []
419
+
420
+ header_params = {}
421
+
422
+ form_params = {}
423
+
424
+ body = None
425
+ if 'body' in local_var_params:
426
+ body = local_var_params['body']
427
+ if isinstance(request, SdkStreamRequest):
428
+ body = request.get_file_stream()
429
+
430
+ response_headers = []
431
+
432
+ header_params['Content-Type'] = http_utils.select_header_content_type(
433
+ ['application/json'])
434
+
435
+ auth_settings = []
436
+
437
+ http_info["cname"] = cname
438
+ http_info["collection_formats"] = collection_formats
439
+ http_info["path_params"] = path_params
440
+ http_info["query_params"] = query_params
441
+ http_info["header_params"] = header_params
442
+ http_info["post_params"] = form_params
443
+ http_info["body"] = body
444
+ http_info["response_headers"] = response_headers
445
+
446
+ return http_info
447
+
448
+ def show_agency_mapping_async(self, request):
449
+ r"""查询用户(组)与IAM委托的映射关系
450
+
451
+ 获取用户(组)与IAM委托之间的映射关系的详细信息。
452
+
453
+ Please refer to HUAWEI cloud API Explorer for details.
454
+
455
+
456
+ :param request: Request instance for ShowAgencyMapping
457
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowAgencyMappingRequest`
458
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowAgencyMappingResponse`
459
+ """
460
+ http_info = self._show_agency_mapping_http_info(request)
461
+ return self._call_api(**http_info)
462
+
463
+ def show_agency_mapping_async_invoker(self, request):
464
+ http_info = self._show_agency_mapping_http_info(request)
465
+ return AsyncInvoker(self, http_info)
466
+
467
+ def _show_agency_mapping_http_info(self, request):
468
+ http_info = {
469
+ "method": "GET",
470
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/agency-mapping",
471
+ "request_type": request.__class__.__name__,
472
+ "response_type": "ShowAgencyMappingResponse"
473
+ }
474
+
475
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
476
+
477
+ cname = None
478
+
479
+ collection_formats = {}
480
+
481
+ path_params = {}
482
+ if 'cluster_id' in local_var_params:
483
+ path_params['cluster_id'] = local_var_params['cluster_id']
484
+
485
+ query_params = []
486
+
487
+ header_params = {}
488
+
489
+ form_params = {}
490
+
491
+ body = None
492
+ if isinstance(request, SdkStreamRequest):
493
+ body = request.get_file_stream()
494
+
495
+ response_headers = []
496
+
497
+ header_params['Content-Type'] = http_utils.select_header_content_type(
498
+ ['application/json'])
499
+
500
+ auth_settings = []
501
+
502
+ http_info["cname"] = cname
503
+ http_info["collection_formats"] = collection_formats
504
+ http_info["path_params"] = path_params
505
+ http_info["query_params"] = query_params
506
+ http_info["header_params"] = header_params
507
+ http_info["post_params"] = form_params
508
+ http_info["body"] = body
509
+ http_info["response_headers"] = response_headers
510
+
511
+ return http_info
512
+
513
+ def show_auto_scaling_policy_async(self, request):
514
+ r"""查看弹性伸缩策略
515
+
516
+ 查看指定集群的所有的弹性伸缩策略信息。
517
+
518
+ Please refer to HUAWEI cloud API Explorer for details.
519
+
520
+
521
+ :param request: Request instance for ShowAutoScalingPolicy
522
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowAutoScalingPolicyRequest`
523
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowAutoScalingPolicyResponse`
524
+ """
525
+ http_info = self._show_auto_scaling_policy_http_info(request)
526
+ return self._call_api(**http_info)
527
+
528
+ def show_auto_scaling_policy_async_invoker(self, request):
529
+ http_info = self._show_auto_scaling_policy_http_info(request)
530
+ return AsyncInvoker(self, http_info)
531
+
532
+ def _show_auto_scaling_policy_http_info(self, request):
533
+ http_info = {
534
+ "method": "GET",
535
+ "resource_path": "/v2/{project_id}/autoscaling-policy/{cluster_id}",
536
+ "request_type": request.__class__.__name__,
537
+ "response_type": "ShowAutoScalingPolicyResponse"
538
+ }
539
+
540
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
541
+
542
+ cname = None
543
+
544
+ collection_formats = {}
545
+
546
+ path_params = {}
547
+ if 'cluster_id' in local_var_params:
548
+ path_params['cluster_id'] = local_var_params['cluster_id']
549
+
550
+ query_params = []
551
+
552
+ header_params = {}
553
+
554
+ form_params = {}
555
+
556
+ body = None
557
+ if isinstance(request, SdkStreamRequest):
558
+ body = request.get_file_stream()
559
+
560
+ response_headers = []
561
+
562
+ header_params['Content-Type'] = http_utils.select_header_content_type(
563
+ ['application/json'])
564
+
565
+ auth_settings = []
566
+
567
+ http_info["cname"] = cname
568
+ http_info["collection_formats"] = collection_formats
569
+ http_info["path_params"] = path_params
570
+ http_info["query_params"] = query_params
571
+ http_info["header_params"] = header_params
572
+ http_info["post_params"] = form_params
573
+ http_info["body"] = body
574
+ http_info["response_headers"] = response_headers
575
+
576
+ return http_info
577
+
578
+ def show_job_exe_list_new_async(self, request):
579
+ r"""查询作业列表信息
580
+
581
+ 在MRS指定集群中查询作业列表信息。
582
+
583
+ Please refer to HUAWEI cloud API Explorer for details.
584
+
585
+
586
+ :param request: Request instance for ShowJobExeListNew
587
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowJobExeListNewRequest`
588
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowJobExeListNewResponse`
589
+ """
590
+ http_info = self._show_job_exe_list_new_http_info(request)
591
+ return self._call_api(**http_info)
592
+
593
+ def show_job_exe_list_new_async_invoker(self, request):
594
+ http_info = self._show_job_exe_list_new_http_info(request)
595
+ return AsyncInvoker(self, http_info)
596
+
597
+ def _show_job_exe_list_new_http_info(self, request):
598
+ http_info = {
599
+ "method": "GET",
600
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions",
601
+ "request_type": request.__class__.__name__,
602
+ "response_type": "ShowJobExeListNewResponse"
603
+ }
604
+
605
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
606
+
607
+ cname = None
608
+
609
+ collection_formats = {}
610
+
611
+ path_params = {}
612
+ if 'cluster_id' in local_var_params:
613
+ path_params['cluster_id'] = local_var_params['cluster_id']
614
+
615
+ query_params = []
616
+ if 'job_name' in local_var_params:
617
+ query_params.append(('job_name', local_var_params['job_name']))
618
+ if 'job_id' in local_var_params:
619
+ query_params.append(('job_id', local_var_params['job_id']))
620
+ if 'user' in local_var_params:
621
+ query_params.append(('user', local_var_params['user']))
622
+ if 'job_type' in local_var_params:
623
+ query_params.append(('job_type', local_var_params['job_type']))
624
+ if 'job_state' in local_var_params:
625
+ query_params.append(('job_state', local_var_params['job_state']))
626
+ if 'job_result' in local_var_params:
627
+ query_params.append(('job_result', local_var_params['job_result']))
628
+ if 'queue' in local_var_params:
629
+ query_params.append(('queue', local_var_params['queue']))
630
+ if 'limit' in local_var_params:
631
+ query_params.append(('limit', local_var_params['limit']))
632
+ if 'offset' in local_var_params:
633
+ query_params.append(('offset', local_var_params['offset']))
634
+ if 'sort_by' in local_var_params:
635
+ query_params.append(('sort_by', local_var_params['sort_by']))
636
+ if 'submitted_time_begin' in local_var_params:
637
+ query_params.append(('submitted_time_begin', local_var_params['submitted_time_begin']))
638
+ if 'submitted_time_end' in local_var_params:
639
+ query_params.append(('submitted_time_end', local_var_params['submitted_time_end']))
640
+
641
+ header_params = {}
642
+
643
+ form_params = {}
644
+
645
+ body = None
646
+ if isinstance(request, SdkStreamRequest):
647
+ body = request.get_file_stream()
648
+
649
+ response_headers = []
650
+
651
+ header_params['Content-Type'] = http_utils.select_header_content_type(
652
+ ['application/json'])
653
+
654
+ auth_settings = []
655
+
656
+ http_info["cname"] = cname
657
+ http_info["collection_formats"] = collection_formats
658
+ http_info["path_params"] = path_params
659
+ http_info["query_params"] = query_params
660
+ http_info["header_params"] = header_params
661
+ http_info["post_params"] = form_params
662
+ http_info["body"] = body
663
+ http_info["response_headers"] = response_headers
664
+
665
+ return http_info
666
+
667
+ def show_single_job_exe_async(self, request):
668
+ r"""查询单个作业信息
669
+
670
+ 在MRS集群中查询指定作业的详细信息。
671
+
672
+ Please refer to HUAWEI cloud API Explorer for details.
673
+
674
+
675
+ :param request: Request instance for ShowSingleJobExe
676
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowSingleJobExeRequest`
677
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowSingleJobExeResponse`
678
+ """
679
+ http_info = self._show_single_job_exe_http_info(request)
680
+ return self._call_api(**http_info)
681
+
682
+ def show_single_job_exe_async_invoker(self, request):
683
+ http_info = self._show_single_job_exe_http_info(request)
684
+ return AsyncInvoker(self, http_info)
685
+
686
+ def _show_single_job_exe_http_info(self, request):
687
+ http_info = {
688
+ "method": "GET",
689
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}",
690
+ "request_type": request.__class__.__name__,
691
+ "response_type": "ShowSingleJobExeResponse"
692
+ }
693
+
694
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
695
+
696
+ cname = None
697
+
698
+ collection_formats = {}
699
+
700
+ path_params = {}
701
+ if 'job_execution_id' in local_var_params:
702
+ path_params['job_execution_id'] = local_var_params['job_execution_id']
703
+ if 'cluster_id' in local_var_params:
704
+ path_params['cluster_id'] = local_var_params['cluster_id']
705
+
706
+ query_params = []
707
+
708
+ header_params = {}
709
+
710
+ form_params = {}
711
+
712
+ body = None
713
+ if isinstance(request, SdkStreamRequest):
714
+ body = request.get_file_stream()
715
+
716
+ response_headers = []
717
+
718
+ header_params['Content-Type'] = http_utils.select_header_content_type(
719
+ ['application/json'])
720
+
721
+ auth_settings = []
722
+
723
+ http_info["cname"] = cname
724
+ http_info["collection_formats"] = collection_formats
725
+ http_info["path_params"] = path_params
726
+ http_info["query_params"] = query_params
727
+ http_info["header_params"] = header_params
728
+ http_info["post_params"] = form_params
729
+ http_info["body"] = body
730
+ http_info["response_headers"] = response_headers
731
+
732
+ return http_info
733
+
734
+ def show_sql_result_with_job_async(self, request):
735
+ r"""获取SQL结果
736
+
737
+ 在MRS集群中查询SparkSql和SparkScript两种类型作业的SQL语句运行完成后返回的查询结果。
738
+
739
+ Please refer to HUAWEI cloud API Explorer for details.
740
+
741
+
742
+ :param request: Request instance for ShowSqlResultWithJob
743
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowSqlResultWithJobRequest`
744
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowSqlResultWithJobResponse`
745
+ """
746
+ http_info = self._show_sql_result_with_job_http_info(request)
747
+ return self._call_api(**http_info)
748
+
749
+ def show_sql_result_with_job_async_invoker(self, request):
750
+ http_info = self._show_sql_result_with_job_http_info(request)
751
+ return AsyncInvoker(self, http_info)
752
+
753
+ def _show_sql_result_with_job_http_info(self, request):
754
+ http_info = {
755
+ "method": "GET",
756
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}/sql-result",
757
+ "request_type": request.__class__.__name__,
758
+ "response_type": "ShowSqlResultWithJobResponse"
759
+ }
760
+
761
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
762
+
763
+ cname = None
764
+
765
+ collection_formats = {}
766
+
767
+ path_params = {}
768
+ if 'job_execution_id' in local_var_params:
769
+ path_params['job_execution_id'] = local_var_params['job_execution_id']
770
+ if 'cluster_id' in local_var_params:
771
+ path_params['cluster_id'] = local_var_params['cluster_id']
772
+
773
+ query_params = []
774
+
775
+ header_params = {}
776
+
777
+ form_params = {}
778
+
779
+ body = None
780
+ if isinstance(request, SdkStreamRequest):
781
+ body = request.get_file_stream()
782
+
783
+ response_headers = []
784
+
785
+ header_params['Content-Type'] = http_utils.select_header_content_type(
786
+ ['application/json'])
787
+
788
+ auth_settings = []
789
+
790
+ http_info["cname"] = cname
791
+ http_info["collection_formats"] = collection_formats
792
+ http_info["path_params"] = path_params
793
+ http_info["query_params"] = query_params
794
+ http_info["header_params"] = header_params
795
+ http_info["post_params"] = form_params
796
+ http_info["body"] = body
797
+ http_info["response_headers"] = response_headers
798
+
799
+ return http_info
800
+
801
+ def stop_job_async(self, request):
802
+ r"""终止作业
803
+
804
+ 在MRS集群中终止指定作业。
805
+
806
+ Please refer to HUAWEI cloud API Explorer for details.
807
+
808
+
809
+ :param request: Request instance for StopJob
810
+ :type request: :class:`huaweicloudsdkmrs.v2.StopJobRequest`
811
+ :rtype: :class:`huaweicloudsdkmrs.v2.StopJobResponse`
812
+ """
813
+ http_info = self._stop_job_http_info(request)
814
+ return self._call_api(**http_info)
815
+
816
+ def stop_job_async_invoker(self, request):
817
+ http_info = self._stop_job_http_info(request)
818
+ return AsyncInvoker(self, http_info)
819
+
820
+ def _stop_job_http_info(self, request):
821
+ http_info = {
822
+ "method": "POST",
823
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}/kill",
824
+ "request_type": request.__class__.__name__,
825
+ "response_type": "StopJobResponse"
826
+ }
827
+
828
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
829
+
830
+ cname = None
831
+
832
+ collection_formats = {}
833
+
834
+ path_params = {}
835
+ if 'job_execution_id' in local_var_params:
836
+ path_params['job_execution_id'] = local_var_params['job_execution_id']
837
+ if 'cluster_id' in local_var_params:
838
+ path_params['cluster_id'] = local_var_params['cluster_id']
839
+
840
+ query_params = []
841
+
842
+ header_params = {}
843
+
844
+ form_params = {}
845
+
846
+ body = None
847
+ if isinstance(request, SdkStreamRequest):
848
+ body = request.get_file_stream()
849
+
850
+ response_headers = []
851
+
852
+ header_params['Content-Type'] = http_utils.select_header_content_type(
853
+ ['application/json'])
854
+
855
+ auth_settings = []
856
+
857
+ http_info["cname"] = cname
858
+ http_info["collection_formats"] = collection_formats
859
+ http_info["path_params"] = path_params
860
+ http_info["query_params"] = query_params
861
+ http_info["header_params"] = header_params
862
+ http_info["post_params"] = form_params
863
+ http_info["body"] = body
864
+ http_info["response_headers"] = response_headers
865
+
866
+ return http_info
867
+
868
+ def update_agency_mapping_async(self, request):
869
+ r"""更新用户(组)与IAM委托的映射关系
870
+
871
+ 更新用户(组)与IAM委托之间的映射关系。
872
+
873
+ Please refer to HUAWEI cloud API Explorer for details.
874
+
875
+
876
+ :param request: Request instance for UpdateAgencyMapping
877
+ :type request: :class:`huaweicloudsdkmrs.v2.UpdateAgencyMappingRequest`
878
+ :rtype: :class:`huaweicloudsdkmrs.v2.UpdateAgencyMappingResponse`
879
+ """
880
+ http_info = self._update_agency_mapping_http_info(request)
881
+ return self._call_api(**http_info)
882
+
883
+ def update_agency_mapping_async_invoker(self, request):
884
+ http_info = self._update_agency_mapping_http_info(request)
885
+ return AsyncInvoker(self, http_info)
886
+
887
+ def _update_agency_mapping_http_info(self, request):
888
+ http_info = {
889
+ "method": "PUT",
890
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/agency-mapping",
891
+ "request_type": request.__class__.__name__,
892
+ "response_type": "UpdateAgencyMappingResponse"
893
+ }
894
+
895
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
896
+
897
+ cname = None
898
+
899
+ collection_formats = {}
900
+
901
+ path_params = {}
902
+ if 'cluster_id' in local_var_params:
903
+ path_params['cluster_id'] = local_var_params['cluster_id']
904
+
905
+ query_params = []
906
+
907
+ header_params = {}
908
+
909
+ form_params = {}
910
+
911
+ body = None
912
+ if 'body' in local_var_params:
913
+ body = local_var_params['body']
914
+ if isinstance(request, SdkStreamRequest):
915
+ body = request.get_file_stream()
916
+
917
+ response_headers = []
918
+
919
+ header_params['Content-Type'] = http_utils.select_header_content_type(
920
+ ['application/json;charset=UTF-8'])
921
+
922
+ auth_settings = []
923
+
924
+ http_info["cname"] = cname
925
+ http_info["collection_formats"] = collection_formats
926
+ http_info["path_params"] = path_params
927
+ http_info["query_params"] = query_params
928
+ http_info["header_params"] = header_params
929
+ http_info["post_params"] = form_params
930
+ http_info["body"] = body
931
+ http_info["response_headers"] = response_headers
932
+
933
+ return http_info
934
+
935
+ def update_auto_scaling_policy_async(self, request):
936
+ r"""更新弹性伸缩策略
937
+
938
+ 更新弹性伸缩策略。
939
+
940
+ Please refer to HUAWEI cloud API Explorer for details.
941
+
942
+
943
+ :param request: Request instance for UpdateAutoScalingPolicy
944
+ :type request: :class:`huaweicloudsdkmrs.v2.UpdateAutoScalingPolicyRequest`
945
+ :rtype: :class:`huaweicloudsdkmrs.v2.UpdateAutoScalingPolicyResponse`
946
+ """
947
+ http_info = self._update_auto_scaling_policy_http_info(request)
948
+ return self._call_api(**http_info)
949
+
950
+ def update_auto_scaling_policy_async_invoker(self, request):
951
+ http_info = self._update_auto_scaling_policy_http_info(request)
952
+ return AsyncInvoker(self, http_info)
953
+
954
+ def _update_auto_scaling_policy_http_info(self, request):
955
+ http_info = {
956
+ "method": "PUT",
957
+ "resource_path": "/v2/{project_id}/autoscaling-policy/{cluster_id}",
958
+ "request_type": request.__class__.__name__,
959
+ "response_type": "UpdateAutoScalingPolicyResponse"
960
+ }
961
+
962
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
963
+
964
+ cname = None
965
+
966
+ collection_formats = {}
967
+
968
+ path_params = {}
969
+ if 'cluster_id' in local_var_params:
970
+ path_params['cluster_id'] = local_var_params['cluster_id']
971
+
972
+ query_params = []
973
+
974
+ header_params = {}
975
+
976
+ form_params = {}
977
+
978
+ body = None
979
+ if 'body' in local_var_params:
980
+ body = local_var_params['body']
981
+ if isinstance(request, SdkStreamRequest):
982
+ body = request.get_file_stream()
983
+
984
+ response_headers = []
985
+
986
+ header_params['Content-Type'] = http_utils.select_header_content_type(
987
+ ['application/json;charset=UTF-8'])
988
+
989
+ auth_settings = []
990
+
991
+ http_info["cname"] = cname
992
+ http_info["collection_formats"] = collection_formats
993
+ http_info["path_params"] = path_params
994
+ http_info["query_params"] = query_params
995
+ http_info["header_params"] = header_params
996
+ http_info["post_params"] = form_params
997
+ http_info["body"] = body
998
+ http_info["response_headers"] = response_headers
999
+
1000
+ return http_info
1001
+
1002
+ def update_cluster_name_async(self, request):
1003
+ r"""修改集群名称
1004
+
1005
+ 修改集群名称
1006
+
1007
+ Please refer to HUAWEI cloud API Explorer for details.
1008
+
1009
+
1010
+ :param request: Request instance for UpdateClusterName
1011
+ :type request: :class:`huaweicloudsdkmrs.v2.UpdateClusterNameRequest`
1012
+ :rtype: :class:`huaweicloudsdkmrs.v2.UpdateClusterNameResponse`
1013
+ """
1014
+ http_info = self._update_cluster_name_http_info(request)
1015
+ return self._call_api(**http_info)
1016
+
1017
+ def update_cluster_name_async_invoker(self, request):
1018
+ http_info = self._update_cluster_name_http_info(request)
1019
+ return AsyncInvoker(self, http_info)
1020
+
1021
+ def _update_cluster_name_http_info(self, request):
1022
+ http_info = {
1023
+ "method": "PUT",
1024
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/cluster-name",
1025
+ "request_type": request.__class__.__name__,
1026
+ "response_type": "UpdateClusterNameResponse"
1027
+ }
1028
+
1029
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1030
+
1031
+ cname = None
1032
+
1033
+ collection_formats = {}
1034
+
1035
+ path_params = {}
1036
+ if 'cluster_id' in local_var_params:
1037
+ path_params['cluster_id'] = local_var_params['cluster_id']
1038
+
1039
+ query_params = []
1040
+
1041
+ header_params = {}
1042
+
1043
+ form_params = {}
1044
+
1045
+ body = None
1046
+ if 'body' in local_var_params:
1047
+ body = local_var_params['body']
1048
+ if isinstance(request, SdkStreamRequest):
1049
+ body = request.get_file_stream()
1050
+
1051
+ response_headers = []
1052
+
1053
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1054
+ ['application/json;charset=UTF-8'])
1055
+
1056
+ auth_settings = []
1057
+
1058
+ http_info["cname"] = cname
1059
+ http_info["collection_formats"] = collection_formats
1060
+ http_info["path_params"] = path_params
1061
+ http_info["query_params"] = query_params
1062
+ http_info["header_params"] = header_params
1063
+ http_info["post_params"] = form_params
1064
+ http_info["body"] = body
1065
+ http_info["response_headers"] = response_headers
1066
+
1067
+ return http_info
1068
+
1069
+ def add_component_async(self, request):
1070
+ r"""集群添加组件
1071
+
1072
+ 集群添加组件
1073
+
1074
+ Please refer to HUAWEI cloud API Explorer for details.
1075
+
1076
+
1077
+ :param request: Request instance for AddComponent
1078
+ :type request: :class:`huaweicloudsdkmrs.v2.AddComponentRequest`
1079
+ :rtype: :class:`huaweicloudsdkmrs.v2.AddComponentResponse`
1080
+ """
1081
+ http_info = self._add_component_http_info(request)
1082
+ return self._call_api(**http_info)
1083
+
1084
+ def add_component_async_invoker(self, request):
1085
+ http_info = self._add_component_http_info(request)
1086
+ return AsyncInvoker(self, http_info)
1087
+
1088
+ def _add_component_http_info(self, request):
1089
+ http_info = {
1090
+ "method": "POST",
1091
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/components",
1092
+ "request_type": request.__class__.__name__,
1093
+ "response_type": "AddComponentResponse"
1094
+ }
1095
+
1096
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1097
+
1098
+ cname = None
1099
+
1100
+ collection_formats = {}
1101
+
1102
+ path_params = {}
1103
+ if 'cluster_id' in local_var_params:
1104
+ path_params['cluster_id'] = local_var_params['cluster_id']
1105
+
1106
+ query_params = []
1107
+
1108
+ header_params = {}
1109
+
1110
+ form_params = {}
1111
+
1112
+ body = None
1113
+ if 'body' in local_var_params:
1114
+ body = local_var_params['body']
1115
+ if isinstance(request, SdkStreamRequest):
1116
+ body = request.get_file_stream()
1117
+
1118
+ response_headers = []
1119
+
1120
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1121
+ ['application/json;charset=UTF-8'])
1122
+
1123
+ auth_settings = []
1124
+
1125
+ http_info["cname"] = cname
1126
+ http_info["collection_formats"] = collection_formats
1127
+ http_info["path_params"] = path_params
1128
+ http_info["query_params"] = query_params
1129
+ http_info["header_params"] = header_params
1130
+ http_info["post_params"] = form_params
1131
+ http_info["body"] = body
1132
+ http_info["response_headers"] = response_headers
1133
+
1134
+ return http_info
1135
+
1136
+ def expand_cluster_async(self, request):
1137
+ r"""扩容集群
1138
+
1139
+ 对MRS集群进行扩容。
1140
+
1141
+ Please refer to HUAWEI cloud API Explorer for details.
1142
+
1143
+
1144
+ :param request: Request instance for ExpandCluster
1145
+ :type request: :class:`huaweicloudsdkmrs.v2.ExpandClusterRequest`
1146
+ :rtype: :class:`huaweicloudsdkmrs.v2.ExpandClusterResponse`
1147
+ """
1148
+ http_info = self._expand_cluster_http_info(request)
1149
+ return self._call_api(**http_info)
1150
+
1151
+ def expand_cluster_async_invoker(self, request):
1152
+ http_info = self._expand_cluster_http_info(request)
1153
+ return AsyncInvoker(self, http_info)
1154
+
1155
+ def _expand_cluster_http_info(self, request):
1156
+ http_info = {
1157
+ "method": "POST",
1158
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/expand",
1159
+ "request_type": request.__class__.__name__,
1160
+ "response_type": "ExpandClusterResponse"
1161
+ }
1162
+
1163
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1164
+
1165
+ cname = None
1166
+
1167
+ collection_formats = {}
1168
+
1169
+ path_params = {}
1170
+ if 'cluster_id' in local_var_params:
1171
+ path_params['cluster_id'] = local_var_params['cluster_id']
1172
+
1173
+ query_params = []
1174
+
1175
+ header_params = {}
1176
+
1177
+ form_params = {}
1178
+
1179
+ body = None
1180
+ if 'body' in local_var_params:
1181
+ body = local_var_params['body']
1182
+ if isinstance(request, SdkStreamRequest):
1183
+ body = request.get_file_stream()
1184
+
1185
+ response_headers = []
1186
+
1187
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1188
+ ['application/json;charset=UTF-8'])
1189
+
1190
+ auth_settings = []
1191
+
1192
+ http_info["cname"] = cname
1193
+ http_info["collection_formats"] = collection_formats
1194
+ http_info["path_params"] = path_params
1195
+ http_info["query_params"] = query_params
1196
+ http_info["header_params"] = header_params
1197
+ http_info["post_params"] = form_params
1198
+ http_info["body"] = body
1199
+ http_info["response_headers"] = response_headers
1200
+
1201
+ return http_info
1202
+
1203
+ def list_nodes_async(self, request):
1204
+ r"""查询集群节点列表
1205
+
1206
+ 查询集群节点列表。
1207
+
1208
+ Please refer to HUAWEI cloud API Explorer for details.
1209
+
1210
+
1211
+ :param request: Request instance for ListNodes
1212
+ :type request: :class:`huaweicloudsdkmrs.v2.ListNodesRequest`
1213
+ :rtype: :class:`huaweicloudsdkmrs.v2.ListNodesResponse`
1214
+ """
1215
+ http_info = self._list_nodes_http_info(request)
1216
+ return self._call_api(**http_info)
1217
+
1218
+ def list_nodes_async_invoker(self, request):
1219
+ http_info = self._list_nodes_http_info(request)
1220
+ return AsyncInvoker(self, http_info)
1221
+
1222
+ def _list_nodes_http_info(self, request):
1223
+ http_info = {
1224
+ "method": "GET",
1225
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/nodes",
1226
+ "request_type": request.__class__.__name__,
1227
+ "response_type": "ListNodesResponse"
1228
+ }
1229
+
1230
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1231
+
1232
+ cname = None
1233
+
1234
+ collection_formats = {}
1235
+
1236
+ path_params = {}
1237
+ if 'cluster_id' in local_var_params:
1238
+ path_params['cluster_id'] = local_var_params['cluster_id']
1239
+
1240
+ query_params = []
1241
+ if 'node_group' in local_var_params:
1242
+ query_params.append(('node_group', local_var_params['node_group']))
1243
+ if 'limit' in local_var_params:
1244
+ query_params.append(('limit', local_var_params['limit']))
1245
+ if 'offset' in local_var_params:
1246
+ query_params.append(('offset', local_var_params['offset']))
1247
+ if 'node_name' in local_var_params:
1248
+ query_params.append(('node_name', local_var_params['node_name']))
1249
+ if 'sort_key' in local_var_params:
1250
+ query_params.append(('sort_key', local_var_params['sort_key']))
1251
+ if 'sort_dir' in local_var_params:
1252
+ query_params.append(('sort_dir', local_var_params['sort_dir']))
1253
+ if 'query_node_detail' in local_var_params:
1254
+ query_params.append(('query_node_detail', local_var_params['query_node_detail']))
1255
+ if 'query_ecs_detail' in local_var_params:
1256
+ query_params.append(('query_ecs_detail', local_var_params['query_ecs_detail']))
1257
+ if 'internal_ip' in local_var_params:
1258
+ query_params.append(('internal_ip', local_var_params['internal_ip']))
1259
+
1260
+ header_params = {}
1261
+
1262
+ form_params = {}
1263
+
1264
+ body = None
1265
+ if isinstance(request, SdkStreamRequest):
1266
+ body = request.get_file_stream()
1267
+
1268
+ response_headers = []
1269
+
1270
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1271
+ ['application/json'])
1272
+
1273
+ auth_settings = []
1274
+
1275
+ http_info["cname"] = cname
1276
+ http_info["collection_formats"] = collection_formats
1277
+ http_info["path_params"] = path_params
1278
+ http_info["query_params"] = query_params
1279
+ http_info["header_params"] = header_params
1280
+ http_info["post_params"] = form_params
1281
+ http_info["body"] = body
1282
+ http_info["response_headers"] = response_headers
1283
+
1284
+ return http_info
1285
+
1286
+ def shrink_cluster_async(self, request):
1287
+ r"""缩容集群
1288
+
1289
+ 对MRS集群进行缩容。
1290
+
1291
+ Please refer to HUAWEI cloud API Explorer for details.
1292
+
1293
+
1294
+ :param request: Request instance for ShrinkCluster
1295
+ :type request: :class:`huaweicloudsdkmrs.v2.ShrinkClusterRequest`
1296
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShrinkClusterResponse`
1297
+ """
1298
+ http_info = self._shrink_cluster_http_info(request)
1299
+ return self._call_api(**http_info)
1300
+
1301
+ def shrink_cluster_async_invoker(self, request):
1302
+ http_info = self._shrink_cluster_http_info(request)
1303
+ return AsyncInvoker(self, http_info)
1304
+
1305
+ def _shrink_cluster_http_info(self, request):
1306
+ http_info = {
1307
+ "method": "POST",
1308
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/shrink",
1309
+ "request_type": request.__class__.__name__,
1310
+ "response_type": "ShrinkClusterResponse"
1311
+ }
1312
+
1313
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1314
+
1315
+ cname = None
1316
+
1317
+ collection_formats = {}
1318
+
1319
+ path_params = {}
1320
+ if 'cluster_id' in local_var_params:
1321
+ path_params['cluster_id'] = local_var_params['cluster_id']
1322
+
1323
+ query_params = []
1324
+
1325
+ header_params = {}
1326
+
1327
+ form_params = {}
1328
+
1329
+ body = None
1330
+ if 'body' in local_var_params:
1331
+ body = local_var_params['body']
1332
+ if isinstance(request, SdkStreamRequest):
1333
+ body = request.get_file_stream()
1334
+
1335
+ response_headers = []
1336
+
1337
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1338
+ ['application/json;charset=UTF-8'])
1339
+
1340
+ auth_settings = []
1341
+
1342
+ http_info["cname"] = cname
1343
+ http_info["collection_formats"] = collection_formats
1344
+ http_info["path_params"] = path_params
1345
+ http_info["query_params"] = query_params
1346
+ http_info["header_params"] = header_params
1347
+ http_info["post_params"] = form_params
1348
+ http_info["body"] = body
1349
+ http_info["response_headers"] = response_headers
1350
+
1351
+ return http_info
1352
+
1353
+ def create_data_connector_async(self, request):
1354
+ r"""创建数据连接
1355
+
1356
+ 创建数据连接
1357
+
1358
+ Please refer to HUAWEI cloud API Explorer for details.
1359
+
1360
+
1361
+ :param request: Request instance for CreateDataConnector
1362
+ :type request: :class:`huaweicloudsdkmrs.v2.CreateDataConnectorRequest`
1363
+ :rtype: :class:`huaweicloudsdkmrs.v2.CreateDataConnectorResponse`
1364
+ """
1365
+ http_info = self._create_data_connector_http_info(request)
1366
+ return self._call_api(**http_info)
1367
+
1368
+ def create_data_connector_async_invoker(self, request):
1369
+ http_info = self._create_data_connector_http_info(request)
1370
+ return AsyncInvoker(self, http_info)
1371
+
1372
+ def _create_data_connector_http_info(self, request):
1373
+ http_info = {
1374
+ "method": "POST",
1375
+ "resource_path": "/v2/{project_id}/data-connectors",
1376
+ "request_type": request.__class__.__name__,
1377
+ "response_type": "CreateDataConnectorResponse"
1378
+ }
1379
+
1380
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1381
+
1382
+ cname = None
1383
+
1384
+ collection_formats = {}
1385
+
1386
+ path_params = {}
1387
+
1388
+ query_params = []
1389
+
1390
+ header_params = {}
1391
+
1392
+ form_params = {}
1393
+
1394
+ body = None
1395
+ if 'body' in local_var_params:
1396
+ body = local_var_params['body']
1397
+ if isinstance(request, SdkStreamRequest):
1398
+ body = request.get_file_stream()
1399
+
1400
+ response_headers = []
1401
+
1402
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1403
+ ['application/json'])
1404
+
1405
+ auth_settings = []
1406
+
1407
+ http_info["cname"] = cname
1408
+ http_info["collection_formats"] = collection_formats
1409
+ http_info["path_params"] = path_params
1410
+ http_info["query_params"] = query_params
1411
+ http_info["header_params"] = header_params
1412
+ http_info["post_params"] = form_params
1413
+ http_info["body"] = body
1414
+ http_info["response_headers"] = response_headers
1415
+
1416
+ return http_info
1417
+
1418
+ def delete_data_connector_async(self, request):
1419
+ r"""删除数据连接
1420
+
1421
+ 删除数据连接
1422
+
1423
+ Please refer to HUAWEI cloud API Explorer for details.
1424
+
1425
+
1426
+ :param request: Request instance for DeleteDataConnector
1427
+ :type request: :class:`huaweicloudsdkmrs.v2.DeleteDataConnectorRequest`
1428
+ :rtype: :class:`huaweicloudsdkmrs.v2.DeleteDataConnectorResponse`
1429
+ """
1430
+ http_info = self._delete_data_connector_http_info(request)
1431
+ return self._call_api(**http_info)
1432
+
1433
+ def delete_data_connector_async_invoker(self, request):
1434
+ http_info = self._delete_data_connector_http_info(request)
1435
+ return AsyncInvoker(self, http_info)
1436
+
1437
+ def _delete_data_connector_http_info(self, request):
1438
+ http_info = {
1439
+ "method": "DELETE",
1440
+ "resource_path": "/v2/{project_id}/data-connectors/{connector_id}",
1441
+ "request_type": request.__class__.__name__,
1442
+ "response_type": "DeleteDataConnectorResponse"
1443
+ }
1444
+
1445
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1446
+
1447
+ cname = None
1448
+
1449
+ collection_formats = {}
1450
+
1451
+ path_params = {}
1452
+ if 'connector_id' in local_var_params:
1453
+ path_params['connector_id'] = local_var_params['connector_id']
1454
+
1455
+ query_params = []
1456
+
1457
+ header_params = {}
1458
+
1459
+ form_params = {}
1460
+
1461
+ body = None
1462
+ if isinstance(request, SdkStreamRequest):
1463
+ body = request.get_file_stream()
1464
+
1465
+ response_headers = []
1466
+
1467
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1468
+ ['application/json'])
1469
+
1470
+ auth_settings = []
1471
+
1472
+ http_info["cname"] = cname
1473
+ http_info["collection_formats"] = collection_formats
1474
+ http_info["path_params"] = path_params
1475
+ http_info["query_params"] = query_params
1476
+ http_info["header_params"] = header_params
1477
+ http_info["post_params"] = form_params
1478
+ http_info["body"] = body
1479
+ http_info["response_headers"] = response_headers
1480
+
1481
+ return http_info
1482
+
1483
+ def list_data_connector_async(self, request):
1484
+ r"""查询数据连接列表
1485
+
1486
+ 查询数据连接列表
1487
+
1488
+ Please refer to HUAWEI cloud API Explorer for details.
1489
+
1490
+
1491
+ :param request: Request instance for ListDataConnector
1492
+ :type request: :class:`huaweicloudsdkmrs.v2.ListDataConnectorRequest`
1493
+ :rtype: :class:`huaweicloudsdkmrs.v2.ListDataConnectorResponse`
1494
+ """
1495
+ http_info = self._list_data_connector_http_info(request)
1496
+ return self._call_api(**http_info)
1497
+
1498
+ def list_data_connector_async_invoker(self, request):
1499
+ http_info = self._list_data_connector_http_info(request)
1500
+ return AsyncInvoker(self, http_info)
1501
+
1502
+ def _list_data_connector_http_info(self, request):
1503
+ http_info = {
1504
+ "method": "GET",
1505
+ "resource_path": "/v2/{project_id}/data-connectors",
1506
+ "request_type": request.__class__.__name__,
1507
+ "response_type": "ListDataConnectorResponse"
1508
+ }
1509
+
1510
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1511
+
1512
+ cname = None
1513
+
1514
+ collection_formats = {}
1515
+
1516
+ path_params = {}
1517
+
1518
+ query_params = []
1519
+ if 'connector_id' in local_var_params:
1520
+ query_params.append(('connector_id', local_var_params['connector_id']))
1521
+ if 'source_type' in local_var_params:
1522
+ query_params.append(('source_type', local_var_params['source_type']))
1523
+ if 'connector_name' in local_var_params:
1524
+ query_params.append(('connector_name', local_var_params['connector_name']))
1525
+ if 'limit' in local_var_params:
1526
+ query_params.append(('limit', local_var_params['limit']))
1527
+ if 'offset' in local_var_params:
1528
+ query_params.append(('offset', local_var_params['offset']))
1529
+ if 'available' in local_var_params:
1530
+ query_params.append(('available', local_var_params['available']))
1531
+
1532
+ header_params = {}
1533
+
1534
+ form_params = {}
1535
+
1536
+ body = None
1537
+ if isinstance(request, SdkStreamRequest):
1538
+ body = request.get_file_stream()
1539
+
1540
+ response_headers = []
1541
+
1542
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1543
+ ['application/json'])
1544
+
1545
+ auth_settings = []
1546
+
1547
+ http_info["cname"] = cname
1548
+ http_info["collection_formats"] = collection_formats
1549
+ http_info["path_params"] = path_params
1550
+ http_info["query_params"] = query_params
1551
+ http_info["header_params"] = header_params
1552
+ http_info["post_params"] = form_params
1553
+ http_info["body"] = body
1554
+ http_info["response_headers"] = response_headers
1555
+
1556
+ return http_info
1557
+
1558
+ def update_data_connector_async(self, request):
1559
+ r"""更新数据连接
1560
+
1561
+ 更新数据连接
1562
+
1563
+ Please refer to HUAWEI cloud API Explorer for details.
1564
+
1565
+
1566
+ :param request: Request instance for UpdateDataConnector
1567
+ :type request: :class:`huaweicloudsdkmrs.v2.UpdateDataConnectorRequest`
1568
+ :rtype: :class:`huaweicloudsdkmrs.v2.UpdateDataConnectorResponse`
1569
+ """
1570
+ http_info = self._update_data_connector_http_info(request)
1571
+ return self._call_api(**http_info)
1572
+
1573
+ def update_data_connector_async_invoker(self, request):
1574
+ http_info = self._update_data_connector_http_info(request)
1575
+ return AsyncInvoker(self, http_info)
1576
+
1577
+ def _update_data_connector_http_info(self, request):
1578
+ http_info = {
1579
+ "method": "PUT",
1580
+ "resource_path": "/v2/{project_id}/data-connectors/{connector_id}",
1581
+ "request_type": request.__class__.__name__,
1582
+ "response_type": "UpdateDataConnectorResponse"
1583
+ }
1584
+
1585
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1586
+
1587
+ cname = None
1588
+
1589
+ collection_formats = {}
1590
+
1591
+ path_params = {}
1592
+ if 'connector_id' in local_var_params:
1593
+ path_params['connector_id'] = local_var_params['connector_id']
1594
+
1595
+ query_params = []
1596
+
1597
+ header_params = {}
1598
+
1599
+ form_params = {}
1600
+
1601
+ body = None
1602
+ if 'body' in local_var_params:
1603
+ body = local_var_params['body']
1604
+ if isinstance(request, SdkStreamRequest):
1605
+ body = request.get_file_stream()
1606
+
1607
+ response_headers = []
1608
+
1609
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1610
+ ['application/json'])
1611
+
1612
+ auth_settings = []
1613
+
1614
+ http_info["cname"] = cname
1615
+ http_info["collection_formats"] = collection_formats
1616
+ http_info["path_params"] = path_params
1617
+ http_info["query_params"] = query_params
1618
+ http_info["header_params"] = header_params
1619
+ http_info["post_params"] = form_params
1620
+ http_info["body"] = body
1621
+ http_info["response_headers"] = response_headers
1622
+
1623
+ return http_info
1624
+
1625
+ def show_hdfs_file_list_async(self, request):
1626
+ r"""获取指定目录文件列表
1627
+
1628
+ 在MRS集群中获取指定目录文件列表。
1629
+
1630
+ Please refer to HUAWEI cloud API Explorer for details.
1631
+
1632
+
1633
+ :param request: Request instance for ShowHdfsFileList
1634
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowHdfsFileListRequest`
1635
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowHdfsFileListResponse`
1636
+ """
1637
+ http_info = self._show_hdfs_file_list_http_info(request)
1638
+ return self._call_api(**http_info)
1639
+
1640
+ def show_hdfs_file_list_async_invoker(self, request):
1641
+ http_info = self._show_hdfs_file_list_http_info(request)
1642
+ return AsyncInvoker(self, http_info)
1643
+
1644
+ def _show_hdfs_file_list_http_info(self, request):
1645
+ http_info = {
1646
+ "method": "GET",
1647
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/files",
1648
+ "request_type": request.__class__.__name__,
1649
+ "response_type": "ShowHdfsFileListResponse"
1650
+ }
1651
+
1652
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1653
+
1654
+ cname = None
1655
+
1656
+ collection_formats = {}
1657
+
1658
+ path_params = {}
1659
+ if 'cluster_id' in local_var_params:
1660
+ path_params['cluster_id'] = local_var_params['cluster_id']
1661
+
1662
+ query_params = []
1663
+ if 'path' in local_var_params:
1664
+ query_params.append(('path', local_var_params['path']))
1665
+ if 'offset' in local_var_params:
1666
+ query_params.append(('offset', local_var_params['offset']))
1667
+ if 'limit' in local_var_params:
1668
+ query_params.append(('limit', local_var_params['limit']))
1669
+ if 'sort_key' in local_var_params:
1670
+ query_params.append(('sort_key', local_var_params['sort_key']))
1671
+ if 'order' in local_var_params:
1672
+ query_params.append(('order', local_var_params['order']))
1673
+
1674
+ header_params = {}
1675
+
1676
+ form_params = {}
1677
+
1678
+ body = None
1679
+ if isinstance(request, SdkStreamRequest):
1680
+ body = request.get_file_stream()
1681
+
1682
+ response_headers = []
1683
+
1684
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1685
+ ['application/json'])
1686
+
1687
+ auth_settings = []
1688
+
1689
+ http_info["cname"] = cname
1690
+ http_info["collection_formats"] = collection_formats
1691
+ http_info["path_params"] = path_params
1692
+ http_info["query_params"] = query_params
1693
+ http_info["header_params"] = header_params
1694
+ http_info["post_params"] = form_params
1695
+ http_info["body"] = body
1696
+ http_info["response_headers"] = response_headers
1697
+
1698
+ return http_info
1699
+
1700
+ def cancel_sync_iam_user_async(self, request):
1701
+ r"""指定用户、用户组取消同步
1702
+
1703
+ 指定用户、用户组取消同步
1704
+
1705
+ Please refer to HUAWEI cloud API Explorer for details.
1706
+
1707
+
1708
+ :param request: Request instance for CancelSyncIamUser
1709
+ :type request: :class:`huaweicloudsdkmrs.v2.CancelSyncIamUserRequest`
1710
+ :rtype: :class:`huaweicloudsdkmrs.v2.CancelSyncIamUserResponse`
1711
+ """
1712
+ http_info = self._cancel_sync_iam_user_http_info(request)
1713
+ return self._call_api(**http_info)
1714
+
1715
+ def cancel_sync_iam_user_async_invoker(self, request):
1716
+ http_info = self._cancel_sync_iam_user_http_info(request)
1717
+ return AsyncInvoker(self, http_info)
1718
+
1719
+ def _cancel_sync_iam_user_http_info(self, request):
1720
+ http_info = {
1721
+ "method": "DELETE",
1722
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/iam-sync-user",
1723
+ "request_type": request.__class__.__name__,
1724
+ "response_type": "CancelSyncIamUserResponse"
1725
+ }
1726
+
1727
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1728
+
1729
+ cname = None
1730
+
1731
+ collection_formats = {}
1732
+
1733
+ path_params = {}
1734
+ if 'cluster_id' in local_var_params:
1735
+ path_params['cluster_id'] = local_var_params['cluster_id']
1736
+
1737
+ query_params = []
1738
+
1739
+ header_params = {}
1740
+
1741
+ form_params = {}
1742
+
1743
+ body = None
1744
+ if 'body' in local_var_params:
1745
+ body = local_var_params['body']
1746
+ if isinstance(request, SdkStreamRequest):
1747
+ body = request.get_file_stream()
1748
+
1749
+ response_headers = []
1750
+
1751
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1752
+ ['application/json;charset=UTF-8'])
1753
+
1754
+ auth_settings = []
1755
+
1756
+ http_info["cname"] = cname
1757
+ http_info["collection_formats"] = collection_formats
1758
+ http_info["path_params"] = path_params
1759
+ http_info["query_params"] = query_params
1760
+ http_info["header_params"] = header_params
1761
+ http_info["post_params"] = form_params
1762
+ http_info["body"] = body
1763
+ http_info["response_headers"] = response_headers
1764
+
1765
+ return http_info
1766
+
1767
+ def show_sync_iam_user_async(self, request):
1768
+ r"""获取已经同步的IAM用户和用户组
1769
+
1770
+ 获取已经同步的IAM用户和用户组
1771
+
1772
+ Please refer to HUAWEI cloud API Explorer for details.
1773
+
1774
+
1775
+ :param request: Request instance for ShowSyncIamUser
1776
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowSyncIamUserRequest`
1777
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowSyncIamUserResponse`
1778
+ """
1779
+ http_info = self._show_sync_iam_user_http_info(request)
1780
+ return self._call_api(**http_info)
1781
+
1782
+ def show_sync_iam_user_async_invoker(self, request):
1783
+ http_info = self._show_sync_iam_user_http_info(request)
1784
+ return AsyncInvoker(self, http_info)
1785
+
1786
+ def _show_sync_iam_user_http_info(self, request):
1787
+ http_info = {
1788
+ "method": "GET",
1789
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/iam-sync-user",
1790
+ "request_type": request.__class__.__name__,
1791
+ "response_type": "ShowSyncIamUserResponse"
1792
+ }
1793
+
1794
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1795
+
1796
+ cname = None
1797
+
1798
+ collection_formats = {}
1799
+
1800
+ path_params = {}
1801
+ if 'cluster_id' in local_var_params:
1802
+ path_params['cluster_id'] = local_var_params['cluster_id']
1803
+
1804
+ query_params = []
1805
+
1806
+ header_params = {}
1807
+
1808
+ form_params = {}
1809
+
1810
+ body = None
1811
+ if isinstance(request, SdkStreamRequest):
1812
+ body = request.get_file_stream()
1813
+
1814
+ response_headers = []
1815
+
1816
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1817
+ ['application/json'])
1818
+
1819
+ auth_settings = []
1820
+
1821
+ http_info["cname"] = cname
1822
+ http_info["collection_formats"] = collection_formats
1823
+ http_info["path_params"] = path_params
1824
+ http_info["query_params"] = query_params
1825
+ http_info["header_params"] = header_params
1826
+ http_info["post_params"] = form_params
1827
+ http_info["body"] = body
1828
+ http_info["response_headers"] = response_headers
1829
+
1830
+ return http_info
1831
+
1832
+ def update_sync_iam_user_async(self, request):
1833
+ r"""IAM同步
1834
+
1835
+ 将IAM用户和用户组同步到manager,指定用户的情况下,会将该用户关联的IAM用户组也同步到manager。
1836
+
1837
+ Please refer to HUAWEI cloud API Explorer for details.
1838
+
1839
+
1840
+ :param request: Request instance for UpdateSyncIamUser
1841
+ :type request: :class:`huaweicloudsdkmrs.v2.UpdateSyncIamUserRequest`
1842
+ :rtype: :class:`huaweicloudsdkmrs.v2.UpdateSyncIamUserResponse`
1843
+ """
1844
+ http_info = self._update_sync_iam_user_http_info(request)
1845
+ return self._call_api(**http_info)
1846
+
1847
+ def update_sync_iam_user_async_invoker(self, request):
1848
+ http_info = self._update_sync_iam_user_http_info(request)
1849
+ return AsyncInvoker(self, http_info)
1850
+
1851
+ def _update_sync_iam_user_http_info(self, request):
1852
+ http_info = {
1853
+ "method": "POST",
1854
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/iam-sync-user",
1855
+ "request_type": request.__class__.__name__,
1856
+ "response_type": "UpdateSyncIamUserResponse"
1857
+ }
1858
+
1859
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1860
+
1861
+ cname = None
1862
+
1863
+ collection_formats = {}
1864
+
1865
+ path_params = {}
1866
+ if 'cluster_id' in local_var_params:
1867
+ path_params['cluster_id'] = local_var_params['cluster_id']
1868
+
1869
+ query_params = []
1870
+
1871
+ header_params = {}
1872
+
1873
+ form_params = {}
1874
+
1875
+ body = None
1876
+ if 'body' in local_var_params:
1877
+ body = local_var_params['body']
1878
+ if isinstance(request, SdkStreamRequest):
1879
+ body = request.get_file_stream()
1880
+
1881
+ response_headers = []
1882
+
1883
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1884
+ ['application/json;charset=UTF-8'])
1885
+
1886
+ auth_settings = []
1887
+
1888
+ http_info["cname"] = cname
1889
+ http_info["collection_formats"] = collection_formats
1890
+ http_info["path_params"] = path_params
1891
+ http_info["query_params"] = query_params
1892
+ http_info["header_params"] = header_params
1893
+ http_info["post_params"] = form_params
1894
+ http_info["body"] = body
1895
+ http_info["response_headers"] = response_headers
1896
+
1897
+ return http_info
1898
+
1899
+ def cancel_sql_async(self, request):
1900
+ r"""取消SQL执行任务
1901
+
1902
+ 在MRS集群中取消一条SQL的执行任务。
1903
+
1904
+ Please refer to HUAWEI cloud API Explorer for details.
1905
+
1906
+
1907
+ :param request: Request instance for CancelSql
1908
+ :type request: :class:`huaweicloudsdkmrs.v2.CancelSqlRequest`
1909
+ :rtype: :class:`huaweicloudsdkmrs.v2.CancelSqlResponse`
1910
+ """
1911
+ http_info = self._cancel_sql_http_info(request)
1912
+ return self._call_api(**http_info)
1913
+
1914
+ def cancel_sql_async_invoker(self, request):
1915
+ http_info = self._cancel_sql_http_info(request)
1916
+ return AsyncInvoker(self, http_info)
1917
+
1918
+ def _cancel_sql_http_info(self, request):
1919
+ http_info = {
1920
+ "method": "POST",
1921
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/sql-execution/{sql_id}/cancel",
1922
+ "request_type": request.__class__.__name__,
1923
+ "response_type": "CancelSqlResponse"
1924
+ }
1925
+
1926
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1927
+
1928
+ cname = None
1929
+
1930
+ collection_formats = {}
1931
+
1932
+ path_params = {}
1933
+ if 'cluster_id' in local_var_params:
1934
+ path_params['cluster_id'] = local_var_params['cluster_id']
1935
+ if 'sql_id' in local_var_params:
1936
+ path_params['sql_id'] = local_var_params['sql_id']
1937
+
1938
+ query_params = []
1939
+
1940
+ header_params = {}
1941
+
1942
+ form_params = {}
1943
+
1944
+ body = None
1945
+ if isinstance(request, SdkStreamRequest):
1946
+ body = request.get_file_stream()
1947
+
1948
+ response_headers = []
1949
+
1950
+ header_params['Content-Type'] = http_utils.select_header_content_type(
1951
+ ['application/json'])
1952
+
1953
+ auth_settings = []
1954
+
1955
+ http_info["cname"] = cname
1956
+ http_info["collection_formats"] = collection_formats
1957
+ http_info["path_params"] = path_params
1958
+ http_info["query_params"] = query_params
1959
+ http_info["header_params"] = header_params
1960
+ http_info["post_params"] = form_params
1961
+ http_info["body"] = body
1962
+ http_info["response_headers"] = response_headers
1963
+
1964
+ return http_info
1965
+
1966
+ def execute_sql_async(self, request):
1967
+ r"""提交SQL语句
1968
+
1969
+ 在MRS集群中提交并执行一条SQL语句。
1970
+
1971
+ Please refer to HUAWEI cloud API Explorer for details.
1972
+
1973
+
1974
+ :param request: Request instance for ExecuteSql
1975
+ :type request: :class:`huaweicloudsdkmrs.v2.ExecuteSqlRequest`
1976
+ :rtype: :class:`huaweicloudsdkmrs.v2.ExecuteSqlResponse`
1977
+ """
1978
+ http_info = self._execute_sql_http_info(request)
1979
+ return self._call_api(**http_info)
1980
+
1981
+ def execute_sql_async_invoker(self, request):
1982
+ http_info = self._execute_sql_http_info(request)
1983
+ return AsyncInvoker(self, http_info)
1984
+
1985
+ def _execute_sql_http_info(self, request):
1986
+ http_info = {
1987
+ "method": "POST",
1988
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/sql-execution",
1989
+ "request_type": request.__class__.__name__,
1990
+ "response_type": "ExecuteSqlResponse"
1991
+ }
1992
+
1993
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
1994
+
1995
+ cname = None
1996
+
1997
+ collection_formats = {}
1998
+
1999
+ path_params = {}
2000
+ if 'cluster_id' in local_var_params:
2001
+ path_params['cluster_id'] = local_var_params['cluster_id']
2002
+
2003
+ query_params = []
2004
+
2005
+ header_params = {}
2006
+
2007
+ form_params = {}
2008
+
2009
+ body = None
2010
+ if 'body' in local_var_params:
2011
+ body = local_var_params['body']
2012
+ if isinstance(request, SdkStreamRequest):
2013
+ body = request.get_file_stream()
2014
+
2015
+ response_headers = []
2016
+
2017
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2018
+ ['application/json'])
2019
+
2020
+ auth_settings = []
2021
+
2022
+ http_info["cname"] = cname
2023
+ http_info["collection_formats"] = collection_formats
2024
+ http_info["path_params"] = path_params
2025
+ http_info["query_params"] = query_params
2026
+ http_info["header_params"] = header_params
2027
+ http_info["post_params"] = form_params
2028
+ http_info["body"] = body
2029
+ http_info["response_headers"] = response_headers
2030
+
2031
+ return http_info
2032
+
2033
+ def show_sql_result_async(self, request):
2034
+ r"""查询SQL结果
2035
+
2036
+ 在MRS集群中查询一条SQL的执行结果。
2037
+
2038
+ Please refer to HUAWEI cloud API Explorer for details.
2039
+
2040
+
2041
+ :param request: Request instance for ShowSqlResult
2042
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowSqlResultRequest`
2043
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowSqlResultResponse`
2044
+ """
2045
+ http_info = self._show_sql_result_http_info(request)
2046
+ return self._call_api(**http_info)
2047
+
2048
+ def show_sql_result_async_invoker(self, request):
2049
+ http_info = self._show_sql_result_http_info(request)
2050
+ return AsyncInvoker(self, http_info)
2051
+
2052
+ def _show_sql_result_http_info(self, request):
2053
+ http_info = {
2054
+ "method": "GET",
2055
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/sql-execution/{sql_id}",
2056
+ "request_type": request.__class__.__name__,
2057
+ "response_type": "ShowSqlResultResponse"
2058
+ }
2059
+
2060
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2061
+
2062
+ cname = None
2063
+
2064
+ collection_formats = {}
2065
+
2066
+ path_params = {}
2067
+ if 'cluster_id' in local_var_params:
2068
+ path_params['cluster_id'] = local_var_params['cluster_id']
2069
+ if 'sql_id' in local_var_params:
2070
+ path_params['sql_id'] = local_var_params['sql_id']
2071
+
2072
+ query_params = []
2073
+
2074
+ header_params = {}
2075
+
2076
+ form_params = {}
2077
+
2078
+ body = None
2079
+ if isinstance(request, SdkStreamRequest):
2080
+ body = request.get_file_stream()
2081
+
2082
+ response_headers = []
2083
+
2084
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2085
+ ['application/json'])
2086
+
2087
+ auth_settings = []
2088
+
2089
+ http_info["cname"] = cname
2090
+ http_info["collection_formats"] = collection_formats
2091
+ http_info["path_params"] = path_params
2092
+ http_info["query_params"] = query_params
2093
+ http_info["header_params"] = header_params
2094
+ http_info["post_params"] = form_params
2095
+ http_info["body"] = body
2096
+ http_info["response_headers"] = response_headers
2097
+
2098
+ return http_info
2099
+
2100
+ def show_tag_quota_async(self, request):
2101
+ r"""查询标签配额
2102
+
2103
+ 查询标签配额信息
2104
+
2105
+ Please refer to HUAWEI cloud API Explorer for details.
2106
+
2107
+
2108
+ :param request: Request instance for ShowTagQuota
2109
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowTagQuotaRequest`
2110
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowTagQuotaResponse`
2111
+ """
2112
+ http_info = self._show_tag_quota_http_info(request)
2113
+ return self._call_api(**http_info)
2114
+
2115
+ def show_tag_quota_async_invoker(self, request):
2116
+ http_info = self._show_tag_quota_http_info(request)
2117
+ return AsyncInvoker(self, http_info)
2118
+
2119
+ def _show_tag_quota_http_info(self, request):
2120
+ http_info = {
2121
+ "method": "GET",
2122
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/tags/quota",
2123
+ "request_type": request.__class__.__name__,
2124
+ "response_type": "ShowTagQuotaResponse"
2125
+ }
2126
+
2127
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2128
+
2129
+ cname = None
2130
+
2131
+ collection_formats = {}
2132
+
2133
+ path_params = {}
2134
+ if 'cluster_id' in local_var_params:
2135
+ path_params['cluster_id'] = local_var_params['cluster_id']
2136
+
2137
+ query_params = []
2138
+ if 'auto_scaling_policy_tags' in local_var_params:
2139
+ query_params.append(('auto_scaling_policy_tags', local_var_params['auto_scaling_policy_tags']))
2140
+
2141
+ header_params = {}
2142
+
2143
+ form_params = {}
2144
+
2145
+ body = None
2146
+ if isinstance(request, SdkStreamRequest):
2147
+ body = request.get_file_stream()
2148
+
2149
+ response_headers = []
2150
+
2151
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2152
+ ['application/json'])
2153
+
2154
+ auth_settings = []
2155
+
2156
+ http_info["cname"] = cname
2157
+ http_info["collection_formats"] = collection_formats
2158
+ http_info["path_params"] = path_params
2159
+ http_info["query_params"] = query_params
2160
+ http_info["header_params"] = header_params
2161
+ http_info["post_params"] = form_params
2162
+ http_info["body"] = body
2163
+ http_info["response_headers"] = response_headers
2164
+
2165
+ return http_info
2166
+
2167
+ def show_tag_status_async(self, request):
2168
+ r"""查询默认标签状态
2169
+
2170
+ 查询集群默认标签状态
2171
+
2172
+ Please refer to HUAWEI cloud API Explorer for details.
2173
+
2174
+
2175
+ :param request: Request instance for ShowTagStatus
2176
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowTagStatusRequest`
2177
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowTagStatusResponse`
2178
+ """
2179
+ http_info = self._show_tag_status_http_info(request)
2180
+ return self._call_api(**http_info)
2181
+
2182
+ def show_tag_status_async_invoker(self, request):
2183
+ http_info = self._show_tag_status_http_info(request)
2184
+ return AsyncInvoker(self, http_info)
2185
+
2186
+ def _show_tag_status_http_info(self, request):
2187
+ http_info = {
2188
+ "method": "GET",
2189
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/tags/status",
2190
+ "request_type": request.__class__.__name__,
2191
+ "response_type": "ShowTagStatusResponse"
2192
+ }
2193
+
2194
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2195
+
2196
+ cname = None
2197
+
2198
+ collection_formats = {}
2199
+
2200
+ path_params = {}
2201
+ if 'cluster_id' in local_var_params:
2202
+ path_params['cluster_id'] = local_var_params['cluster_id']
2203
+
2204
+ query_params = []
2205
+
2206
+ header_params = {}
2207
+
2208
+ form_params = {}
2209
+
2210
+ body = None
2211
+ if isinstance(request, SdkStreamRequest):
2212
+ body = request.get_file_stream()
2213
+
2214
+ response_headers = []
2215
+
2216
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2217
+ ['application/json'])
2218
+
2219
+ auth_settings = []
2220
+
2221
+ http_info["cname"] = cname
2222
+ http_info["collection_formats"] = collection_formats
2223
+ http_info["path_params"] = path_params
2224
+ http_info["query_params"] = query_params
2225
+ http_info["header_params"] = header_params
2226
+ http_info["post_params"] = form_params
2227
+ http_info["body"] = body
2228
+ http_info["response_headers"] = response_headers
2229
+
2230
+ return http_info
2231
+
2232
+ def switch_cluster_tags_async(self, request):
2233
+ r"""集群操作默认标签
2234
+
2235
+ 对已有集群启用或关闭集群默认标签。开启后,集群内节点会打上集群默认标签。
2236
+
2237
+ Please refer to HUAWEI cloud API Explorer for details.
2238
+
2239
+
2240
+ :param request: Request instance for SwitchClusterTags
2241
+ :type request: :class:`huaweicloudsdkmrs.v2.SwitchClusterTagsRequest`
2242
+ :rtype: :class:`huaweicloudsdkmrs.v2.SwitchClusterTagsResponse`
2243
+ """
2244
+ http_info = self._switch_cluster_tags_http_info(request)
2245
+ return self._call_api(**http_info)
2246
+
2247
+ def switch_cluster_tags_async_invoker(self, request):
2248
+ http_info = self._switch_cluster_tags_http_info(request)
2249
+ return AsyncInvoker(self, http_info)
2250
+
2251
+ def _switch_cluster_tags_http_info(self, request):
2252
+ http_info = {
2253
+ "method": "POST",
2254
+ "resource_path": "/v2/{project_id}/clusters/{cluster_id}/tags/switch",
2255
+ "request_type": request.__class__.__name__,
2256
+ "response_type": "SwitchClusterTagsResponse"
2257
+ }
2258
+
2259
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2260
+
2261
+ cname = None
2262
+
2263
+ collection_formats = {}
2264
+
2265
+ path_params = {}
2266
+ if 'cluster_id' in local_var_params:
2267
+ path_params['cluster_id'] = local_var_params['cluster_id']
2268
+
2269
+ query_params = []
2270
+
2271
+ header_params = {}
2272
+
2273
+ form_params = {}
2274
+
2275
+ body = None
2276
+ if 'body' in local_var_params:
2277
+ body = local_var_params['body']
2278
+ if isinstance(request, SdkStreamRequest):
2279
+ body = request.get_file_stream()
2280
+
2281
+ response_headers = []
2282
+
2283
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2284
+ ['application/json;charset=UTF-8'])
2285
+
2286
+ auth_settings = []
2287
+
2288
+ http_info["cname"] = cname
2289
+ http_info["collection_formats"] = collection_formats
2290
+ http_info["path_params"] = path_params
2291
+ http_info["query_params"] = query_params
2292
+ http_info["header_params"] = header_params
2293
+ http_info["post_params"] = form_params
2294
+ http_info["body"] = body
2295
+ http_info["response_headers"] = response_headers
2296
+
2297
+ return http_info
2298
+
2299
+ def show_mrs_flavors_async(self, request):
2300
+ r"""查询MRS集群版本可用的规格
2301
+
2302
+ 查询MRS集群版本可用的规格
2303
+
2304
+ Please refer to HUAWEI cloud API Explorer for details.
2305
+
2306
+
2307
+ :param request: Request instance for ShowMrsFlavors
2308
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowMrsFlavorsRequest`
2309
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowMrsFlavorsResponse`
2310
+ """
2311
+ http_info = self._show_mrs_flavors_http_info(request)
2312
+ return self._call_api(**http_info)
2313
+
2314
+ def show_mrs_flavors_async_invoker(self, request):
2315
+ http_info = self._show_mrs_flavors_http_info(request)
2316
+ return AsyncInvoker(self, http_info)
2317
+
2318
+ def _show_mrs_flavors_http_info(self, request):
2319
+ http_info = {
2320
+ "method": "GET",
2321
+ "resource_path": "/v2/{project_id}/metadata/version/{version_name}/available-flavor",
2322
+ "request_type": request.__class__.__name__,
2323
+ "response_type": "ShowMrsFlavorsResponse"
2324
+ }
2325
+
2326
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2327
+
2328
+ cname = None
2329
+
2330
+ collection_formats = {}
2331
+
2332
+ path_params = {}
2333
+ if 'version_name' in local_var_params:
2334
+ path_params['version_name'] = local_var_params['version_name']
2335
+
2336
+ query_params = []
2337
+ if 'availability_zone' in local_var_params:
2338
+ query_params.append(('availability_zone', local_var_params['availability_zone']))
2339
+
2340
+ header_params = {}
2341
+
2342
+ form_params = {}
2343
+
2344
+ body = None
2345
+ if isinstance(request, SdkStreamRequest):
2346
+ body = request.get_file_stream()
2347
+
2348
+ response_headers = []
2349
+
2350
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2351
+ ['application/json'])
2352
+
2353
+ auth_settings = []
2354
+
2355
+ http_info["cname"] = cname
2356
+ http_info["collection_formats"] = collection_formats
2357
+ http_info["path_params"] = path_params
2358
+ http_info["query_params"] = query_params
2359
+ http_info["header_params"] = header_params
2360
+ http_info["post_params"] = form_params
2361
+ http_info["body"] = body
2362
+ http_info["response_headers"] = response_headers
2363
+
2364
+ return http_info
2365
+
2366
+ def show_mrs_version_list_async(self, request):
2367
+ r"""展示MRS版本列表
2368
+
2369
+ 展示MRS版本列表
2370
+
2371
+ Please refer to HUAWEI cloud API Explorer for details.
2372
+
2373
+
2374
+ :param request: Request instance for ShowMrsVersionList
2375
+ :type request: :class:`huaweicloudsdkmrs.v2.ShowMrsVersionListRequest`
2376
+ :rtype: :class:`huaweicloudsdkmrs.v2.ShowMrsVersionListResponse`
2377
+ """
2378
+ http_info = self._show_mrs_version_list_http_info(request)
2379
+ return self._call_api(**http_info)
2380
+
2381
+ def show_mrs_version_list_async_invoker(self, request):
2382
+ http_info = self._show_mrs_version_list_http_info(request)
2383
+ return AsyncInvoker(self, http_info)
2384
+
2385
+ def _show_mrs_version_list_http_info(self, request):
2386
+ http_info = {
2387
+ "method": "GET",
2388
+ "resource_path": "/v2/{project_id}/metadata/versions",
2389
+ "request_type": request.__class__.__name__,
2390
+ "response_type": "ShowMrsVersionListResponse"
2391
+ }
2392
+
2393
+ local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
2394
+
2395
+ cname = None
2396
+
2397
+ collection_formats = {}
2398
+
2399
+ path_params = {}
2400
+
2401
+ query_params = []
2402
+
2403
+ header_params = {}
2404
+
2405
+ form_params = {}
2406
+
2407
+ body = None
2408
+ if isinstance(request, SdkStreamRequest):
2409
+ body = request.get_file_stream()
2410
+
2411
+ response_headers = []
2412
+
2413
+ header_params['Content-Type'] = http_utils.select_header_content_type(
2414
+ ['application/json'])
2415
+
2416
+ auth_settings = []
2417
+
2418
+ http_info["cname"] = cname
2419
+ http_info["collection_formats"] = collection_formats
2420
+ http_info["path_params"] = path_params
2421
+ http_info["query_params"] = query_params
2422
+ http_info["header_params"] = header_params
2423
+ http_info["post_params"] = form_params
2424
+ http_info["body"] = body
2425
+ http_info["response_headers"] = response_headers
2426
+
2427
+ return http_info
2428
+
2429
+ def _call_api(self, **kwargs):
2430
+ try:
2431
+ kwargs["async_request"] = True
2432
+ return self.do_http_request(**kwargs)
2433
+ except TypeError:
2434
+ import inspect
2435
+ params = inspect.signature(self.do_http_request).parameters
2436
+ http_info = {param_name: kwargs.get(param_name) for param_name in params if param_name in kwargs}
2437
+ return self.do_http_request(**http_info)
2438
+
2439
+ def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None, body=None,
2440
+ post_params=None, cname=None, response_type=None, response_headers=None, auth_settings=None,
2441
+ collection_formats=None, request_type=None):
2442
+ """Makes the HTTP request and returns deserialized data.
2443
+
2444
+ :param resource_path: Path to method endpoint.
2445
+ :param method: Method to call.
2446
+ :param path_params: Path parameters in the url.
2447
+ :param query_params: Query parameters in the url.
2448
+ :param header_params: Header parameters to be
2449
+ placed in the request header.
2450
+ :param body: Request body.
2451
+ :param post_params: Request post form parameters,
2452
+ for `application/x-www-form-urlencoded`, `multipart/form-data`.
2453
+ :param cname: Used for obs endpoint.
2454
+ :param auth_settings: Auth Settings names for the request.
2455
+ :param response_type: Response data type.
2456
+ :param response_headers: Header should be added to response data.
2457
+ :param collection_formats: dict of collection formats for path, query,
2458
+ header, and post parameters.
2459
+ :param request_type: Request data type.
2460
+ :return:
2461
+ Return the response directly.
2462
+ """
2463
+ return self.do_http_request(
2464
+ method=method,
2465
+ resource_path=resource_path,
2466
+ path_params=path_params,
2467
+ query_params=query_params,
2468
+ header_params=header_params,
2469
+ body=body,
2470
+ post_params=post_params,
2471
+ cname=cname,
2472
+ response_type=response_type,
2473
+ response_headers=response_headers,
2474
+ collection_formats=collection_formats,
2475
+ request_type=request_type,
2476
+ async_request=True)