tccli 3.0.1314.1__py2.py3-none-any.whl → 3.0.1316.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.
Files changed (44) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/bh/v20230418/api.json +2 -2
  3. tccli/services/cbs/v20170312/api.json +51 -40
  4. tccli/services/cbs/v20170312/examples.json +7 -7
  5. tccli/services/cdb/v20170320/api.json +32 -19
  6. tccli/services/cdwdoris/v20211228/api.json +20 -0
  7. tccli/services/cfs/v20190719/api.json +39 -39
  8. tccli/services/cfs/v20190719/examples.json +10 -10
  9. tccli/services/cfw/v20190904/api.json +4 -4
  10. tccli/services/cvm/v20170312/api.json +9 -9
  11. tccli/services/cynosdb/v20190107/api.json +139 -2
  12. tccli/services/dnspod/v20210323/api.json +17 -17
  13. tccli/services/emr/v20190103/api.json +10 -0
  14. tccli/services/ess/v20201111/api.json +29 -11
  15. tccli/services/ess/v20201111/examples.json +1 -1
  16. tccli/services/essbasic/v20210526/api.json +23 -5
  17. tccli/services/essbasic/v20210526/examples.json +1 -1
  18. tccli/services/gs/v20191118/api.json +22 -0
  19. tccli/services/hai/v20230812/api.json +58 -58
  20. tccli/services/hai/v20230812/examples.json +6 -6
  21. tccli/services/lke/v20231130/api.json +401 -7
  22. tccli/services/mps/mps_client.py +171 -12
  23. tccli/services/mps/v20190612/api.json +472 -0
  24. tccli/services/mps/v20190612/examples.json +24 -0
  25. tccli/services/postgres/postgres_client.py +16 -122
  26. tccli/services/postgres/v20170312/api.json +0 -86
  27. tccli/services/postgres/v20170312/examples.json +0 -22
  28. tccli/services/privatedns/v20201028/api.json +4 -4
  29. tccli/services/privatedns/v20201028/examples.json +2 -2
  30. tccli/services/pts/v20210728/api.json +10 -0
  31. tccli/services/ssl/v20191205/api.json +4 -4
  32. tccli/services/teo/v20220901/api.json +5 -5
  33. tccli/services/tke/tke_client.py +8 -61
  34. tccli/services/tke/v20180525/api.json +10 -108
  35. tccli/services/tke/v20180525/examples.json +0 -8
  36. tccli/services/tms/v20201229/api.json +27 -8
  37. tccli/services/tms/v20201229/examples.json +2 -2
  38. tccli/services/vpc/v20170312/api.json +11 -11
  39. tccli/services/vpc/v20170312/examples.json +2 -2
  40. {tccli-3.0.1314.1.dist-info → tccli-3.0.1316.1.dist-info}/METADATA +2 -2
  41. {tccli-3.0.1314.1.dist-info → tccli-3.0.1316.1.dist-info}/RECORD +44 -44
  42. {tccli-3.0.1314.1.dist-info → tccli-3.0.1316.1.dist-info}/WHEEL +0 -0
  43. {tccli-3.0.1314.1.dist-info → tccli-3.0.1316.1.dist-info}/entry_points.txt +0 -0
  44. {tccli-3.0.1314.1.dist-info → tccli-3.0.1316.1.dist-info}/license_files/LICENSE +0 -0
@@ -277,6 +277,58 @@ def doDeleteWatermarkTemplate(args, parsed_globals):
277
277
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
278
278
 
279
279
 
