tccli-intl-en 3.1.3.1__py2.py3-none-any.whl → 3.1.5.1__py2.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.
@@ -0,0 +1,2450 @@
1
+ # -*- coding: utf-8 -*-
2
+ import os
3
+ import sys
4
+ import six
5
+ import json
6
+ import tccli.options_define as OptionsDefine
7
+ import tccli.format_output as FormatOutput
8
+ from tccli import __version__
9
+ from tccli.utils import Utils
10
+ from tccli.exceptions import ConfigurationError, ClientError, ParamError
11
+ from tencentcloud.common import credential
12
+ from tencentcloud.common.profile.http_profile import HttpProfile
13
+ from tencentcloud.common.profile.client_profile import ClientProfile
14
+ from tencentcloud.trocket.v20230308 import trocket_client as trocket_client_v20230308
15
+ from tencentcloud.trocket.v20230308 import models as models_v20230308
16
+
17
+ from jmespath import search
18
+ import time
19
+
20
+ def doDescribeSourceClusterGroupList(args, parsed_globals):
21
+ g_param = parse_global_arg(parsed_globals)
22
+
23
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
24
+ cred = credential.CVMRoleCredential()
25
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
26
+ cred = credential.STSAssumeRoleCredential(
27
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
28
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
29
+ )
30
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
31
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
32
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
33
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
34
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
35
+ else:
36
+ cred = credential.Credential(
37
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
38
+ )
39
+ http_profile = HttpProfile(
40
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
41
+ reqMethod="POST",
42
+ endpoint=g_param[OptionsDefine.Endpoint],
43
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
44
+ )
45
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
46
+ if g_param[OptionsDefine.Language]:
47
+ profile.language = g_param[OptionsDefine.Language]
48
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
49
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
50
+ client._sdkVersion += ("_CLI_" + __version__)
51
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
52
+ model = models.DescribeSourceClusterGroupListRequest()
53
+ model.from_json_string(json.dumps(args))
54
+ start_time = time.time()
55
+ while True:
56
+ rsp = client.DescribeSourceClusterGroupList(model)
57
+ result = rsp.to_json_string()
58
+ try:
59
+ json_obj = json.loads(result)
60
+ except TypeError as e:
61
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
62
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
63
+ break
64
+ cur_time = time.time()
65
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
66
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
67
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
68
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
69
+ else:
70
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
71
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
72
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
73
+
74
+
75
+ def doDescribeMigratingTopicList(args, parsed_globals):
76
+ g_param = parse_global_arg(parsed_globals)
77
+
78
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
79
+ cred = credential.CVMRoleCredential()
80
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
81
+ cred = credential.STSAssumeRoleCredential(
82
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
83
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
84
+ )
85
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
86
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
87
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
88
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
89
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
90
+ else:
91
+ cred = credential.Credential(
92
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
93
+ )
94
+ http_profile = HttpProfile(
95
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
96
+ reqMethod="POST",
97
+ endpoint=g_param[OptionsDefine.Endpoint],
98
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
99
+ )
100
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
101
+ if g_param[OptionsDefine.Language]:
102
+ profile.language = g_param[OptionsDefine.Language]
103
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
104
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
105
+ client._sdkVersion += ("_CLI_" + __version__)
106
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
107
+ model = models.DescribeMigratingTopicListRequest()
108
+ model.from_json_string(json.dumps(args))
109
+ start_time = time.time()
110
+ while True:
111
+ rsp = client.DescribeMigratingTopicList(model)
112
+ result = rsp.to_json_string()
113
+ try:
114
+ json_obj = json.loads(result)
115
+ except TypeError as e:
116
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
117
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
118
+ break
119
+ cur_time = time.time()
120
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
121
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
122
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
123
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
124
+ else:
125
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
126
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
127
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
128
+
129
+
130
+ def doDescribeMessageTrace(args, parsed_globals):
131
+ g_param = parse_global_arg(parsed_globals)
132
+
133
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
134
+ cred = credential.CVMRoleCredential()
135
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
136
+ cred = credential.STSAssumeRoleCredential(
137
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
138
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
139
+ )
140
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
141
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
142
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
143
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
144
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
145
+ else:
146
+ cred = credential.Credential(
147
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
148
+ )
149
+ http_profile = HttpProfile(
150
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
151
+ reqMethod="POST",
152
+ endpoint=g_param[OptionsDefine.Endpoint],
153
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
154
+ )
155
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
156
+ if g_param[OptionsDefine.Language]:
157
+ profile.language = g_param[OptionsDefine.Language]
158
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
159
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
160
+ client._sdkVersion += ("_CLI_" + __version__)
161
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
162
+ model = models.DescribeMessageTraceRequest()
163
+ model.from_json_string(json.dumps(args))
164
+ start_time = time.time()
165
+ while True:
166
+ rsp = client.DescribeMessageTrace(model)
167
+ result = rsp.to_json_string()
168
+ try:
169
+ json_obj = json.loads(result)
170
+ except TypeError as e:
171
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
172
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
173
+ break
174
+ cur_time = time.time()
175
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
176
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
177
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
178
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
179
+ else:
180
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
181
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
182
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
183
+
184
+
185
+ def doModifyTopic(args, parsed_globals):
186
+ g_param = parse_global_arg(parsed_globals)
187
+
188
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
189
+ cred = credential.CVMRoleCredential()
190
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
191
+ cred = credential.STSAssumeRoleCredential(
192
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
193
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
194
+ )
195
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
196
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
197
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
198
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
199
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
200
+ else:
201
+ cred = credential.Credential(
202
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
203
+ )
204
+ http_profile = HttpProfile(
205
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
206
+ reqMethod="POST",
207
+ endpoint=g_param[OptionsDefine.Endpoint],
208
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
209
+ )
210
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
211
+ if g_param[OptionsDefine.Language]:
212
+ profile.language = g_param[OptionsDefine.Language]
213
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
214
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
215
+ client._sdkVersion += ("_CLI_" + __version__)
216
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
217
+ model = models.ModifyTopicRequest()
218
+ model.from_json_string(json.dumps(args))
219
+ start_time = time.time()
220
+ while True:
221
+ rsp = client.ModifyTopic(model)
222
+ result = rsp.to_json_string()
223
+ try:
224
+ json_obj = json.loads(result)
225
+ except TypeError as e:
226
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
227
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
228
+ break
229
+ cur_time = time.time()
230
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
231
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
232
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
233
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
234
+ else:
235
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
236
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
237
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
238
+
239
+
240
+ def doDescribeTopicListByGroup(args, parsed_globals):
241
+ g_param = parse_global_arg(parsed_globals)
242
+
243
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
244
+ cred = credential.CVMRoleCredential()
245
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
246
+ cred = credential.STSAssumeRoleCredential(
247
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
248
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
249
+ )
250
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
251
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
252
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
253
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
254
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
255
+ else:
256
+ cred = credential.Credential(
257
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
258
+ )
259
+ http_profile = HttpProfile(
260
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
261
+ reqMethod="POST",
262
+ endpoint=g_param[OptionsDefine.Endpoint],
263
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
264
+ )
265
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
266
+ if g_param[OptionsDefine.Language]:
267
+ profile.language = g_param[OptionsDefine.Language]
268
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
269
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
270
+ client._sdkVersion += ("_CLI_" + __version__)
271
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
272
+ model = models.DescribeTopicListByGroupRequest()
273
+ model.from_json_string(json.dumps(args))
274
+ start_time = time.time()
275
+ while True:
276
+ rsp = client.DescribeTopicListByGroup(model)
277
+ result = rsp.to_json_string()
278
+ try:
279
+ json_obj = json.loads(result)
280
+ except TypeError as e:
281
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
282
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
283
+ break
284
+ cur_time = time.time()
285
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
286
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
287
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
288
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
289
+ else:
290
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
291
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
292
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
293
+
294
+
295
+ def doResendDeadLetterMessage(args, parsed_globals):
296
+ g_param = parse_global_arg(parsed_globals)
297
+
298
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
299
+ cred = credential.CVMRoleCredential()
300
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
301
+ cred = credential.STSAssumeRoleCredential(
302
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
303
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
304
+ )
305
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
306
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
307
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
308
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
309
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
310
+ else:
311
+ cred = credential.Credential(
312
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
313
+ )
314
+ http_profile = HttpProfile(
315
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
316
+ reqMethod="POST",
317
+ endpoint=g_param[OptionsDefine.Endpoint],
318
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
319
+ )
320
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
321
+ if g_param[OptionsDefine.Language]:
322
+ profile.language = g_param[OptionsDefine.Language]
323
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
324
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
325
+ client._sdkVersion += ("_CLI_" + __version__)
326
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
327
+ model = models.ResendDeadLetterMessageRequest()
328
+ model.from_json_string(json.dumps(args))
329
+ start_time = time.time()
330
+ while True:
331
+ rsp = client.ResendDeadLetterMessage(model)
332
+ result = rsp.to_json_string()
333
+ try:
334
+ json_obj = json.loads(result)
335
+ except TypeError as e:
336
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
337
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
338
+ break
339
+ cur_time = time.time()
340
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
341
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
342
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
343
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
344
+ else:
345
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
346
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
347
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
348
+
349
+
350
+ def doCreateRole(args, parsed_globals):
351
+ g_param = parse_global_arg(parsed_globals)
352
+
353
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
354
+ cred = credential.CVMRoleCredential()
355
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
356
+ cred = credential.STSAssumeRoleCredential(
357
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
358
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
359
+ )
360
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
361
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
362
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
363
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
364
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
365
+ else:
366
+ cred = credential.Credential(
367
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
368
+ )
369
+ http_profile = HttpProfile(
370
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
371
+ reqMethod="POST",
372
+ endpoint=g_param[OptionsDefine.Endpoint],
373
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
374
+ )
375
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
376
+ if g_param[OptionsDefine.Language]:
377
+ profile.language = g_param[OptionsDefine.Language]
378
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
379
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
380
+ client._sdkVersion += ("_CLI_" + __version__)
381
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
382
+ model = models.CreateRoleRequest()
383
+ model.from_json_string(json.dumps(args))
384
+ start_time = time.time()
385
+ while True:
386
+ rsp = client.CreateRole(model)
387
+ result = rsp.to_json_string()
388
+ try:
389
+ json_obj = json.loads(result)
390
+ except TypeError as e:
391
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
392
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
393
+ break
394
+ cur_time = time.time()
395
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
396
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
397
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
398
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
399
+ else:
400
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
401
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
402
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
403
+
404
+
405
+ def doDeleteInstance(args, parsed_globals):
406
+ g_param = parse_global_arg(parsed_globals)
407
+
408
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
409
+ cred = credential.CVMRoleCredential()
410
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
411
+ cred = credential.STSAssumeRoleCredential(
412
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
413
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
414
+ )
415
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
416
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
417
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
418
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
419
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
420
+ else:
421
+ cred = credential.Credential(
422
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
423
+ )
424
+ http_profile = HttpProfile(
425
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
426
+ reqMethod="POST",
427
+ endpoint=g_param[OptionsDefine.Endpoint],
428
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
429
+ )
430
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
431
+ if g_param[OptionsDefine.Language]:
432
+ profile.language = g_param[OptionsDefine.Language]
433
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
434
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
435
+ client._sdkVersion += ("_CLI_" + __version__)
436
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
437
+ model = models.DeleteInstanceRequest()
438
+ model.from_json_string(json.dumps(args))
439
+ start_time = time.time()
440
+ while True:
441
+ rsp = client.DeleteInstance(model)
442
+ result = rsp.to_json_string()
443
+ try:
444
+ json_obj = json.loads(result)
445
+ except TypeError as e:
446
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
447
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
448
+ break
449
+ cur_time = time.time()
450
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
451
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
452
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
453
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
454
+ else:
455
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
456
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
457
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
458
+
459
+
460
+ def doCreateConsumerGroup(args, parsed_globals):
461
+ g_param = parse_global_arg(parsed_globals)
462
+
463
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
464
+ cred = credential.CVMRoleCredential()
465
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
466
+ cred = credential.STSAssumeRoleCredential(
467
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
468
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
469
+ )
470
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
471
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
472
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
473
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
474
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
475
+ else:
476
+ cred = credential.Credential(
477
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
478
+ )
479
+ http_profile = HttpProfile(
480
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
481
+ reqMethod="POST",
482
+ endpoint=g_param[OptionsDefine.Endpoint],
483
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
484
+ )
485
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
486
+ if g_param[OptionsDefine.Language]:
487
+ profile.language = g_param[OptionsDefine.Language]
488
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
489
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
490
+ client._sdkVersion += ("_CLI_" + __version__)
491
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
492
+ model = models.CreateConsumerGroupRequest()
493
+ model.from_json_string(json.dumps(args))
494
+ start_time = time.time()
495
+ while True:
496
+ rsp = client.CreateConsumerGroup(model)
497
+ result = rsp.to_json_string()
498
+ try:
499
+ json_obj = json.loads(result)
500
+ except TypeError as e:
501
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
502
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
503
+ break
504
+ cur_time = time.time()
505
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
506
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
507
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
508
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
509
+ else:
510
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
511
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
512
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
513
+
514
+
515
+ def doResetConsumerGroupOffset(args, parsed_globals):
516
+ g_param = parse_global_arg(parsed_globals)
517
+
518
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
519
+ cred = credential.CVMRoleCredential()
520
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
521
+ cred = credential.STSAssumeRoleCredential(
522
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
523
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
524
+ )
525
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
526
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
527
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
528
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
529
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
530
+ else:
531
+ cred = credential.Credential(
532
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
533
+ )
534
+ http_profile = HttpProfile(
535
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
536
+ reqMethod="POST",
537
+ endpoint=g_param[OptionsDefine.Endpoint],
538
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
539
+ )
540
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
541
+ if g_param[OptionsDefine.Language]:
542
+ profile.language = g_param[OptionsDefine.Language]
543
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
544
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
545
+ client._sdkVersion += ("_CLI_" + __version__)
546
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
547
+ model = models.ResetConsumerGroupOffsetRequest()
548
+ model.from_json_string(json.dumps(args))
549
+ start_time = time.time()
550
+ while True:
551
+ rsp = client.ResetConsumerGroupOffset(model)
552
+ result = rsp.to_json_string()
553
+ try:
554
+ json_obj = json.loads(result)
555
+ except TypeError as e:
556
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
557
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
558
+ break
559
+ cur_time = time.time()
560
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
561
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
562
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
563
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
564
+ else:
565
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
566
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
567
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
568
+
569
+
570
+ def doDoHealthCheckOnMigratingTopic(args, parsed_globals):
571
+ g_param = parse_global_arg(parsed_globals)
572
+
573
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
574
+ cred = credential.CVMRoleCredential()
575
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
576
+ cred = credential.STSAssumeRoleCredential(
577
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
578
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
579
+ )
580
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
581
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
582
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
583
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
584
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
585
+ else:
586
+ cred = credential.Credential(
587
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
588
+ )
589
+ http_profile = HttpProfile(
590
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
591
+ reqMethod="POST",
592
+ endpoint=g_param[OptionsDefine.Endpoint],
593
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
594
+ )
595
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
596
+ if g_param[OptionsDefine.Language]:
597
+ profile.language = g_param[OptionsDefine.Language]
598
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
599
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
600
+ client._sdkVersion += ("_CLI_" + __version__)
601
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
602
+ model = models.DoHealthCheckOnMigratingTopicRequest()
603
+ model.from_json_string(json.dumps(args))
604
+ start_time = time.time()
605
+ while True:
606
+ rsp = client.DoHealthCheckOnMigratingTopic(model)
607
+ result = rsp.to_json_string()
608
+ try:
609
+ json_obj = json.loads(result)
610
+ except TypeError as e:
611
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
612
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
613
+ break
614
+ cur_time = time.time()
615
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
616
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
617
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
618
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
619
+ else:
620
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
621
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
622
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
623
+
624
+
625
+ def doDescribeMessage(args, parsed_globals):
626
+ g_param = parse_global_arg(parsed_globals)
627
+
628
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
629
+ cred = credential.CVMRoleCredential()
630
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
631
+ cred = credential.STSAssumeRoleCredential(
632
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
633
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
634
+ )
635
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
636
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
637
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
638
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
639
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
640
+ else:
641
+ cred = credential.Credential(
642
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
643
+ )
644
+ http_profile = HttpProfile(
645
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
646
+ reqMethod="POST",
647
+ endpoint=g_param[OptionsDefine.Endpoint],
648
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
649
+ )
650
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
651
+ if g_param[OptionsDefine.Language]:
652
+ profile.language = g_param[OptionsDefine.Language]
653
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
654
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
655
+ client._sdkVersion += ("_CLI_" + __version__)
656
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
657
+ model = models.DescribeMessageRequest()
658
+ model.from_json_string(json.dumps(args))
659
+ start_time = time.time()
660
+ while True:
661
+ rsp = client.DescribeMessage(model)
662
+ result = rsp.to_json_string()
663
+ try:
664
+ json_obj = json.loads(result)
665
+ except TypeError as e:
666
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
667
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
668
+ break
669
+ cur_time = time.time()
670
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
671
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
672
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
673
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
674
+ else:
675
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
676
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
677
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
678
+
679
+
680
+ def doDescribeRoleList(args, parsed_globals):
681
+ g_param = parse_global_arg(parsed_globals)
682
+
683
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
684
+ cred = credential.CVMRoleCredential()
685
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
686
+ cred = credential.STSAssumeRoleCredential(
687
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
688
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
689
+ )
690
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
691
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
692
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
693
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
694
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
695
+ else:
696
+ cred = credential.Credential(
697
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
698
+ )
699
+ http_profile = HttpProfile(
700
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
701
+ reqMethod="POST",
702
+ endpoint=g_param[OptionsDefine.Endpoint],
703
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
704
+ )
705
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
706
+ if g_param[OptionsDefine.Language]:
707
+ profile.language = g_param[OptionsDefine.Language]
708
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
709
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
710
+ client._sdkVersion += ("_CLI_" + __version__)
711
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
712
+ model = models.DescribeRoleListRequest()
713
+ model.from_json_string(json.dumps(args))
714
+ start_time = time.time()
715
+ while True:
716
+ rsp = client.DescribeRoleList(model)
717
+ result = rsp.to_json_string()
718
+ try:
719
+ json_obj = json.loads(result)
720
+ except TypeError as e:
721
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
722
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
723
+ break
724
+ cur_time = time.time()
725
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
726
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
727
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
728
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
729
+ else:
730
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
731
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
732
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
733
+
734
+
735
+ def doDeleteConsumerGroup(args, parsed_globals):
736
+ g_param = parse_global_arg(parsed_globals)
737
+
738
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
739
+ cred = credential.CVMRoleCredential()
740
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
741
+ cred = credential.STSAssumeRoleCredential(
742
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
743
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
744
+ )
745
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
746
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
747
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
748
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
749
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
750
+ else:
751
+ cred = credential.Credential(
752
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
753
+ )
754
+ http_profile = HttpProfile(
755
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
756
+ reqMethod="POST",
757
+ endpoint=g_param[OptionsDefine.Endpoint],
758
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
759
+ )
760
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
761
+ if g_param[OptionsDefine.Language]:
762
+ profile.language = g_param[OptionsDefine.Language]
763
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
764
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
765
+ client._sdkVersion += ("_CLI_" + __version__)
766
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
767
+ model = models.DeleteConsumerGroupRequest()
768
+ model.from_json_string(json.dumps(args))
769
+ start_time = time.time()
770
+ while True:
771
+ rsp = client.DeleteConsumerGroup(model)
772
+ result = rsp.to_json_string()
773
+ try:
774
+ json_obj = json.loads(result)
775
+ except TypeError as e:
776
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
777
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
778
+ break
779
+ cur_time = time.time()
780
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
781
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
782
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
783
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
784
+ else:
785
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
786
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
787
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
788
+
789
+
790
+ def doModifyConsumerGroup(args, parsed_globals):
791
+ g_param = parse_global_arg(parsed_globals)
792
+
793
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
794
+ cred = credential.CVMRoleCredential()
795
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
796
+ cred = credential.STSAssumeRoleCredential(
797
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
798
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
799
+ )
800
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
801
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
802
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
803
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
804
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
805
+ else:
806
+ cred = credential.Credential(
807
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
808
+ )
809
+ http_profile = HttpProfile(
810
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
811
+ reqMethod="POST",
812
+ endpoint=g_param[OptionsDefine.Endpoint],
813
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
814
+ )
815
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
816
+ if g_param[OptionsDefine.Language]:
817
+ profile.language = g_param[OptionsDefine.Language]
818
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
819
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
820
+ client._sdkVersion += ("_CLI_" + __version__)
821
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
822
+ model = models.ModifyConsumerGroupRequest()
823
+ model.from_json_string(json.dumps(args))
824
+ start_time = time.time()
825
+ while True:
826
+ rsp = client.ModifyConsumerGroup(model)
827
+ result = rsp.to_json_string()
828
+ try:
829
+ json_obj = json.loads(result)
830
+ except TypeError as e:
831
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
832
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
833
+ break
834
+ cur_time = time.time()
835
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
836
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
837
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
838
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
839
+ else:
840
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
841
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
842
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
843
+
844
+
845
+ def doDescribeConsumerClient(args, parsed_globals):
846
+ g_param = parse_global_arg(parsed_globals)
847
+
848
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
849
+ cred = credential.CVMRoleCredential()
850
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
851
+ cred = credential.STSAssumeRoleCredential(
852
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
853
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
854
+ )
855
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
856
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
857
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
858
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
859
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
860
+ else:
861
+ cred = credential.Credential(
862
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
863
+ )
864
+ http_profile = HttpProfile(
865
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
866
+ reqMethod="POST",
867
+ endpoint=g_param[OptionsDefine.Endpoint],
868
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
869
+ )
870
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
871
+ if g_param[OptionsDefine.Language]:
872
+ profile.language = g_param[OptionsDefine.Language]
873
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
874
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
875
+ client._sdkVersion += ("_CLI_" + __version__)
876
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
877
+ model = models.DescribeConsumerClientRequest()
878
+ model.from_json_string(json.dumps(args))
879
+ start_time = time.time()
880
+ while True:
881
+ rsp = client.DescribeConsumerClient(model)
882
+ result = rsp.to_json_string()
883
+ try:
884
+ json_obj = json.loads(result)
885
+ except TypeError as e:
886
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
887
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
888
+ break
889
+ cur_time = time.time()
890
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
891
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
892
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
893
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
894
+ else:
895
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
896
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
897
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
898
+
899
+
900
+ def doDescribeMigratingGroupStats(args, parsed_globals):
901
+ g_param = parse_global_arg(parsed_globals)
902
+
903
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
904
+ cred = credential.CVMRoleCredential()
905
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
906
+ cred = credential.STSAssumeRoleCredential(
907
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
908
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
909
+ )
910
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
911
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
912
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
913
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
914
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
915
+ else:
916
+ cred = credential.Credential(
917
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
918
+ )
919
+ http_profile = HttpProfile(
920
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
921
+ reqMethod="POST",
922
+ endpoint=g_param[OptionsDefine.Endpoint],
923
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
924
+ )
925
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
926
+ if g_param[OptionsDefine.Language]:
927
+ profile.language = g_param[OptionsDefine.Language]
928
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
929
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
930
+ client._sdkVersion += ("_CLI_" + __version__)
931
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
932
+ model = models.DescribeMigratingGroupStatsRequest()
933
+ model.from_json_string(json.dumps(args))
934
+ start_time = time.time()
935
+ while True:
936
+ rsp = client.DescribeMigratingGroupStats(model)
937
+ result = rsp.to_json_string()
938
+ try:
939
+ json_obj = json.loads(result)
940
+ except TypeError as e:
941
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
942
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
943
+ break
944
+ cur_time = time.time()
945
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
946
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
947
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
948
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
949
+ else:
950
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
951
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
952
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
953
+
954
+
955
+ def doDeleteRole(args, parsed_globals):
956
+ g_param = parse_global_arg(parsed_globals)
957
+
958
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
959
+ cred = credential.CVMRoleCredential()
960
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
961
+ cred = credential.STSAssumeRoleCredential(
962
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
963
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
964
+ )
965
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
966
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
967
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
968
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
969
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
970
+ else:
971
+ cred = credential.Credential(
972
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
973
+ )
974
+ http_profile = HttpProfile(
975
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
976
+ reqMethod="POST",
977
+ endpoint=g_param[OptionsDefine.Endpoint],
978
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
979
+ )
980
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
981
+ if g_param[OptionsDefine.Language]:
982
+ profile.language = g_param[OptionsDefine.Language]
983
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
984
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
985
+ client._sdkVersion += ("_CLI_" + __version__)
986
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
987
+ model = models.DeleteRoleRequest()
988
+ model.from_json_string(json.dumps(args))
989
+ start_time = time.time()
990
+ while True:
991
+ rsp = client.DeleteRole(model)
992
+ result = rsp.to_json_string()
993
+ try:
994
+ json_obj = json.loads(result)
995
+ except TypeError as e:
996
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
997
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
998
+ break
999
+ cur_time = time.time()
1000
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1001
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1002
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1003
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1004
+ else:
1005
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1006
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1007
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1008
+
1009
+
1010
+ def doDescribeProductSKUs(args, parsed_globals):
1011
+ g_param = parse_global_arg(parsed_globals)
1012
+
1013
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1014
+ cred = credential.CVMRoleCredential()
1015
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1016
+ cred = credential.STSAssumeRoleCredential(
1017
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1018
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1019
+ )
1020
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1021
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1022
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1023
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1024
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1025
+ else:
1026
+ cred = credential.Credential(
1027
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1028
+ )
1029
+ http_profile = HttpProfile(
1030
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1031
+ reqMethod="POST",
1032
+ endpoint=g_param[OptionsDefine.Endpoint],
1033
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1034
+ )
1035
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1036
+ if g_param[OptionsDefine.Language]:
1037
+ profile.language = g_param[OptionsDefine.Language]
1038
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1039
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1040
+ client._sdkVersion += ("_CLI_" + __version__)
1041
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1042
+ model = models.DescribeProductSKUsRequest()
1043
+ model.from_json_string(json.dumps(args))
1044
+ start_time = time.time()
1045
+ while True:
1046
+ rsp = client.DescribeProductSKUs(model)
1047
+ result = rsp.to_json_string()
1048
+ try:
1049
+ json_obj = json.loads(result)
1050
+ except TypeError as e:
1051
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1052
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1053
+ break
1054
+ cur_time = time.time()
1055
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1056
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1057
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1058
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1059
+ else:
1060
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1061
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1062
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1063
+
1064
+
1065
+ def doDescribeConsumerClientList(args, parsed_globals):
1066
+ g_param = parse_global_arg(parsed_globals)
1067
+
1068
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1069
+ cred = credential.CVMRoleCredential()
1070
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1071
+ cred = credential.STSAssumeRoleCredential(
1072
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1073
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1074
+ )
1075
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1076
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1077
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1078
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1079
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1080
+ else:
1081
+ cred = credential.Credential(
1082
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1083
+ )
1084
+ http_profile = HttpProfile(
1085
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1086
+ reqMethod="POST",
1087
+ endpoint=g_param[OptionsDefine.Endpoint],
1088
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1089
+ )
1090
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1091
+ if g_param[OptionsDefine.Language]:
1092
+ profile.language = g_param[OptionsDefine.Language]
1093
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1094
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1095
+ client._sdkVersion += ("_CLI_" + __version__)
1096
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1097
+ model = models.DescribeConsumerClientListRequest()
1098
+ model.from_json_string(json.dumps(args))
1099
+ start_time = time.time()
1100
+ while True:
1101
+ rsp = client.DescribeConsumerClientList(model)
1102
+ result = rsp.to_json_string()
1103
+ try:
1104
+ json_obj = json.loads(result)
1105
+ except TypeError as e:
1106
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1107
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1108
+ break
1109
+ cur_time = time.time()
1110
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1111
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1112
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1113
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1114
+ else:
1115
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1116
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1117
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1118
+
1119
+
1120
+ def doDescribeConsumerLag(args, parsed_globals):
1121
+ g_param = parse_global_arg(parsed_globals)
1122
+
1123
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1124
+ cred = credential.CVMRoleCredential()
1125
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1126
+ cred = credential.STSAssumeRoleCredential(
1127
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1128
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1129
+ )
1130
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1131
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1132
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1133
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1134
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1135
+ else:
1136
+ cred = credential.Credential(
1137
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1138
+ )
1139
+ http_profile = HttpProfile(
1140
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1141
+ reqMethod="POST",
1142
+ endpoint=g_param[OptionsDefine.Endpoint],
1143
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1144
+ )
1145
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1146
+ if g_param[OptionsDefine.Language]:
1147
+ profile.language = g_param[OptionsDefine.Language]
1148
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1149
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1150
+ client._sdkVersion += ("_CLI_" + __version__)
1151
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1152
+ model = models.DescribeConsumerLagRequest()
1153
+ model.from_json_string(json.dumps(args))
1154
+ start_time = time.time()
1155
+ while True:
1156
+ rsp = client.DescribeConsumerLag(model)
1157
+ result = rsp.to_json_string()
1158
+ try:
1159
+ json_obj = json.loads(result)
1160
+ except TypeError as e:
1161
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1162
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1163
+ break
1164
+ cur_time = time.time()
1165
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1166
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1167
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1168
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1169
+ else:
1170
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1171
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1172
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1173
+
1174
+
1175
+ def doDescribeConsumerGroup(args, parsed_globals):
1176
+ g_param = parse_global_arg(parsed_globals)
1177
+
1178
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1179
+ cred = credential.CVMRoleCredential()
1180
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1181
+ cred = credential.STSAssumeRoleCredential(
1182
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1183
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1184
+ )
1185
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1186
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1187
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1188
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1189
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1190
+ else:
1191
+ cred = credential.Credential(
1192
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1193
+ )
1194
+ http_profile = HttpProfile(
1195
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1196
+ reqMethod="POST",
1197
+ endpoint=g_param[OptionsDefine.Endpoint],
1198
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1199
+ )
1200
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1201
+ if g_param[OptionsDefine.Language]:
1202
+ profile.language = g_param[OptionsDefine.Language]
1203
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1204
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1205
+ client._sdkVersion += ("_CLI_" + __version__)
1206
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1207
+ model = models.DescribeConsumerGroupRequest()
1208
+ model.from_json_string(json.dumps(args))
1209
+ start_time = time.time()
1210
+ while True:
1211
+ rsp = client.DescribeConsumerGroup(model)
1212
+ result = rsp.to_json_string()
1213
+ try:
1214
+ json_obj = json.loads(result)
1215
+ except TypeError as e:
1216
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1217
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1218
+ break
1219
+ cur_time = time.time()
1220
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1221
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1222
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1223
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1224
+ else:
1225
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1226
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1227
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1228
+
1229
+
1230
+ def doDescribeSmoothMigrationTaskList(args, parsed_globals):
1231
+ g_param = parse_global_arg(parsed_globals)
1232
+
1233
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1234
+ cred = credential.CVMRoleCredential()
1235
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1236
+ cred = credential.STSAssumeRoleCredential(
1237
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1238
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1239
+ )
1240
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1241
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1242
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1243
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1244
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1245
+ else:
1246
+ cred = credential.Credential(
1247
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1248
+ )
1249
+ http_profile = HttpProfile(
1250
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1251
+ reqMethod="POST",
1252
+ endpoint=g_param[OptionsDefine.Endpoint],
1253
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1254
+ )
1255
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1256
+ if g_param[OptionsDefine.Language]:
1257
+ profile.language = g_param[OptionsDefine.Language]
1258
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1259
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1260
+ client._sdkVersion += ("_CLI_" + __version__)
1261
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1262
+ model = models.DescribeSmoothMigrationTaskListRequest()
1263
+ model.from_json_string(json.dumps(args))
1264
+ start_time = time.time()
1265
+ while True:
1266
+ rsp = client.DescribeSmoothMigrationTaskList(model)
1267
+ result = rsp.to_json_string()
1268
+ try:
1269
+ json_obj = json.loads(result)
1270
+ except TypeError as e:
1271
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1272
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1273
+ break
1274
+ cur_time = time.time()
1275
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1276
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1277
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1278
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1279
+ else:
1280
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1281
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1282
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1283
+
1284
+
1285
+ def doDescribeMigratingTopicStats(args, parsed_globals):
1286
+ g_param = parse_global_arg(parsed_globals)
1287
+
1288
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1289
+ cred = credential.CVMRoleCredential()
1290
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1291
+ cred = credential.STSAssumeRoleCredential(
1292
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1293
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1294
+ )
1295
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1296
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1297
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1298
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1299
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1300
+ else:
1301
+ cred = credential.Credential(
1302
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1303
+ )
1304
+ http_profile = HttpProfile(
1305
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1306
+ reqMethod="POST",
1307
+ endpoint=g_param[OptionsDefine.Endpoint],
1308
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1309
+ )
1310
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1311
+ if g_param[OptionsDefine.Language]:
1312
+ profile.language = g_param[OptionsDefine.Language]
1313
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1314
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1315
+ client._sdkVersion += ("_CLI_" + __version__)
1316
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1317
+ model = models.DescribeMigratingTopicStatsRequest()
1318
+ model.from_json_string(json.dumps(args))
1319
+ start_time = time.time()
1320
+ while True:
1321
+ rsp = client.DescribeMigratingTopicStats(model)
1322
+ result = rsp.to_json_string()
1323
+ try:
1324
+ json_obj = json.loads(result)
1325
+ except TypeError as e:
1326
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1327
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1328
+ break
1329
+ cur_time = time.time()
1330
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1331
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1332
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1333
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1334
+ else:
1335
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1336
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1337
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1338
+
1339
+
1340
+ def doCreateInstance(args, parsed_globals):
1341
+ g_param = parse_global_arg(parsed_globals)
1342
+
1343
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1344
+ cred = credential.CVMRoleCredential()
1345
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1346
+ cred = credential.STSAssumeRoleCredential(
1347
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1348
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1349
+ )
1350
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1351
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1352
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1353
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1354
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1355
+ else:
1356
+ cred = credential.Credential(
1357
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1358
+ )
1359
+ http_profile = HttpProfile(
1360
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1361
+ reqMethod="POST",
1362
+ endpoint=g_param[OptionsDefine.Endpoint],
1363
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1364
+ )
1365
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1366
+ if g_param[OptionsDefine.Language]:
1367
+ profile.language = g_param[OptionsDefine.Language]
1368
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1369
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1370
+ client._sdkVersion += ("_CLI_" + __version__)
1371
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1372
+ model = models.CreateInstanceRequest()
1373
+ model.from_json_string(json.dumps(args))
1374
+ start_time = time.time()
1375
+ while True:
1376
+ rsp = client.CreateInstance(model)
1377
+ result = rsp.to_json_string()
1378
+ try:
1379
+ json_obj = json.loads(result)
1380
+ except TypeError as e:
1381
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1382
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1383
+ break
1384
+ cur_time = time.time()
1385
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1386
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1387
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1388
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1389
+ else:
1390
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1391
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1392
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1393
+
1394
+
1395
+ def doDescribeInstance(args, parsed_globals):
1396
+ g_param = parse_global_arg(parsed_globals)
1397
+
1398
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1399
+ cred = credential.CVMRoleCredential()
1400
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1401
+ cred = credential.STSAssumeRoleCredential(
1402
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1403
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1404
+ )
1405
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1406
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1407
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1408
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1409
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1410
+ else:
1411
+ cred = credential.Credential(
1412
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1413
+ )
1414
+ http_profile = HttpProfile(
1415
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1416
+ reqMethod="POST",
1417
+ endpoint=g_param[OptionsDefine.Endpoint],
1418
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1419
+ )
1420
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1421
+ if g_param[OptionsDefine.Language]:
1422
+ profile.language = g_param[OptionsDefine.Language]
1423
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1424
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1425
+ client._sdkVersion += ("_CLI_" + __version__)
1426
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1427
+ model = models.DescribeInstanceRequest()
1428
+ model.from_json_string(json.dumps(args))
1429
+ start_time = time.time()
1430
+ while True:
1431
+ rsp = client.DescribeInstance(model)
1432
+ result = rsp.to_json_string()
1433
+ try:
1434
+ json_obj = json.loads(result)
1435
+ except TypeError as e:
1436
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1437
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1438
+ break
1439
+ cur_time = time.time()
1440
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1441
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1442
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1443
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1444
+ else:
1445
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1446
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1447
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1448
+
1449
+
1450
+ def doModifyInstanceEndpoint(args, parsed_globals):
1451
+ g_param = parse_global_arg(parsed_globals)
1452
+
1453
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1454
+ cred = credential.CVMRoleCredential()
1455
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1456
+ cred = credential.STSAssumeRoleCredential(
1457
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1458
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1459
+ )
1460
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1461
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1462
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1463
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1464
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1465
+ else:
1466
+ cred = credential.Credential(
1467
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1468
+ )
1469
+ http_profile = HttpProfile(
1470
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1471
+ reqMethod="POST",
1472
+ endpoint=g_param[OptionsDefine.Endpoint],
1473
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1474
+ )
1475
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1476
+ if g_param[OptionsDefine.Language]:
1477
+ profile.language = g_param[OptionsDefine.Language]
1478
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1479
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1480
+ client._sdkVersion += ("_CLI_" + __version__)
1481
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1482
+ model = models.ModifyInstanceEndpointRequest()
1483
+ model.from_json_string(json.dumps(args))
1484
+ start_time = time.time()
1485
+ while True:
1486
+ rsp = client.ModifyInstanceEndpoint(model)
1487
+ result = rsp.to_json_string()
1488
+ try:
1489
+ json_obj = json.loads(result)
1490
+ except TypeError as e:
1491
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1492
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1493
+ break
1494
+ cur_time = time.time()
1495
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1496
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1497
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1498
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1499
+ else:
1500
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1501
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1502
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1503
+
1504
+
1505
+ def doRemoveMigratingTopic(args, parsed_globals):
1506
+ g_param = parse_global_arg(parsed_globals)
1507
+
1508
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1509
+ cred = credential.CVMRoleCredential()
1510
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1511
+ cred = credential.STSAssumeRoleCredential(
1512
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1513
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1514
+ )
1515
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1516
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1517
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1518
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1519
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1520
+ else:
1521
+ cred = credential.Credential(
1522
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1523
+ )
1524
+ http_profile = HttpProfile(
1525
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1526
+ reqMethod="POST",
1527
+ endpoint=g_param[OptionsDefine.Endpoint],
1528
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1529
+ )
1530
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1531
+ if g_param[OptionsDefine.Language]:
1532
+ profile.language = g_param[OptionsDefine.Language]
1533
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1534
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1535
+ client._sdkVersion += ("_CLI_" + __version__)
1536
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1537
+ model = models.RemoveMigratingTopicRequest()
1538
+ model.from_json_string(json.dumps(args))
1539
+ start_time = time.time()
1540
+ while True:
1541
+ rsp = client.RemoveMigratingTopic(model)
1542
+ result = rsp.to_json_string()
1543
+ try:
1544
+ json_obj = json.loads(result)
1545
+ except TypeError as e:
1546
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1547
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1548
+ break
1549
+ cur_time = time.time()
1550
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1551
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1552
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1553
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1554
+ else:
1555
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1556
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1557
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1558
+
1559
+
1560
+ def doDescribeInstanceList(args, parsed_globals):
1561
+ g_param = parse_global_arg(parsed_globals)
1562
+
1563
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1564
+ cred = credential.CVMRoleCredential()
1565
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1566
+ cred = credential.STSAssumeRoleCredential(
1567
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1568
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1569
+ )
1570
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1571
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1572
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1573
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1574
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1575
+ else:
1576
+ cred = credential.Credential(
1577
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1578
+ )
1579
+ http_profile = HttpProfile(
1580
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1581
+ reqMethod="POST",
1582
+ endpoint=g_param[OptionsDefine.Endpoint],
1583
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1584
+ )
1585
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1586
+ if g_param[OptionsDefine.Language]:
1587
+ profile.language = g_param[OptionsDefine.Language]
1588
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1589
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1590
+ client._sdkVersion += ("_CLI_" + __version__)
1591
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1592
+ model = models.DescribeInstanceListRequest()
1593
+ model.from_json_string(json.dumps(args))
1594
+ start_time = time.time()
1595
+ while True:
1596
+ rsp = client.DescribeInstanceList(model)
1597
+ result = rsp.to_json_string()
1598
+ try:
1599
+ json_obj = json.loads(result)
1600
+ except TypeError as e:
1601
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1602
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1603
+ break
1604
+ cur_time = time.time()
1605
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1606
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1607
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1608
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1609
+ else:
1610
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1611
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1612
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1613
+
1614
+
1615
+ def doDeleteTopic(args, parsed_globals):
1616
+ g_param = parse_global_arg(parsed_globals)
1617
+
1618
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1619
+ cred = credential.CVMRoleCredential()
1620
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1621
+ cred = credential.STSAssumeRoleCredential(
1622
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1623
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1624
+ )
1625
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1626
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1627
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1628
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1629
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1630
+ else:
1631
+ cred = credential.Credential(
1632
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1633
+ )
1634
+ http_profile = HttpProfile(
1635
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1636
+ reqMethod="POST",
1637
+ endpoint=g_param[OptionsDefine.Endpoint],
1638
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1639
+ )
1640
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1641
+ if g_param[OptionsDefine.Language]:
1642
+ profile.language = g_param[OptionsDefine.Language]
1643
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1644
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1645
+ client._sdkVersion += ("_CLI_" + __version__)
1646
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1647
+ model = models.DeleteTopicRequest()
1648
+ model.from_json_string(json.dumps(args))
1649
+ start_time = time.time()
1650
+ while True:
1651
+ rsp = client.DeleteTopic(model)
1652
+ result = rsp.to_json_string()
1653
+ try:
1654
+ json_obj = json.loads(result)
1655
+ except TypeError as e:
1656
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1657
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1658
+ break
1659
+ cur_time = time.time()
1660
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1661
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1662
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1663
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1664
+ else:
1665
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1666
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1667
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1668
+
1669
+
1670
+ def doDescribeFusionInstanceList(args, parsed_globals):
1671
+ g_param = parse_global_arg(parsed_globals)
1672
+
1673
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1674
+ cred = credential.CVMRoleCredential()
1675
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1676
+ cred = credential.STSAssumeRoleCredential(
1677
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1678
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1679
+ )
1680
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1681
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1682
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1683
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1684
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1685
+ else:
1686
+ cred = credential.Credential(
1687
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1688
+ )
1689
+ http_profile = HttpProfile(
1690
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1691
+ reqMethod="POST",
1692
+ endpoint=g_param[OptionsDefine.Endpoint],
1693
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1694
+ )
1695
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1696
+ if g_param[OptionsDefine.Language]:
1697
+ profile.language = g_param[OptionsDefine.Language]
1698
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1699
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1700
+ client._sdkVersion += ("_CLI_" + __version__)
1701
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1702
+ model = models.DescribeFusionInstanceListRequest()
1703
+ model.from_json_string(json.dumps(args))
1704
+ start_time = time.time()
1705
+ while True:
1706
+ rsp = client.DescribeFusionInstanceList(model)
1707
+ result = rsp.to_json_string()
1708
+ try:
1709
+ json_obj = json.loads(result)
1710
+ except TypeError as e:
1711
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1712
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1713
+ break
1714
+ cur_time = time.time()
1715
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1716
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1717
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1718
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1719
+ else:
1720
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1721
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1722
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1723
+
1724
+
1725
+ def doDescribeProducerList(args, parsed_globals):
1726
+ g_param = parse_global_arg(parsed_globals)
1727
+
1728
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1729
+ cred = credential.CVMRoleCredential()
1730
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1731
+ cred = credential.STSAssumeRoleCredential(
1732
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1733
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1734
+ )
1735
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1736
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1737
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1738
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1739
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1740
+ else:
1741
+ cred = credential.Credential(
1742
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1743
+ )
1744
+ http_profile = HttpProfile(
1745
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1746
+ reqMethod="POST",
1747
+ endpoint=g_param[OptionsDefine.Endpoint],
1748
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1749
+ )
1750
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1751
+ if g_param[OptionsDefine.Language]:
1752
+ profile.language = g_param[OptionsDefine.Language]
1753
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1754
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1755
+ client._sdkVersion += ("_CLI_" + __version__)
1756
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1757
+ model = models.DescribeProducerListRequest()
1758
+ model.from_json_string(json.dumps(args))
1759
+ start_time = time.time()
1760
+ while True:
1761
+ rsp = client.DescribeProducerList(model)
1762
+ result = rsp.to_json_string()
1763
+ try:
1764
+ json_obj = json.loads(result)
1765
+ except TypeError as e:
1766
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1767
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1768
+ break
1769
+ cur_time = time.time()
1770
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1771
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1772
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1773
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1774
+ else:
1775
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1776
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1777
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1778
+
1779
+
1780
+ def doModifyRole(args, parsed_globals):
1781
+ g_param = parse_global_arg(parsed_globals)
1782
+
1783
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1784
+ cred = credential.CVMRoleCredential()
1785
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1786
+ cred = credential.STSAssumeRoleCredential(
1787
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1788
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1789
+ )
1790
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1791
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1792
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1793
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1794
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1795
+ else:
1796
+ cred = credential.Credential(
1797
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1798
+ )
1799
+ http_profile = HttpProfile(
1800
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1801
+ reqMethod="POST",
1802
+ endpoint=g_param[OptionsDefine.Endpoint],
1803
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1804
+ )
1805
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1806
+ if g_param[OptionsDefine.Language]:
1807
+ profile.language = g_param[OptionsDefine.Language]
1808
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1809
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1810
+ client._sdkVersion += ("_CLI_" + __version__)
1811
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1812
+ model = models.ModifyRoleRequest()
1813
+ model.from_json_string(json.dumps(args))
1814
+ start_time = time.time()
1815
+ while True:
1816
+ rsp = client.ModifyRole(model)
1817
+ result = rsp.to_json_string()
1818
+ try:
1819
+ json_obj = json.loads(result)
1820
+ except TypeError as e:
1821
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1822
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1823
+ break
1824
+ cur_time = time.time()
1825
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1826
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1827
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1828
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1829
+ else:
1830
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1831
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1832
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1833
+
1834
+
1835
+ def doDescribeTopic(args, parsed_globals):
1836
+ g_param = parse_global_arg(parsed_globals)
1837
+
1838
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1839
+ cred = credential.CVMRoleCredential()
1840
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1841
+ cred = credential.STSAssumeRoleCredential(
1842
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1843
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1844
+ )
1845
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1846
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1847
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1848
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1849
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1850
+ else:
1851
+ cred = credential.Credential(
1852
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1853
+ )
1854
+ http_profile = HttpProfile(
1855
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1856
+ reqMethod="POST",
1857
+ endpoint=g_param[OptionsDefine.Endpoint],
1858
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1859
+ )
1860
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1861
+ if g_param[OptionsDefine.Language]:
1862
+ profile.language = g_param[OptionsDefine.Language]
1863
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1864
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1865
+ client._sdkVersion += ("_CLI_" + __version__)
1866
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1867
+ model = models.DescribeTopicRequest()
1868
+ model.from_json_string(json.dumps(args))
1869
+ start_time = time.time()
1870
+ while True:
1871
+ rsp = client.DescribeTopic(model)
1872
+ result = rsp.to_json_string()
1873
+ try:
1874
+ json_obj = json.loads(result)
1875
+ except TypeError as e:
1876
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1877
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1878
+ break
1879
+ cur_time = time.time()
1880
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1881
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1882
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1883
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1884
+ else:
1885
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1886
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1887
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1888
+
1889
+
1890
+ def doDescribeMigrationTaskList(args, parsed_globals):
1891
+ g_param = parse_global_arg(parsed_globals)
1892
+
1893
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1894
+ cred = credential.CVMRoleCredential()
1895
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1896
+ cred = credential.STSAssumeRoleCredential(
1897
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1898
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1899
+ )
1900
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1901
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1902
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1903
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1904
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1905
+ else:
1906
+ cred = credential.Credential(
1907
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1908
+ )
1909
+ http_profile = HttpProfile(
1910
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1911
+ reqMethod="POST",
1912
+ endpoint=g_param[OptionsDefine.Endpoint],
1913
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1914
+ )
1915
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1916
+ if g_param[OptionsDefine.Language]:
1917
+ profile.language = g_param[OptionsDefine.Language]
1918
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1919
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1920
+ client._sdkVersion += ("_CLI_" + __version__)
1921
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1922
+ model = models.DescribeMigrationTaskListRequest()
1923
+ model.from_json_string(json.dumps(args))
1924
+ start_time = time.time()
1925
+ while True:
1926
+ rsp = client.DescribeMigrationTaskList(model)
1927
+ result = rsp.to_json_string()
1928
+ try:
1929
+ json_obj = json.loads(result)
1930
+ except TypeError as e:
1931
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1932
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1933
+ break
1934
+ cur_time = time.time()
1935
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1936
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1937
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1938
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1939
+ else:
1940
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1941
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1942
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1943
+
1944
+
1945
+ def doChangeMigratingTopicToNextStage(args, parsed_globals):
1946
+ g_param = parse_global_arg(parsed_globals)
1947
+
1948
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1949
+ cred = credential.CVMRoleCredential()
1950
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1951
+ cred = credential.STSAssumeRoleCredential(
1952
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1953
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1954
+ )
1955
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
1956
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
1957
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
1958
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
1959
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1960
+ else:
1961
+ cred = credential.Credential(
1962
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1963
+ )
1964
+ http_profile = HttpProfile(
1965
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1966
+ reqMethod="POST",
1967
+ endpoint=g_param[OptionsDefine.Endpoint],
1968
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1969
+ )
1970
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
1971
+ if g_param[OptionsDefine.Language]:
1972
+ profile.language = g_param[OptionsDefine.Language]
1973
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1974
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
1975
+ client._sdkVersion += ("_CLI_" + __version__)
1976
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1977
+ model = models.ChangeMigratingTopicToNextStageRequest()
1978
+ model.from_json_string(json.dumps(args))
1979
+ start_time = time.time()
1980
+ while True:
1981
+ rsp = client.ChangeMigratingTopicToNextStage(model)
1982
+ result = rsp.to_json_string()
1983
+ try:
1984
+ json_obj = json.loads(result)
1985
+ except TypeError as e:
1986
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1987
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1988
+ break
1989
+ cur_time = time.time()
1990
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1991
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1992
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1993
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1994
+ else:
1995
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1996
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1997
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1998
+
1999
+
2000
+ def doDescribeMessageList(args, parsed_globals):
2001
+ g_param = parse_global_arg(parsed_globals)
2002
+
2003
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2004
+ cred = credential.CVMRoleCredential()
2005
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2006
+ cred = credential.STSAssumeRoleCredential(
2007
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2008
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2009
+ )
2010
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
2011
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
2012
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
2013
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
2014
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2015
+ else:
2016
+ cred = credential.Credential(
2017
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2018
+ )
2019
+ http_profile = HttpProfile(
2020
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2021
+ reqMethod="POST",
2022
+ endpoint=g_param[OptionsDefine.Endpoint],
2023
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2024
+ )
2025
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
2026
+ if g_param[OptionsDefine.Language]:
2027
+ profile.language = g_param[OptionsDefine.Language]
2028
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2029
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
2030
+ client._sdkVersion += ("_CLI_" + __version__)
2031
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2032
+ model = models.DescribeMessageListRequest()
2033
+ model.from_json_string(json.dumps(args))
2034
+ start_time = time.time()
2035
+ while True:
2036
+ rsp = client.DescribeMessageList(model)
2037
+ result = rsp.to_json_string()
2038
+ try:
2039
+ json_obj = json.loads(result)
2040
+ except TypeError as e:
2041
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2042
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2043
+ break
2044
+ cur_time = time.time()
2045
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2046
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2047
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2048
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2049
+ else:
2050
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2051
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2052
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2053
+
2054
+
2055
+ def doDescribeTopicList(args, parsed_globals):
2056
+ g_param = parse_global_arg(parsed_globals)
2057
+
2058
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2059
+ cred = credential.CVMRoleCredential()
2060
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2061
+ cred = credential.STSAssumeRoleCredential(
2062
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2063
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2064
+ )
2065
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
2066
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
2067
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
2068
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
2069
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2070
+ else:
2071
+ cred = credential.Credential(
2072
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2073
+ )
2074
+ http_profile = HttpProfile(
2075
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2076
+ reqMethod="POST",
2077
+ endpoint=g_param[OptionsDefine.Endpoint],
2078
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2079
+ )
2080
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
2081
+ if g_param[OptionsDefine.Language]:
2082
+ profile.language = g_param[OptionsDefine.Language]
2083
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2084
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
2085
+ client._sdkVersion += ("_CLI_" + __version__)
2086
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2087
+ model = models.DescribeTopicListRequest()
2088
+ model.from_json_string(json.dumps(args))
2089
+ start_time = time.time()
2090
+ while True:
2091
+ rsp = client.DescribeTopicList(model)
2092
+ result = rsp.to_json_string()
2093
+ try:
2094
+ json_obj = json.loads(result)
2095
+ except TypeError as e:
2096
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2097
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2098
+ break
2099
+ cur_time = time.time()
2100
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2101
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2102
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2103
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2104
+ else:
2105
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2106
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2107
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2108
+
2109
+
2110
+ def doDeleteSmoothMigrationTask(args, parsed_globals):
2111
+ g_param = parse_global_arg(parsed_globals)
2112
+
2113
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2114
+ cred = credential.CVMRoleCredential()
2115
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2116
+ cred = credential.STSAssumeRoleCredential(
2117
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2118
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2119
+ )
2120
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
2121
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
2122
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
2123
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
2124
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2125
+ else:
2126
+ cred = credential.Credential(
2127
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2128
+ )
2129
+ http_profile = HttpProfile(
2130
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2131
+ reqMethod="POST",
2132
+ endpoint=g_param[OptionsDefine.Endpoint],
2133
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2134
+ )
2135
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
2136
+ if g_param[OptionsDefine.Language]:
2137
+ profile.language = g_param[OptionsDefine.Language]
2138
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2139
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
2140
+ client._sdkVersion += ("_CLI_" + __version__)
2141
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2142
+ model = models.DeleteSmoothMigrationTaskRequest()
2143
+ model.from_json_string(json.dumps(args))
2144
+ start_time = time.time()
2145
+ while True:
2146
+ rsp = client.DeleteSmoothMigrationTask(model)
2147
+ result = rsp.to_json_string()
2148
+ try:
2149
+ json_obj = json.loads(result)
2150
+ except TypeError as e:
2151
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2152
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2153
+ break
2154
+ cur_time = time.time()
2155
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2156
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2157
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2158
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2159
+ else:
2160
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2161
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2162
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2163
+
2164
+
2165
+ def doRollbackMigratingTopicStage(args, parsed_globals):
2166
+ g_param = parse_global_arg(parsed_globals)
2167
+
2168
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2169
+ cred = credential.CVMRoleCredential()
2170
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2171
+ cred = credential.STSAssumeRoleCredential(
2172
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2173
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2174
+ )
2175
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
2176
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
2177
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
2178
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
2179
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2180
+ else:
2181
+ cred = credential.Credential(
2182
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2183
+ )
2184
+ http_profile = HttpProfile(
2185
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2186
+ reqMethod="POST",
2187
+ endpoint=g_param[OptionsDefine.Endpoint],
2188
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2189
+ )
2190
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
2191
+ if g_param[OptionsDefine.Language]:
2192
+ profile.language = g_param[OptionsDefine.Language]
2193
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2194
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
2195
+ client._sdkVersion += ("_CLI_" + __version__)
2196
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2197
+ model = models.RollbackMigratingTopicStageRequest()
2198
+ model.from_json_string(json.dumps(args))
2199
+ start_time = time.time()
2200
+ while True:
2201
+ rsp = client.RollbackMigratingTopicStage(model)
2202
+ result = rsp.to_json_string()
2203
+ try:
2204
+ json_obj = json.loads(result)
2205
+ except TypeError as e:
2206
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2207
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2208
+ break
2209
+ cur_time = time.time()
2210
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2211
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2212
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2213
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2214
+ else:
2215
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2216
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2217
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2218
+
2219
+
2220
+ def doModifyInstance(args, parsed_globals):
2221
+ g_param = parse_global_arg(parsed_globals)
2222
+
2223
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2224
+ cred = credential.CVMRoleCredential()
2225
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2226
+ cred = credential.STSAssumeRoleCredential(
2227
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2228
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2229
+ )
2230
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
2231
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
2232
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
2233
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
2234
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2235
+ else:
2236
+ cred = credential.Credential(
2237
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2238
+ )
2239
+ http_profile = HttpProfile(
2240
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2241
+ reqMethod="POST",
2242
+ endpoint=g_param[OptionsDefine.Endpoint],
2243
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2244
+ )
2245
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
2246
+ if g_param[OptionsDefine.Language]:
2247
+ profile.language = g_param[OptionsDefine.Language]
2248
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2249
+ client = mod.TrocketClient(cred, g_param[OptionsDefine.Region], profile)
2250
+ client._sdkVersion += ("_CLI_" + __version__)
2251
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2252
+ model = models.ModifyInstanceRequest()
2253
+ model.from_json_string(json.dumps(args))
2254
+ start_time = time.time()
2255
+ while True:
2256
+ rsp = client.ModifyInstance(model)
2257
+ result = rsp.to_json_string()
2258
+ try:
2259
+ json_obj = json.loads(result)
2260
+ except TypeError as e:
2261
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2262
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2263
+ break
2264
+ cur_time = time.time()
2265
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2266
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2267
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2268
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2269
+ else:
2270
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2271
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2272
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2273
+
2274
+
2275
+ CLIENT_MAP = {
2276
+ "v20230308": trocket_client_v20230308,
2277
+
2278
+ }
2279
+
2280
+ MODELS_MAP = {
2281
+ "v20230308": models_v20230308,
2282
+
2283
+ }
2284
+
2285
+ ACTION_MAP = {
2286
+ "DescribeSourceClusterGroupList": doDescribeSourceClusterGroupList,
2287
+ "DescribeMigratingTopicList": doDescribeMigratingTopicList,
2288
+ "DescribeMessageTrace": doDescribeMessageTrace,
2289
+ "ModifyTopic": doModifyTopic,
2290
+ "DescribeTopicListByGroup": doDescribeTopicListByGroup,
2291
+ "ResendDeadLetterMessage": doResendDeadLetterMessage,
2292
+ "CreateRole": doCreateRole,
2293
+ "DeleteInstance": doDeleteInstance,
2294
+ "CreateConsumerGroup": doCreateConsumerGroup,
2295
+ "ResetConsumerGroupOffset": doResetConsumerGroupOffset,
2296
+ "DoHealthCheckOnMigratingTopic": doDoHealthCheckOnMigratingTopic,
2297
+ "DescribeMessage": doDescribeMessage,
2298
+ "DescribeRoleList": doDescribeRoleList,
2299
+ "DeleteConsumerGroup": doDeleteConsumerGroup,
2300
+ "ModifyConsumerGroup": doModifyConsumerGroup,
2301
+ "DescribeConsumerClient": doDescribeConsumerClient,
2302
+ "DescribeMigratingGroupStats": doDescribeMigratingGroupStats,
2303
+ "DeleteRole": doDeleteRole,
2304
+ "DescribeProductSKUs": doDescribeProductSKUs,
2305
+ "DescribeConsumerClientList": doDescribeConsumerClientList,
2306
+ "DescribeConsumerLag": doDescribeConsumerLag,
2307
+ "DescribeConsumerGroup": doDescribeConsumerGroup,
2308
+ "DescribeSmoothMigrationTaskList": doDescribeSmoothMigrationTaskList,
2309
+ "DescribeMigratingTopicStats": doDescribeMigratingTopicStats,
2310
+ "CreateInstance": doCreateInstance,
2311
+ "DescribeInstance": doDescribeInstance,
2312
+ "ModifyInstanceEndpoint": doModifyInstanceEndpoint,
2313
+ "RemoveMigratingTopic": doRemoveMigratingTopic,
2314
+ "DescribeInstanceList": doDescribeInstanceList,
2315
+ "DeleteTopic": doDeleteTopic,
2316
+ "DescribeFusionInstanceList": doDescribeFusionInstanceList,
2317
+ "DescribeProducerList": doDescribeProducerList,
2318
+ "ModifyRole": doModifyRole,
2319
+ "DescribeTopic": doDescribeTopic,
2320
+ "DescribeMigrationTaskList": doDescribeMigrationTaskList,
2321
+ "ChangeMigratingTopicToNextStage": doChangeMigratingTopicToNextStage,
2322
+ "DescribeMessageList": doDescribeMessageList,
2323
+ "DescribeTopicList": doDescribeTopicList,
2324
+ "DeleteSmoothMigrationTask": doDeleteSmoothMigrationTask,
2325
+ "RollbackMigratingTopicStage": doRollbackMigratingTopicStage,
2326
+ "ModifyInstance": doModifyInstance,
2327
+
2328
+ }
2329
+
2330
+ AVAILABLE_VERSION_LIST = [
2331
+ "v20230308",
2332
+
2333
+ ]
2334
+
2335
+
2336
+ def action_caller():
2337
+ return ACTION_MAP
2338
+
2339
+
2340
+ def parse_global_arg(parsed_globals):
2341
+ g_param = parsed_globals
2342
+ cvm_role_flag = True
2343
+ for param in parsed_globals.keys():
2344
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
2345
+ OptionsDefine.RoleSessionName]:
2346
+ if parsed_globals[param] is not None:
2347
+ cvm_role_flag = False
2348
+ break
2349
+ is_exist_profile = True
2350
+ if not parsed_globals["profile"]:
2351
+ is_exist_profile = False
2352
+ g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
2353
+
2354
+ configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
2355
+ is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
2356
+ is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
2357
+
2358
+ conf = {}
2359
+ cred = {}
2360
+
2361
+ if is_conf_exist:
2362
+ conf = Utils.load_json_msg(conf_path)
2363
+ if is_cred_exist:
2364
+ cred = Utils.load_json_msg(cred_path)
2365
+
2366
+ if not (isinstance(conf, dict) and isinstance(cred, dict)):
2367
+ raise ConfigurationError(
2368
+ "file: %s or %s is not json format"
2369
+ % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
2370
+
2371
+ if OptionsDefine.Token not in cred:
2372
+ cred[OptionsDefine.Token] = None
2373
+
2374
+ if not is_exist_profile:
2375
+ if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
2376
+ cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
2377
+ cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
2378
+ cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
2379
+ cvm_role_flag = False
2380
+
2381
+ if os.environ.get(OptionsDefine.ENV_REGION):
2382
+ conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
2383
+
2384
+ if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
2385
+ cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
2386
+ cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
2387
+ cvm_role_flag = False
2388
+
2389
+ if cvm_role_flag:
2390
+ if "type" in cred and cred["type"] == "cvm-role":
2391
+ g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
2392
+
2393
+ for param in g_param.keys():
2394
+ if g_param[param] is None:
2395
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
2396
+ if param in cred:
2397
+ g_param[param] = cred[param]
2398
+ elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
2399
+ or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
2400
+ raise ConfigurationError("%s is invalid" % param)
2401
+ elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
2402
+ if param in conf[OptionsDefine.SysParam]:
2403
+ g_param[param] = conf[OptionsDefine.SysParam][param]
2404
+ elif param != OptionsDefine.Language:
2405
+ raise ConfigurationError("%s is invalid" % param)
2406
+ elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
2407
+ if param.replace('_', '-') in cred:
2408
+ g_param[param] = cred[param.replace('_', '-')]
2409
+
2410
+ try:
2411
+ if g_param[OptionsDefine.ServiceVersion]:
2412
+ g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
2413
+ else:
2414
+ version = conf["trocket"][OptionsDefine.Version]
2415
+ g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
2416
+
2417
+ if g_param[OptionsDefine.Endpoint] is None:
2418
+ g_param[OptionsDefine.Endpoint] = conf["trocket"][OptionsDefine.Endpoint]
2419
+ g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
2420
+ except Exception as err:
2421
+ raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
2422
+
2423
+ if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
2424
+ raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
2425
+
2426
+ if g_param[OptionsDefine.Waiter]:
2427
+ param = eval(g_param[OptionsDefine.Waiter])
2428
+ if 'expr' not in param:
2429
+ raise Exception('`expr` in `--waiter` must be defined')
2430
+ if 'to' not in param:
2431
+ raise Exception('`to` in `--waiter` must be defined')
2432
+ if 'timeout' not in param:
2433
+ if 'waiter' in conf and 'timeout' in conf['waiter']:
2434
+ param['timeout'] = conf['waiter']['timeout']
2435
+ else:
2436
+ param['timeout'] = 180
2437
+ if 'interval' not in param:
2438
+ if 'waiter' in conf and 'interval' in conf['waiter']:
2439
+ param['interval'] = conf['waiter']['interval']
2440
+ else:
2441
+ param['interval'] = 5
2442
+ param['interval'] = min(param['interval'], param['timeout'])
2443
+ g_param['OptionsDefine.WaiterInfo'] = param
2444
+
2445
+ if six.PY2:
2446
+ for key, value in g_param.items():
2447
+ if isinstance(value, six.text_type):
2448
+ g_param[key] = value.encode('utf-8')
2449
+ return g_param
2450
+