alibabacloud-vod20170321 3.9.1__tar.gz → 3.9.2__tar.gz

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 (17) hide show
  1. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/ChangeLog.md +5 -0
  2. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/PKG-INFO +1 -1
  3. alibabacloud_vod20170321-3.9.2/alibabacloud_vod20170321/__init__.py +1 -0
  4. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321/client.py +60 -0
  5. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321/models.py +162 -20
  6. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321.egg-info/PKG-INFO +1 -1
  7. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/setup.py +1 -1
  8. alibabacloud_vod20170321-3.9.1/alibabacloud_vod20170321/__init__.py +0 -1
  9. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/LICENSE +0 -0
  10. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/MANIFEST.in +0 -0
  11. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/README-CN.md +0 -0
  12. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/README.md +0 -0
  13. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321.egg-info/SOURCES.txt +0 -0
  14. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321.egg-info/dependency_links.txt +0 -0
  15. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321.egg-info/requires.txt +0 -0
  16. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/alibabacloud_vod20170321.egg-info/top_level.txt +0 -0
  17. {alibabacloud_vod20170321-3.9.1 → alibabacloud_vod20170321-3.9.2}/setup.cfg +0 -0
@@ -1,3 +1,8 @@
1
+ 2025-11-19 Version: 3.9.1
2
+ - Update API BatchGetMediaInfos: add response parameters Body.MediaInfos.$.MezzanineInfo.FileMD5.
3
+ - Update API GetMezzanineInfo: add response parameters Body.Mezzanine.FileMD5.
4
+
5
+
1
6
  2025-09-22 Version: 3.9.0
2
7
  - Support API DescribeVodUserVipsByDomain.
3
8
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alibabacloud_vod20170321
3
- Version: 3.9.1
3
+ Version: 3.9.2
4
4
  Summary: Alibaba Cloud ApsaraVideo for VOD (20170321) SDK Library for Python
5
5
  Home-page: https://github.com/aliyun/alibabacloud-python-sdk
6
6
  Author: Alibaba Cloud SDK
@@ -0,0 +1 @@
1
+ __version__ = '3.9.2'
@@ -1362,6 +1362,8 @@ class Client(OpenApiClient):
1362
1362
  query = {}
1363
1363
  if not UtilClient.is_unset(request.media_ids):
1364
1364
  query['MediaIds'] = request.media_ids
1365
+ if not UtilClient.is_unset(request.reference_ids):
1366
+ query['ReferenceIds'] = request.reference_ids
1365
1367
  req = open_api_models.OpenApiRequest(
1366
1368
  query=OpenApiUtilClient.query(query)
1367
1369
  )
@@ -1400,6 +1402,8 @@ class Client(OpenApiClient):
1400
1402
  query = {}
1401
1403
  if not UtilClient.is_unset(request.media_ids):
1402
1404
  query['MediaIds'] = request.media_ids
1405
+ if not UtilClient.is_unset(request.reference_ids):
1406
+ query['ReferenceIds'] = request.reference_ids
1403
1407
  req = open_api_models.OpenApiRequest(
1404
1408
  query=OpenApiUtilClient.query(query)
1405
1409
  )
@@ -2593,6 +2597,8 @@ class Client(OpenApiClient):
2593
2597
  query['FileName'] = request.file_name
2594
2598
  if not UtilClient.is_unset(request.file_size):
2595
2599
  query['FileSize'] = request.file_size
2600
+ if not UtilClient.is_unset(request.reference_id):
2601
+ query['ReferenceId'] = request.reference_id
2596
2602
  if not UtilClient.is_unset(request.storage_location):
2597
2603
  query['StorageLocation'] = request.storage_location
2598
2604
  if not UtilClient.is_unset(request.tags):
@@ -2658,6 +2664,8 @@ class Client(OpenApiClient):
2658
2664
  query['FileName'] = request.file_name
2659
2665
  if not UtilClient.is_unset(request.file_size):
2660
2666
  query['FileSize'] = request.file_size
2667
+ if not UtilClient.is_unset(request.reference_id):
2668
+ query['ReferenceId'] = request.reference_id
2661
2669
  if not UtilClient.is_unset(request.storage_location):
2662
2670
  query['StorageLocation'] = request.storage_location
2663
2671
  if not UtilClient.is_unset(request.tags):
@@ -3981,6 +3989,8 @@ class Client(OpenApiClient):
3981
3989
  query = {}
3982
3990
  if not UtilClient.is_unset(request.force):
3983
3991
  query['Force'] = request.force
3992
+ if not UtilClient.is_unset(request.reference_ids):
3993
+ query['ReferenceIds'] = request.reference_ids
3984
3994
  if not UtilClient.is_unset(request.video_ids):
3985
3995
  query['VideoIds'] = request.video_ids
