tccli 3.0.1105.1__py2.py3-none-any.whl → 3.0.1107.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/examples/csip/v20221121/UpdateAlertStatusList.md +31 -0
- tccli/examples/cwp/v20180228/DescribeHostLoginList.md +18 -1
- tccli/examples/monitor/v20180724/CleanGrafanaInstance.md +1 -1
- tccli/examples/tcss/v20201101/DescribeEventEscapeImageList.md +41 -0
- tccli/services/cdwdoris/v20211228/api.json +72 -0
- tccli/services/ckafka/v20190819/api.json +643 -249
- tccli/services/cls/v20201016/api.json +1 -1
- tccli/services/csip/csip_client.py +53 -0
- tccli/services/csip/v20221121/api.json +150 -0
- tccli/services/csip/v20221121/examples.json +8 -0
- tccli/services/cwp/v20180228/api.json +3 -1
- tccli/services/cwp/v20180228/examples.json +1 -1
- tccli/services/dnspod/v20210323/api.json +1 -1
- tccli/services/ess/v20201111/api.json +9 -0
- tccli/services/essbasic/v20210526/api.json +4 -4
- tccli/services/monitor/v20180724/examples.json +1 -1
- tccli/services/tcss/tcss_client.py +57 -4
- tccli/services/tcss/v20201101/api.json +216 -0
- tccli/services/tcss/v20201101/examples.json +8 -0
- tccli/services/tke/v20220501/api.json +1 -1
- tccli/services/tse/v20201207/api.json +18 -0
- tccli/services/vod/v20180717/api.json +2 -2
- tccli/services/weilingwith/v20230427/api.json +1 -1
- {tccli-3.0.1105.1.dist-info → tccli-3.0.1107.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1105.1.dist-info → tccli-3.0.1107.1.dist-info}/RECORD +29 -27
- {tccli-3.0.1105.1.dist-info → tccli-3.0.1107.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1105.1.dist-info → tccli-3.0.1107.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1105.1.dist-info → tccli-3.0.1107.1.dist-info}/license_files/LICENSE +0 -0
@@ -6871,7 +6871,7 @@
|
|
6871
6871
|
},
|
6872
6872
|
{
|
6873
6873
|
"disabled": false,
|
6874
|
-
"document": "日志时间,
|
6874
|
+
"document": "日志时间, 需按照 UTC+8 时区将日志中的Unix时间戳转换为 YYYY-mm-dd HH:MM:SS.FFF 格式的字符串。",
|
6875
6875
|
"example": "2021-04-25 14:25:00.000",
|
6876
6876
|
"member": "string",
|
6877
6877
|
"name": "BTime",
|
@@ -1525,6 +1525,58 @@ def doDescribeAlertList(args, parsed_globals):
|
|
1525
1525
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1526
1526
|
|
1527
1527
|
|
1528
|
+
def doUpdateAlertStatusList(args, parsed_globals):
|
1529
|
+
g_param = parse_global_arg(parsed_globals)
|
1530
|
+
|
1531
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1532
|
+
cred = credential.CVMRoleCredential()
|
1533
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1534
|
+
cred = credential.STSAssumeRoleCredential(
|
1535
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1536
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1537
|
+
)
|
1538
|
+
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):
|
1539
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1540
|
+
else:
|
1541
|
+
cred = credential.Credential(
|
1542
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1543
|
+
)
|
1544
|
+
http_profile = HttpProfile(
|
1545
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1546
|
+
reqMethod="POST",
|
1547
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1548
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1549
|
+
)
|
1550
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1551
|
+
if g_param[OptionsDefine.Language]:
|
1552
|
+
profile.language = g_param[OptionsDefine.Language]
|
1553
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1554
|
+
client = mod.CsipClient(cred, g_param[OptionsDefine.Region], profile)
|
1555
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1556
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1557
|
+
model = models.UpdateAlertStatusListRequest()
|
1558
|
+
model.from_json_string(json.dumps(args))
|
1559
|
+
start_time = time.time()
|
1560
|
+
while True:
|
1561
|
+
rsp = client.UpdateAlertStatusList(model)
|
1562
|
+
result = rsp.to_json_string()
|
1563
|
+
try:
|
1564
|
+
json_obj = json.loads(result)
|
1565
|
+
except TypeError as e:
|
1566
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1567
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1568
|
+
break
|
1569
|
+
cur_time = time.time()
|
1570
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1571
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1572
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1573
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1574
|
+
else:
|
1575
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1576
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1577
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1578
|
+
|
1579
|
+
|
1528
1580
|
def doDescribeScanTaskList(args, parsed_globals):
|
1529
1581
|
g_param = parse_global_arg(parsed_globals)
|
1530
1582
|
|
@@ -2085,6 +2137,7 @@ ACTION_MAP = {
|
|
2085
2137
|
"DescribeScanReportList": doDescribeScanReportList,
|
2086
2138
|
"CreateDomainAndIp": doCreateDomainAndIp,
|
2087
2139
|
"DescribeAlertList": doDescribeAlertList,
|
2140
|
+
"UpdateAlertStatusList": doUpdateAlertStatusList,
|
2088
2141
|
"DescribeScanTaskList": doDescribeScanTaskList,
|
2089
2142
|
"DescribeDbAssets": doDescribeDbAssets,
|
2090
2143
|
"DescribeRiskCenterPortViewPortRiskList": doDescribeRiskCenterPortViewPortRiskList,
|
@@ -272,6 +272,13 @@
|
|
272
272
|
"name": "停止扫风险中心扫描任务",
|
273
273
|
"output": "StopRiskCenterTaskResponse",
|
274
274
|
"status": "online"
|
275
|
+
},
|
276
|
+
"UpdateAlertStatusList": {
|
277
|
+
"document": "批量告警状态处理接口",
|
278
|
+
"input": "UpdateAlertStatusListRequest",
|
279
|
+
"name": "批量告警状态处理",
|
280
|
+
"output": "UpdateAlertStatusListResponse",
|
281
|
+
"status": "online"
|
275
282
|
}
|
276
283
|
},
|
277
284
|
"metadata": {
|
@@ -9554,6 +9561,84 @@
|
|
9554
9561
|
],
|
9555
9562
|
"usage": "out"
|
9556
9563
|
},
|
9564
|
+
"NewAlertKey": {
|
9565
|
+
"document": "该结构体用来传入告警的key,以更新告警的status",
|
9566
|
+
"members": [
|
9567
|
+
{
|
9568
|
+
"disabled": false,
|
9569
|
+
"document": "需要更改的用户appid",
|
9570
|
+
"example": "1255856753",
|
9571
|
+
"member": "string",
|
9572
|
+
"name": "AppId",
|
9573
|
+
"required": true,
|
9574
|
+
"type": "string"
|
9575
|
+
},
|
9576
|
+
{
|
9577
|
+
"disabled": false,
|
9578
|
+
"document": "告警类别",
|
9579
|
+
"example": "攻击尝试",
|
9580
|
+
"member": "string",
|
9581
|
+
"name": "Type",
|
9582
|
+
"required": true,
|
9583
|
+
"type": "string"
|
9584
|
+
},
|
9585
|
+
{
|
9586
|
+
"disabled": false,
|
9587
|
+
"document": "告警子类别",
|
9588
|
+
"example": "密码破解(破解失败)",
|
9589
|
+
"member": "string",
|
9590
|
+
"name": "SubType",
|
9591
|
+
"required": true,
|
9592
|
+
"type": "string"
|
9593
|
+
},
|
9594
|
+
{
|
9595
|
+
"disabled": false,
|
9596
|
+
"document": "告警来源",
|
9597
|
+
"example": "主机安全",
|
9598
|
+
"member": "string",
|
9599
|
+
"name": "Source",
|
9600
|
+
"required": true,
|
9601
|
+
"type": "string"
|
9602
|
+
},
|
9603
|
+
{
|
9604
|
+
"disabled": false,
|
9605
|
+
"document": "告警名称",
|
9606
|
+
"example": "未成功:暴力破解攻击",
|
9607
|
+
"member": "string",
|
9608
|
+
"name": "Name",
|
9609
|
+
"required": true,
|
9610
|
+
"type": "string"
|
9611
|
+
},
|
9612
|
+
{
|
9613
|
+
"disabled": false,
|
9614
|
+
"document": "告警key",
|
9615
|
+
"example": "102.128.78.140#lhins-1fylv826",
|
9616
|
+
"member": "string",
|
9617
|
+
"name": "Key",
|
9618
|
+
"required": true,
|
9619
|
+
"type": "string"
|
9620
|
+
},
|
9621
|
+
{
|
9622
|
+
"disabled": false,
|
9623
|
+
"document": "时间",
|
9624
|
+
"example": "2023-07-06 00:00:00",
|
9625
|
+
"member": "string",
|
9626
|
+
"name": "Date",
|
9627
|
+
"required": true,
|
9628
|
+
"type": "string"
|
9629
|
+
},
|
9630
|
+
{
|
9631
|
+
"disabled": false,
|
9632
|
+
"document": "状态",
|
9633
|
+
"example": "2",
|
9634
|
+
"member": "int64",
|
9635
|
+
"name": "Status",
|
9636
|
+
"required": false,
|
9637
|
+
"type": "int"
|
9638
|
+
}
|
9639
|
+
],
|
9640
|
+
"usage": "in"
|
9641
|
+
},
|
9557
9642
|
"OrganizationUserInfo": {
|
9558
9643
|
"document": "集团账号成员详情",
|
9559
9644
|
"members": [
|
@@ -11973,6 +12058,71 @@
|
|
11973
12058
|
],
|
11974
12059
|
"usage": "out"
|
11975
12060
|
},
|
12061
|
+
"UpdateAlertStatusListRequest": {
|
12062
|
+
"document": "UpdateAlertStatusList请求参数结构体",
|
12063
|
+
"members": [
|
12064
|
+
{
|
12065
|
+
"disabled": false,
|
12066
|
+
"document": "告警ID列表",
|
12067
|
+
"example": "[\"alert-xxx\", \"alert-yyy\"]",
|
12068
|
+
"member": "NewAlertKey",
|
12069
|
+
"name": "ID",
|
12070
|
+
"required": true,
|
12071
|
+
"type": "list"
|
12072
|
+
},
|
12073
|
+
{
|
12074
|
+
"disabled": false,
|
12075
|
+
"document": "操作类型 \n1:撤销处置 \n2:标记为已处置 \n3:标记忽略 \n4:取消标记处置\n5:取消标记忽略",
|
12076
|
+
"example": "1",
|
12077
|
+
"member": "int64",
|
12078
|
+
"name": "OperateType",
|
12079
|
+
"required": true,
|
12080
|
+
"type": "int"
|
12081
|
+
},
|
12082
|
+
{
|
12083
|
+
"disabled": false,
|
12084
|
+
"document": "被调用的集团账号的成员id",
|
12085
|
+
"example": "[]{\"mem-6wfo0fzks3\",\"mem-85fo0fzks4\"}",
|
12086
|
+
"member": "string",
|
12087
|
+
"name": "OperatedMemberId",
|
12088
|
+
"required": false,
|
12089
|
+
"type": "list"
|
12090
|
+
}
|
12091
|
+
],
|
12092
|
+
"type": "object"
|
12093
|
+
},
|
12094
|
+
"UpdateAlertStatusListResponse": {
|
12095
|
+
"document": "UpdateAlertStatusList返回参数结构体",
|
12096
|
+
"members": [
|
12097
|
+
{
|
12098
|
+
"disabled": false,
|
12099
|
+
"document": "结果信息\n注意:此字段可能返回 null,表示取不到有效值。",
|
12100
|
+
"example": "无",
|
12101
|
+
"member": "string",
|
12102
|
+
"name": "Msg",
|
12103
|
+
"output_required": false,
|
12104
|
+
"type": "string",
|
12105
|
+
"value_allowed_null": true
|
12106
|
+
},
|
12107
|
+
{
|
12108
|
+
"disabled": false,
|
12109
|
+
"document": "结果代码",
|
12110
|
+
"example": "无",
|
12111
|
+
"member": "string",
|
12112
|
+
"name": "Code",
|
12113
|
+
"output_required": false,
|
12114
|
+
"type": "string",
|
12115
|
+
"value_allowed_null": false
|
12116
|
+
},
|
12117
|
+
{
|
12118
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
12119
|
+
"member": "string",
|
12120
|
+
"name": "RequestId",
|
12121
|
+
"type": "string"
|
12122
|
+
}
|
12123
|
+
],
|
12124
|
+
"type": "object"
|
12125
|
+
},
|
11976
12126
|
"VULRiskAdvanceCFGList": {
|
11977
12127
|
"document": "漏洞风险高级配置列表",
|
11978
12128
|
"members": [
|
@@ -311,6 +311,14 @@
|
|
311
311
|
"output": "{\n \"Response\": {\n \"Status\": 0,\n \"RequestId\": \"xx\"\n }\n}",
|
312
312
|
"title": "停止扫风险中心扫描任务"
|
313
313
|
}
|
314
|
+
],
|
315
|
+
"UpdateAlertStatusList": [
|
316
|
+
{
|
317
|
+
"document": "",
|
318
|
+
"input": "POST / HTTP/1.1\nHost: csip.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: UpdateAlertStatusList\n<公共请求参数>\n\n{\n \"OperatedMemberId\": [\n \"abc\"\n ],\n \"ID\": [\n {\n \"AppId\": \"abc\",\n \"Type\": \"abc\",\n \"SubType\": \"abc\",\n \"Source\": \"abc\",\n \"Name\": \"abc\",\n \"Key\": \"abc\",\n \"Date\": \"abc\",\n \"Status\": 0\n }\n ],\n \"OperateType\": 0\n}",
|
319
|
+
"output": "{\n \"Response\": {\n \"Msg\": \"abc\",\n \"Code\": \"abc\",\n \"RequestId\": \"abc\"\n }\n}",
|
320
|
+
"title": "test"
|
321
|
+
}
|
314
322
|
]
|
315
323
|
},
|
316
324
|
"version": "1.0"
|
@@ -25389,7 +25389,7 @@
|
|
25389
25389
|
},
|
25390
25390
|
{
|
25391
25391
|
"disabled": false,
|
25392
|
-
"document": "过滤条件。\n<li>
|
25392
|
+
"document": "过滤条件。\n<li>Quuid - String - 是否必填:否 - 云服务器uuid</li>\n<li>Uuid - String - 是否必填:否 - 主机安全唯一Uuid</li>\n<li>MachineName - String - 是否必填:否 - 主机别名</li>\n<li>Ip - String - 是否必填:否 - 主机ip</li>\n<li>InstanceID - String - 是否必填:否 - 主机实例ID</li>\n<li>SrcIp - String - 是否必填:否 - 来源ip筛选</li>\n<li>UserName - String - 是否必填:否 - 用户名筛选</li>\n<li>Status - int - 是否必填:否 - 状态筛选1:正常登录;5:已加白,14:已处理,15:已忽略</li>\n<li>LoginTimeBegin - String - 是否必填:否 - 按照修改时间段筛选,开始时间</li>\n<li>LoginTimeEnd - String - 是否必填:否 - 按照修改时间段筛选,结束时间</li>\n<li>RiskLevel - int - 是否必填:否 - 状态筛选0:高危;1:可疑</li>",
|
25393
25393
|
"example": "[]",
|
25394
25394
|
"member": "Filter",
|
25395
25395
|
"name": "Filters",
|
@@ -25426,6 +25426,7 @@
|
|
25426
25426
|
"example": "1",
|
25427
25427
|
"member": "uint64",
|
25428
25428
|
"name": "TotalCount",
|
25429
|
+
"output_required": true,
|
25429
25430
|
"type": "int",
|
25430
25431
|
"value_allowed_null": false
|
25431
25432
|
},
|
@@ -25435,6 +25436,7 @@
|
|
25435
25436
|
"example": "[]",
|
25436
25437
|
"member": "HostLoginList",
|
25437
25438
|
"name": "HostLoginList",
|
25439
|
+
"output_required": true,
|
25438
25440
|
"type": "list",
|
25439
25441
|
"value_allowed_null": true
|
25440
25442
|
},
|
@@ -1608,7 +1608,7 @@
|
|
1608
1608
|
{
|
1609
1609
|
"document": "登录审计列表",
|
1610
1610
|
"input": "POST / HTTP/1.1\nHost: cwp.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeHostLoginList\n<公共请求参数>\n\n{\n \"Limit\": 1,\n \"Filters\": [\n {\n \"Values\": [\n \"abc\"\n ],\n \"Name\": \"abc\",\n \"ExactMatch\": true\n }\n ],\n \"Offset\": 1\n}",
|
1611
|
-
"output": "{\n \"Response\": {\n \"HostLoginList\": [\n {\n \"Id\": 202008000000022,\n \"Uuid\": \"5cc8e4d2-311f-11ea-922b-98be9421969a\",\n \"MachineIp\": \"10.104.194.49\",\n \"MachineName\": \"v_lwjlin_centos_林\",\n \"UserName\": \"root\",\n \"SrcIp\": \"120.229.227.225\",\n \"Status\": 2,\n \"Country\": 1,\n \"City\": 216,\n \"Province\": 19,\n \"LoginTime\": \"2020-02-20 14:51:35\",\n \"ModifyTime\": \"2020-02-20 14:51:35\"\n }\n ],\n \"RequestId\": \"4234234\",\n \"TotalCount\": 446\n }\n}",
|
1611
|
+
"output": "{\n \"Response\": {\n \"HostLoginList\": [\n {\n \"Id\": 202008000000022,\n \"Uuid\": \"5cc8e4d2-311f-11ea-922b-98be9421969a\",\n \"MachineIp\": \"10.104.194.49\",\n \"MachineName\": \"v_lwjlin_centos_林\",\n \"UserName\": \"root\",\n \"SrcIp\": \"120.229.227.225\",\n \"Status\": 2,\n \"Country\": 1,\n \"City\": 216,\n \"Province\": 19,\n \"LoginTime\": \"2020-02-20 14:51:35\",\n \"ModifyTime\": \"2020-02-20 14:51:35\",\n \"IsRiskUser\": 0,\n \"Port\": 22,\n \"Location\": \"中国:广东省:深圳市\",\n \"Desc\": \"\",\n \"IsRiskSrcIp\": 1,\n \"IsRiskArea\": 1,\n \"Quuid\": \"xxxx-xxxx-xxxxxx-xxxxxx-xxxx\",\n \"RiskLevel\": 0,\n \"IsRiskTime\": 1,\n \"MachineExtraInfo\": {\n \"WanIP\": \"111.111.111.111\",\n \"InstanceID\": \"ins-12341234\",\n \"NetworkName\": \"\",\n \"PrivateIP\": \"1.1.1.1\",\n \"NetworkType\": 1,\n \"HostName\": \"abc\"\n }\n }\n ],\n \"RequestId\": \"4234234\",\n \"TotalCount\": 446\n }\n}",
|
1612
1612
|
"title": "登录审计列表"
|
1613
1613
|
}
|
1614
1614
|
],
|
@@ -6251,6 +6251,15 @@
|
|
6251
6251
|
"name": "AutoJumpBack",
|
6252
6252
|
"required": false,
|
6253
6253
|
"type": "bool"
|
6254
|
+
},
|
6255
|
+
{
|
6256
|
+
"disabled": false,
|
6257
|
+
"document": "在用户完成实名认证后,其自定义数据将通过[企业引导个人实名认证后回调](https://qian.tencent.com/developers/company/callback_types_staffs/#%E5%8D%81%E4%BA%8C-%E4%BC%81%E4%B8%9A%E5%BC%95%E5%AF%BC%E4%B8%AA%E4%BA%BA%E5%AE%9E%E5%90%8D%E8%AE%A4%E8%AF%81%E5%90%8E%E5%9B%9E%E8%B0%83)返回,以便用户确认其个人数据信息。请注意,自定义数据的字符长度上限为1000,且必须采用base64编码格式。",
|
6258
|
+
"example": "MTIzNDU2Nzg5",
|
6259
|
+
"member": "string",
|
6260
|
+
"name": "UserData",
|
6261
|
+
"required": false,
|
6262
|
+
"type": "string"
|
6254
6263
|
}
|
6255
6264
|
],
|
6256
6265
|
"type": "object"
|
@@ -78,7 +78,7 @@
|
|
78
78
|
"status": "online"
|
79
79
|
},
|
80
80
|
"ChannelCreateFlowByFiles": {
|
81
|
-
"document": "接口(ChannelCreateFlowByFiles)用PDF文件创建签署流程。\n\n适用场景:适用非制式的合同文件签署,开发者有每个签署流程的PDF,可以通过该接口传入完整的PDF文件及流程信息生成待签署的合同流程。\n\n**注**: \n<ul>\n<li>此接口静默签(企业自动签)能力为白名单功能,使用前请联系对接的客户经理沟通。</li>\n<li>此接口需要依赖<a href=\"https://qian.tencent.com/developers/partnerApis/files/UploadFiles\" target=\"_blank\">文件上传接口</a>生成pdf资源编号(FileIds)进行使用。整体的逻辑如下图</li>\n</ul>\n\n\n\n**可以作为发起方和签署方的角色列表**\n<table
|
81
|
+
"document": "接口(ChannelCreateFlowByFiles)用PDF文件创建签署流程。\n\n适用场景:适用非制式的合同文件签署,开发者有每个签署流程的PDF,可以通过该接口传入完整的PDF文件及流程信息生成待签署的合同流程。\n\n**注**: \n<ul>\n<li>此接口静默签(企业自动签)能力为白名单功能,使用前请联系对接的客户经理沟通。</li>\n<li>此接口需要依赖<a href=\"https://qian.tencent.com/developers/partnerApis/files/UploadFiles\" target=\"_blank\">文件上传接口</a>生成pdf资源编号(FileIds)进行使用。整体的逻辑如下图</li>\n</ul>\n\n\n\n**可以作为发起方和签署方的角色列表**\n<table> <thead> <tr> <th>场景编号</th> <th>发起方</th> <th>签署方</th> <th>补充</th> </tr> </thead> <tbody> <tr> <td>场景一</td> <td>子企业A的员工</td> <td>子企业A的员工</td> <td>子企业是通过<a href=\"https://qian.tencent.com/developers/partnerApis/accounts/CreateConsoleLoginUrl\" target=\"_blank\">CreateConsoleLoginUrl</a>生成子客登录链接注册的企业</td> </tr> <tr> <td>场景二</td> <td>子企业A的员工</td> <td>子企业B(不指定经办人走领取逻辑)</td> <td>领取的逻辑可以参考文档<a href=\"https://qian.tencent.com/developers/partner/dynamic_signer\" target=\"_blank\">动态签署方</a> </td> </tr> <tr> <td>场景三</td> <td>子企业A的员工</td> <td>子企业B的员工</td> <td>-</td> </tr> <tr> <td>场景四</td> <td>子企业A的员工</td> <td>个人</td> <td>就是自然人,不是企业员工</td> </tr> <tr> <td>场景五</td> <td>子企业A的员工</td> <td>SaaS平台企业员工</td> <td>SaaS平台企业是通过<a href=\"https://qian.tencent.cn/console/company-register\" target=\"_blank\">https://qian.tencent.cn/console/company-register</a>链接注册的企业</td> </tr> </tbody> </table>\n\n\n**注**: \n`1. 发起合同时候, 作为发起方的第三方子企业A员工的企业和员工必须经过实名, 而作为签署方的第三方子企业A员工/个人/自然人/SaaS平台企业员工/第三方子企业B员工企业中的企业和个人/员工可以未实名`\n\n`2. 不同类型的签署方传参不同, 可以参考开发者中心的FlowApproverInfo结构体说明`\n\n`3. 合同发起后就会扣减合同的额度, 只有撤销没有参与方签署过或只有自动签署签署过的合同,才会返还合同额度。(过期,拒签,签署完成,解除完成等状态不会返还额度)`\n\n`4. 静默(自动)签署不支持合同签署方存在填写功能`",
|
82
82
|
"input": "ChannelCreateFlowByFilesRequest",
|
83
83
|
"name": "用PDF文件创建签署流程",
|
84
84
|
"output": "ChannelCreateFlowByFilesResponse",
|
@@ -351,7 +351,7 @@
|
|
351
351
|
"status": "online"
|
352
352
|
},
|
353
353
|
"CreateFlowsByTemplates": {
|
354
|
-
"document": "接口(CreateFlowsByTemplates)用于使用模板批量创建签署流程。当前可批量发起合同(签署流程)数量为1-20个。\n如若在模板中配置了动态表格, 上传的附件必须为A4大小 \n合同发起人必须在电子签已经进行实名。\n\n### 一. 整体的逻辑如下\n\n\n\n### 二. 可以作为发起方和签署方的角色列表\n<table
|
354
|
+
"document": "接口(CreateFlowsByTemplates)用于使用模板批量创建签署流程。当前可批量发起合同(签署流程)数量为1-20个。\n如若在模板中配置了动态表格, 上传的附件必须为A4大小 \n合同发起人必须在电子签已经进行实名。\n\n### 一. 整体的逻辑如下\n\n\n\n### 二. 可以作为发起方和签署方的角色列表\n\n<table> <thead> <tr> <th>场景编号</th> <th>发起方</th> <th>签署方</th> <th>补充</th> </tr> </thead> <tbody> <tr> <td>场景一</td> <td>子企业A的员工</td> <td>子企业A的员工</td> <td>子企业是通过<a href=\"https://qian.tencent.com/developers/partnerApis/accounts/CreateConsoleLoginUrl\" target=\"_blank\">CreateConsoleLoginUrl</a>生成子客登录链接注册的企业</td> </tr> <tr> <td>场景二</td> <td>子企业A的员工</td> <td>子企业B(不指定经办人走领取逻辑)</td> <td>领取的逻辑可以参考文档<a href=\"https://qian.tencent.com/developers/partner/dynamic_signer\" target=\"_blank\">动态签署方</a> </td> </tr> <tr> <td>场景三</td> <td>子企业A的员工</td> <td>子企业B的员工</td> <td>-</td> </tr> <tr> <td>场景四</td> <td>子企业A的员工</td> <td>个人</td> <td>就是自然人,不是企业员工</td> </tr> <tr> <td>场景五</td> <td>子企业A的员工</td> <td>SaaS平台企业员工</td> <td>SaaS平台企业是通过<a href=\"https://qian.tencent.cn/console/company-register\" target=\"_blank\">https://qian.tencent.cn/console/company-register</a>链接注册的企业</td> </tr> </tbody> </table>\n\n\n\n\n### 三. 填充模板中定义的填写控件\n模板中配置的<font color=\"red\">发起人填充控件</font>可以通过本接口的**FormFields数组**字段填充\n\n\n填充的传参示例如下\n\n```\n request.FormFields = [{\n \"ComponentName\": \"项目的名字\",\n \"ComponentValue\": \"休闲山庄\"\n }, {\n \"ComponentName\": \"项目的地址\",\n \"ComponentValue\": \"凤凰山北侧\",\n }, {\n \"ComponentName\": \"范围\",\n \"ComponentValue\": \"凤凰山至107国道\",\n }, {\n \"ComponentName\": \"面积\",\n \"ComponentValue\": \"100亩\",\n }, {\n \"ComponentName\": \"基本情况\",\n \"ComponentValue\": \"完好\",\n }, , {\n \"ComponentName\": \"用途\",\n \"ComponentValue\": \"经营农家乐\",\n }\n ]\n```\n合成后合同样子示例\n\n\n\n\n\n### 四. 注意 \n1. 发起合同时候, 作为<font color=\"red\">发起方的第三方子企业A员工的企业和员工必须经过实名</font>, 而作为签署方的第三方子企业A员工/个人/自然人/SaaS平台企业员工/第三方子企业B员工企业中的企业和个人/员工可以未实名\n\n2. 不同类型的签署方传参不同, 可以参考开发者中心的FlowApproverInfo结构体说明\n\n3. <font color=\"red\">调用接口发起合同成功就会扣减合同的额度</font>, 只有撤销没有参与方签署过或只有自动签署签署过的合同,才会返还合同额度。(过期,拒签,签署完成,解除完成等状态不会返还额度)\n\n4. <font color=\"red\">静默(自动)签署不支持合同签署方存在填写</font>\n\n5. <font color=\"red\">在下一步创建签署链接前,建议等待DocumentFill </font> <a href=\"https://qian.tencent.com/developers/partner/callback_types_file_resources\">PDF合成完成的回调</a>或者睡眠几秒,尤其是当模板中存在动态表格等复杂填写控件时,因为合成过程可能会耗费秒级别的时间。",
|
355
355
|
"input": "CreateFlowsByTemplatesRequest",
|
356
356
|
"name": "用模板创建签署流程",
|
357
357
|
"output": "CreateFlowsByTemplatesResponse",
|
@@ -435,7 +435,7 @@
|
|
435
435
|
"status": "online"
|
436
436
|
},
|
437
437
|
"DescribeResourceUrlsByFlows": {
|
438
|
-
"document": "获取合同流程PDF的下载链接,可以下载签署中、签署完的此子企业创建的合同\n\n**注意**: \n有两种开通权限的途径\n\n**第一种**: 需第三方应用的子企业登录控制台进行授权, 授权在**企业中心**的**授权管理**区域, 界面如下图。\n授权过程需要**子企业超管**扫描跳转到电子签小程序签署<<渠道端下载渠道子客合同功能授权委托书>>\n\n\n\n**第二种**: 渠道方企业在**企业应用管理**的配置界面打开需要配置的应用,点击**应用扩展服务**开通此功能,需要**渠道方企业的超管**扫描二维码跳转到电子签小程序签署 <<渠道端下载渠道子客合同功能开通知情同意书>>\n注: \n1.
|
438
|
+
"document": "获取合同流程PDF的下载链接,可以下载签署中、签署完的此子企业创建的合同\n\n**注意**: \n有两种开通权限的途径\n\n**第一种**: 需第三方应用的子企业登录控制台进行授权, 授权在**企业中心**的**授权管理**区域, 界面如下图。\n授权过程需要**子企业超管**扫描跳转到电子签小程序签署<<渠道端下载渠道子客合同功能授权委托书>>\n\n\n\n**第二种**: 渠道方企业在**企业应用管理**的配置界面打开需要配置的应用,点击**应用扩展服务**开通此功能,需要**渠道方企业的超管**扫描二维码跳转到电子签小程序签署 <<渠道端下载渠道子客合同功能开通知情同意书>>\n注: \n1. `请注意如果第三方应用的子客主动关闭了渠道端下载渠道子客合同功能开关,那么渠道方开通了此功能也无法下载子客的合同文件`\n",
|
439
439
|
"input": "DescribeResourceUrlsByFlowsRequest",
|
440
440
|
"name": "获取合同PDF下载链接",
|
441
441
|
"output": "DescribeResourceUrlsByFlowsResponse",
|
@@ -8219,7 +8219,7 @@
|
|
8219
8219
|
"usage": "out"
|
8220
8220
|
},
|
8221
8221
|
"FlowApproverInfo": {
|
8222
|
-
"document": "创建签署流程签署人入参。\n\n**各种场景传参说明**:\n\n<table
|
8222
|
+
"document": "创建签署流程签署人入参。\n\n**各种场景传参说明**:\n\n<table> <thead> <tr> <th>场景编号</th> <th>发起方类型</th> <th>签署方类型</th> <th>签署方传参说明</th> </tr> </thead> <tbody> <tr> <td>场景一</td> <td>第三方子企业A员工</td> <td>第三方子企业A员工</td> <td> <ul> <li>(选填)IdCardNumber和IdCardType:证件类型和证件号</li> <li>(必传)Name:签署方的名字</li> <li>(必传)Mobile:签署方的手机号</li> <li>(必传)OpenId:企业员工标识</li> <li>(必传)OrganizationName:子企业名称</li> <li>(必传)OrganizationOpenId:子企业的标识</li> <li>(固定)ApproverType:需设置为ORGANIZATION</li> </ul> </td> </tr> <tr> <td>场景二</td> <td>第三方子企业A员工</td> <td>第三方子企业B(不指定经办人走领取方式)</td> <td> <ul> <li>(必传)OrganizationName:子企业名称</li> <li>(必传)OrganizationOpenId:子企业的标识</li> <li>(固定)ApproverType:需设置为ORGANIZATION</li> <li>(固定)ApproverOption.FillType:需设置为1</li> </ul> </td> </tr> <tr> <td>场景三</td> <td>第三方子企业A员工</td> <td>第三方子企业B员工</td> <td> <ul> <li>(选填)IdCardNumber和IdCardType:证件类型和证件号</li> <li>(必传)Name:签署方的名字</li> <li>(必传)Mobile:签署方的手机号</li> <li>(必传)OpenId:企业员工标识</li> <li>(必传)OrganizationName:子企业名称</li> <li>(必传)OrganizationOpenId:子企业的标识</li> <li>(固定)ApproverType:需设置为ORGANIZATION</li> </ul></td> </tr> <tr> <td>场景四</td> <td>第三方子企业A员工</td> <td>个人/自然人</td> <td> <ul> <li>(选填)IdCardNumber和IdCardType:证件类型和证件号</li> <li>(必传)Name:签署方的名字</li> <li>(必传)Mobile:签署方的手机号</li> <li>(固定)ApproverType:需设置为PERSON</li> </ul> </td> </tr> <tr> <td>场景五</td> <td>第三方子企业A员工</td> <td>SaaS平台企业员工</td> <td> <ul> <li>(选填)IdCardNumber和IdCardType:证件类型和证件号</li> <li>(必传)OrganizationName:SaaS企业的名字</li> <li>(必传)Name:签署方的名字</li> <li>(必传)Mobile:签署方的手机号</li> <li>(必传)OrganizationOpenId:子企业的标识</li> <li>(固定)ApproverType:需设置为ORGANIZATION</li> <li>(固定)NotChannelOrganization:需设置为True</li> </ul> </td> </tr> </tbody> </table>\n\n\n**注1**: `使用模板发起合同时,RecipientId(模板发起合同时)必传`\n\nRecipientId参数获取:\n从<a href=\"https://qian.tencent.com/developers/companyApis/templatesAndFiles/DescribeFlowTemplates\" target=\"_blank\">DescribeFlowTemplates接口</a>接口中,可以得到模板下的签署方Recipient列表,根据模板自定义的Rolename在此结构体中确定其RecipientId。\n\n**注2**: `如果发起的是动态签署方(即ApproverOption.FillType指定为1),可以不指定具体签署人信息`, 动态签署方可以参考<a href=\"https://qian.tencent.com/developers/partner/dynamic_signer\" target=\"_blank\">此文档</a>",
|
8223
8223
|
"members": [
|
8224
8224
|
{
|
8225
8225
|
"disabled": false,
|
@@ -36,7 +36,7 @@
|
|
36
36
|
{
|
37
37
|
"document": "强制销毁 Grafana 实例",
|
38
38
|
"input": "POST / HTTP/1.1\nHost: monitor.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CleanGrafanaInstance\n<公共请求参数>\n\n{\n \"InstanceId\": \"grafana-abcdefgh\"\n}",
|
39
|
-
"output": "{\n \"Response\": {\n \"RequestId\": \"
|
39
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"3c140219-cfe9-470e-b241-907877d6fb03\"\n }\n}",
|
40
40
|
"title": "强制销毁 Grafana 实例"
|
41
41
|
}
|
42
42
|
],
|
@@ -2721,6 +2721,58 @@ def doModifyAssetImageRegistryScanStop(args, parsed_globals):
|
|
2721
2721
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2722
2722
|
|
2723
2723
|
|
2724
|
+
def doDescribeRiskSyscallWhiteLists(args, parsed_globals):
|
2725
|
+
g_param = parse_global_arg(parsed_globals)
|
2726
|
+
|
2727
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
2728
|
+
cred = credential.CVMRoleCredential()
|
2729
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
2730
|
+
cred = credential.STSAssumeRoleCredential(
|
2731
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
2732
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
2733
|
+
)
|
2734
|
+
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):
|
2735
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
2736
|
+
else:
|
2737
|
+
cred = credential.Credential(
|
2738
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
2739
|
+
)
|
2740
|
+
http_profile = HttpProfile(
|
2741
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
2742
|
+
reqMethod="POST",
|
2743
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
2744
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
2745
|
+
)
|
2746
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
2747
|
+
if g_param[OptionsDefine.Language]:
|
2748
|
+
profile.language = g_param[OptionsDefine.Language]
|
2749
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
2750
|
+
client = mod.TcssClient(cred, g_param[OptionsDefine.Region], profile)
|
2751
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
2752
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2753
|
+
model = models.DescribeRiskSyscallWhiteListsRequest()
|
2754
|
+
model.from_json_string(json.dumps(args))
|
2755
|
+
start_time = time.time()
|
2756
|
+
while True:
|
2757
|
+
rsp = client.DescribeRiskSyscallWhiteLists(model)
|
2758
|
+
result = rsp.to_json_string()
|
2759
|
+
try:
|
2760
|
+
json_obj = json.loads(result)
|
2761
|
+
except TypeError as e:
|
2762
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
2763
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
2764
|
+
break
|
2765
|
+
cur_time = time.time()
|
2766
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
2767
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
2768
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
2769
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
2770
|
+
else:
|
2771
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
2772
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
2773
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2774
|
+
|
2775
|
+
|
2724
2776
|
def doDescribeClusterDetail(args, parsed_globals):
|
2725
2777
|
g_param = parse_global_arg(parsed_globals)
|
2726
2778
|
|
@@ -16813,7 +16865,7 @@ def doRenewImageAuthorizeState(args, parsed_globals):
|
|
16813
16865
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
16814
16866
|
|
16815
16867
|
|
16816
|
-
def
|
16868
|
+
def doDescribeEventEscapeImageList(args, parsed_globals):
|
16817
16869
|
g_param = parse_global_arg(parsed_globals)
|
16818
16870
|
|
16819
16871
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -16842,11 +16894,11 @@ def doDescribeRiskSyscallWhiteLists(args, parsed_globals):
|
|
16842
16894
|
client = mod.TcssClient(cred, g_param[OptionsDefine.Region], profile)
|
16843
16895
|
client._sdkVersion += ("_CLI_" + __version__)
|
16844
16896
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
16845
|
-
model = models.
|
16897
|
+
model = models.DescribeEventEscapeImageListRequest()
|
16846
16898
|
model.from_json_string(json.dumps(args))
|
16847
16899
|
start_time = time.time()
|
16848
16900
|
while True:
|
16849
|
-
rsp = client.
|
16901
|
+
rsp = client.DescribeEventEscapeImageList(model)
|
16850
16902
|
result = rsp.to_json_string()
|
16851
16903
|
try:
|
16852
16904
|
json_obj = json.loads(result)
|
@@ -17604,6 +17656,7 @@ ACTION_MAP = {
|
|
17604
17656
|
"DeleteMachine": doDeleteMachine,
|
17605
17657
|
"DescribeAssetImageRegistryRegistryList": doDescribeAssetImageRegistryRegistryList,
|
17606
17658
|
"ModifyAssetImageRegistryScanStop": doModifyAssetImageRegistryScanStop,
|
17659
|
+
"DescribeRiskSyscallWhiteLists": doDescribeRiskSyscallWhiteLists,
|
17607
17660
|
"DescribeClusterDetail": doDescribeClusterDetail,
|
17608
17661
|
"DescribeAssetImageRegistryVirusList": doDescribeAssetImageRegistryVirusList,
|
17609
17662
|
"UpdateImageRegistryTimingScanTask": doUpdateImageRegistryTimingScanTask,
|
@@ -17875,7 +17928,7 @@ ACTION_MAP = {
|
|
17875
17928
|
"DescribeNetworkFirewallPolicyDetail": doDescribeNetworkFirewallPolicyDetail,
|
17876
17929
|
"DescribeAssetImageRegistryVulListExport": doDescribeAssetImageRegistryVulListExport,
|
17877
17930
|
"RenewImageAuthorizeState": doRenewImageAuthorizeState,
|
17878
|
-
"
|
17931
|
+
"DescribeEventEscapeImageList": doDescribeEventEscapeImageList,
|
17879
17932
|
"DescribeAssetImageRegistryVulList": doDescribeAssetImageRegistryVulList,
|
17880
17933
|
"DescribeEscapeEventTypeSummary": doDescribeEscapeEventTypeSummary,
|
17881
17934
|
"DescribeVirusAutoIsolateSampleList": doDescribeVirusAutoIsolateSampleList,
|