280
+ def doDescribeBatchTaskDetail(args, parsed_globals):
281
+ g_param = parse_global_arg(parsed_globals)
282
+
283
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
284
+ cred = credential.CVMRoleCredential()
285
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
286
+ cred = credential.STSAssumeRoleCredential(
287
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
288
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
289
+ )
290
+ 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):
291
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
292
+ else:
293
+ cred = credential.Credential(
294
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
295
+ )
296
+ http_profile = HttpProfile(
297
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
298
+ reqMethod="POST",
299
+ endpoint=g_param[OptionsDefine.Endpoint],
300
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
301
+ )
302
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
303
+ if g_param[OptionsDefine.Language]:
304
+ profile.language = g_param[OptionsDefine.Language]
305
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
306
+ client = mod.MpsClient(cred, g_param[OptionsDefine.Region], profile)
307
+ client._sdkVersion += ("_CLI_" + __version__)
308
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
309
+ model = models.DescribeBatchTaskDetailRequest()
310
+ model.from_json_string(json.dumps(args))
311
+ start_time = time.time()
312
+ while True:
313
+ rsp = client.DescribeBatchTaskDetail(model)
314
+ result = rsp.to_json_string()
315
+ try:
316
+ json_obj = json.loads(result)
317
+ except TypeError as e:
318
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
319
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
320
+ break
321
+ cur_time = time.time()
322
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
323
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
324
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
325
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
326
+ else:
327
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
328
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
329
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
330
+
331
+
280
332
  def doModifyLiveRecordTemplate(args, parsed_globals):
281
333
  g_param = parse_global_arg(parsed_globals)
282
334
 
@@ -1733,6 +1785,58 @@ def doExecuteFunction(args, parsed_globals):
1733
1785
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1734
1786
 
1735
1787
 
1788
+ def doBatchProcessMedia(args, parsed_globals):
1789
+ g_param = parse_global_arg(parsed_globals)
1790
+
1791
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1792
+ cred = credential.CVMRoleCredential()
1793
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1794
+ cred = credential.STSAssumeRoleCredential(
1795
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1796
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1797
+ )
1798
+ 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):
1799
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1800
+ else:
1801
+ cred = credential.Credential(
1802
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1803
+ )
1804
+ http_profile = HttpProfile(
1805
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1806
+ reqMethod="POST",
1807
+ endpoint=g_param[OptionsDefine.Endpoint],
1808
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1809
+ )
1810
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1811
+ if g_param[OptionsDefine.Language]:
1812
+ profile.language = g_param[OptionsDefine.Language]
1813
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1814
+ client = mod.MpsClient(cred, g_param[OptionsDefine.Region], profile)
1815
+ client._sdkVersion += ("_CLI_" + __version__)
1816
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1817
+ model = models.BatchProcessMediaRequest()
1818
+ model.from_json_string(json.dumps(args))
1819
+ start_time = time.time()
1820
+ while True:
1821
+ rsp = client.BatchProcessMedia(model)
1822
+ result = rsp.to_json_string()
1823
+ try:
1824
+ json_obj = json.loads(result)
1825
+ except TypeError as e:
1826
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1827
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1828
+ break
1829
+ cur_time = time.time()
1830
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1831
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1832
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1833
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1834
+ else:
1835
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1836
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1837
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1838
+
1839
+
1736
1840
  def doDescribeStreamLinkFlows(args, parsed_globals):
1737
1841
  g_param = parse_global_arg(parsed_globals)
1738
1842
 
@@ -1837,6 +1941,58 @@ def doDescribeSnapshotByTimeOffsetTemplates(args, parsed_globals):
1837
1941
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1838
1942
 
1839
1943
 