3986
3996
  req = open_api_models.OpenApiRequest(
@@ -4020,6 +4030,8 @@ class Client(OpenApiClient):
4020
4030
  query = {}
4021
4031
  if not UtilClient.is_unset(request.force):
4022
4032
  query['Force'] = request.force
4033
+ if not UtilClient.is_unset(request.reference_ids):
4034
+ query['ReferenceIds'] = request.reference_ids
4023
4035
  if not UtilClient.is_unset(request.video_ids):
4024
4036
  query['VideoIds'] = request.video_ids
4025
4037
  req = open_api_models.OpenApiRequest(
@@ -4207,6 +4219,8 @@ class Client(OpenApiClient):
4207
4219
  query = {}
4208
4220
  if not UtilClient.is_unset(request.job_ids):
4209
4221
  query['JobIds'] = request.job_ids
4222
+ if not UtilClient.is_unset(request.reference_id):
4223
+ query['ReferenceId'] = request.reference_id
4210
4224
  if not UtilClient.is_unset(request.video_id):
4211
4225
  query['VideoId'] = request.video_id
4212
4226
  req = open_api_models.OpenApiRequest(
@@ -4244,6 +4258,8 @@ class Client(OpenApiClient):
4244
4258
  query = {}
4245
4259
  if not UtilClient.is_unset(request.job_ids):
4246
4260
  query['JobIds'] = request.job_ids
4261
+ if not UtilClient.is_unset(request.reference_id):
4262
+ query['ReferenceId'] = request.reference_id
4247
4263
  if not UtilClient.is_unset(request.video_id):
4248
4264
  query['VideoId'] = request.video_id
4249
4265
  req = open_api_models.OpenApiRequest(
@@ -4425,6 +4441,8 @@ class Client(OpenApiClient):
4425
4441
  """
4426
4442
  UtilClient.validate_model(request)
4427
4443
  query = {}
4444
+ if not UtilClient.is_unset(request.reference_ids):
4445
+ query['ReferenceIds'] = request.reference_ids
4428
4446
  if not UtilClient.is_unset(request.video_ids):
4429
4447
  query['VideoIds'] = request.video_ids
4430
4448
  req = open_api_models.OpenApiRequest(
@@ -4464,6 +4482,8 @@ class Client(OpenApiClient):
4464
4482
  """
4465
4483
  UtilClient.validate_model(request)
4466
4484
  query = {}
4485
+ if not UtilClient.is_unset(request.reference_ids):
4486
+ query['ReferenceIds'] = request.reference_ids
4467
4487
  if not UtilClient.is_unset(request.video_ids):
4468
4488
  query['VideoIds'] = request.video_ids
4469
4489
  req = open_api_models.OpenApiRequest(
@@ -13793,6 +13813,8 @@ class Client(OpenApiClient):
13793
13813
  query['AuthTimeout'] = request.auth_timeout
13794
13814
  if not UtilClient.is_unset(request.output_type):
13795
13815
  query['OutputType'] = request.output_type
13816
+ if not UtilClient.is_unset(request.reference_id):
13817
+ query['ReferenceId'] = request.reference_id
13796
13818
  if not UtilClient.is_unset(request.video_id):
13797
13819
  query['VideoId'] = request.video_id
13798
13820
  req = open_api_models.OpenApiRequest(
@@ -13836,6 +13858,8 @@ class Client(OpenApiClient):
13836
13858
  query['AuthTimeout'] = request.auth_timeout
13837
13859
  if not UtilClient.is_unset(request.output_type):
13838
13860
  query['OutputType'] = request.output_type
13861
+ if not UtilClient.is_unset(request.reference_id):
13862
+ query['ReferenceId'] = request.reference_id
13839
13863
  if not UtilClient.is_unset(request.video_id):
13840
13864
  query['VideoId'] = request.video_id
13841
13865
  req = open_api_models.OpenApiRequest(
@@ -13921,6 +13945,8 @@ class Client(OpenApiClient):
13921
13945
  query['PlayConfig'] = request.play_config
13922
13946
  if not UtilClient.is_unset(request.re_auth_info):
13923
13947
  query['ReAuthInfo'] = request.re_auth_info
13948
+ if not UtilClient.is_unset(request.reference_id):
13949
+ query['ReferenceId'] = request.reference_id
13924
13950
  if not UtilClient.is_unset(request.result_type):
13925
13951
  query['ResultType'] = request.result_type
13926
13952
  if not UtilClient.is_unset(request.stream_type):
@@ -13982,6 +14008,8 @@ class Client(OpenApiClient):
13982
14008
  query['PlayConfig'] = request.play_config
13983
14009
  if not UtilClient.is_unset(request.re_auth_info):
13984
14010
  query['ReAuthInfo'] = request.re_auth_info
14011
+ if not UtilClient.is_unset(request.reference_id):
14012
+ query['ReferenceId'] = request.reference_id
13985
14013
  if not UtilClient.is_unset(request.result_type):
13986
14014
  query['ResultType'] = request.result_type
13987
14015
  if not UtilClient.is_unset(request.stream_type):
@@ -14639,6 +14667,8 @@ class Client(OpenApiClient):
14639
14667
  """
14640
14668
  UtilClient.validate_model(request)
14641
14669
  query = {}
14670
+ if not UtilClient.is_unset(request.reference_id):
14671
+ query['ReferenceId'] = request.reference_id
14642
14672
  if not UtilClient.is_unset(request.video_id):
14643
14673
  query['VideoId'] = request.video_id
14644
14674
  req = open_api_models.OpenApiRequest(
@@ -14676,6 +14706,8 @@ class Client(OpenApiClient):
14676
14706
  """
14677
14707
  UtilClient.validate_model(request)
14678
14708
  query = {}
14709
+ if not UtilClient.is_unset(request.reference_id):
14710
+ query['ReferenceId'] = request.reference_id
14679
14711
  if not UtilClient.is_unset(request.video_id):
14680
14712
  query['VideoId'] = request.video_id
14681
14713
  req = open_api_models.OpenApiRequest(
@@ -14744,6 +14776,8 @@ class Client(OpenApiClient):
14744
14776
  """
14745
14777
  UtilClient.validate_model(request)
14746
14778
  query = {}
14779
+ if not UtilClient.is_unset(request.reference_ids):
14780
+ query['ReferenceIds'] = request.reference_ids
14747
14781
  if not UtilClient.is_unset(request.video_ids):
14748
14782
  query['VideoIds'] = request.video_ids
14749
14783
  req = open_api_models.OpenApiRequest(
@@ -14782,6 +14816,8 @@ class Client(OpenApiClient):
14782
14816
  """
14783
14817
  UtilClient.validate_model(request)
14784
14818
  query = {}
14819
+ if not UtilClient.is_unset(request.reference_ids):
14820
+ query['ReferenceIds'] = request.reference_ids
14785
14821
  if not UtilClient.is_unset(request.video_ids):
14786
14822
  query['VideoIds'] = request.video_ids
14787
14823
  req = open_api_models.OpenApiRequest(
@@ -14859,6 +14895,8 @@ class Client(OpenApiClient):
14859
14895
  query['PageNo'] = request.page_no
14860
14896
  if not UtilClient.is_unset(request.page_size):
14861
14897
  query['PageSize'] = request.page_size
14898
+ if not UtilClient.is_unset(request.reference_ids):
14899
+ query['ReferenceIds'] = request.reference_ids
14862
14900
  if not UtilClient.is_unset(request.sort_by):
14863
14901
  query['SortBy'] = request.sort_by
14864
14902
  if not UtilClient.is_unset(request.start_time):
@@ -14910,6 +14948,8 @@ class Client(OpenApiClient):
14910
14948
  query['PageNo'] = request.page_no
14911
14949
  if not UtilClient.is_unset(request.page_size):
14912
14950
  query['PageSize'] = request.page_size
14951
+ if not UtilClient.is_unset(request.reference_ids):
14952
+ query['ReferenceIds'] = request.reference_ids
14913
14953
  if not UtilClient.is_unset(request.sort_by):
14914
14954
  query['SortBy'] = request.sort_by
14915
14955
  if not UtilClient.is_unset(request.start_time):
@@ -14988,6 +15028,8 @@ class Client(OpenApiClient):
14988
15028
  query['ApiVersion'] = request.api_version
14989
15029
  if not UtilClient.is_unset(request.auth_info_timeout):
14990
15030
  query['AuthInfoTimeout'] = request.auth_info_timeout
15031
+ if not UtilClient.is_unset(request.reference_id):
15032
+ query['ReferenceId'] = request.reference_id
14991
15033
  if not UtilClient.is_unset(request.video_id):
14992
15034
  query['VideoId'] = request.video_id
14993
15035
  req = open_api_models.OpenApiRequest(
@@ -15030,6 +15072,8 @@ class Client(OpenApiClient):
15030
15072
  query['ApiVersion'] = request.api_version
15031
15073
  if not UtilClient.is_unset(request.auth_info_timeout):
15032
15074
  query['AuthInfoTimeout'] = request.auth_info_timeout
15075
+ if not UtilClient.is_unset(request.reference_id):
15076
+ query['ReferenceId'] = request.reference_id
15033
15077
  if not UtilClient.is_unset(request.video_id):
15034
15078
  query['VideoId'] = request.video_id
15035
15079
  req = open_api_models.OpenApiRequest(
@@ -17457,6 +17501,8 @@ class Client(OpenApiClient):
17457
17501
  query = {}
17458
17502
  if not UtilClient.is_unset(request.owner_id):
17459
17503
  query['OwnerId'] = request.owner_id
17504
+ if not UtilClient.is_unset(request.reference_id):
17505
+ query['ReferenceId'] = request.reference_id
17460
17506
  if not UtilClient.is_unset(request.resource_owner_account):
17461
17507
  query['ResourceOwnerAccount'] = request.resource_owner_account
17462
17508
  if not UtilClient.is_unset(request.resource_owner_id):
@@ -17500,6 +17546,8 @@ class Client(OpenApiClient):
17500
17546
  query = {}
17501
17547
  if not UtilClient.is_unset(request.owner_id):
17502
17548
  query['OwnerId'] = request.owner_id
17549
+ if not UtilClient.is_unset(request.reference_id):
17550
+ query['ReferenceId'] = request.reference_id
17503
17551
  if not UtilClient.is_unset(request.resource_owner_account):
17504
17552
  query['ResourceOwnerAccount'] = request.resource_owner_account
17505
17553
  if not UtilClient.is_unset(request.resource_owner_id):
@@ -20344,6 +20392,8 @@ class Client(OpenApiClient):
20344
20392
  query['Height'] = request.height
20345
20393
  if not UtilClient.is_unset(request.interval):
20346
20394
  query['Interval'] = request.interval
20395
+ if not UtilClient.is_unset(request.reference_id):
20396
+ query['ReferenceId'] = request.reference_id
20347
20397
  if not UtilClient.is_unset(request.snapshot_template_id):
20348
20398
  query['SnapshotTemplateId'] = request.snapshot_template_id
20349
20399
  if not UtilClient.is_unset(request.specified_offset_time):
@@ -20406,6 +20456,8 @@ class Client(OpenApiClient):
20406
20456
  query['Height'] = request.height
20407
20457
  if not UtilClient.is_unset(request.interval):
20408
20458
  query['Interval'] = request.interval
20459
+ if not UtilClient.is_unset(request.reference_id):
20460
+ query['ReferenceId'] = request.reference_id
20409
20461
  if not UtilClient.is_unset(request.snapshot_template_id):
20410
20462
  query['SnapshotTemplateId'] = request.snapshot_template_id
20411
20463
  if not UtilClient.is_unset(request.specified_offset_time):
@@ -20503,6 +20555,8 @@ class Client(OpenApiClient):
20503
20555
  query['PipelineId'] = request.pipeline_id
20504
20556
  if not UtilClient.is_unset(request.priority):
20505
20557
  query['Priority'] = request.priority
20558
+ if not UtilClient.is_unset(request.reference_id):
20559
+ query['ReferenceId'] = request.reference_id
20506
20560
  if not UtilClient.is_unset(request.session_id):
20507
20561
  query['SessionId'] = request.session_id
20508
20562
  if not UtilClient.is_unset(request.template_group_id):
@@ -20558,6 +20612,8 @@ class Client(OpenApiClient):
20558
20612
  query['PipelineId'] = request.pipeline_id
20559
20613
  if not UtilClient.is_unset(request.priority):
20560
20614
  query['Priority'] = request.priority
20615
+ if not UtilClient.is_unset(request.reference_id):
20616
+ query['ReferenceId'] = request.reference_id
20561
20617
  if not UtilClient.is_unset(request.session_id):
20562
20618
  query['SessionId'] = request.session_id
20563
20619
  if not UtilClient.is_unset(request.template_group_id):
@@ -21692,6 +21748,8 @@ class Client(OpenApiClient):
21692
21748
  query['CoverURL'] = request.cover_url
21693
21749
  if not UtilClient.is_unset(request.description):
21694
21750
  query['Description'] = request.description
21751
+ if not UtilClient.is_unset(request.reference_id):
21752
+ query['ReferenceId'] = request.reference_id
21695
21753
  if not UtilClient.is_unset(request.tags):
21696
21754
  query['Tags'] = request.tags
21697
21755
  if not UtilClient.is_unset(request.title):
@@ -21744,6 +21802,8 @@ class Client(OpenApiClient):
21744
21802
  query['CoverURL'] = request.cover_url
21745
21803
  if not UtilClient.is_unset(request.description):
21746
21804
  query['Description'] = request.description
21805
+ if not UtilClient.is_unset(request.reference_id):
21806
+ query['ReferenceId'] = request.reference_id
21747
21807
  if not UtilClient.is_unset(request.tags):
21748
21808
  query['Tags'] = request.tags
21749
21809
  if not UtilClient.is_unset(request.title):
@@ -2093,6 +2093,7 @@ class BatchGetMediaInfosRequest(TeaModel):
2093
2093
  def __init__(
2094
2094
  self,
2095
2095
  media_ids: str = None,
2096
+ reference_ids: str = None,
2096
2097
  ):
2097
2098
  # The ID of the media asset. The ID can be the video ID or audio ID. Separate IDs with commas (,). You can specify a maximum of 20 IDs. You can use one of the following methods to obtain the ID of the media asset:
2098
2099
  #
@@ -2102,6 +2103,7 @@ class BatchGetMediaInfosRequest(TeaModel):
2102
2103
  #
2103
2104
  # This parameter is required.
2104
2105
  self.media_ids = media_ids
2106
+ self.reference_ids = reference_ids
2105
2107
 
2106
2108
  def validate(self):
2107
2109
  pass
@@ -2114,12 +2116,16 @@ class BatchGetMediaInfosRequest(TeaModel):
2114
2116
  result = dict()
2115
2117
  if self.media_ids is not None:
2116
2118
  result['MediaIds'] = self.media_ids
2119
+ if self.reference_ids is not None:
2120
+ result['ReferenceIds'] = self.reference_ids
2117
2121
  return result
2118
2122
 
2119
2123
  def from_map(self, m: dict = None):
2120
2124
  m = m or dict()
2121
2125
  if m.get('MediaIds') is not None:
2122
2126
  self.media_ids = m.get('MediaIds')
2127
+ if m.get('ReferenceIds') is not None:
2128
+ self.reference_ids = m.get('ReferenceIds')
2123
2129
  return self
2124
2130
 
2125
2131
 
@@ -2135,6 +2141,7 @@ class BatchGetMediaInfosResponseBodyMediaInfosMediaInfo(TeaModel):
2135
2141
  download_switch: str = None,
2136
2142
  media_id: str = None,
2137
2143
  modification_time: str = None,
2144
+ reference_id: str = None,
2138
2145
  restore_expiration: str = None,
2139
2146
  restore_status: str = None,
2140
2147
  snapshots: List[str] = None,
@@ -2167,6 +2174,7 @@ class BatchGetMediaInfosResponseBodyMediaInfosMediaInfo(TeaModel):
2167
2174
  self.media_id = media_id
2168
2175
  # The time when the media asset was last updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
2169
2176
  self.modification_time = modification_time
2177
+ self.reference_id = reference_id
2170
2178
  # The period of time in which the audio file remains in the restored state.
2171
2179
  self.restore_expiration = restore_expiration
2172
2180
  # The restoration status of the media asset. Valid values:
@@ -2237,6 +2245,8 @@ class BatchGetMediaInfosResponseBodyMediaInfosMediaInfo(TeaModel):
2237
2245
  result['MediaId'] = self.media_id
2238
2246
  if self.modification_time is not None:
2239
2247
  result['ModificationTime'] = self.modification_time
2248
+ if self.reference_id is not None:
2249
+ result['ReferenceId'] = self.reference_id
2240
2250
  if self.restore_expiration is not None:
2241
2251
  result['RestoreExpiration'] = self.restore_expiration
2242
2252
  if self.restore_status is not None:
@@ -2279,6 +2289,8 @@ class BatchGetMediaInfosResponseBodyMediaInfosMediaInfo(TeaModel):
2279
2289
  self.media_id = m.get('MediaId')
2280
2290
  if m.get('ModificationTime') is not None:
2281
2291
  self.modification_time = m.get('ModificationTime')
2292
+ if m.get('ReferenceId') is not None:
2293
+ self.reference_id = m.get('ReferenceId')
2282
2294
  if m.get('RestoreExpiration') is not None:
2283
2295
  self.restore_expiration = m.get('RestoreExpiration')
2284
2296
  if m.get('RestoreStatus') is not None:
@@ -3089,6 +3101,7 @@ class BatchGetMediaInfosResponseBody(TeaModel):
3089
3101
  forbidden_media_ids: List[str] = None,
3090
3102
  media_infos: List[BatchGetMediaInfosResponseBodyMediaInfos] = None,
3091
3103
  non_exist_media_ids: List[str] = None,
3104
+ non_exist_reference_ids: List[str] = None,
3092
3105
  request_id: str = None,
3093
3106
  ):
3094
3107
  # The IDs of the media assets that do not support the operation typically because you are not authorized to perform the operation. For more information, see [Overview](https://help.aliyun.com/document_detail/113600.html).
@@ -3097,6 +3110,7 @@ class BatchGetMediaInfosResponseBody(TeaModel):
3097
3110
  self.media_infos = media_infos
3098
3111
  # The IDs of the media assets that do not exist.
3099
3112
  self.non_exist_media_ids = non_exist_media_ids
3113
+ self.non_exist_reference_ids = non_exist_reference_ids
3100
3114
  # The request ID.
3101
3115
  self.request_id = request_id
3102
3116
 
@@ -3120,6 +3134,8 @@ class BatchGetMediaInfosResponseBody(TeaModel):
3120
3134
  result['MediaInfos'].append(k.to_map() if k else None)
3121
3135
  if self.non_exist_media_ids is not None:
3122
3136
  result['NonExistMediaIds'] = self.non_exist_media_ids
3137
+ if self.non_exist_reference_ids is not None:
3138
+ result['NonExistReferenceIds'] = self.non_exist_reference_ids
3123
3139
  if self.request_id is not None:
3124
3140
  result['RequestId'] = self.request_id
3125
3141
  return result
@@ -3135,6 +3151,8 @@ class BatchGetMediaInfosResponseBody(TeaModel):
3135
3151
  self.media_infos.append(temp_model.from_map(k))
3136
3152
  if m.get('NonExistMediaIds') is not None:
3137
3153
  self.non_exist_media_ids = m.get('NonExistMediaIds')
3154
+ if m.get('NonExistReferenceIds') is not None:
3155
+ self.non_exist_reference_ids = m.get('NonExistReferenceIds')
3138
3156
  if m.get('RequestId') is not None:
3139
3157
  self.request_id = m.get('RequestId')
3140
3158
  return self
@@ -4499,6 +4517,7 @@ class CreateUploadVideoRequest(TeaModel):
4499
4517
  description: str = None,
4500
4518
  file_name: str = None,
4501
4519
  file_size: int = None,
4520
+ reference_id: str = None,
4502
4521
  storage_location: str = None,
4503
4522
  tags: str = None,
4504
4523
  template_group_id: str = None,
@@ -4530,6 +4549,7 @@ class CreateUploadVideoRequest(TeaModel):
4530
4549
  self.file_name = file_name
4531
4550
  # The size of the source file. Unit: bytes.
4532
4551
  self.file_size = file_size
4552
+ self.reference_id = reference_id
4533
4553
  # The storage address. Perform the following operations to obtain the storage address: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, view the storage address.
4534
4554
  #
4535
4555
  # > If you leave this parameter empty, audio and video files are uploaded to the default storage address. If you specify a storage address, audio and video files are uploaded to the specified address.
@@ -4590,6 +4610,8 @@ class CreateUploadVideoRequest(TeaModel):
4590
4610
  result['FileName'] = self.file_name
4591
4611
  if self.file_size is not None:
4592
4612
  result['FileSize'] = self.file_size
4613
+ if self.reference_id is not None:
4614
+ result['ReferenceId'] = self.reference_id
4593
4615
  if self.storage_location is not None:
4594
4616
  result['StorageLocation'] = self.storage_location
4595
4617
  if self.tags is not None:
@@ -4618,6 +4640,8 @@ class CreateUploadVideoRequest(TeaModel):
4618
4640
  self.file_name = m.get('FileName')
4619
4641
  if m.get('FileSize') is not None:
4620
4642
  self.file_size = m.get('FileSize')
4643
+ if m.get('ReferenceId') is not None:
4644
+ self.reference_id = m.get('ReferenceId')
4621
4645
  if m.get('StorageLocation') is not None:
4622
4646
  self.storage_location = m.get('StorageLocation')
4623
4647
  if m.get('Tags') is not None:
@@ -6024,6 +6048,7 @@ class DeleteMezzaninesRequest(TeaModel):
6024
6048
  def __init__(
6025
6049
  self,
6026
6050
  force: bool = None,
6051
+ reference_ids: str = None,
6027
6052
  video_ids: str = None,
6028
6053
  ):
6029
6054
  # Specifies whether to forcibly delete the source file. Valid values:
@@ -6033,13 +6058,12 @@ class DeleteMezzaninesRequest(TeaModel):
6033
6058
  #
6034
6059
  # > If a video is uploaded without transcoding or is asynchronously transcoded, the source file of the video is used for original-quality playback. By default, the source file of the video cannot be deleted. To forcibly delete the mezzanine file, set this parameter to **true**.
6035
6060
  self.force = force
6061
+ self.reference_ids = reference_ids
6036
6062
  # The IDs of audio or video files whose source files that you want to delete. You can specify up to 20 IDs. Separate multiple IDs with commas (,). You can use one of the following methods to obtain the ID:
6037
6063
  #
6038
6064
  # * After you upload a video in the [ApsaraVideo VOD console](https://vod.console.aliyun.com), you can log on to the ApsaraVideo VOD console and choose **Media Files** > **Audio/Video** to view the ID of the video.
6039
6065
  # * Obtain the value of VideoId from the response to the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation that you called to obtain the upload URL and credential.
6040
6066
  # * Obtain the value of VideoId from the response to the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation that you called to query media information after the audio or video file is uploaded.
6041
- #
6042
- # This parameter is required.
6043
6067
  self.video_ids = video_ids
6044
6068
 
6045
6069
  def validate(self):
@@ -6053,6 +6077,8 @@ class DeleteMezzaninesRequest(TeaModel):
6053
6077
  result = dict()
6054
6078
  if self.force is not None:
6055
6079
  result['Force'] = self.force
6080
+ if self.reference_ids is not None:
6081
+ result['ReferenceIds'] = self.reference_ids
6056
6082
  if self.video_ids is not None:
6057
6083
  result['VideoIds'] = self.video_ids
6058
6084
  return result
@@ -6061,6 +6087,8 @@ class DeleteMezzaninesRequest(TeaModel):
6061
6087
  m = m or dict()
6062
6088
  if m.get('Force') is not None:
6063
6089
  self.force = m.get('Force')
6090
+ if m.get('ReferenceIds') is not None:
6091
+ self.reference_ids = m.get('ReferenceIds')
6064
6092
  if m.get('VideoIds') is not None:
6065
6093
  self.video_ids = m.get('VideoIds')
6066
6094
  return self
@@ -6069,10 +6097,12 @@ class DeleteMezzaninesRequest(TeaModel):
6069
6097
  class DeleteMezzaninesResponseBody(TeaModel):
6070
6098
  def __init__(
6071
6099
  self,
6100
+ non_exist_reference_ids: List[str] = None,
6072
6101
  non_exist_video_ids: List[str] = None,
6073
6102
  request_id: str = None,
6074
6103
  un_removeable_video_ids: List[str] = None,
6075
6104
  ):
6105
+ self.non_exist_reference_ids = non_exist_reference_ids
6076
6106
  # The IDs of the audio or video files that do not exist.
6077
6107
  self.non_exist_video_ids = non_exist_video_ids
6078
6108
  # The ID of the request.
@@ -6091,6 +6121,8 @@ class DeleteMezzaninesResponseBody(TeaModel):
6091
6121
  return _map
6092
6122
 
6093
6123
  result = dict()
6124
+ if self.non_exist_reference_ids is not None:
6125
+ result['NonExistReferenceIds'] = self.non_exist_reference_ids
6094
6126
  if self.non_exist_video_ids is not None:
6095
6127
  result['NonExistVideoIds'] = self.non_exist_video_ids
6096
6128
  if self.request_id is not None:
@@ -6101,6 +6133,8 @@ class DeleteMezzaninesResponseBody(TeaModel):
6101
6133
 
6102
6134
  def from_map(self, m: dict = None):
6103
6135
  m = m or dict()
6136
+ if m.get('NonExistReferenceIds') is not None:
6137
+ self.non_exist_reference_ids = m.get('NonExistReferenceIds')
6104
6138
  if m.get('NonExistVideoIds') is not None:
6105
6139
  self.non_exist_video_ids = m.get('NonExistVideoIds')
6106
6140
  if m.get('RequestId') is not None:
@@ -6273,6 +6307,7 @@ class DeleteStreamRequest(TeaModel):
6273
6307
  def __init__(
6274
6308
  self,
6275
6309
  job_ids: str = None,
6310
+ reference_id: str = None,
6276
6311
  video_id: str = None,
6277
6312
  ):
6278
6313
  # The job IDs for deleting media streams.
@@ -6282,9 +6317,8 @@ class DeleteStreamRequest(TeaModel):
6282
6317
  #
6283
6318
  # This parameter is required.
6284
6319
  self.job_ids = job_ids
6320
+ self.reference_id = reference_id
6285
6321
  # The ID of the video.
6286
- #
6287
- # This parameter is required.
6288
6322
  self.video_id = video_id
6289
6323
 
6290
6324
  def validate(self):
@@ -6298,6 +6332,8 @@ class DeleteStreamRequest(TeaModel):
6298
6332
  result = dict()
6299
6333
  if self.job_ids is not None:
6300
6334
  result['JobIds'] = self.job_ids
6335
+ if self.reference_id is not None:
6336
+ result['ReferenceId'] = self.reference_id
6301
6337
  if self.video_id is not None:
6302
6338
  result['VideoId'] = self.video_id
6303
6339
  return result
@@ -6306,6 +6342,8 @@ class DeleteStreamRequest(TeaModel):
6306
6342
  m = m or dict()
6307
6343
  if m.get('JobIds') is not None:
6308
6344
  self.job_ids = m.get('JobIds')
6345
+ if m.get('ReferenceId') is not None:
6346
+ self.reference_id = m.get('ReferenceId')
6309
6347
  if m.get('VideoId') is not None:
6310
6348
  self.video_id = m.get('VideoId')
6311
6349
  return self
@@ -6510,15 +6548,15 @@ class DeleteTranscodeTemplateGroupResponse(TeaModel):
6510
6548
  class DeleteVideoRequest(TeaModel):
6511
6549
  def __init__(
6512
6550
  self,
6551
+ reference_ids: str = None,
6513
6552
  video_ids: str = None,
6514
6553
  ):
6554
+ self.reference_ids = reference_ids
6515
6555
  # The list of video IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs can be specified. You can obtain a video ID in one of the following ways:
6516
6556
  #
6517
6557
  # * If the video is uploaded by using the [ApsaraVideo VOD console](https://vod.console.aliyun.com), log on to the console and choose **Media Files** > **Audio/Video** to view the ID of the video.
6518
6558
  # * If the video is uploaded by calling the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation, the video ID is the VideoId value in the response.
6519
6559
  # * You can also call the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation to obtain the video ID, which is the VideoId value in the response.
6520
- #
6521
- # This parameter is required.
6522
6560
  self.video_ids = video_ids
6523
6561
 
6524
6562
  def validate(self):
@@ -6530,12 +6568,16 @@ class DeleteVideoRequest(TeaModel):
6530
6568
  return _map
6531
6569
 
6532
6570
  result = dict()
6571
+ if self.reference_ids is not None:
6572
+ result['ReferenceIds'] = self.reference_ids
6533
6573
  if self.video_ids is not None:
6534
6574
  result['VideoIds'] = self.video_ids
6535
6575
  return result
6536
6576
 
6537
6577
  def from_map(self, m: dict = None):
6538
6578
  m = m or dict()
6579
+ if m.get('ReferenceIds') is not None:
6580
+ self.reference_ids = m.get('ReferenceIds')
6539
6581
  if m.get('VideoIds') is not None:
6540
6582
  self.video_ids = m.get('VideoIds')
6541
6583
  return self
@@ -6545,12 +6587,14 @@ class DeleteVideoResponseBody(TeaModel):
6545
6587
  def __init__(
6546
6588
  self,
6547
6589
  forbidden_video_ids: List[str] = None,
6590
+ non_exist_reference_ids: List[str] = None,
6548
6591
  non_exist_video_ids: List[str] = None,
6549
6592
  request_id: str = None,
6550
6593
  ):
6551
6594
  # The IDs of the videos that cannot be deleted.
6552
6595
  # > Generally, videos cannot be deleted if you do not have the required [permissions](https://help.aliyun.com/document_detail/113600.html).
6553
6596
  self.forbidden_video_ids = forbidden_video_ids
6597
+ self.non_exist_reference_ids = non_exist_reference_ids
6554
6598
  # The IDs of the videos that do not exist.
6555
6599
  # > If the list of videos to be deleted contains one or more videos that do not exist, the IDs of these non-existing videos are returned. If none of the videos in the list exists, a 404 error is returned.
6556
6600
  self.non_exist_video_ids = non_exist_video_ids
@@ -6568,6 +6612,8 @@ class DeleteVideoResponseBody(TeaModel):
6568
6612
  result = dict()
6569
6613
  if self.forbidden_video_ids is not None:
6570
6614
  result['ForbiddenVideoIds'] = self.forbidden_video_ids
6615
+ if self.non_exist_reference_ids is not None:
6616
+ result['NonExistReferenceIds'] = self.non_exist_reference_ids
6571
6617
  if self.non_exist_video_ids is not None:
6572
6618
  result['NonExistVideoIds'] = self.non_exist_video_ids
6573
6619
  if self.request_id is not None:
@@ -6578,6 +6624,8 @@ class DeleteVideoResponseBody(TeaModel):
6578
6624
  m = m or dict()
6579
6625
  if m.get('ForbiddenVideoIds') is not None:
6580
6626
  self.forbidden_video_ids = m.get('ForbiddenVideoIds')
6627
+ if m.get('NonExistReferenceIds') is not None:
6628
+ self.non_exist_reference_ids = m.get('NonExistReferenceIds')
6581
6629
  if m.get('NonExistVideoIds') is not None:
6582
6630
  self.non_exist_video_ids = m.get('NonExistVideoIds')
6583
6631
  if m.get('RequestId') is not None:
@@ -28169,6 +28217,7 @@ class GetMezzanineInfoRequest(TeaModel):
28169
28217
  addition_type: str = None,
28170
28218
  auth_timeout: int = None,
28171
28219
  output_type: str = None,
28220
+ reference_id: str = None,
28172
28221
  video_id: str = None,
28173
28222
  ):
28174
28223
  # The type of additional information. Separate multiple values with commas (,). By default, only the basic information is returned. Valid values:
@@ -28201,9 +28250,8 @@ class GetMezzanineInfoRequest(TeaModel):
28201
28250
  #
28202
28251
  # > If the mezzanine file is stored in a bucket of the in type, only an OSS URL is returned.
28203
28252
  self.output_type = output_type
28253
+ self.reference_id = reference_id
28204
28254
  # The ID of the video.
28205
- #
28206
- # This parameter is required.
28207
28255
  self.video_id = video_id
28208
28256
 
28209
28257
  def validate(self):
@@ -28221,6 +28269,8 @@ class GetMezzanineInfoRequest(TeaModel):
28221
28269
  result['AuthTimeout'] = self.auth_timeout
28222
28270
  if self.output_type is not None:
28223
28271
  result['OutputType'] = self.output_type
28272
+ if self.reference_id is not None:
28273
+ result['ReferenceId'] = self.reference_id
28224
28274
  if self.video_id is not None:
28225
28275
  result['VideoId'] = self.video_id
28226
28276
  return result
@@ -28233,6 +28283,8 @@ class GetMezzanineInfoRequest(TeaModel):
28233
28283
  self.auth_timeout = m.get('AuthTimeout')
28234
28284
  if m.get('OutputType') is not None:
28235
28285
  self.output_type = m.get('OutputType')
28286
+ if m.get('ReferenceId') is not None:
28287
+ self.reference_id = m.get('ReferenceId')
28236
28288
  if m.get('VideoId') is not None:
28237
28289
  self.video_id = m.get('VideoId')
28238
28290
  return self
@@ -28846,6 +28898,7 @@ class GetPlayInfoRequest(TeaModel):
28846
28898
  output_type: str = None,
28847
28899
  play_config: str = None,
28848
28900
  re_auth_info: str = None,
28901
+ reference_id: str = None,
28849
28902
  result_type: str = None,
28850
28903
  stream_type: str = None,
28851
28904
  trace: str = None,
@@ -28915,6 +28968,7 @@ class GetPlayInfoRequest(TeaModel):
28915
28968
  self.play_config = play_config
28916
28969
  # The CDN reauthentication configuration. The value must be a JSON string. If CDN reauthentication is enabled, you can use this parameter to specify the `UID` and `rand` fields for URL authentication. For more information, see [URL authentication](https://help.aliyun.com/document_detail/2249352.html).
28917
28970
  self.re_auth_info = re_auth_info
28971
+ self.reference_id = reference_id
28918
28972
  # The type of the data to return. Default value: Single. Valid values:
28919
28973
  #
28920
28974
  # * **Single**: Only one latest transcoded stream is returned for each quality and format.
@@ -28937,8 +28991,6 @@ class GetPlayInfoRequest(TeaModel):
28937
28991
  # * Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the page that appears, view the media ID.
28938
28992
  # * Obtain the value of the VideoId parameter in the response to the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation that you called to upload the audio or video file.
28939
28993
  # * Obtain the value of VideoId by calling the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation. This method is applicable to files that have been uploaded.
28940
- #
28941
- # This parameter is required.
28942
28994
  self.video_id = video_id
28943
28995
 
28944
28996
  def validate(self):
@@ -28966,6 +29018,8 @@ class GetPlayInfoRequest(TeaModel):
28966
29018
  result['PlayConfig'] = self.play_config
28967
29019
  if self.re_auth_info is not None:
28968
29020
  result['ReAuthInfo'] = self.re_auth_info
29021
+ if self.reference_id is not None:
29022
+ result['ReferenceId'] = self.reference_id
28969
29023
  if self.result_type is not None:
28970
29024
  result['ResultType'] = self.result_type
28971
29025
  if self.stream_type is not None:
@@ -28994,6 +29048,8 @@ class GetPlayInfoRequest(TeaModel):
28994
29048
  self.play_config = m.get('PlayConfig')
28995
29049
  if m.get('ReAuthInfo') is not None:
28996
29050
  self.re_auth_info = m.get('ReAuthInfo')
29051
+ if m.get('ReferenceId') is not None:
29052
+ self.reference_id = m.get('ReferenceId')
28997
29053
  if m.get('ResultType') is not None:
28998
29054
  self.result_type = m.get('ResultType')
28999
29055
  if m.get('StreamType') is not None:
@@ -31366,15 +31422,15 @@ class GetUploadDetailsResponse(TeaModel):
31366
31422
  class GetVideoInfoRequest(TeaModel):
31367
31423
  def __init__(
31368
31424
  self,
31425
+ reference_id: str = None,
31369
31426
  video_id: str = None,
31370
31427
  ):
31428
+ self.reference_id = reference_id
31371
31429
  # The ID of the audio or video file. You can specify only one ID in each call. You can use one of the following methods to obtain the ID:
31372
31430
  #
31373
31431
  # * Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.
31374
31432
  # * Obtain the value of VideoId from the response to the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation that you called to obtain the upload URL and credential.
31375
31433
  # * Obtain the value of VideoId from the response to the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation that you called to query the media ID after the media file is uploaded.
31376
- #
31377
- # This parameter is required.
31378
31434
  self.video_id = video_id
31379
31435
 
31380
31436
  def validate(self):
@@ -31386,12 +31442,16 @@ class GetVideoInfoRequest(TeaModel):
31386
31442
  return _map
31387
31443
 
31388
31444
  result = dict()
31445
+ if self.reference_id is not None:
31446
+ result['ReferenceId'] = self.reference_id
31389
31447
  if self.video_id is not None:
31390
31448
  result['VideoId'] = self.video_id
31391
31449
  return result
31392
31450
 
31393
31451
  def from_map(self, m: dict = None):
31394
31452
  m = m or dict()
31453
+ if m.get('ReferenceId') is not None:
31454
+ self.reference_id = m.get('ReferenceId')
31395
31455
  if m.get('VideoId') is not None:
31396
31456
  self.video_id = m.get('VideoId')
31397
31457
  return self
@@ -31438,6 +31498,7 @@ class GetVideoInfoResponseBodyVideo(TeaModel):
31438
31498
  download_switch: str = None,
31439
31499
  duration: float = None,
31440
31500
  modification_time: str = None,
31501
+ reference_id: str = None,
31441
31502
  region_id: str = None,
31442
31503
  restore_expiration: str = None,
31443
31504
  restore_status: str = None,
@@ -31480,6 +31541,7 @@ class GetVideoInfoResponseBodyVideo(TeaModel):
31480
31541
  self.duration = duration
31481
31542
  # The time when the audio or video file was last updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.
31482
31543
  self.modification_time = modification_time
31544
+ self.reference_id = reference_id
31483
31545
  # The region where the media file is stored.
31484
31546
  self.region_id = region_id
31485
31547
  # The period of time in which the object remains in the restored state.
@@ -31561,6 +31623,8 @@ class GetVideoInfoResponseBodyVideo(TeaModel):
31561
31623
  result['Duration'] = self.duration
31562
31624
  if self.modification_time is not None:
31563
31625
  result['ModificationTime'] = self.modification_time
31626
+ if self.reference_id is not None:
31627
+ result['ReferenceId'] = self.reference_id
31564
31628
  if self.region_id is not None:
31565
31629
  result['RegionId'] = self.region_id
31566
31630
  if self.restore_expiration is not None:
@@ -31613,6 +31677,8 @@ class GetVideoInfoResponseBodyVideo(TeaModel):
31613
31677
  self.duration = m.get('Duration')
31614
31678
  if m.get('ModificationTime') is not None:
31615
31679
  self.modification_time = m.get('ModificationTime')
31680
+ if m.get('ReferenceId') is not None:
31681
+ self.reference_id = m.get('ReferenceId')
31616
31682
  if m.get('RegionId') is not None:
31617
31683
  self.region_id = m.get('RegionId')
31618
31684
  if m.get('RestoreExpiration') is not None:
@@ -31724,11 +31790,11 @@ class GetVideoInfoResponse(TeaModel):
31724
31790
  class GetVideoInfosRequest(TeaModel):
31725
31791
  def __init__(
31726
31792
  self,
31793
+ reference_ids: str = None,
31727
31794
  video_ids: str = None,
31728
31795
  ):
31796
+ self.reference_ids = reference_ids
31729
31797
  # The list of video IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs can be specified.
31730
- #
31731
- # This parameter is required.
31732
31798
  self.video_ids = video_ids
31733
31799
 
31734
31800
  def validate(self):
@@ -31740,12 +31806,16 @@ class GetVideoInfosRequest(TeaModel):
31740
31806
  return _map
31741
31807
 
31742
31808
  result = dict()
31809
+ if self.reference_ids is not None:
31810
+ result['ReferenceIds'] = self.reference_ids
31743
31811
  if self.video_ids is not None:
31744
31812
  result['VideoIds'] = self.video_ids
31745
31813
  return result
31746
31814
 
31747
31815
  def from_map(self, m: dict = None):
31748
31816
  m = m or dict()
31817
+ if m.get('ReferenceIds') is not None:
31818
+ self.reference_ids = m.get('ReferenceIds')
31749
31819
  if m.get('VideoIds') is not None:
31750
31820
  self.video_ids = m.get('VideoIds')
31751
31821
  return self
@@ -31763,6 +31833,7 @@ class GetVideoInfosResponseBodyVideoList(TeaModel):
31763
31833
  download_switch: str = None,
31764
31834
  duration: float = None,
31765
31835
  modification_time: str = None,
31836
+ reference_id: str = None,
31766
31837
  restore_expiration: str = None,
31767
31838
  restore_status: str = None,
31768
31839
  size: int = None,
@@ -31797,6 +31868,7 @@ class GetVideoInfosResponseBodyVideoList(TeaModel):
31797
31868
  self.duration = duration
31798
31869
  # The time when the audio or video file was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.
31799
31870
  self.modification_time = modification_time
31871
+ self.reference_id = reference_id
31800
31872
  # The period of time in which the audio file remains in the restored state.
31801
31873
  self.restore_expiration = restore_expiration
31802
31874
  # The restoration status of the audio file. Valid values:
@@ -31871,6 +31943,8 @@ class GetVideoInfosResponseBodyVideoList(TeaModel):
31871
31943
  result['Duration'] = self.duration
31872
31944
  if self.modification_time is not None:
31873
31945
  result['ModificationTime'] = self.modification_time
31946
+ if self.reference_id is not None:
31947
+ result['ReferenceId'] = self.reference_id
31874
31948
  if self.restore_expiration is not None:
31875
31949
  result['RestoreExpiration'] = self.restore_expiration
31876
31950
  if self.restore_status is not None:
@@ -31917,6 +31991,8 @@ class GetVideoInfosResponseBodyVideoList(TeaModel):
31917
31991
  self.duration = m.get('Duration')
31918
31992
  if m.get('ModificationTime') is not None:
31919
31993
  self.modification_time = m.get('ModificationTime')
31994
+ if m.get('ReferenceId') is not None:
31995
+ self.reference_id = m.get('ReferenceId')
31920
31996
  if m.get('RestoreExpiration') is not None:
31921
31997
  self.restore_expiration = m.get('RestoreExpiration')
31922
31998
  if m.get('RestoreStatus') is not None:
@@ -31947,10 +32023,12 @@ class GetVideoInfosResponseBodyVideoList(TeaModel):
31947
32023
  class GetVideoInfosResponseBody(TeaModel):
31948
32024
  def __init__(
31949
32025
  self,
32026
+ non_exist_reference_ids: List[str] = None,
31950
32027
  non_exist_video_ids: List[str] = None,
31951
32028
  request_id: str = None,
31952
32029
  video_list: List[GetVideoInfosResponseBodyVideoList] = None,
31953
32030
  ):
32031
+ self.non_exist_reference_ids = non_exist_reference_ids
31954
32032
  # The IDs of the videos that do not exist.
31955
32033
  self.non_exist_video_ids = non_exist_video_ids
31956
32034
  # The ID of the request.
@@ -31970,6 +32048,8 @@ class GetVideoInfosResponseBody(TeaModel):
31970
32048
  return _map
31971
32049
 
31972
32050
  result = dict()
32051
+ if self.non_exist_reference_ids is not None:
32052
+ result['NonExistReferenceIds'] = self.non_exist_reference_ids
31973
32053
  if self.non_exist_video_ids is not None:
31974
32054
  result['NonExistVideoIds'] = self.non_exist_video_ids
31975
32055
  if self.request_id is not None:
@@ -31982,6 +32062,8 @@ class GetVideoInfosResponseBody(TeaModel):
31982
32062
 
31983
32063
  def from_map(self, m: dict = None):
31984
32064
  m = m or dict()
32065
+ if m.get('NonExistReferenceIds') is not None:
32066
+ self.non_exist_reference_ids = m.get('NonExistReferenceIds')
31985
32067
  if m.get('NonExistVideoIds') is not None:
31986
32068
  self.non_exist_video_ids = m.get('NonExistVideoIds')
31987
32069
  if m.get('RequestId') is not None:
@@ -32042,6 +32124,7 @@ class GetVideoListRequest(TeaModel):
32042
32124
  end_time: str = None,
32043
32125
  page_no: int = None,
32044
32126
  page_size: int = None,
32127
+ reference_ids: str = None,
32045
32128
  sort_by: str = None,
32046
32129
  start_time: str = None,
32047
32130
  status: str = None,
@@ -32059,6 +32142,7 @@ class GetVideoListRequest(TeaModel):
32059
32142
  self.page_no = page_no
32060
32143
  # The number of entries to return on each page. Default value: **10**. Maximum value: **100**.
32061
32144
  self.page_size = page_size
32145
+ self.reference_ids = reference_ids
32062
32146
  # The sorting method of the results. Valid values:
32063
32147
  #
32064
32148
  # * **CreationTime:Desc** (default): The results are sorted in reverse chronological order based on the creation time.
@@ -32100,6 +32184,8 @@ class GetVideoListRequest(TeaModel):
32100
32184
  result['PageNo'] = self.page_no
32101
32185
  if self.page_size is not None:
32102
32186
  result['PageSize'] = self.page_size
32187
+ if self.reference_ids is not None:
32188
+ result['ReferenceIds'] = self.reference_ids
32103
32189
  if self.sort_by is not None:
32104
32190
  result['SortBy'] = self.sort_by
32105
32191
  if self.start_time is not None:
@@ -32120,6 +32206,8 @@ class GetVideoListRequest(TeaModel):
32120
32206
  self.page_no = m.get('PageNo')
32121
32207
  if m.get('PageSize') is not None:
32122
32208
  self.page_size = m.get('PageSize')
32209
+ if m.get('ReferenceIds') is not None:
32210
+ self.reference_ids = m.get('ReferenceIds')
32123
32211
  if m.get('SortBy') is not None:
32124
32212
  self.sort_by = m.get('SortBy')
32125
32213
  if m.get('StartTime') is not None:
@@ -32169,6 +32257,7 @@ class GetVideoListResponseBodyVideoListVideo(TeaModel):
32169
32257
  description: str = None,
32170
32258
  duration: float = None,
32171
32259
  modification_time: str = None,
32260
+ reference_id: str = None,
32172
32261
  restore_expiration: str = None,
32173
32262
  restore_status: str = None,
32174
32263
  size: int = None,
@@ -32197,6 +32286,7 @@ class GetVideoListResponseBodyVideoListVideo(TeaModel):
32197
32286
  self.duration = duration
32198
32287
  # The time when the video was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.
32199
32288
  self.modification_time = modification_time
32289
+ self.reference_id = reference_id
32200
32290
  # The period of time in which the audio or video file remains in the restored state.
32201
32291
  self.restore_expiration = restore_expiration
32202
32292
  # The restoration status of the audio or video file. Valid values:
@@ -32271,6 +32361,8 @@ class GetVideoListResponseBodyVideoListVideo(TeaModel):
32271
32361
  result['Duration'] = self.duration
32272
32362
  if self.modification_time is not None:
32273
32363
  result['ModificationTime'] = self.modification_time
32364
+ if self.reference_id is not None:
32365
+ result['ReferenceId'] = self.reference_id
32274
32366
  if self.restore_expiration is not None:
32275
32367
  result['RestoreExpiration'] = self.restore_expiration
32276
32368
  if self.restore_status is not None:
@@ -32313,6 +32405,8 @@ class GetVideoListResponseBodyVideoListVideo(TeaModel):
32313
32405
  self.duration = m.get('Duration')
32314
32406
  if m.get('ModificationTime') is not None:
32315
32407
  self.modification_time = m.get('ModificationTime')
32408
+ if m.get('ReferenceId') is not None:
32409
+ self.reference_id = m.get('ReferenceId')
32316
32410
  if m.get('RestoreExpiration') is not None:
32317
32411
  self.restore_expiration = m.get('RestoreExpiration')
32318
32412
  if m.get('RestoreStatus') is not None:
@@ -32464,6 +32558,7 @@ class GetVideoPlayAuthRequest(TeaModel):
32464
32558
  self,
32465
32559
  api_version: str = None,
32466
32560
  auth_info_timeout: int = None,
32561
+ reference_id: str = None,
32467
32562
  video_id: str = None,
32468
32563
  ):
32469
32564
  # The API version. Set the value to **1.0.0**.
@@ -32473,13 +32568,12 @@ class GetVideoPlayAuthRequest(TeaModel):
32473
32568
  # * Default value: **100**.
32474
32569
  # * Valid values: `[100,3000]`.
32475
32570
  self.auth_info_timeout = auth_info_timeout
32571
+ self.reference_id = reference_id
32476
32572
  # The ID of the media file. You can specify only one ID. You can use one of the following methods to obtain the ID of the file:
32477
32573
  #
32478
32574
  # * Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the media file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.
32479
32575
  # * Obtain the value of the VideoId parameter from the response to the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation.
32480
32576
  # * Obtain the value of the VideoId parameter from the response to the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation. This method is applicable to files that have been uploaded.
32481
- #
32482
- # This parameter is required.
32483
32577
  self.video_id = video_id
32484
32578
 
32485
32579
  def validate(self):
@@ -32495,6 +32589,8 @@ class GetVideoPlayAuthRequest(TeaModel):
32495
32589
  result['ApiVersion'] = self.api_version
32496
32590
  if self.auth_info_timeout is not None:
32497
32591
  result['AuthInfoTimeout'] = self.auth_info_timeout
32592
+ if self.reference_id is not None:
32593
+ result['ReferenceId'] = self.reference_id
32498
32594
  if self.video_id is not None:
32499
32595
  result['VideoId'] = self.video_id
32500
32596
  return result
@@ -32505,6 +32601,8 @@ class GetVideoPlayAuthRequest(TeaModel):
32505
32601
  self.api_version = m.get('ApiVersion')
32506
32602
  if m.get('AuthInfoTimeout') is not None:
32507
32603
  self.auth_info_timeout = m.get('AuthInfoTimeout')
32604
+ if m.get('ReferenceId') is not None:
32605
+ self.reference_id = m.get('ReferenceId')
32508
32606
  if m.get('VideoId') is not None:
32509
32607
  self.video_id = m.get('VideoId')
32510
32608
  return self
@@ -36945,11 +37043,13 @@ class RefreshUploadVideoRequest(TeaModel):
36945
37043
  def __init__(
36946
37044
  self,
36947
37045
  owner_id: int = None,
37046
+ reference_id: str = None,
36948
37047
  resource_owner_account: str = None,
36949
37048
  resource_owner_id: int = None,
36950
37049
  video_id: str = None,
36951
37050
  ):
36952
37051
  self.owner_id = owner_id
37052
+ self.reference_id = reference_id
36953
37053
  self.resource_owner_account = resource_owner_account
36954
37054
  self.resource_owner_id = resource_owner_id
36955
37055
  # The ID of the audio or video file. You can use one of the following methods to obtain the ID:
@@ -36957,8 +37057,6 @@ class RefreshUploadVideoRequest(TeaModel):
36957
37057
  # * Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** in the left-side navigation pane to view the ID.
36958
37058
  # * View the value of the VideoId parameter returned by the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation that you called to upload the audio or video file.
36959
37059
  # * After an audio or video file is uploaded, obtain the value of VideoId from the response to the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation that you call to query the audio or video ID.
36960
- #
36961
- # This parameter is required.
36962
37060
  self.video_id = video_id
36963
37061
 
36964
37062
  def validate(self):
@@ -36972,6 +37070,8 @@ class RefreshUploadVideoRequest(TeaModel):
36972
37070
  result = dict()
36973
37071
  if self.owner_id is not None:
36974
37072
  result['OwnerId'] = self.owner_id
37073
+ if self.reference_id is not None:
37074
+ result['ReferenceId'] = self.reference_id
36975
37075
  if self.resource_owner_account is not None:
36976
37076
  result['ResourceOwnerAccount'] = self.resource_owner_account
36977
37077
  if self.resource_owner_id is not None:
@@ -36984,6 +37084,8 @@ class RefreshUploadVideoRequest(TeaModel):
36984
37084
  m = m or dict()
36985
37085
  if m.get('OwnerId') is not None:
36986
37086
  self.owner_id = m.get('OwnerId')
37087
+ if m.get('ReferenceId') is not None:
37088
+ self.reference_id = m.get('ReferenceId')
36987
37089
  if m.get('ResourceOwnerAccount') is not None:
36988
37090
  self.resource_owner_account = m.get('ResourceOwnerAccount')
36989
37091
  if m.get('ResourceOwnerId') is not None:
@@ -38519,6 +38621,7 @@ class SearchMediaResponseBodyMediaListAudio(TeaModel):
38519
38621
  media_source: str = None,
38520
38622
  modification_time: str = None,
38521
38623
  preprocess_status: str = None,
38624
+ reference_id: str = None,
38522
38625
  restore_expiration: str = None,
38523
38626
  restore_status: str = None,
38524
38627
  size: int = None,
@@ -38568,6 +38671,7 @@ class SearchMediaResponseBodyMediaListAudio(TeaModel):
38568
38671
  # * **PreprocessSucceed**\
38569
38672
  # * **PreprocessFailed**\
38570
38673
  self.preprocess_status = preprocess_status
38674
+ self.reference_id = reference_id
38571
38675
  # The period of time in which the audio file remains in the restored state.
38572
38676
  self.restore_expiration = restore_expiration
38573
38677
  # The restoration status of the audio file. Valid values:
@@ -38646,6 +38750,8 @@ class SearchMediaResponseBodyMediaListAudio(TeaModel):
38646
38750
  result['ModificationTime'] = self.modification_time
38647
38751
  if self.preprocess_status is not None:
38648
38752
  result['PreprocessStatus'] = self.preprocess_status
38753
+ if self.reference_id is not None:
38754
+ result['ReferenceId'] = self.reference_id
38649
38755
  if self.restore_expiration is not None:
38650
38756
  result['RestoreExpiration'] = self.restore_expiration
38651
38757
  if self.restore_status is not None:
@@ -38696,6 +38802,8 @@ class SearchMediaResponseBodyMediaListAudio(TeaModel):
38696
38802
  self.modification_time = m.get('ModificationTime')
38697
38803
  if m.get('PreprocessStatus') is not None:
38698
38804
  self.preprocess_status = m.get('PreprocessStatus')
38805
+ if m.get('ReferenceId') is not None:
38806
+ self.reference_id = m.get('ReferenceId')
38699
38807
  if m.get('RestoreExpiration') is not None:
38700
38808
  self.restore_expiration = m.get('RestoreExpiration')
38701
38809
  if m.get('RestoreStatus') is not None:
@@ -38844,6 +38952,7 @@ class SearchMediaResponseBodyMediaListVideo(TeaModel):
38844
38952
  media_source: str = None,
38845
38953
  modification_time: str = None,
38846
38954
  preprocess_status: str = None,
38955
+ reference_id: str = None,
38847
38956
  restore_expiration: str = None,
38848
38957
  restore_status: str = None,
38849
38958
  size: int = None,
@@ -38892,6 +39001,7 @@ class SearchMediaResponseBodyMediaListVideo(TeaModel):
38892
39001
  # * **PreprocessSucceed**\
38893
39002
  # * **PreprocessFailed**\
38894
39003
  self.preprocess_status = preprocess_status
39004
+ self.reference_id = reference_id
38895
39005
  # The period of time in which the video file remains in the restored state.
38896
39006
  self.restore_expiration = restore_expiration
38897
39007
  # The restoration status of the video file. Valid values:
@@ -38974,6 +39084,8 @@ class SearchMediaResponseBodyMediaListVideo(TeaModel):
38974
39084
  result['ModificationTime'] = self.modification_time
38975
39085
  if self.preprocess_status is not None:
38976
39086
  result['PreprocessStatus'] = self.preprocess_status
39087
+ if self.reference_id is not None:
39088
+ result['ReferenceId'] = self.reference_id
38977
39089
  if self.restore_expiration is not None:
38978
39090
  result['RestoreExpiration'] = self.restore_expiration
38979
39091
  if self.restore_status is not None:
@@ -39024,6 +39136,8 @@ class SearchMediaResponseBodyMediaListVideo(TeaModel):
39024
39136
  self.modification_time = m.get('ModificationTime')
39025
39137
  if m.get('PreprocessStatus') is not None:
39026
39138
  self.preprocess_status = m.get('PreprocessStatus')
39139
+ if m.get('ReferenceId') is not None:
39140
+ self.reference_id = m.get('ReferenceId')
39027
39141
  if m.get('RestoreExpiration') is not None:
39028
39142
  self.restore_expiration = m.get('RestoreExpiration')
39029
39143
  if m.get('RestoreStatus') is not None:
@@ -41780,6 +41894,7 @@ class SubmitSnapshotJobRequest(TeaModel):
41780
41894
  count: int = None,
41781
41895
  height: str = None,
41782
41896
  interval: int = None,
41897
+ reference_id: str = None,
41783
41898
  snapshot_template_id: str = None,
41784
41899
  specified_offset_time: int = None,
41785
41900
  specified_offset_times: List[int] = None,
@@ -41798,6 +41913,7 @@ class SubmitSnapshotJobRequest(TeaModel):
41798
41913
  # * Default value: **1**.
41799
41914
  # * If you set this parameter to **0**, snapshots are captured at even intervals based on the video duration divided by the value of the Count parameter.
41800
41915
  self.interval = interval
41916
+ self.reference_id = reference_id
41801
41917
  # The ID of the snapshot template.
41802
41918
  #
41803
41919
  # * We recommend that you create a snapshot template before you specify the template ID. For more information about how to create a snapshot template, see [AddVodTemplate](https://help.aliyun.com/document_detail/99406.html).
@@ -41840,6 +41956,8 @@ class SubmitSnapshotJobRequest(TeaModel):
41840
41956
  result['Height'] = self.height
41841
41957
  if self.interval is not None:
41842
41958
  result['Interval'] = self.interval
41959
+ if self.reference_id is not None:
41960
+ result['ReferenceId'] = self.reference_id
41843
41961
  if self.snapshot_template_id is not None:
41844
41962
  result['SnapshotTemplateId'] = self.snapshot_template_id
41845
41963
  if self.specified_offset_time is not None:
@@ -41864,6 +41982,8 @@ class SubmitSnapshotJobRequest(TeaModel):
41864
41982
  self.height = m.get('Height')
41865
41983
  if m.get('Interval') is not None:
41866
41984
  self.interval = m.get('Interval')
41985
+ if m.get('ReferenceId') is not None:
41986
+ self.reference_id = m.get('ReferenceId')
41867
41987
  if m.get('SnapshotTemplateId') is not None:
41868
41988
  self.snapshot_template_id = m.get('SnapshotTemplateId')
41869
41989
  if m.get('SpecifiedOffsetTime') is not None:
@@ -41887,6 +42007,7 @@ class SubmitSnapshotJobShrinkRequest(TeaModel):
41887
42007
  count: int = None,
41888
42008
  height: str = None,
41889
42009
  interval: int = None,
42010
+ reference_id: str = None,
41890
42011
  snapshot_template_id: str = None,
41891
42012
  specified_offset_time: int = None,
41892
42013
  specified_offset_times_shrink: str = None,
@@ -41905,6 +42026,7 @@ class SubmitSnapshotJobShrinkRequest(TeaModel):
41905
42026
  # * Default value: **1**.
41906
42027
  # * If you set this parameter to **0**, snapshots are captured at even intervals based on the video duration divided by the value of the Count parameter.
41907
42028
  self.interval = interval
42029
+ self.reference_id = reference_id
41908
42030
  # The ID of the snapshot template.
41909
42031
  #
41910
42032
  # * We recommend that you create a snapshot template before you specify the template ID. For more information about how to create a snapshot template, see [AddVodTemplate](https://help.aliyun.com/document_detail/99406.html).
@@ -41947,6 +42069,8 @@ class SubmitSnapshotJobShrinkRequest(TeaModel):
41947
42069
  result['Height'] = self.height
41948
42070
  if self.interval is not None:
41949
42071
  result['Interval'] = self.interval
42072
+ if self.reference_id is not None:
42073
+ result['ReferenceId'] = self.reference_id
41950
42074
  if self.snapshot_template_id is not None:
41951
42075
  result['SnapshotTemplateId'] = self.snapshot_template_id
41952
42076
  if self.specified_offset_time is not None:
@@ -41971,6 +42095,8 @@ class SubmitSnapshotJobShrinkRequest(TeaModel):
41971
42095
  self.height = m.get('Height')
41972
42096
  if m.get('Interval') is not None:
41973
42097
  self.interval = m.get('Interval')
42098
+ if m.get('ReferenceId') is not None:
42099
+ self.reference_id = m.get('ReferenceId')
41974
42100
  if m.get('SnapshotTemplateId') is not None:
41975
42101
  self.snapshot_template_id = m.get('SnapshotTemplateId')
41976
42102
  if m.get('SpecifiedOffsetTime') is not None:
@@ -42101,6 +42227,7 @@ class SubmitTranscodeJobsRequest(TeaModel):
42101
42227
  override_params: str = None,
42102
42228
  pipeline_id: str = None,
42103
42229
  priority: str = None,
42230
+ reference_id: str = None,
42104
42231
  session_id: str = None,
42105
42232
  template_group_id: str = None,
42106
42233
  user_data: str = None,
@@ -42126,6 +42253,7 @@ class SubmitTranscodeJobsRequest(TeaModel):
42126
42253
  #
42127
42254
  # > This parameter takes effect only on the queued transcoding jobs. The priorities of the in-progress transcoding jobs are not affected.
42128
42255
  self.priority = priority
42256
+ self.reference_id = reference_id
42129
42257
  # The custom identifier for deduplication. If you send a request, an error is returned if a request with the same identifier was sent in the last 7 days. A custom identifier can be up to 50 characters in length and can contain letters, digits, hyphens (-), and underscores (_). If you do not specify this parameter or leave this parameter empty, duplicate requests are not filtered.
42130
42258
  self.session_id = session_id
42131
42259
  # The ID of the transcoding template group that you want to use. To view the template group ID, perform the following operations: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Transcoding Template Groups**.
@@ -42160,6 +42288,8 @@ class SubmitTranscodeJobsRequest(TeaModel):
42160
42288
  result['PipelineId'] = self.pipeline_id
42161
42289
  if self.priority is not None:
42162
42290
  result['Priority'] = self.priority
42291
+ if self.reference_id is not None:
42292
+ result['ReferenceId'] = self.reference_id
42163
42293
  if self.session_id is not None:
42164
42294
  result['SessionId'] = self.session_id
42165
42295
  if self.template_group_id is not None:
@@ -42180,6 +42310,8 @@ class SubmitTranscodeJobsRequest(TeaModel):
42180
42310
  self.pipeline_id = m.get('PipelineId')
42181
42311
  if m.get('Priority') is not None:
42182
42312
  self.priority = m.get('Priority')
42313
+ if m.get('ReferenceId') is not None:
42314
+ self.reference_id = m.get('ReferenceId')
42183
42315
  if m.get('SessionId') is not None:
42184
42316
  self.session_id = m.get('SessionId')
42185
42317
  if m.get('TemplateGroupId') is not None:
@@ -43644,6 +43776,7 @@ class UpdateVideoInfoRequest(TeaModel):
43644
43776
  cate_id: int = None,
43645
43777
  cover_url: str = None,
43646
43778
  description: str = None,
43779
+ reference_id: str = None,
43647
43780
  tags: str = None,
43648
43781
  title: str = None,
43649
43782
  user_data: str = None,
@@ -43662,6 +43795,7 @@ class UpdateVideoInfoRequest(TeaModel):
43662
43795
  # * The description can be up to 1,024 bytes in length.
43663
43796
  # * The value is encoded in UTF-8.
43664
43797
  self.description = description
43798
+ self.reference_id = reference_id
43665
43799
  # The tags of the media file.
43666
43800
  #
43667
43801
  # * Each tag can be up to 32 bytes in length. You can specify up to 16 tags.
@@ -43680,8 +43814,6 @@ class UpdateVideoInfoRequest(TeaModel):
43680
43814
  # * Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.
43681
43815
  # * Obtain the value of VideoId from the response to the [CreateUploadVideo](https://help.aliyun.com/document_detail/55407.html) operation that you called to obtain the upload URL and credential.
43682
43816
  # * View the value of the VideoId parameter returned by the [SearchMedia](https://help.aliyun.com/document_detail/86044.html) operation that you called to query media information after the audio or video file is uploaded.
43683
- #
43684
- # This parameter is required.
43685
43817
  self.video_id = video_id
43686
43818
 
43687
43819
  def validate(self):
@@ -43699,6 +43831,8 @@ class UpdateVideoInfoRequest(TeaModel):
43699
43831
  result['CoverURL'] = self.cover_url
43700
43832
  if self.description is not None:
43701
43833
  result['Description'] = self.description
43834
+ if self.reference_id is not None:
43835
+ result['ReferenceId'] = self.reference_id
43702
43836
  if self.tags is not None:
43703
43837
  result['Tags'] = self.tags
43704
43838
  if self.title is not None:
@@ -43717,6 +43851,8 @@ class UpdateVideoInfoRequest(TeaModel):
43717
43851
  self.cover_url = m.get('CoverURL')
43718
43852
  if m.get('Description') is not None:
43719
43853
  self.description = m.get('Description')
43854
+ if m.get('ReferenceId') is not None:
43855
+ self.reference_id = m.get('ReferenceId')
43720
43856
  if m.get('Tags') is not None:
43721
43857
  self.tags = m.get('Tags')
43722
43858
  if m.get('Title') is not None:
@@ -43833,11 +43969,13 @@ class UpdateVideoInfosResponseBody(TeaModel):
43833
43969
  def __init__(
43834
43970
  self,
43835
43971
  forbidden_video_ids: List[str] = None,
43972
+ non_exist_reference_ids: List[str] = None,
43836
43973
  non_exist_video_ids: List[str] = None,
43837
43974
  request_id: str = None,
43838
43975
  ):
43839
43976
  # The IDs of the videos that cannot be modified. Generally, videos cannot be modified if you do not have required [permissions](https://help.aliyun.com/document_detail/113600.html).
43840
43977
  self.forbidden_video_ids = forbidden_video_ids
43978
+ self.non_exist_reference_ids = non_exist_reference_ids
43841
43979
  # The IDs of the videos that do not exist.
43842
43980
  self.non_exist_video_ids = non_exist_video_ids
43843
43981
  # The ID of the request.
@@ -43854,6 +43992,8 @@ class UpdateVideoInfosResponseBody(TeaModel):
43854
43992
  result = dict()
43855
43993
  if self.forbidden_video_ids is not None:
43856
43994
  result['ForbiddenVideoIds'] = self.forbidden_video_ids
43995
+ if self.non_exist_reference_ids is not None:
43996
+ result['NonExistReferenceIds'] = self.non_exist_reference_ids
43857
43997
  if self.non_exist_video_ids is not None:
43858
43998
  result['NonExistVideoIds'] = self.non_exist_video_ids
43859
43999
  if self.request_id is not None:
@@ -43864,6 +44004,8 @@ class UpdateVideoInfosResponseBody(TeaModel):
43864
44004
  m = m or dict()
43865
44005
  if m.get('ForbiddenVideoIds') is not None:
43866
44006
  self.forbidden_video_ids = m.get('ForbiddenVideoIds')
44007
+ if m.get('NonExistReferenceIds') is not None:
44008
+ self.non_exist_reference_ids = m.get('NonExistReferenceIds')
43867
44009
  if m.get('NonExistVideoIds') is not None:
43868
44010
  self.non_exist_video_ids = m.get('NonExistVideoIds')
43869
44011
  if m.get('RequestId') is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alibabacloud-vod20170321
3
- Version: 3.9.1
3
+ Version: 3.9.2
4
4
  Summary: Alibaba Cloud ApsaraVideo for VOD (20170321) SDK Library for Python
5
5
  Home-page: https://github.com/aliyun/alibabacloud-python-sdk
6
6
  Author: Alibaba Cloud SDK
@@ -24,7 +24,7 @@ from setuptools import setup, find_packages
24
24
  """
25
25
  setup module for alibabacloud_vod20170321.
26
26
 
27
- Created on 19/11/2025
27
+ Created on 03/12/2025
28
28
 
29
29
  @author: Alibaba Cloud SDK
30
30
  """
@@ -1 +0,0 @@
1
- __version__ = '3.9.1'