tccli 3.0.1080.1__py2.py3-none-any.whl → 3.0.1082.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/examples/live/v20180801/DescribeBackupStreamList.md +2 -0
  3. tccli/examples/live/v20180801/DescribeLiveWatermarks.md +11 -9
  4. tccli/examples/tag/v20180813/AddProject.md +4 -4
  5. tccli/examples/tag/v20180813/UpdateProject.md +4 -4
  6. tccli/examples/trtc/v20190722/DescribeWebRecord.md +21 -0
  7. tccli/examples/trtc/v20190722/StartWebRecord.md +31 -0
  8. tccli/examples/trtc/v20190722/StopWebRecord.md +20 -0
  9. tccli/services/cbs/v20170312/api.json +10 -1
  10. tccli/services/cdn/v20180606/api.json +15 -6
  11. tccli/services/cwp/v20180228/api.json +41 -2
  12. tccli/services/dlc/v20210125/api.json +11 -0
  13. tccli/services/ess/v20201111/api.json +1 -1
  14. tccli/services/faceid/v20180301/api.json +2 -2
  15. tccli/services/hai/v20230812/api.json +10 -0
  16. tccli/services/lcic/v20220817/api.json +26 -26
  17. tccli/services/live/v20180801/api.json +34 -3
  18. tccli/services/live/v20180801/examples.json +2 -2
  19. tccli/services/tag/v20180813/api.json +14 -12
  20. tccli/services/tag/v20180813/examples.json +7 -7
  21. tccli/services/teo/v20220901/api.json +8 -8
  22. tccli/services/trtc/trtc_client.py +163 -4
  23. tccli/services/trtc/v20190722/api.json +201 -1
  24. tccli/services/trtc/v20190722/examples.json +24 -0
  25. tccli/services/tse/v20201207/api.json +2 -2
  26. {tccli-3.0.1080.1.dist-info → tccli-3.0.1082.1.dist-info}/METADATA +2 -2
  27. {tccli-3.0.1080.1.dist-info → tccli-3.0.1082.1.dist-info}/RECORD +30 -27
  28. {tccli-3.0.1080.1.dist-info → tccli-3.0.1082.1.dist-info}/WHEEL +0 -0
  29. {tccli-3.0.1080.1.dist-info → tccli-3.0.1082.1.dist-info}/entry_points.txt +0 -0
  30. {tccli-3.0.1080.1.dist-info → tccli-3.0.1082.1.dist-info}/license_files/LICENSE +0 -0
@@ -5461,6 +5461,7 @@
5461
5461
  "example": "无",
5462
5462
  "member": "BackupStreamGroupInfo",
5463
5463
  "name": "StreamInfoList",
5464
+ "output_required": true,
5464
5465
  "type": "list",
5465
5466
  "value_allowed_null": true
5466
5467
  },
@@ -8452,7 +8453,35 @@
8452
8453
  },
8453
8454
  "DescribeLiveWatermarksRequest": {
8454
8455
  "document": "DescribeLiveWatermarks请求参数结构体",
8455
- "members": [],
8456
+ "members": [
8457
+ {
8458
+ "disabled": false,
8459
+ "document": "水印名称",
8460
+ "example": "无",
8461
+ "member": "string",
8462
+ "name": "Name",
8463
+ "required": false,
8464
+ "type": "string"
8465
+ },
8466
+ {
8467
+ "disabled": false,
8468
+ "document": "分页的索引参数,从1开始",
8469
+ "example": "1",
8470
+ "member": "uint64",
8471
+ "name": "PageNo",
8472
+ "required": false,
8473
+ "type": "int"
8474
+ },
8475
+ {
8476
+ "disabled": false,
8477
+ "document": "分页的大小参数,默认值500",
8478
+ "example": "10",
8479
+ "member": "uint64",
8480
+ "name": "PageSize",
8481
+ "required": false,
8482
+ "type": "int"
8483
+ }
8484
+ ],
8456
8485
  "type": "object"
8457
8486
  },