1944
+ def doDeleteSampleSnapshotTemplate(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.MpsClient(cred, g_param[OptionsDefine.Region], profile)
1971
+ client._sdkVersion += ("_CLI_" + __version__)
1972
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1973
+ model = models.DeleteSampleSnapshotTemplateRequest()
1974
+ model.from_json_string(json.dumps(args))
1975
+ start_time = time.time()
1976
+ while True:
1977
+ rsp = client.DeleteSampleSnapshotTemplate(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
+
1840
1996
  def doDeleteStreamLinkOutput(args, parsed_globals):
1841
1997
  g_param = parse_global_arg(parsed_globals)
1842
1998
 
@@ -4021,7 +4177,7 @@ def doModifyWatermarkTemplate(args, parsed_globals):
4021
4177
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4022
4178
 
4023
4179
 
4024
- def doDeleteWordSamples(args, parsed_globals):
4180
+ def doCreateVideoSearchTask(args, parsed_globals):
4025
4181
  g_param = parse_global_arg(parsed_globals)
4026
4182
 
4027
4183
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -4050,11 +4206,11 @@ def doDeleteWordSamples(args, parsed_globals):
4050
4206
  client = mod.MpsClient(cred, g_param[OptionsDefine.Region], profile)
4051
4207
  client._sdkVersion += ("_CLI_" + __version__)
4052
4208
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
4053
- model = models.DeleteWordSamplesRequest()
4209
+ model = models.CreateVideoSearchTaskRequest()
4054
4210
  model.from_json_string(json.dumps(args))
4055
4211
  start_time = time.time()
4056
4212
  while True:
4057
- rsp = client.DeleteWordSamples(model)
4213
+ rsp = client.CreateVideoSearchTask(model)
4058
4214
  result = rsp.to_json_string()
4059
4215
  try:
4060
4216
  json_obj = json.loads(result)
@@ -4385,7 +4541,7 @@ def doDescribeAnimatedGraphicsTemplates(args, parsed_globals):
4385
4541
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4386
4542
 
4387
4543
 
4388
- def doCreateVideoSearchTask(args, parsed_globals):
4544
+ def doDeleteWordSamples(args, parsed_globals):
4389
4545
  g_param = parse_global_arg(parsed_globals)
4390
4546
 
4391
4547
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -4414,11 +4570,11 @@ def doCreateVideoSearchTask(args, parsed_globals):
4414
4570
  client = mod.MpsClient(cred, g_param[OptionsDefine.Region], profile)
4415
4571
  client._sdkVersion += ("_CLI_" + __version__)
4416
4572
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
4417
- model = models.CreateVideoSearchTaskRequest()
4573
+ model = models.DeleteWordSamplesRequest()
4418
4574
  model.from_json_string(json.dumps(args))
4419
4575
  start_time = time.time()
4420
4576
  while True:
4421
- rsp = client.CreateVideoSearchTask(model)
4577
+ rsp = client.DeleteWordSamples(model)
4422
4578
  result = rsp.to_json_string()
4423
4579
  try:
4424
4580
  json_obj = json.loads(result)
@@ -5789,7 +5945,7 @@ def doDeleteContentReviewTemplate(args, parsed_globals):
5789
5945
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
5790
5946
 
5791
5947
 
5792
- def doDeleteSampleSnapshotTemplate(args, parsed_globals):
5948
+ def doDescribeImageTaskDetail(args, parsed_globals):
5793
5949
  g_param = parse_global_arg(parsed_globals)
5794
5950
 
5795
5951
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -5818,11 +5974,11 @@ def doDeleteSampleSnapshotTemplate(args, parsed_globals):
5818
5974
  client = mod.MpsClient(cred, g_param[OptionsDefine.Region], profile)
5819
5975
  client._sdkVersion += ("_CLI_" + __version__)
5820
5976
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
5821
- model = models.DeleteSampleSnapshotTemplateRequest()
5977
+ model = models.DescribeImageTaskDetailRequest()
5822
5978
  model.from_json_string(json.dumps(args))
5823
5979
  start_time = time.time()
5824
5980
  while True:
5825
- rsp = client.DeleteSampleSnapshotTemplate(model)
5981
+ rsp = client.DescribeImageTaskDetail(model)
5826
5982
  result = rsp.to_json_string()
5827
5983
  try:
5828
5984
  json_obj = json.loads(result)
@@ -6689,6 +6845,7 @@ ACTION_MAP = {
6689
6845
  "DescribeStreamLinkFlowRealtimeStatus": doDescribeStreamLinkFlowRealtimeStatus,
6690
6846
  "CreateAnimatedGraphicsTemplate": doCreateAnimatedGraphicsTemplate,
6691
6847
  "DeleteWatermarkTemplate": doDeleteWatermarkTemplate,
6848
+ "DescribeBatchTaskDetail": doDescribeBatchTaskDetail,
6692
6849
  "ModifyLiveRecordTemplate": doModifyLiveRecordTemplate,
6693
6850
  "EditMedia": doEditMedia,
6694
6851
  "DescribeStreamLinkEvent": doDescribeStreamLinkEvent,
@@ -6717,8 +6874,10 @@ ACTION_MAP = {
6717
6874
  "CreateTranscodeTemplate": doCreateTranscodeTemplate,
6718
6875
  "CreateStreamLinkFlow": doCreateStreamLinkFlow,
6719
6876
  "ExecuteFunction": doExecuteFunction,
6877
+ "BatchProcessMedia": doBatchProcessMedia,
6720
6878
  "DescribeStreamLinkFlows": doDescribeStreamLinkFlows,
6721
6879
  "DescribeSnapshotByTimeOffsetTemplates": doDescribeSnapshotByTimeOffsetTemplates,
6880
+ "DeleteSampleSnapshotTemplate": doDeleteSampleSnapshotTemplate,
6722
6881
  "DeleteStreamLinkOutput": doDeleteStreamLinkOutput,
6723
6882
  "CreateContentReviewTemplate": doCreateContentReviewTemplate,
6724
6883
  "DescribeGroupAttachFlowsById": doDescribeGroupAttachFlowsById,
@@ -6761,14 +6920,14 @@ ACTION_MAP = {
6761
6920
  "CreateStreamLinkOutputInfo": doCreateStreamLinkOutputInfo,
6762
6921
  "DescribeWorkflows": doDescribeWorkflows,
6763
6922
  "ModifyWatermarkTemplate": doModifyWatermarkTemplate,
6764
- "DeleteWordSamples": doDeleteWordSamples,
6923
+ "CreateVideoSearchTask": doCreateVideoSearchTask,
6765
6924
  "DescribeStreamLinkActivateState": doDescribeStreamLinkActivateState,
6766
6925
  "CreateImageSpriteTemplate": doCreateImageSpriteTemplate,
6767
6926
  "DescribePersonSamples": doDescribePersonSamples,
6768
6927
  "ParseNotification": doParseNotification,
6769
6928
  "DeleteAIRecognitionTemplate": doDeleteAIRecognitionTemplate,
6770
6929
  "DescribeAnimatedGraphicsTemplates": doDescribeAnimatedGraphicsTemplates,
6771
- "CreateVideoSearchTask": doCreateVideoSearchTask,
6930
+ "DeleteWordSamples": doDeleteWordSamples,
6772
6931
  "ManageTask": doManageTask,
6773
6932
  "DescribeVideoDatabaseEntryTaskDetail": doDescribeVideoDatabaseEntryTaskDetail,
6774
6933
  "ModifySnapshotByTimeOffsetTemplate": doModifySnapshotByTimeOffsetTemplate,
@@ -6795,7 +6954,7 @@ ACTION_MAP = {
6795
6954
  "ProcessLiveStream": doProcessLiveStream,
6796
6955
  "DeleteLiveRecordTemplate": doDeleteLiveRecordTemplate,
6797
6956
  "DeleteContentReviewTemplate": doDeleteContentReviewTemplate,
6798
- "DeleteSampleSnapshotTemplate": doDeleteSampleSnapshotTemplate,
6957
+ "DescribeImageTaskDetail": doDescribeImageTaskDetail,
6799
6958
  "DescribeStreamLinkFlowMediaStatistics": doDescribeStreamLinkFlowMediaStatistics,
6800
6959
  "CreateAsrHotwords": doCreateAsrHotwords,
6801
6960
  "CreateStreamLinkEvent": doCreateStreamLinkEvent,