tccli 3.0.1331.1__py2.py3-none-any.whl → 3.0.1333.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.
- tccli/__init__.py +1 -1
- tccli/services/asr/v20190614/api.json +1 -1
- tccli/services/autoscaling/v20180419/api.json +1 -1
- tccli/services/bmvpc/v20180625/api.json +36 -36
- tccli/services/cdb/v20170320/api.json +37 -37
- tccli/services/cdn/v20180606/api.json +2 -2
- tccli/services/cdn/v20180606/examples.json +2 -2
- tccli/services/cfw/v20190904/api.json +1 -1
- tccli/services/ckafka/v20190819/api.json +11 -1
- tccli/services/cwp/v20180228/api.json +4 -4
- tccli/services/dc/v20180410/api.json +39 -0
- tccli/services/emr/v20190103/api.json +2 -2
- tccli/services/ess/ess_client.py +57 -4
- tccli/services/ess/v20201111/api.json +61 -0
- tccli/services/ess/v20201111/examples.json +8 -0
- tccli/services/essbasic/v20210526/api.json +1 -1
- tccli/services/goosefs/v20220519/api.json +2 -2
- tccli/services/gs/gs_client.py +163 -4
- tccli/services/gs/v20191118/api.json +216 -0
- tccli/services/gs/v20191118/examples.json +24 -0
- tccli/services/ioa/ioa_client.py +114 -8
- tccli/services/ioa/v20220601/api.json +375 -0
- tccli/services/ioa/v20220601/examples.json +28 -0
- tccli/services/iotexplorer/v20190423/api.json +5 -5
- tccli/services/iotexplorer/v20190423/examples.json +1 -1
- tccli/services/live/v20180801/api.json +3 -3
- tccli/services/lke/lke_client.py +284 -19
- tccli/services/lke/v20231130/api.json +1192 -132
- tccli/services/lke/v20231130/examples.json +40 -0
- tccli/services/lkeap/v20240522/examples.json +5 -5
- tccli/services/ocr/v20181119/api.json +4 -4
- tccli/services/ssl/v20191205/api.json +4 -4
- tccli/services/ssl/v20191205/examples.json +1 -1
- tccli/services/tat/v20201028/api.json +1 -1
- tccli/services/tke/tke_client.py +106 -0
- tccli/services/tke/v20180525/api.json +124 -0
- tccli/services/tke/v20180525/examples.json +16 -0
- tccli/services/tsf/v20180326/api.json +46 -17
- tccli/services/tsf/v20180326/examples.json +10 -10
- tccli/services/vpc/v20170312/api.json +5 -5
- tccli/services/vpc/v20170312/examples.json +6 -6
- {tccli-3.0.1331.1.dist-info → tccli-3.0.1333.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1331.1.dist-info → tccli-3.0.1333.1.dist-info}/RECORD +46 -46
- {tccli-3.0.1331.1.dist-info → tccli-3.0.1333.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1331.1.dist-info → tccli-3.0.1333.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1331.1.dist-info → tccli-3.0.1333.1.dist-info}/license_files/LICENSE +0 -0
@@ -435,11 +435,11 @@
|
|
435
435
|
"status": "online"
|
436
436
|
},
|
437
437
|
"ModifyResourcePools": {
|
438
|
-
"document": "刷新YARN的动态资源池。已废弃,请使用`DeployYarnConf`",
|
438
|
+
"document": "已废弃,请使用DeployYarnConf\\\\n,近一年未被调用\n\n刷新YARN的动态资源池。已废弃,请使用`DeployYarnConf`",
|
439
439
|
"input": "ModifyResourcePoolsRequest",
|
440
440
|
"name": "刷新YARN的动态资源池(旧)",
|
441
441
|
"output": "ModifyResourcePoolsResponse",
|
442
|
-
"status": "
|
442
|
+
"status": "deprecated"
|
443
443
|
},
|
444
444
|
"ModifyResourceScheduleConfig": {
|
445
445
|
"document": "已废弃,请使用ModifyYarnQueueV2来修改队列配置,近一年无相关日志\n\n修改YARN资源调度的资源配置。已废弃,请使用`ModifyYarnQueueV2`来修改队列配置",
|
tccli/services/ess/ess_client.py
CHANGED
@@ -3033,6 +3033,58 @@ def doDescribeFileUrls(args, parsed_globals):
|
|
3033
3033
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3034
3034
|
|
3035
3035
|
|
3036
|
+
def doCreateBatchQuickSignUrl(args, parsed_globals):
|
3037
|
+
g_param = parse_global_arg(parsed_globals)
|
3038
|
+
|
3039
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3040
|
+
cred = credential.CVMRoleCredential()
|
3041
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3042
|
+
cred = credential.STSAssumeRoleCredential(
|
3043
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3044
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3045
|
+
)
|
3046
|
+
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):
|
3047
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3048
|
+
else:
|
3049
|
+
cred = credential.Credential(
|
3050
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3051
|
+
)
|
3052
|
+
http_profile = HttpProfile(
|
3053
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3054
|
+
reqMethod="POST",
|
3055
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3056
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3057
|
+
)
|
3058
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3059
|
+
if g_param[OptionsDefine.Language]:
|
3060
|
+
profile.language = g_param[OptionsDefine.Language]
|
3061
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3062
|
+
client = mod.EssClient(cred, g_param[OptionsDefine.Region], profile)
|
3063
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3064
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3065
|
+
model = models.CreateBatchQuickSignUrlRequest()
|
3066
|
+
model.from_json_string(json.dumps(args))
|
3067
|
+
start_time = time.time()
|
3068
|
+
while True:
|
3069
|
+
rsp = client.CreateBatchQuickSignUrl(model)
|
3070
|
+
result = rsp.to_json_string()
|
3071
|
+
try:
|
3072
|
+
json_obj = json.loads(result)
|
3073
|
+
except TypeError as e:
|
3074
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3075
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3076
|
+
break
|
3077
|
+
cur_time = time.time()
|
3078
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3079
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3080
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3081
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3082
|
+
else:
|
3083
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3084
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3085
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3086
|
+
|
3087
|
+
|
3036
3088
|
def doCreateIntegrationRole(args, parsed_globals):
|
3037
3089
|
g_param = parse_global_arg(parsed_globals)
|
3038
3090
|
|
@@ -4177,7 +4229,7 @@ def doDeleteOrganizationAuthorizations(args, parsed_globals):
|
|
4177
4229
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4178
4230
|
|
4179
4231
|
|
4180
|
-
def
|
4232
|
+
def doOperateSeals(args, parsed_globals):
|
4181
4233
|
g_param = parse_global_arg(parsed_globals)
|
4182
4234
|
|
4183
4235
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -4206,11 +4258,11 @@ def doCreateBatchQuickSignUrl(args, parsed_globals):
|
|
4206
4258
|
client = mod.EssClient(cred, g_param[OptionsDefine.Region], profile)
|
4207
4259
|
client._sdkVersion += ("_CLI_" + __version__)
|
4208
4260
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4209
|
-
model = models.
|
4261
|
+
model = models.OperateSealsRequest()
|
4210
4262
|
model.from_json_string(json.dumps(args))
|
4211
4263
|
start_time = time.time()
|
4212
4264
|
while True:
|
4213
|
-
rsp = client.
|
4265
|
+
rsp = client.OperateSeals(model)
|
4214
4266
|
result = rsp.to_json_string()
|
4215
4267
|
try:
|
4216
4268
|
json_obj = json.loads(result)
|
@@ -5650,6 +5702,7 @@ ACTION_MAP = {
|
|
5650
5702
|
"CreateUserMobileChangeUrl": doCreateUserMobileChangeUrl,
|
5651
5703
|
"DeleteSealPolicies": doDeleteSealPolicies,
|
5652
5704
|
"DescribeFileUrls": doDescribeFileUrls,
|
5705
|
+
"CreateBatchQuickSignUrl": doCreateBatchQuickSignUrl,
|
5653
5706
|
"CreateIntegrationRole": doCreateIntegrationRole,
|
5654
5707
|
"OperateTemplate": doOperateTemplate,
|
5655
5708
|
"ModifyExtendedService": doModifyExtendedService,
|
@@ -5672,7 +5725,7 @@ ACTION_MAP = {
|
|
5672
5725
|
"DescribeUserFlowType": doDescribeUserFlowType,
|
5673
5726
|
"CreateIntegrationEmployees": doCreateIntegrationEmployees,
|
5674
5727
|
"DeleteOrganizationAuthorizations": doDeleteOrganizationAuthorizations,
|
5675
|
-
"
|
5728
|
+
"OperateSeals": doOperateSeals,
|
5676
5729
|
"ModifyApplicationCallbackInfo": doModifyApplicationCallbackInfo,
|
5677
5730
|
"CancelFlow": doCancelFlow,
|
5678
5731
|
"UnbindEmployeeUserIdWithClientOpenId": doUnbindEmployeeUserIdWithClientOpenId,
|
@@ -693,6 +693,13 @@
|
|
693
693
|
"output": "ModifyIntegrationRoleResponse",
|
694
694
|
"status": "online"
|
695
695
|
},
|
696
|
+
"OperateSeals": {
|
697
|
+
"document": "修改印章状态(停用、启用)",
|
698
|
+
"input": "OperateSealsRequest",
|
699
|
+
"name": "更新印章状态",
|
700
|
+
"output": "OperateSealsResponse",
|
701
|
+
"status": "online"
|
702
|
+
},
|
696
703
|
"OperateTemplate": {
|
697
704
|
"document": "此接口(OperateTemplate)用于对企业自有模板进行管理操作,所有操作都会有对应的回调触发,具体参考回调文档 <a href=\"https://qian.tencent.com/developers/company/callback_types_templates\" target=\"_blank\">模板操作相关回调</a>\n\n\n# 支持的操作\n## 1. 删除模板 (OperateType=DELETE)\n此操作会将模板从企业自有模板中彻底删除,若要保留模板而不删除,可将模板停用。\n\n## 2. 启用模板 (OperateType=ENABLE)\n此操作是将已停用的模板启用,操作幂等,若模板已启用,接口不报错。\n\n## 3. 停用模板 (OperateType=DISABLE)\n此操作是将已启用的模板停用,操作幂等,若模板已停用,接口不报错,停用后,无法通过此模板发起合同,已发起的合同不受影响。\n\n## 4. 复制模板 (OperateType=COPY)\n此操作将复制一个完全一样的模板,仅支持修改模板名称,若要修改其他模板内容,需到腾讯电子签控制台操作。",
|
698
705
|
"input": "OperateTemplateRequest",
|
@@ -13900,6 +13907,60 @@
|
|
13900
13907
|
],
|
13901
13908
|
"usage": "out"
|
13902
13909
|
},
|
13910
|
+
"OperateSealsRequest": {
|
13911
|
+
"document": "OperateSeals请求参数结构体",
|
13912
|
+
"members": [
|
13913
|
+
{
|
13914
|
+
"disabled": false,
|
13915
|
+
"document": "执行本接口操作的员工信息。 注: 在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。",
|
13916
|
+
"example": "无",
|
13917
|
+
"member": "UserInfo",
|
13918
|
+
"name": "Operator",
|
13919
|
+
"required": false,
|
13920
|
+
"type": "object"
|
13921
|
+
},
|
13922
|
+
{
|
13923
|
+
"disabled": false,
|
13924
|
+
"document": "代理企业和员工的信息。 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。",
|
13925
|
+
"example": "无",
|
13926
|
+
"member": "Agent",
|
13927
|
+
"name": "Agent",
|
13928
|
+
"required": false,
|
13929
|
+
"type": "object"
|
13930
|
+
},
|
13931
|
+
{
|
13932
|
+
"disabled": false,
|
13933
|
+
"document": "操作类型,int,目前支持传入以下类型:\n<ul><li>1:启用印章</li></ul>\n<ul><li>2:停用印章</li></ul>",
|
13934
|
+
"example": "1",
|
13935
|
+
"member": "int64",
|
13936
|
+
"name": "Act",
|
13937
|
+
"required": false,
|
13938
|
+
"type": "int"
|
13939
|
+
},
|
13940
|
+
{
|
13941
|
+
"disabled": false,
|
13942
|
+
"document": "需要操作的印章ID,数组形式,印章ID可从【web控制台->印章 】获取。",
|
13943
|
+
"example": "[\"yDRTZxxxxxJNR\"]",
|
13944
|
+
"member": "string",
|
13945
|
+
"name": "SealIds",
|
13946
|
+
"required": false,
|
13947
|
+
"type": "list"
|
13948
|
+
}
|
13949
|
+
],
|
13950
|
+
"type": "object"
|
13951
|
+
},
|
13952
|
+
"OperateSealsResponse": {
|
13953
|
+
"document": "OperateSeals返回参数结构体",
|
13954
|
+
"members": [
|
13955
|
+
{
|
13956
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
13957
|
+
"member": "string",
|
13958
|
+
"name": "RequestId",
|
13959
|
+
"type": "string"
|
13960
|
+
}
|
13961
|
+
],
|
13962
|
+
"type": "object"
|
13963
|
+
},
|
13903
13964
|
"OperateTemplateRequest": {
|
13904
13965
|
"document": "OperateTemplate请求参数结构体",
|
13905
13966
|
"members": [
|
@@ -1896,6 +1896,14 @@
|
|
1896
1896
|
"title": "示例-普通企业更新角色(不带权限树参数)"
|
1897
1897
|
}
|
1898
1898
|
],
|
1899
|
+
"OperateSeals": [
|
1900
|
+
{
|
1901
|
+
"document": "将停用的印章修改为启用状态",
|
1902
|
+
"input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: OperateSeals\n<公共请求参数>\n\n{\n \"Operator\": {\n \"UserId\": \"yDCAOUUckpycr4l4UuOiTjVB3yTaFaLI\"\n },\n \"Act\": 1,\n \"SealIds\": [\n \"yDClqUUckpaj38v1UmGrVdB8iMEXjdyR\"\n ]\n}",
|
1903
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"73fd23a3-7e85-48e5-970a-ca50da5e25af\"\n }\n}",
|
1904
|
+
"title": "启用印章"
|
1905
|
+
}
|
1906
|
+
],
|
1899
1907
|
"OperateTemplate": [
|
1900
1908
|
{
|
1901
1909
|
"document": "删除企业下的模板yDwivUUckpo2g6ugUu4sxH2i15SY0OZY",
|
@@ -2096,7 +2096,7 @@
|
|
2096
2096
|
},
|
2097
2097
|
{
|
2098
2098
|
"disabled": false,
|
2099
|
-
"document": "是否允许此链接中签署方批量确认已读文件。 <ul><li>false (默认): 不允许批量确认已读文件。</li> <li>true : 允许批量确认已读文件。</li></ul
|
2099
|
+
"document": "是否允许此链接中签署方批量确认已读文件。 <ul><li>false (默认): 不允许批量确认已读文件。</li> <li>true : 允许批量确认已读文件。</li></ul>\n注:`1. 此功能为白名单功能,使用前请联系对应客户经理进行开通。2. 使用此功能时,FlowIds参数必传。3. 对于企业签署方,如果对印章/签名控件有限制要求,需要保证所有印章/签名控件的限制要求(印章id或印章/签名类型限制)一致,否则无法使用此功能。`",
|
2100
2100
|
"example": "false",
|
2101
2101
|
"member": "bool",
|
2102
2102
|
"name": "CanSkipReadFlow",
|
@@ -92,11 +92,11 @@
|
|
92
92
|
"status": "online"
|
93
93
|
},
|
94
94
|
"DescribeClusterRoles": {
|
95
|
-
"document": "查询GooseFS集群角色",
|
95
|
+
"document": "接口废弃\n\n查询GooseFS集群角色",
|
96
96
|
"input": "DescribeClusterRolesRequest",
|
97
97
|
"name": "查询GooseFS集群角色",
|
98
98
|
"output": "DescribeClusterRolesResponse",
|
99
|
-
"status": "
|
99
|
+
"status": "deprecated"
|
100
100
|
},
|
101
101
|
"DescribeDataRepositoryTaskStatus": {
|
102
102
|
"document": "获取数据流通任务实时状态,用作客户端控制",
|
tccli/services/gs/gs_client.py
CHANGED
@@ -1421,6 +1421,58 @@ def doCreateAndroidInstanceLabel(args, parsed_globals):
|
|
1421
1421
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1422
1422
|
|
1423
1423
|
|
1424
|
+
def doRenewAndroidInstancesAccessToken(args, parsed_globals):
|
1425
|
+
g_param = parse_global_arg(parsed_globals)
|
1426
|
+
|
1427
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1428
|
+
cred = credential.CVMRoleCredential()
|
1429
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1430
|
+
cred = credential.STSAssumeRoleCredential(
|
1431
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1432
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1433
|
+
)
|
1434
|
+
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):
|
1435
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1436
|
+
else:
|
1437
|
+
cred = credential.Credential(
|
1438
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1439
|
+
)
|
1440
|
+
http_profile = HttpProfile(
|
1441
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1442
|
+
reqMethod="POST",
|
1443
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1444
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1445
|
+
)
|
1446
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1447
|
+
if g_param[OptionsDefine.Language]:
|
1448
|
+
profile.language = g_param[OptionsDefine.Language]
|
1449
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1450
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
1451
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1452
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1453
|
+
model = models.RenewAndroidInstancesAccessTokenRequest()
|
1454
|
+
model.from_json_string(json.dumps(args))
|
1455
|
+
start_time = time.time()
|
1456
|
+
while True:
|
1457
|
+
rsp = client.RenewAndroidInstancesAccessToken(model)
|
1458
|
+
result = rsp.to_json_string()
|
1459
|
+
try:
|
1460
|
+
json_obj = json.loads(result)
|
1461
|
+
except TypeError as e:
|
1462
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1463
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1464
|
+
break
|
1465
|
+
cur_time = time.time()
|
1466
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1467
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1468
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1469
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1470
|
+
else:
|
1471
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1472
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1473
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1474
|
+
|
1475
|
+
|
1424
1476
|
def doCreateAndroidApp(args, parsed_globals):
|
1425
1477
|
g_param = parse_global_arg(parsed_globals)
|
1426
1478
|
|
@@ -1889,6 +1941,58 @@ def doStartPublishStreamToCSS(args, parsed_globals):
|
|
1889
1941
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1890
1942
|
|
1891
1943
|
|
1944
|
+
def doCopyAndroidInstance(args, parsed_globals):
|
1945
|
+
g_param = parse_global_arg(parsed_globals)
|
1946
|
+
|
1947
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1948
|
+
cred = credential.CVMRoleCredential()
|
1949
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1950
|
+
cred = credential.STSAssumeRoleCredential(
|
1951
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1952
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1953
|
+
)
|
1954
|
+
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):
|
1955
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1956
|
+
else:
|
1957
|
+
cred = credential.Credential(
|
1958
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1959
|
+
)
|
1960
|
+
http_profile = HttpProfile(
|
1961
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1962
|
+
reqMethod="POST",
|
1963
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1964
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1965
|
+
)
|
1966
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1967
|
+
if g_param[OptionsDefine.Language]:
|
1968
|
+
profile.language = g_param[OptionsDefine.Language]
|
1969
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1970
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
1971
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1972
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1973
|
+
model = models.CopyAndroidInstanceRequest()
|
1974
|
+
model.from_json_string(json.dumps(args))
|
1975
|
+
start_time = time.time()
|
1976
|
+
while True:
|
1977
|
+
rsp = client.CopyAndroidInstance(model)
|
1978
|
+
result = rsp.to_json_string()
|
1979
|
+
try:
|
1980
|
+
json_obj = json.loads(result)
|
1981
|
+
except TypeError as e:
|
1982
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1983
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1984
|
+
break
|
1985
|
+
cur_time = time.time()
|
1986
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1987
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1988
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1989
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1990
|
+
else:
|
1991
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1992
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1993
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1994
|
+
|
1995
|
+
|
1892
1996
|
def doDescribeAndroidApps(args, parsed_globals):
|
1893
1997
|
g_param = parse_global_arg(parsed_globals)
|
1894
1998
|
|
@@ -2981,7 +3085,7 @@ def doDescribeInstancesCount(args, parsed_globals):
|
|
2981
3085
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2982
3086
|
|
2983
3087
|
|
2984
|
-
def
|
3088
|
+
def doCreateAndroidInstancesAccessToken(args, parsed_globals):
|
2985
3089
|
g_param = parse_global_arg(parsed_globals)
|
2986
3090
|
|
2987
3091
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -3010,11 +3114,11 @@ def doCopyAndroidInstance(args, parsed_globals):
|
|
3010
3114
|
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
3011
3115
|
client._sdkVersion += ("_CLI_" + __version__)
|
3012
3116
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3013
|
-
model = models.
|
3117
|
+
model = models.CreateAndroidInstancesAccessTokenRequest()
|
3014
3118
|
model.from_json_string(json.dumps(args))
|
3015
3119
|
start_time = time.time()
|
3016
3120
|
while True:
|
3017
|
-
rsp = client.
|
3121
|
+
rsp = client.CreateAndroidInstancesAccessToken(model)
|
3018
3122
|
result = rsp.to_json_string()
|
3019
3123
|
try:
|
3020
3124
|
json_obj = json.loads(result)
|
@@ -3553,6 +3657,58 @@ def doDescribeAndroidInstancesByApps(args, parsed_globals):
|
|
3553
3657
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3554
3658
|
|
3555
3659
|
|
3660
|
+
def doDeleteAndroidInstanceBackupFiles(args, parsed_globals):
|
3661
|
+
g_param = parse_global_arg(parsed_globals)
|
3662
|
+
|
3663
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3664
|
+
cred = credential.CVMRoleCredential()
|
3665
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3666
|
+
cred = credential.STSAssumeRoleCredential(
|
3667
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3668
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3669
|
+
)
|
3670
|
+
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):
|
3671
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3672
|
+
else:
|
3673
|
+
cred = credential.Credential(
|
3674
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3675
|
+
)
|
3676
|
+
http_profile = HttpProfile(
|
3677
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3678
|
+
reqMethod="POST",
|
3679
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3680
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3681
|
+
)
|
3682
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3683
|
+
if g_param[OptionsDefine.Language]:
|
3684
|
+
profile.language = g_param[OptionsDefine.Language]
|
3685
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3686
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
3687
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3688
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3689
|
+
model = models.DeleteAndroidInstanceBackupFilesRequest()
|
3690
|
+
model.from_json_string(json.dumps(args))
|
3691
|
+
start_time = time.time()
|
3692
|
+
while True:
|
3693
|
+
rsp = client.DeleteAndroidInstanceBackupFiles(model)
|
3694
|
+
result = rsp.to_json_string()
|
3695
|
+
try:
|
3696
|
+
json_obj = json.loads(result)
|
3697
|
+
except TypeError as e:
|
3698
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3699
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3700
|
+
break
|
3701
|
+
cur_time = time.time()
|
3702
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3703
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3704
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3705
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3706
|
+
else:
|
3707
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3708
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3709
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3710
|
+
|
3711
|
+
|
3556
3712
|
def doModifyAndroidInstancesResources(args, parsed_globals):
|
3557
3713
|
g_param = parse_global_arg(parsed_globals)
|
3558
3714
|
|
@@ -3799,6 +3955,7 @@ ACTION_MAP = {
|
|
3799
3955
|
"DeleteAndroidInstanceLabel": doDeleteAndroidInstanceLabel,
|
3800
3956
|
"CreateSession": doCreateSession,
|
3801
3957
|
"CreateAndroidInstanceLabel": doCreateAndroidInstanceLabel,
|
3958
|
+
"RenewAndroidInstancesAccessToken": doRenewAndroidInstancesAccessToken,
|
3802
3959
|
"CreateAndroidApp": doCreateAndroidApp,
|
3803
3960
|
"ImportAndroidInstanceImage": doImportAndroidInstanceImage,
|
3804
3961
|
"CreateAndroidInstanceWebShell": doCreateAndroidInstanceWebShell,
|
@@ -3808,6 +3965,7 @@ ACTION_MAP = {
|
|
3808
3965
|
"ResetAndroidInstances": doResetAndroidInstances,
|
3809
3966
|
"DistributePhotoToAndroidInstances": doDistributePhotoToAndroidInstances,
|
3810
3967
|
"StartPublishStreamToCSS": doStartPublishStreamToCSS,
|
3968
|
+
"CopyAndroidInstance": doCopyAndroidInstance,
|
3811
3969
|
"DescribeAndroidApps": doDescribeAndroidApps,
|
3812
3970
|
"ModifyAndroidInstanceInformation": doModifyAndroidInstanceInformation,
|
3813
3971
|
"ModifyAndroidInstancesAppBlacklist": doModifyAndroidInstancesAppBlacklist,
|
@@ -3829,7 +3987,7 @@ ACTION_MAP = {
|
|
3829
3987
|
"SetAndroidInstancesFGAppKeepAlive": doSetAndroidInstancesFGAppKeepAlive,
|
3830
3988
|
"StopAndroidInstances": doStopAndroidInstances,
|
3831
3989
|
"DescribeInstancesCount": doDescribeInstancesCount,
|
3832
|
-
"
|
3990
|
+
"CreateAndroidInstancesAccessToken": doCreateAndroidInstancesAccessToken,
|
3833
3991
|
"DescribeAndroidInstanceApps": doDescribeAndroidInstanceApps,
|
3834
3992
|
"CreateAndroidAppVersion": doCreateAndroidAppVersion,
|
3835
3993
|
"DestroyAndroidInstances": doDestroyAndroidInstances,
|
@@ -3840,6 +3998,7 @@ ACTION_MAP = {
|
|
3840
3998
|
"DescribeAndroidInstancesAppBlacklist": doDescribeAndroidInstancesAppBlacklist,
|
3841
3999
|
"CreateCosCredential": doCreateCosCredential,
|
3842
4000
|
"DescribeAndroidInstancesByApps": doDescribeAndroidInstancesByApps,
|
4001
|
+
"DeleteAndroidInstanceBackupFiles": doDeleteAndroidInstanceBackupFiles,
|
3843
4002
|
"ModifyAndroidInstancesResources": doModifyAndroidInstancesResources,
|
3844
4003
|
"ModifyAndroidInstancesLabels": doModifyAndroidInstancesLabels,
|
3845
4004
|
"SetAndroidInstancesBGAppKeepAlive": doSetAndroidInstancesBGAppKeepAlive,
|