8458
8487
  "DescribeLiveWatermarksResponse": {
@@ -8461,18 +8490,20 @@
8461
8490
  {
8462
8491
  "disabled": false,
8463
8492
  "document": "水印总个数。",
8464
- "example": "",
8493
+ "example": "10",
8465
8494
  "member": "uint64",
8466
8495
  "name": "TotalNum",
8496
+ "output_required": true,
8467
8497
  "type": "int",
8468
8498
  "value_allowed_null": false
8469
8499
  },
8470
8500
  {
8471
8501
  "disabled": false,
8472
8502
  "document": "水印信息列表。",
8473
- "example": "",
8503
+ "example": "水印信息列表",
8474
8504
  "member": "WatermarkInfo",
8475
8505
  "name": "WatermarkList",
8506
+ "output_required": true,
8476
8507
  "type": "list",
8477
8508
  "value_allowed_null": false
8478
8509
  },
@@ -412,7 +412,7 @@
412
412
  {
413
413
  "document": "查询在推的主备流。",
414
414
  "input": "POST / HTTP/1.1\nHost: live.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeBackupStreamList\n<公共请求参数>\n\n{\n \"StreamName\": \"stream1\"\n}",
415
- "output": "{\n \"Response\": {\n \"RequestId\": \"4b3d1d04-6f79-4f56-a8e7-46de97de1713\",\n \"StreamInfoList\": [\n {\n \"StreamName\": \"stream1\",\n \"BackupList\": [\n {\n \"DomainName\": \"5000.livepush.com\",\n \"AppName\": \"live\",\n \"PublishTime\": \"2018-06-29T19:00:00Z\",\n \"UpstreamSequence\": \"710313341080024595\",\n \"SourceFrom\": \"直推流\",\n \"MasterFlag\": 0\n },\n {\n \"DomainName\": \"5000.livepush.com\",\n \"AppName\": \"gifshow\",\n \"PublishTime\": \"2018-06-29T19:00:00Z\",\n \"UpstreamSequence\": \"710313341080024599\",\n \"SourceFrom\": \"拉流转推(123)\",\n \"MasterFlag\": 1\n }\n ]\n }\n ]\n }\n}",
415
+ "output": "{\n \"Response\": {\n \"RequestId\": \"4b3d1d04-6f79-4f56-a8e7-46de97de1713\",\n \"StreamInfoList\": [\n {\n \"OptimalEnable\": 0,\n \"HostGroupName\": \"\",\n \"StreamName\": \"stream1\",\n \"BackupList\": [\n {\n \"DomainName\": \"5000.livepush.com\",\n \"AppName\": \"live\",\n \"PublishTime\": \"2018-06-29T19:00:00Z\",\n \"UpstreamSequence\": \"710313341080024595\",\n \"SourceFrom\": \"直推流\",\n \"MasterFlag\": 0\n },\n {\n \"DomainName\": \"5000.livepush.com\",\n \"AppName\": \"gifshow\",\n \"PublishTime\": \"2018-06-29T19:00:00Z\",\n \"UpstreamSequence\": \"710313341080024599\",\n \"SourceFrom\": \"拉流转推(123)\",\n \"MasterFlag\": 1\n }\n ]\n }\n ]\n }\n}",
416
416
  "title": "请求示例"
417
417
  }
418
418
  ],
@@ -828,7 +828,7 @@
828
828
  {
829
829
  "document": "",
830
830
  "input": "https://live.tencentcloudapi.com/?Action=DescribeLiveWatermarks\n&<公共请求参数>",
831
- "output": "{\n \"Response\": {\n \"RequestId\": \"3c140219-cfe9-470e-b241-907877d6fb03\",\n \"TotalNum\": 1,\n \"WatermarkList\": [\n {\n \"WatermarkId\": 123,\n \"PictureUrl\": \"http://watermark.myqcloud.com/watermark_img_Alogo1.png\",\n \"XPosition\": 80,\n \"YPosition\": 10,\n \"Width\": 0,\n \"Height\": 0,\n \"WatermarkName\": \"logo\",\n \"Status\": 1,\n \"CreateTime\": \"2018-09-07T15:55:23Z\"\n }\n ]\n }\n}",
831
+ "output": "{\n \"Response\": {\n \"TotalNum\": 1,\n \"WatermarkList\": [\n {\n \"WatermarkId\": 0,\n \"PictureUrl\": \"abc\",\n \"XPosition\": 0,\n \"YPosition\": 0,\n \"WatermarkName\": \"abc\",\n \"Status\": 0,\n \"CreateTime\": \"abc\",\n \"Width\": 0,\n \"Height\": 0,\n \"BackgroundWidth\": 0,\n \"BackgroundHeight\": 0\n }\n ],\n \"RequestId\": \"abc\"\n }\n}",
832
832
  "title": "请求示例"
833
833
  }
834
834
  ],
