@@ -5113,6 +5113,58 @@ def doDeleteSparkApp(args, parsed_globals):
51135113 FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
51145114
51155115
5116+ def doDescribeTaskResourceUsage(args, parsed_globals):
5117+ g_param = parse_global_arg(parsed_globals)
5118+
5119+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
5120+ cred = credential.CVMRoleCredential()
5121+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
5122+ cred = credential.STSAssumeRoleCredential(
5123+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
5124+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
5125+ )
5126+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
5127+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
5128+ else:
5129+ cred = credential.Credential(
5130+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
5131+ )
5132+ http_profile = HttpProfile(
5133+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
5134+ reqMethod="POST",
5135+ endpoint=g_param[OptionsDefine.Endpoint],
5136+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
5137+ )
5138+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
5139+ if g_param[OptionsDefine.Language]:
5140+ profile.language = g_param[OptionsDefine.Language]
5141+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
5142+ client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
5143+ client._sdkVersion += ("_CLI_" + __version__)
5144+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
5145+ model = models.DescribeTaskResourceUsageRequest()
5146+ model.from_json_string(json.dumps(args))
5147+ start_time = time.time()
5148+ while True:
5149+ rsp = client.DescribeTaskResourceUsage(model)
5150+ result = rsp.to_json_string()
5151+ try:
5152+ json_obj = json.loads(result)
5153+ except TypeError as e:
5154+ json_obj = json.loads(result.decode('utf-8')) # python3.3
5155+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
5156+ break
5157+ cur_time = time.time()
5158+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
5159+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
5160+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
5161+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
5162+ else:
5163+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
5164+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
5165+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
5166+
5167+
51165168def doDescribeDataEngineSessionParameters(args, parsed_globals):
51175169 g_param = parse_global_arg(parsed_globals)
51185170
@@ -9538,6 +9590,7 @@ def doUpdateDataEngine(args, parsed_globals):
95389590 "CancelNotebookSessionStatementBatch": doCancelNotebookSessionStatementBatch,
95399591 "CheckDataEngineImageCanBeUpgrade": doCheckDataEngineImageCanBeUpgrade,
95409592 "DeleteSparkApp": doDeleteSparkApp,
9593+ "DescribeTaskResourceUsage": doDescribeTaskResourceUsage,
95419594 "DescribeDataEngineSessionParameters": doDescribeDataEngineSessionParameters,
95429595 "DescribeNotebookSessionLog": doDescribeNotebookSessionLog,
95439596 "DescribeTasksCostInfo": doDescribeTasksCostInfo,
0 commit comments