tccli 3.0.1376.1__py2.py3-none-any.whl → 3.0.1377.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/bi/bi_client.py +53 -0
- tccli/services/bi/v20220105/api.json +101 -0
- tccli/services/bi/v20220105/examples.json +8 -0
- tccli/services/cdb/v20170320/api.json +16 -6
- tccli/services/cdb/v20170320/examples.json +1 -1
- tccli/services/cfs/v20190719/api.json +1 -1
- tccli/services/cls/v20201016/api.json +13 -13
- tccli/services/cls/v20201016/examples.json +1 -1
- tccli/services/csip/v20221121/api.json +12 -12
- tccli/services/cwp/v20180228/api.json +39 -9
- tccli/services/cwp/v20180228/examples.json +6 -0
- tccli/services/cynosdb/v20190107/api.json +1 -1
- tccli/services/dc/v20180410/api.json +18 -0
- tccli/services/dlc/v20210125/api.json +27 -8
- tccli/services/dlc/v20210125/examples.json +2 -2
- tccli/services/dts/dts_client.py +79 -26
- tccli/services/dts/v20211206/api.json +34 -0
- tccli/services/dts/v20211206/examples.json +8 -0
- tccli/services/ess/ess_client.py +106 -0
- tccli/services/ess/v20201111/api.json +137 -2
- tccli/services/ess/v20201111/examples.json +16 -0
- tccli/services/essbasic/v20210526/api.json +6 -6
- tccli/services/faceid/v20180301/api.json +1 -1
- tccli/services/ioa/ioa_client.py +106 -0
- tccli/services/ioa/v20220601/api.json +498 -0
- tccli/services/ioa/v20220601/examples.json +16 -0
- tccli/services/iotexplorer/v20190423/api.json +52 -1
- tccli/services/iotexplorer/v20190423/examples.json +78 -6
- tccli/services/live/v20180801/api.json +1 -1
- tccli/services/lkeap/v20240522/api.json +17 -7
- tccli/services/mna/v20210119/api.json +1 -1
- tccli/services/mongodb/v20190725/api.json +22 -10
- tccli/services/mps/v20190612/api.json +112 -2
- tccli/services/mqtt/mqtt_client.py +265 -0
- tccli/services/mqtt/v20240516/api.json +480 -0
- tccli/services/mqtt/v20240516/examples.json +40 -0
- tccli/services/ocr/v20181119/api.json +5 -5
- tccli/services/partners/v20180321/api.json +5 -5
- tccli/services/rce/v20201103/api.json +1 -1
- tccli/services/tdmq/v20200217/api.json +1 -1
- tccli/services/tione/v20211111/api.json +200 -20
- tccli/services/tione/v20211111/examples.json +1 -1
- tccli/services/tke/v20180525/api.json +10 -0
- tccli/services/tke/v20220501/api.json +20 -2
- tccli/services/trtc/v20190722/api.json +6 -6
- tccli/services/vpc/v20170312/api.json +11 -2
- {tccli-3.0.1376.1.dist-info → tccli-3.0.1377.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1376.1.dist-info → tccli-3.0.1377.1.dist-info}/RECORD +52 -52
- {tccli-3.0.1376.1.dist-info → tccli-3.0.1377.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1376.1.dist-info → tccli-3.0.1377.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1376.1.dist-info → tccli-3.0.1377.1.dist-info}/license_files/LICENSE +0 -0
@@ -98,6 +98,13 @@
|
|
98
98
|
"output": "CreateContractDiffTaskWebUrlResponse",
|
99
99
|
"status": "online"
|
100
100
|
},
|
101
|
+
"CreateContractReviewWebUrl": {
|
102
|
+
"document": "此接口(CreateContractReviewWebUrl)用来创建合同审查web页面链接(此web页面可以通过iframe方式嵌入到贵方系统的网页中)。\n\n适用场景:根据合同内容识别出合同的风险信息。审查结果由AI生成,仅供参考。请结合相关法律法规和公司制度要求综合判断。\n\n注: \n1. pdf、word格式限制大小为10M以下\n2. 如果文件资源为word类型生成的链接不能进行iframe嵌入,需要在单独窗口打开",
|
103
|
+
"input": "CreateContractReviewWebUrlRequest",
|
104
|
+
"name": "创建合同审查web页面",
|
105
|
+
"output": "CreateContractReviewWebUrlResponse",
|
106
|
+
"status": "online"
|
107
|
+
},
|
101
108
|
"CreateConvertTaskApi": {
|
102
109
|
"document": "此接口(CreateConvertTaskApi)用来将word、excel、html、图片、txt类型文件转换为PDF文件。<br />\n前提条件:源文件已经通过 <a href=\"https://qian.tencent.com/developers/companyApis/templatesAndFiles/UploadFiles\" target=\"_blank\">文件上传接口</a>完成上传,并得到了源文件的资源Id。<br />\n适用场景1:已经上传了一个word文件,希望将该word文件转换成pdf文件后发起合同\n适用场景2:已经上传了一个jpg图片文件,希望将该图片文件转换成pdf文件后发起合同<br />\n转换文件是一个耗时操作,若想查看转换任务是否完成,可以通过<a href=\"https://qian.tencent.com/developers/companyApis/templatesAndFiles/GetTaskResultApi\" target=\"_blank\">查询转换任务状态</a>接口获取任务状态。<br />\n注: \n1. `支持的文件类型有doc、docx、xls、xlsx、html、jpg、jpeg、png、bmp、txt`\n2. `可通过发起合同时设置预览来检查转换文件是否达到预期效果`",
|
103
110
|
"input": "CreateConvertTaskApiRequest",
|
@@ -532,6 +539,13 @@
|
|
532
539
|
"output": "DescribeContractReviewTaskResponse",
|
533
540
|
"status": "online"
|
534
541
|
},
|
542
|
+
"DescribeContractReviewWebUrl": {
|
543
|
+
"document": "此接口(DescribeContractReviewWebUrl)用来创建合同审查web页面链接(此web页面可以通过iframe方式嵌入到贵方系统的网页中)。\n\n适用场景:根据合同内容识别出合同的风险信息。审查结果由AI生成,仅供参考。请结合相关法律法规和公司制度要求综合判断。\n\n注意: `如果文件资源为word类型生成的链接不能进行iframe嵌入,需要在单独窗口打开`",
|
544
|
+
"input": "DescribeContractReviewWebUrlRequest",
|
545
|
+
"name": "获取合同审查结果web页面",
|
546
|
+
"output": "DescribeContractReviewWebUrlResponse",
|
547
|
+
"status": "online"
|
548
|
+
},
|
535
549
|
"DescribeExtendedServiceAuthDetail": {
|
536
550
|
"document": "查询企业扩展服务的授权详情(列表),当前支持查询以下内容:\n1. 企业自动签(本企业授权、集团企业授权、合作企业授权)\n2. 批量签署能力\n\n\n注: <font color='red'>所在企业的超管、法人才有权限调用此接口</font>(Agent.ProxyOperator.OpenId 需要传递超管或者法人的OpenId)",
|
537
551
|
"input": "DescribeExtendedServiceAuthDetailRequest",
|
@@ -3399,6 +3413,71 @@
|
|
3399
3413
|
],
|
3400
3414
|
"type": "object"
|
3401
3415
|
},
|
3416
|
+
"CreateContractReviewWebUrlRequest": {
|
3417
|
+
"document": "CreateContractReviewWebUrl请求参数结构体",
|
3418
|
+
"members": [
|
3419
|
+
{
|
3420
|
+
"disabled": false,
|
3421
|
+
"document": "执行本接口操作的员工信息。使用此接口时,必须填写userId。\n\n注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。`",
|
3422
|
+
"example": "无",
|
3423
|
+
"member": "UserInfo",
|
3424
|
+
"name": "Operator",
|
3425
|
+
"required": true,
|
3426
|
+
"type": "object"
|
3427
|
+
},
|
3428
|
+
{
|
3429
|
+
"disabled": false,
|
3430
|
+
"document": "需要审查的合同文件资源ID,可通过<a href=\"https://qian.tencent.com/developers/companyApis/templatesAndFiles/UploadFiles\" target=\"_blank\">UploadFiles</a>接口获取文件资源ID。\n\n注: `目前,每个文件限制在10M以下,文件仅支持pdf、doc、docx格式`",
|
3431
|
+
"example": "yDttXUUckpx90i1xUxPpcHHyPdyqVErm",
|
3432
|
+
"member": "string",
|
3433
|
+
"name": "ResourceId",
|
3434
|
+
"required": false,
|
3435
|
+
"type": "string"
|
3436
|
+
},
|
3437
|
+
{
|
3438
|
+
"disabled": false,
|
3439
|
+
"document": "调用方自定义的个性化字段(可自定义此名称),并以base64方式编码,支持的最大数据大小为 1024长度。\n\n在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。回调的相关说明可参考开发者中心的[回调通知](https://qian.tencent.com/developers/company/callback_types_v2)模块。",
|
3440
|
+
"example": "QmFzZTY0IEJhc2U2NCA=",
|
3441
|
+
"member": "string",
|
3442
|
+
"name": "UserData",
|
3443
|
+
"required": false,
|
3444
|
+
"type": "string"
|
3445
|
+
}
|
3446
|
+
],
|
3447
|
+
"type": "object"
|
3448
|
+
},
|
3449
|
+
"CreateContractReviewWebUrlResponse": {
|
3450
|
+
"document": "CreateContractReviewWebUrl返回参数结构体",
|
3451
|
+
"members": [
|
3452
|
+
{
|
3453
|
+
"disabled": false,
|
3454
|
+
"document": "接口返回的合同审查任务ID,可以调用接口<a href=\"https://qian.tencent.com/developers/companyApis/embedPages/DescribeContractReviewWebUrl\" target=\"_blank\">获取合同审查结果web页面</a>查看审查任务的结果。\n\n注意: `当ResourceId参数不为空时才会返回此值。`",
|
3455
|
+
"example": "yDt4mUUckp9snk1mUugsjbKuk19M9oKP",
|
3456
|
+
"member": "string",
|
3457
|
+
"name": "TaskId",
|
3458
|
+
"output_required": false,
|
3459
|
+
"type": "string",
|
3460
|
+
"value_allowed_null": false
|
3461
|
+
},
|
3462
|
+
{
|
3463
|
+
"disabled": false,
|
3464
|
+
"document": "合同审查嵌入式web页面链接。\n\n注意:`链接有效期为5分钟,且链接仅能使用一次。如果上传的合同文件为word时不能进行iframe方式嵌入到贵方系统的网页中,需要单独页面打开此链接显示`",
|
3465
|
+
"example": "https://embed.test.qian.tencent.cn/ai-contract-review?embed=1&code=yDt4mUUckp9s5rksUJaGnr8TvzvPZQYt&channel=TENCENTCLOUD&embedType=CONTRACT_REVIEW",
|
3466
|
+
"member": "string",
|
3467
|
+
"name": "WebUrl",
|
3468
|
+
"output_required": true,
|
3469
|
+
"type": "string",
|
3470
|
+
"value_allowed_null": false
|
3471
|
+
},
|
3472
|
+
{
|
3473
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
3474
|
+
"member": "string",
|
3475
|
+
"name": "RequestId",
|
3476
|
+
"type": "string"
|
3477
|
+
}
|
3478
|
+
],
|
3479
|
+
"type": "object"
|
3480
|
+
},
|
3402
3481
|
"CreateConvertTaskApiRequest": {
|
3403
3482
|
"document": "CreateConvertTaskApi请求参数结构体",
|
3404
3483
|
"members": [
|
@@ -9886,6 +9965,62 @@
|
|
9886
9965
|
],
|
9887
9966
|
"type": "object"
|
9888
9967
|
},
|
9968
|
+
"DescribeContractReviewWebUrlRequest": {
|
9969
|
+
"document": "DescribeContractReviewWebUrl请求参数结构体",
|
9970
|
+
"members": [
|
9971
|
+
{
|
9972
|
+
"disabled": false,
|
9973
|
+
"document": "执行本接口操作的员工信息。使用此接口时,必须填写userId。\n\n注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。`",
|
9974
|
+
"example": "无",
|
9975
|
+
"member": "UserInfo",
|
9976
|
+
"name": "Operator",
|
9977
|
+
"required": true,
|
9978
|
+
"type": "object"
|
9979
|
+
},
|
9980
|
+
{
|
9981
|
+
"disabled": false,
|
9982
|
+
"document": "合同审查任务ID,该参数通过调用接口<a href=\"https://qian.tencent.com/developers/companyApis/embedPages/CreateContractReviewWebUrl\" target=\"_blank\">创建合同审查web页面</a>获取。",
|
9983
|
+
"example": "yDt4MUUckp9j4zj5UugsjbKvB0vibmas",
|
9984
|
+
"member": "string",
|
9985
|
+
"name": "TaskId",
|
9986
|
+
"required": true,
|
9987
|
+
"type": "string"
|
9988
|
+
}
|
9989
|
+
],
|
9990
|
+
"type": "object"
|
9991
|
+
},
|
9992
|
+
"DescribeContractReviewWebUrlResponse": {
|
9993
|
+
"document": "DescribeContractReviewWebUrl返回参数结构体",
|
9994
|
+
"members": [
|
9995
|
+
{
|
9996
|
+
"disabled": false,
|
9997
|
+
"document": "合同审查嵌入式web页面链接。\n注意:`链接有效期为5分钟,且链接仅能使用一次。如果上传的合同文件为word时不能进行iframe方式嵌入到贵方系统的网页中,需要单独页面打开此链接显示`",
|
9998
|
+
"example": "https://embed.test.qian.tencent.cn/ai-contract-review?embed=1&code=yDt4AUUckp9qgovnUy2vfEF8hYOjMMYZ&channel=TENCENTCLOUD&embedType=CONTRACT_REVIE",
|
9999
|
+
"member": "string",
|
10000
|
+
"name": "WebUrl",
|
10001
|
+
"output_required": true,
|
10002
|
+
"type": "string",
|
10003
|
+
"value_allowed_null": false
|
10004
|
+
},
|
10005
|
+
{
|
10006
|
+
"disabled": false,
|
10007
|
+
"document": "合同审查任务状态。任务状态为`5`时没有WebUrl链接。\n状态如下:\n<ul>\n <li>**1** - 合同审查任务创建成功</li> \n <li>**2** - 合同审查任务排队中</li> \n <li>**3** - 合同审查任务执行中</li> \n <li>**4** - 合同审查任务执行成功</li>\n <li>**5** - 合同审查任务执行失败</li>\n</ul>",
|
10008
|
+
"example": "4",
|
10009
|
+
"member": "int64",
|
10010
|
+
"name": "Status",
|
10011
|
+
"output_required": true,
|
10012
|
+
"type": "int",
|
10013
|
+
"value_allowed_null": false
|
10014
|
+
},
|
10015
|
+
{
|
10016
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
10017
|
+
"member": "string",
|
10018
|
+
"name": "RequestId",
|
10019
|
+
"type": "string"
|
10020
|
+
}
|
10021
|
+
],
|
10022
|
+
"type": "object"
|
10023
|
+
},
|
9889
10024
|
"DescribeExtendedServiceAuthDetailRequest": {
|
9890
10025
|
"document": "DescribeExtendedServiceAuthDetail请求参数结构体",
|
9891
10026
|
"members": [
|
@@ -11972,10 +12107,10 @@
|
|
11972
12107
|
"disabled": false,
|
11973
12108
|
"document": "是否禁止编辑印章描述内容\n<ul><li>(默认) false -否</li> <li> true - 禁止编辑</li></ul>",
|
11974
12109
|
"example": "true",
|
11975
|
-
"member": "
|
12110
|
+
"member": "bool",
|
11976
12111
|
"name": "ForbidEditSealDescription",
|
11977
12112
|
"required": false,
|
11978
|
-
"type": "
|
12113
|
+
"type": "bool"
|
11979
12114
|
}
|
11980
12115
|
],
|
11981
12116
|
"usage": "in"
|
@@ -268,6 +268,14 @@
|
|
268
268
|
"title": "创建合同对比web页面 - 跳过文件上传确认页"
|
269
269
|
}
|
270
270
|
],
|
271
|
+
"CreateContractReviewWebUrl": [
|
272
|
+
{
|
273
|
+
"document": "",
|
274
|
+
"input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateContractReviewWebUrl\n<公共请求参数>\n\n{\n \"Operator\": {\n \"UserId\": \"yDwqbUUckp3oxxo7\"\n },\n \"ResourceId\": \"yDt4oUUcxxxqVZx\",\n \"UserData\": \"5rWL6K+V5pWw5o2u\"\n}",
|
275
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"s1755568206750403220\",\n \"TaskId\": \"yDt4mUUckp9sgohiUugsjbKR241Yq5F7\",\n \"WebUrl\": \"https://embed.test.qian.tencent.cn/ai-contract-review?embed=1&code=yDt4oUUckp9sdhe2UugPqwK8NOCXY1Rg&channel=TENCENTCLOUD&embedType=CONTRACT_REVIEW&shortKey=yDt4mUjbKxHBzcYpadbe\"\n }\n}",
|
276
|
+
"title": "创建合同审查web页面"
|
277
|
+
}
|
278
|
+
],
|
271
279
|
"CreateConvertTaskApi": [
|
272
280
|
{
|
273
281
|
"document": "适用场景:将jpg文件转换为pdf",
|
@@ -1484,6 +1492,14 @@
|
|
1484
1492
|
"title": "查询合同审查任务详情"
|
1485
1493
|
}
|
1486
1494
|
],
|
1495
|
+
"DescribeContractReviewWebUrl": [
|
1496
|
+
{
|
1497
|
+
"document": "",
|
1498
|
+
"input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeContractReviewWebUrl\n<公共请求参数>\n\n{\n \"Operator\": {\n \"UserId\": \"yDwqbUUckp3o2rzmUxHsV0j1FlhYIKo7\"\n },\n \"TaskId\": \"yDt4MUUckp9j4zj5UugsjbKvB0vibmas\"\n}",
|
1499
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"s1755602790251475316\",\n \"Status\": 1,\n \"WebUrl\": \"https://embed.test.qian.tencent.cn/ai-contract-review?embed=1&code=yDt4mUUckp9shfedUx7mkC9zwLgqGdH6&channel=TENCENTCLOUD&embedType=CONTRACT_REVIEW&taskId=yDt4mUUckp9sgohiUugsjbKR241Yq5F7&preTaskId=yDt4mUUckp9sgoh6UugsjbKsbOWqWA2o\"\n }\n}",
|
1500
|
+
"title": "获取合同审查结果web页面"
|
1501
|
+
}
|
1502
|
+
],
|
1487
1503
|
"DescribeExtendedServiceAuthDetail": [
|
1488
1504
|
{
|
1489
1505
|
"document": "",
|
@@ -1273,7 +1273,7 @@
|
|
1273
1273
|
"usage": "in"
|
1274
1274
|
},
|
1275
1275
|
"BatchOrganizationRegistrationTasksDetails": {
|
1276
|
-
"document": "批量认证企业任务详情信息,其中包括 TaskId
|
1276
|
+
"document": "批量认证企业任务详情信息,其中包括 TaskId,状态信息等",
|
1277
1277
|
"members": [
|
1278
1278
|
{
|
1279
1279
|
"disabled": false,
|
@@ -9992,10 +9992,10 @@
|
|
9992
9992
|
"disabled": false,
|
9993
9993
|
"document": "是否禁止编辑印章描述内容\n<ul><li>(默认) false -否</li> <li> true - 禁止编辑</li></ul>",
|
9994
9994
|
"example": "true",
|
9995
|
-
"member": "
|
9995
|
+
"member": "bool",
|
9996
9996
|
"name": "ForbidEditSealDescription",
|
9997
9997
|
"required": false,
|
9998
|
-
"type": "
|
9998
|
+
"type": "bool"
|
9999
9999
|
}
|
10000
10000
|
],
|
10001
10001
|
"usage": "in"
|
@@ -14492,7 +14492,7 @@
|
|
14492
14492
|
},
|
14493
14493
|
{
|
14494
14494
|
"disabled": false,
|
14495
|
-
"document": "
|
14495
|
+
"document": "模板的用户合同类型",
|
14496
14496
|
"example": "无",
|
14497
14497
|
"member": "UserFlowType",
|
14498
14498
|
"name": "UserFlowType",
|
@@ -14504,7 +14504,7 @@
|
|
14504
14504
|
"usage": "out"
|
14505
14505
|
},
|
14506
14506
|
"TemplateUserFlowType": {
|
14507
|
-
"document": "
|
14507
|
+
"document": "模板对应的合同类型",
|
14508
14508
|
"members": [
|
14509
14509
|
{
|
14510
14510
|
"disabled": false,
|
@@ -14528,7 +14528,7 @@
|
|
14528
14528
|
},
|
14529
14529
|
{
|
14530
14530
|
"disabled": false,
|
14531
|
-
"document": "
|
14531
|
+
"document": "每个合同类型绑定的模板数量\t",
|
14532
14532
|
"example": "10",
|
14533
14533
|
"member": "int64",
|
14534
14534
|
"name": "TemplateNum",
|
@@ -5297,7 +5297,7 @@
|
|
5297
5297
|
},
|
5298
5298
|
{
|
5299
5299
|
"disabled": false,
|
5300
|
-
"document": "本token
|
5300
|
+
"document": "本token收费次数。(说明:一次核身过程用户可能会重试多次,因此一个biztoken可能会对应多次计费,如需配置重试上限,请[联系我们](https://cloud.tencent.com/document/product/1007/56130)配置。)",
|
5301
5301
|
"example": "0",
|
5302
5302
|
"member": "uint64",
|
5303
5303
|
"name": "ChargeCount",
|
tccli/services/ioa/ioa_client.py
CHANGED
@@ -173,6 +173,58 @@ def doDescribeVirtualDevices(args, parsed_globals):
|
|
173
173
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
174
174
|
|
175
175
|
|
176
|
+
def doDescribeAggrSoftCategorySoftList(args, parsed_globals):
|
177
|
+
g_param = parse_global_arg(parsed_globals)
|
178
|
+
|
179
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
180
|
+
cred = credential.CVMRoleCredential()
|
181
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
182
|
+
cred = credential.STSAssumeRoleCredential(
|
183
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
184
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
185
|
+
)
|
186
|
+
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):
|
187
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
188
|
+
else:
|
189
|
+
cred = credential.Credential(
|
190
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
191
|
+
)
|
192
|
+
http_profile = HttpProfile(
|
193
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
194
|
+
reqMethod="POST",
|
195
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
196
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
197
|
+
)
|
198
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
199
|
+
if g_param[OptionsDefine.Language]:
|
200
|
+
profile.language = g_param[OptionsDefine.Language]
|
201
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
202
|
+
client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
|
203
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
204
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
205
|
+
model = models.DescribeAggrSoftCategorySoftListRequest()
|
206
|
+
model.from_json_string(json.dumps(args))
|
207
|
+
start_time = time.time()
|
208
|
+
while True:
|
209
|
+
rsp = client.DescribeAggrSoftCategorySoftList(model)
|
210
|
+
result = rsp.to_json_string()
|
211
|
+
try:
|
212
|
+
json_obj = json.loads(result)
|
213
|
+
except TypeError as e:
|
214
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
215
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
216
|
+
break
|
217
|
+
cur_time = time.time()
|
218
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
219
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
220
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
221
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
222
|
+
else:
|
223
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
224
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
225
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
226
|
+
|
227
|
+
|
176
228
|
def doDescribeDevices(args, parsed_globals):
|
177
229
|
g_param = parse_global_arg(parsed_globals)
|
178
230
|
|
@@ -745,6 +797,58 @@ def doDescribeDLPFileDetectResult(args, parsed_globals):
|
|
745
797
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
746
798
|
|
747
799
|
|
800
|
+
def doDescribeDeviceChildGroups(args, parsed_globals):
|
801
|
+
g_param = parse_global_arg(parsed_globals)
|
802
|
+
|
803
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
804
|
+
cred = credential.CVMRoleCredential()
|
805
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
806
|
+
cred = credential.STSAssumeRoleCredential(
|
807
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
808
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
809
|
+
)
|
810
|
+
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):
|
811
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
812
|
+
else:
|
813
|
+
cred = credential.Credential(
|
814
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
815
|
+
)
|
816
|
+
http_profile = HttpProfile(
|
817
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
818
|
+
reqMethod="POST",
|
819
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
820
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
821
|
+
)
|
822
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
823
|
+
if g_param[OptionsDefine.Language]:
|
824
|
+
profile.language = g_param[OptionsDefine.Language]
|
825
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
826
|
+
client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
|
827
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
828
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
829
|
+
model = models.DescribeDeviceChildGroupsRequest()
|
830
|
+
model.from_json_string(json.dumps(args))
|
831
|
+
start_time = time.time()
|
832
|
+
while True:
|
833
|
+
rsp = client.DescribeDeviceChildGroups(model)
|
834
|
+
result = rsp.to_json_string()
|
835
|
+
try:
|
836
|
+
json_obj = json.loads(result)
|
837
|
+
except TypeError as e:
|
838
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
839
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
840
|
+
break
|
841
|
+
cur_time = time.time()
|
842
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
843
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
844
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
845
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
846
|
+
else:
|
847
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
848
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
849
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
850
|
+
|
851
|
+
|
748
852
|
def doCreateDeviceTask(args, parsed_globals):
|
749
853
|
g_param = parse_global_arg(parsed_globals)
|
750
854
|
|
@@ -863,6 +967,7 @@ ACTION_MAP = {
|
|
863
967
|
"CreateDeviceVirtualGroup": doCreateDeviceVirtualGroup,
|
864
968
|
"DescribeLocalAccounts": doDescribeLocalAccounts,
|
865
969
|
"DescribeVirtualDevices": doDescribeVirtualDevices,
|
970
|
+
"DescribeAggrSoftCategorySoftList": doDescribeAggrSoftCategorySoftList,
|
866
971
|
"DescribeDevices": doDescribeDevices,
|
867
972
|
"DescribeDeviceVirtualGroups": doDescribeDeviceVirtualGroups,
|
868
973
|
"CreateDLPFileDetectionTask": doCreateDLPFileDetectionTask,
|
@@ -874,6 +979,7 @@ ACTION_MAP = {
|
|
874
979
|
"ModifyVirtualDeviceGroups": doModifyVirtualDeviceGroups,
|
875
980
|
"DescribeRootAccountGroup": doDescribeRootAccountGroup,
|
876
981
|
"DescribeDLPFileDetectResult": doDescribeDLPFileDetectResult,
|
982
|
+
"DescribeDeviceChildGroups": doDescribeDeviceChildGroups,
|
877
983
|
"CreateDeviceTask": doCreateDeviceTask,
|
878
984
|
"DescribeAccountGroups": doDescribeAccountGroups,
|
879
985
|
|