@@ -231,7 +231,7 @@
231
231
  {
232
232
  "disabled": false,
233
233
  "document": "项目名称",
234
- "example": "",
234
+ "example": "测试项目",
235
235
  "member": "string",
236
236
  "name": "ProjectName",
237
237
  "required": true,
@@ -240,7 +240,7 @@
240
240
  {
241
241
  "disabled": false,
242
242
  "document": "项目描述",
243
- "example": "",
243
+ "example": "项目描述",
244
244
  "member": "string",
245
245
  "name": "Info",
246
246
  "required": false,
@@ -255,18 +255,20 @@
255
255
  {
256
256
  "disabled": false,
257
257
  "document": "项目Id",
258
- "example": "",
258
+ "example": "1001",
259
259
  "member": "uint64",
260
260
  "name": "ProjectId",
261
+ "output_required": true,
261
262
  "type": "int",
262
263
  "value_allowed_null": false
263
264
  },
264
265
  {
265
266
  "disabled": false,
266
- "document": "是否为新项目",
267
- "example": "",
267
+ "document": "是否为新项目,1是新项目,0不是新项目",
268
+ "example": "1",
268
269
  "member": "int64",
269
270
  "name": "IsNew",
271
+ "output_required": true,
270
272
  "type": "int",
271
273
  "value_allowed_null": false
272
274
  },
@@ -2114,7 +2116,7 @@
2114
2116
  "members": [
2115
2117
  {
2116
2118
  "disabled": false,
2117
- "document": "获取的下一页的Token",
2119
+ "document": "获取的下一页的Token值,如果当前是最后一页,返回为空",
2118
2120
  "example": "无",
2119
2121
  "member": "string",
2120
2122
  "name": "PaginationToken",
@@ -2188,7 +2190,7 @@
2188
2190
  "members": [
2189
2191
  {
2190
2192
  "disabled": false,
2191
- "document": "获取的下一页的Token",
2193
+ "document": "获取的下一页的Token值,如果当前是最后一页,返回为空",
2192
2194
  "example": "POzXXYGXh2fRDHxx7PGaJnLApcyIuAYBC5HX25gKI4Sz2R*********",
2193
2195
  "member": "string",
2194
2196
  "name": "PaginationToken",
@@ -2262,7 +2264,7 @@
2262
2264
  "members": [
2263
2265
  {
2264
2266
  "disabled": false,
2265
- "document": "获取的下一页的Token",
2267
+ "document": "获取的下一页的Token值,如果当前是最后一页,返回为空",
2266
2268
  "example": "POzXXYGXh2fRDHxx7PGaJnLApcyIuAYBC5HX25gKI4Sz2R*********",
2267
2269
  "member": "string",
2268
2270
  "name": "PaginationToken",
@@ -2871,7 +2873,7 @@
2871
2873
  {
2872
2874
  "disabled": false,
2873
2875
  "document": "项目ID",
2874
- "example": "",
2876
+ "example": "1001",
2875
2877
  "member": "uint64",
2876
2878
  "name": "ProjectId",
2877
2879
  "required": true,
@@ -2880,7 +2882,7 @@
2880
2882
  {
2881
2883
  "disabled": false,
2882
2884
  "document": "项目名称",
2883
- "example": "",
2885
+ "example": "测试项目",
2884
2886
  "member": "string",
2885
2887
  "name": "ProjectName",
2886
2888
  "required": false,
@@ -2889,7 +2891,7 @@
2889
2891
  {
2890
2892
  "disabled": false,
2891
2893
  "document": "禁用项目,1,禁用,0,启用",
2892
- "example": "",
2894
+ "example": "0",
2893
2895
  "member": "int64",
2894
2896
  "name": "Disable",
2895
2897
  "required": false,
@@ -2898,7 +2900,7 @@
2898
2900
  {
2899
2901
  "disabled": false,
2900
2902
  "document": "备注",
2901
- "example": "",
2903
+ "example": "备注信息",
2902
2904
  "member": "string",
2903
2905
  "name": "Info",
2904
2906
  "required": false,
@@ -2,9 +2,9 @@
2
2
  "actions": {
3
3
  "AddProject": [
4
4
  {
5
- "document": "",
6
- "input": "https://tag.tencentcloudapi.com/?Action=AddProject\r\n&ProjectName=tp2\r\n&<公共请求参数>",
7
- "output": "{\n \"Response\": {\n \"IsNew\": 1,\n \"ProjectId\": 1024690,\n \"RequestId\": \"caf5c6ba-b21b-4769-b0bb-0b3090e0c282\"\n }\n}",
5
+ "document": "创建项目",
6
+ "input": "POST / HTTP/1.1\nHost: tag.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: AddProject\n<公共请求参数>\n\n{\n \"ProjectName\": \"测试项目\"\n}",
7
+ "output": "{\n \"Response\": {\n \"IsNew\": 1,\n \"ProjectId\": 1001,\n \"RequestId\": \"7f831036-30b5-4972-a729-e6851a15d345\"\n }\n}",
8
8
  "title": "创建项目"
9
9
  }
10
10
  ],
@@ -67,7 +67,7 @@
67
67
  "DescribeProjects": [
68
68
  {
69
69
  "document": "",
70
- "input": "POST / HTTP/1.1\nHost: tag.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeProjects\n<公共请求参数>\n\n{\n \"Limit\": \"500\",\n \"AllList\": \"0\",\n \"Offset\": \"0\"\n}",
70
+ "input": "POST / HTTP/1.1\nHost: tag.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeProjects\n<公共请求参数>\n\n{\n \"Limit\": 500,\n \"AllList\": 0,\n \"Offset\": 0\n}",
71
71
  "output": "{\n \"Response\": {\n \"Total\": 1,\n \"Projects\": [\n {\n \"ProjectId\": 1000101,\n \"ProjectName\": \"test1\",\n \"CreatorUin\": 100000012345,\n \"ProjectInfo\": \"\",\n \"CreateTime\": \"2021-10-13 11:03:30\"\n }\n ],\n \"RequestId\": \"d75bbc07-f5bd-4020-b4bd-f877e9ccd1db\"\n }\n}",
72
72
  "title": "获取项目列表"
73
73
  }
@@ -246,9 +246,9 @@
246
246
  ],
247
247
  "UpdateProject": [
248
248
  {
249
- "document": "",
250
- "input": "https://tag.tencentcloudapi.com/?Action=UpdateProject\r\n&ProjectId=1024690\r\n&ProjectName=test\r\n&<公共请求参数>",
251
- "output": "{\n \"Response\": {\n \"RequestId\": \"f26b281e-0cbc-40ab-a38b-e9e62ef6fd24\"\n }\n}",
249
+ "document": "修改项目名称",
250
+ "input": "POST / HTTP/1.1\nHost: tag.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: UpdateProject\n<公共请求参数>\n\n{\n \"ProjectId\": 1001,\n \"ProjectName\": \"项目名称\"\n}",
251
+ "output": "{\n \"Response\": {\n \"RequestId\": \"87ccfc15-4c5a-4f0a-b5f1-eae50aad9e9a\"\n }\n}",
252
252
  "title": "修改项目名称"
253
253
  }
254
254
  ],
@@ -113,7 +113,7 @@
113
113
  "status": "online"
114
114
  },
115
115
  "CreateRealtimeLogDeliveryTask": {
116
- "document": "通过本接口创建实时日志投递任务。本接口有如下限制:\n同一个实体(七层域名或者四层代理实例)在同种数据投递类型(LogType)和数据投递区域(Area)的组合下,只能被添加到一个实时日志投递任务中。建议先通过 [DescribeRealtimeLogDeliveryTasks](https://tcloud4api.woa.com/document/product/1657/343539?!preview&!document=1) 接口根据实体查询实时日志投递任务列表,检查实体是否已经被添加到另一实时日志投递任务中。",
116
+ "document": "通过本接口创建实时日志投递任务。本接口有如下限制:\n同一个实体(七层域名或者四层代理实例)在同种数据投递类型(LogType)和数据投递区域(Area)的组合下,只能被添加到一个实时日志投递任务中。建议先通过 [DescribeRealtimeLogDeliveryTasks](https://cloud.tencent.com/document/product/1552/104110) 接口根据实体查询实时日志投递任务列表,检查实体是否已经被添加到另一实时日志投递任务中。",
117
117
  "input": "CreateRealtimeLogDeliveryTaskRequest",
118
118
  "name": "创建实时日志投递任务",
119
119
  "output": "CreateRealtimeLogDeliveryTaskResponse",
@@ -1129,7 +1129,7 @@
1129
1129
  "members": [
1130
1130
  {
1131
1131
  "disabled": false,
1132
- "document": "常规功能操作,选择该类型的功能项有:\n<li> 访问URL 重写(AccessUrlRedirect);</li>\n<li> 回源 URL 重写 (UpstreamUrlRedirect);</li>\n<li> QUIC(QUIC);</li>\n<li> WebSocket (WebSocket);</li>\n<li> 视频拖拽(VideoSeek);</li>\n<li> Token 鉴权(Authentication);</li>\n<li> 自定义CacheKey(CacheKey);</li>\n<li> 节点缓存 TTL (Cache);</li>\n<li> 浏览器缓存 TTL(MaxAge);</li>\n<li> 离线缓存(OfflineCache);</li>\n<li> 智能加速(SmartRouting);</li>\n<li> 分片回源(RangeOriginPull);</li>\n<li> HTTP/2 回源(UpstreamHttp2);</li>\n<li> Host Header 重写(HostHeader);</li>\n<li> 强制 HTTPS(ForceRedirect);</li>\n<li> 回源 HTTPS(OriginPullProtocol);</li>\n<li> 缓存预刷新(CachePrefresh);</li>\n<li> 智能压缩(Compression);</li>\n<li> Hsts;</li>\n<li> ClientIpHeader;</li>\n<li> SslTlsSecureConf;</li>\n<li> OcspStapling;</li>\n<li> HTTP/2 访问(Http2);</li>\n<li> 回源跟随重定向(UpstreamFollowRedirect);</li>\n<li> 修改源站(Origin)。</li>\n注意:此字段可能返回 null,表示取不到有效值。",
1132
+ "document": "常规功能操作,选择该类型的功能项有:\n<li> 访问URL 重写(AccessUrlRedirect);</li>\n<li> 回源 URL 重写 (UpstreamUrlRedirect);</li>\n<li> QUIC(QUIC);</li>\n<li> WebSocket (WebSocket);</li>\n<li> 视频拖拽(VideoSeek);</li>\n<li> Token 鉴权(Authentication);</li>\n<li> 自定义CacheKey(CacheKey);</li>\n<li> 节点缓存 TTL (Cache);</li>\n<li> 浏览器缓存 TTL(MaxAge);</li>\n<li> 离线缓存(OfflineCache);</li>\n<li> 智能加速(SmartRouting);</li>\n<li> 分片回源(RangeOriginPull);</li>\n<li> HTTP/2 回源(UpstreamHttp2);</li>\n<li> Host Header 重写(HostHeader);</li>\n<li> 强制 HTTPS(ForceRedirect);</li>\n<li> 回源 HTTPS(OriginPullProtocol);</li>\n<li> 缓存预刷新(CachePrefresh);</li>\n<li> 智能压缩(Compression);</li>\n<li> Hsts;</li>\n<li> ClientIpHeader;</li>\n<li> SslTlsSecureConf;</li>\n<li> OcspStapling;</li>\n<li> HTTP/2 访问(Http2);</li>\n<li> 回源跟随重定向(UpstreamFollowRedirect);</li>\n<li> 修改源站(Origin)。</li>\n<li> 七层回源超时(HTTPUpstreamTimeout)。</li>\n<li> Http应答(HttpResponse)。</li>\n注意:此字段可能返回 null,表示取不到有效值。",
1133
1133
  "example": "无",
1134
1134
  "member": "NormalAction",
1135
1135
  "name": "NormalAction",
@@ -1966,7 +1966,7 @@
1966
1966
  },
1967
1967
  {
1968
1968
  "disabled": false,
1969
- "document": "指定绑定或解绑的策略模板 ID ",
1969
+ "document": "指定绑定或解绑的策略模板 ID 或站点全局策略\n- 如需绑定至策略模板,或从策略模板解绑,请指定策略模板 ID。\n- 如需绑定至站点全局策略,或从站点全局策略解绑,请使用 @ZoneLevel@domain 参数值。\n\n注意:解绑后,域名将使用独立策略,并单独计算规则配额,请确保解绑前套餐规则配额充足。",
1970
1970
  "example": "temp-wj86oi2",
1971
1971
  "member": "string",
1972
1972
  "name": "TemplateId",
@@ -11552,7 +11552,7 @@
11552
11552
  },
11553
11553
  {
11554
11554
  "disabled": false,
11555
- "document": "子域名/应用名。当使用Entity时可不填写TemplateId,否则必须填写TemplateId",
11555
+ "document": "子域名/应用名。\n\n注意:当同时指定本参数和 TemplateId 参数时,本参数不生效。请勿同时指定本参数和 TemplateId 参数。",
11556
11556
  "example": "a.test.com",
11557
11557
  "member": "string",
11558
11558
  "name": "Entity",
@@ -11561,8 +11561,8 @@
11561
11561
  },
11562
11562
  {
11563
11563
  "disabled": false,
11564
- "document": "模板策略id。当使用模板Id时可不填Entity,否则必须填写Entity",
11565
- "example": "1",
11564
+ "document": "指定模板策略 ID,或指定站点全局策略。\n- 如需配置策略模板,请指定策略模板 ID。\n- 如需配置站点全局策略,请使用 @ZoneLevel@Domain 参数值\n\n注意:当使用本参数时,Entity 参数不生效。请勿同时使用本参数和 Entity 参数。",
11565
+ "example": "temp-wj86oi2",
11566
11566
  "member": "string",
11567
11567
  "name": "TemplateId",
11568
11568
  "required": false,
@@ -13743,7 +13743,7 @@
13743
13743
  },
13744
13744
  {
13745
13745
  "disabled": false,
13746
- "document": "匹配类型,取值有: <li> filename:文件名; </li> <li> extension:文件后缀; </li> <li> host:HOST; </li> <li> full_url:URL Full,当前站点下完整 URL 路径,必须包含 HTTP 协议,Host 和 路径; </li> <li> url:URL Path,当前站点下 URL 路径的请求; </li><li>client_country:客户端国家/地区;</li> <li> query_string:查询字符串,当前站点下请求URL的查询字符串; </li> <li> request_header:HTTP请求头部。 </li>",
13746
+ "document": "匹配类型,取值有: <li> filename:文件名; </li> <li> extension:文件后缀; </li> <li> host:HOST; </li> <li> full_url:URL Full,当前站点下完整 URL 路径,必须包含 HTTP 协议,Host 和 路径; </li> <li> url:URL Path,当前站点下 URL 路径的请求; </li><li>client_country:客户端国家/地区;</li> <li> query_string:查询字符串,当前站点下请求URL的查询字符串; </li> <li> request_header:HTTP请求头部。 </li><li> client_ip:客户端 IP。 </li>",
13747
13747
  "example": "url",
13748
13748
  "member": "string",
13749
13749
  "name": "Target",
@@ -13754,7 +13754,7 @@
13754
13754
  },
13755
13755
  {
13756
13756
  "disabled": false,
13757
- "document": "对应匹配类型的参数值,仅在匹配类型为查询字符串或HTTP请求头并且运算符取值为存在或不存在时允许传空数组,对应匹配类型有:\n<li> 文件后缀:jpg、txt等文件后缀;</li>\n<li> 文件名称:例如 foo.jpg 中的 foo;</li>\n<li> 全部(站点任意请求): all; </li>\n<li> HOST:当前站点下的 host ,例如www.maxx55.com;</li>\n<li> URL Path:当前站点下 URL 路径的请求,例如:/example;</li>\n<li> URL Full:当前站点下完整 URL 请求,必须包含 HTTP 协议,Host 和 路径,例如:https://www.maxx55.cn/example;</li>\n<li> 客户端国家/地区:符合ISO3166标准的国家/地区标识;</li>\n<li> 查询字符串: 当前站点下URL请求中查询字符串的参数值,例如lang=cn&version=1中的cn和1; </li>\n<li> HTTP 请求头: HTTP请求头部字段值,例如Accept-Language:zh-CN,zh;q=0.9中的zh-CN,zh;q=0.9。 </li>",
13757
+ "document": "对应匹配类型的参数值,仅在匹配类型为查询字符串或HTTP请求头并且运算符取值为存在或不存在时允许传空数组,对应匹配类型有:\n<li> 文件后缀:jpg、txt等文件后缀;</li>\n<li> 文件名称:例如 foo.jpg 中的 foo;</li>\n<li> 全部(站点任意请求): all; </li>\n<li> HOST:当前站点下的 host ,例如www.maxx55.com;</li>\n<li> URL Path:当前站点下 URL 路径的请求,例如:/example;</li>\n<li> URL Full:当前站点下完整 URL 请求,必须包含 HTTP 协议,Host 和 路径,例如:https://www.maxx55.cn/example;</li>\n<li> 客户端国家/地区:符合ISO3166标准的国家/地区标识;</li>\n<li> 查询字符串: 当前站点下URL请求中查询字符串的参数值,例如lang=cn&version=1中的cn和1; </li>\n<li> HTTP 请求头: HTTP请求头部字段值,例如Accept-Language:zh-CN,zh;q=0.9中的zh-CN,zh;q=0.9。 </li>\n<li> 客户端 IP: 当前请求携带的客户端请求IP,支持IPv4 IPv6, 支持IP段。 </li>",
13758
13758
  "example": "[\"www.maxx55.com\"]",
13759
13759
  "member": "string",
13760
13760
  "name": "Values",
@@ -225,6 +225,58 @@ def doDescribeTRTCMarketQualityMetricData(args, parsed_globals):
225
225
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
226
226
 
227
227
 
228
+ def doDeleteCloudRecording(args, parsed_globals):
229
+ g_param = parse_global_arg(parsed_globals)
230
+
231
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
232
+ cred = credential.CVMRoleCredential()
233
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
234
+ cred = credential.STSAssumeRoleCredential(
235
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
236
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
237
+ )
238
+ 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):
239
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
240
+ else:
241
+ cred = credential.Credential(
242
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
243
+ )
244
+ http_profile = HttpProfile(
245
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
246
+ reqMethod="POST",
247
+ endpoint=g_param[OptionsDefine.Endpoint],
248
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
249
+ )
250
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
251
+ if g_param[OptionsDefine.Language]:
252
+ profile.language = g_param[OptionsDefine.Language]
253
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
254
+ client = mod.TrtcClient(cred, g_param[OptionsDefine.Region], profile)
255
+ client._sdkVersion += ("_CLI_" + __version__)
256
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
257
+ model = models.DeleteCloudRecordingRequest()
258
+ model.from_json_string(json.dumps(args))
259
+ start_time = time.time()
260
+ while True:
261
+ rsp = client.DeleteCloudRecording(model)
262
+ result = rsp.to_json_string()
263
+ try:
264
+ json_obj = json.loads(result)
265
+ except TypeError as e:
266
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
267
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
268
+ break
269
+ cur_time = time.time()
270
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
271
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
272
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
273
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
274
+ else:
275
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
276
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
277
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
278
+
279
+
228
280
  def doStartPublishCdnStream(args, parsed_globals):
229
281
  g_param = parse_global_arg(parsed_globals)
230
282
 
@@ -953,6 +1005,58 @@ def doDescribeUserEvent(args, parsed_globals):
953
1005
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
954
1006
 
955
1007
 
1008
+ def doStartWebRecord(args, parsed_globals):
1009
+ g_param = parse_global_arg(parsed_globals)
1010
+
1011
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1012
+ cred = credential.CVMRoleCredential()
1013
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1014
+ cred = credential.STSAssumeRoleCredential(
1015
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1016
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1017
+ )
1018
+ 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):
1019
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1020
+ else:
1021
+ cred = credential.Credential(
1022
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1023
+ )
1024
+ http_profile = HttpProfile(
1025
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1026
+ reqMethod="POST",
1027
+ endpoint=g_param[OptionsDefine.Endpoint],
1028
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1029
+ )
1030
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1031
+ if g_param[OptionsDefine.Language]:
1032
+ profile.language = g_param[OptionsDefine.Language]
1033
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1034
+ client = mod.TrtcClient(cred, g_param[OptionsDefine.Region], profile)
1035
+ client._sdkVersion += ("_CLI_" + __version__)
1036
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1037
+ model = models.StartWebRecordRequest()
1038
+ model.from_json_string(json.dumps(args))
1039
+ start_time = time.time()
1040
+ while True:
1041
+ rsp = client.StartWebRecord(model)
1042
+ result = rsp.to_json_string()
1043
+ try:
1044
+ json_obj = json.loads(result)
1045
+ except TypeError as e:
1046
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1047
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1048
+ break
1049
+ cur_time = time.time()
1050
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1051
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1052
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1053
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1054
+ else:
1055
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1056
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1057
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1058
+
1059
+
956
1060
  def doStartMCUMixTranscode(args, parsed_globals):
957
1061
  g_param = parse_global_arg(parsed_globals)
958
1062
 
@@ -1057,6 +1161,58 @@ def doDescribeTRTCMarketScaleData(args, parsed_globals):
1057
1161
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1058
1162
 
1059
1163
 
1164
+ def doStopWebRecord(args, parsed_globals):
1165
+ g_param = parse_global_arg(parsed_globals)
1166
+
1167
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1168
+ cred = credential.CVMRoleCredential()
1169
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1170
+ cred = credential.STSAssumeRoleCredential(
1171
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1172
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1173
+ )
1174
+ 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):
1175
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1176
+ else:
1177
+ cred = credential.Credential(
1178
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1179
+ )
1180
+ http_profile = HttpProfile(
1181
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1182
+ reqMethod="POST",
1183
+ endpoint=g_param[OptionsDefine.Endpoint],
1184
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1185
+ )
1186
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1187
+ if g_param[OptionsDefine.Language]:
1188
+ profile.language = g_param[OptionsDefine.Language]
1189
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1190
+ client = mod.TrtcClient(cred, g_param[OptionsDefine.Region], profile)
1191
+ client._sdkVersion += ("_CLI_" + __version__)
1192
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1193
+ model = models.StopWebRecordRequest()
1194
+ model.from_json_string(json.dumps(args))
1195
+ start_time = time.time()
1196
+ while True:
1197
+ rsp = client.StopWebRecord(model)
1198
+ result = rsp.to_json_string()
1199
+ try:
1200
+ json_obj = json.loads(result)
1201
+ except TypeError as e:
1202
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1203
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1204
+ break
1205
+ cur_time = time.time()
1206
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1207
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1208
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1209
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1210
+ else:
1211
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1212
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1213
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1214
+
1215
+
1060
1216
  def doCreateCloudRecording(args, parsed_globals):
1061
1217
  g_param = parse_global_arg(parsed_globals)
1062
1218
 
@@ -1941,7 +2097,7 @@ def doDescribeTRTCRealTimeQualityData(args, parsed_globals):
1941
2097
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1942
2098
 
1943
2099
 
1944
- def doDeleteCloudRecording(args, parsed_globals):
2100
+ def doDescribeWebRecord(args, parsed_globals):
1945
2101
  g_param = parse_global_arg(parsed_globals)
1946
2102
 
1947
2103
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -1970,11 +2126,11 @@ def doDeleteCloudRecording(args, parsed_globals):
1970
2126
  client = mod.TrtcClient(cred, g_param[OptionsDefine.Region], profile)
1971
2127
  client._sdkVersion += ("_CLI_" + __version__)
1972
2128
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
1973
- model = models.DeleteCloudRecordingRequest()
2129
+ model = models.DescribeWebRecordRequest()
1974
2130
  model.from_json_string(json.dumps(args))
1975
2131
  start_time = time.time()
1976
2132
  while True:
1977
- rsp = client.DeleteCloudRecording(model)
2133
+ rsp = client.DescribeWebRecord(model)
1978
2134
  result = rsp.to_json_string()
1979
2135
  try:
1980
2136
  json_obj = json.loads(result)
@@ -2268,6 +2424,7 @@ ACTION_MAP = {
2268
2424
  "DescribeRoomInfo": doDescribeRoomInfo,
2269
2425
  "DescribeTrtcUsage": doDescribeTrtcUsage,
2270
2426
  "DescribeTRTCMarketQualityMetricData": doDescribeTRTCMarketQualityMetricData,
2427
+ "DeleteCloudRecording": doDeleteCloudRecording,
2271
2428
  "StartPublishCdnStream": doStartPublishCdnStream,
2272
2429
  "DescribeCallDetailInfo": doDescribeCallDetailInfo,
2273
2430
  "DescribeStreamIngest": doDescribeStreamIngest,
@@ -2282,8 +2439,10 @@ ACTION_MAP = {
2282
2439
  "RemoveUser": doRemoveUser,
2283
2440
  "ModifyCloudRecording": doModifyCloudRecording,
2284
2441
  "DescribeUserEvent": doDescribeUserEvent,
2442
+ "StartWebRecord": doStartWebRecord,
2285
2443
  "StartMCUMixTranscode": doStartMCUMixTranscode,
2286
2444
  "DescribeTRTCMarketScaleData": doDescribeTRTCMarketScaleData,
2445
+ "StopWebRecord": doStopWebRecord,
2287
2446
  "CreateCloudRecording": doCreateCloudRecording,
2288
2447
  "DescribeScaleInfo": doDescribeScaleInfo,
2289
2448
  "DescribeRelayUsage": doDescribeRelayUsage,
@@ -2301,7 +2460,7 @@ ACTION_MAP = {
2301
2460
  "ModifyPicture": doModifyPicture,
2302
2461
  "UpdatePublishCdnStream": doUpdatePublishCdnStream,
2303
2462
  "DescribeTRTCRealTimeQualityData": doDescribeTRTCRealTimeQualityData,
2304
- "DeleteCloudRecording": doDeleteCloudRecording,
2463
+ "DescribeWebRecord": doDescribeWebRecord,
2305
2464
  "DescribePicture": doDescribePicture,
2306
2465
  "DescribeTRTCMarketQualityData": doDescribeTRTCMarketQualityData,
2307
2466
  "StopPublishCdnStream": doStopPublishCdnStream,