tencentcloud-sdk-python-vod 3.0.1228__tar.gz → 3.0.1237__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.
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/PKG-INFO +1 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/setup.py +1 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/__init__.py +1 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/vod/v20180717/models.py +132 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/vod/v20180717/vod_client.py +1 -1
- tencentcloud-sdk-python-vod-3.0.1237/tencentcloud/vod/v20240718/__init__.py +0 -0
- tencentcloud-sdk-python-vod-3.0.1237/tencentcloud/vod/v20240718/errorcodes.py +15 -0
- tencentcloud-sdk-python-vod-3.0.1237/tencentcloud/vod/v20240718/models.py +189 -0
- tencentcloud-sdk-python-vod-3.0.1237/tencentcloud/vod/v20240718/vod_client.py +49 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud_sdk_python_vod.egg-info/PKG-INFO +1 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud_sdk_python_vod.egg-info/SOURCES.txt +4 -0
- tencentcloud-sdk-python-vod-3.0.1237/tencentcloud_sdk_python_vod.egg-info/requires.txt +1 -0
- tencentcloud-sdk-python-vod-3.0.1228/tencentcloud_sdk_python_vod.egg-info/requires.txt +0 -1
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/README.rst +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/setup.cfg +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/vod/__init__.py +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/vod/v20180717/__init__.py +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud/vod/v20180717/errorcodes.py +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud_sdk_python_vod.egg-info/dependency_links.txt +0 -0
- {tencentcloud-sdk-python-vod-3.0.1228 → tencentcloud-sdk-python-vod-3.0.1237}/tencentcloud_sdk_python_vod.egg-info/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-vod',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common==3.0.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common==3.0.1237"],
|
|
12
12
|
version=tencentcloud.__version__,
|
|
13
13
|
description='Tencent Cloud Vod SDK for Python',
|
|
14
14
|
long_description=open('README.rst').read(),
|
|
@@ -548,6 +548,10 @@ class AdaptiveDynamicStreamingInfoItem(AbstractModel):
|
|
|
548
548
|
:type SubStreamSet: list of MediaSubStreamInfoItem
|
|
549
549
|
:param _CopyRightWatermarkText: 版权信息。
|
|
550
550
|
:type CopyRightWatermarkText: str
|
|
551
|
+
:param _SubtitleSet: 字幕信息列表。
|
|
552
|
+
:type SubtitleSet: list of MediaSubtitleItem
|
|
553
|
+
:param _DefaultSubtitleId: 默认字幕的唯一标识。
|
|
554
|
+
:type DefaultSubtitleId: str
|
|
551
555
|
"""
|
|
552
556
|
self._Definition = None
|
|
553
557
|
self._Package = None
|
|
@@ -557,6 +561,8 @@ class AdaptiveDynamicStreamingInfoItem(AbstractModel):
|
|
|
557
561
|
self._DigitalWatermarkType = None
|
|
558
562
|
self._SubStreamSet = None
|
|
559
563
|
self._CopyRightWatermarkText = None
|
|
564
|
+
self._SubtitleSet = None
|
|
565
|
+
self._DefaultSubtitleId = None
|
|
560
566
|
|
|
561
567
|
@property
|
|
562
568
|
def Definition(self):
|
|
@@ -622,6 +628,22 @@ class AdaptiveDynamicStreamingInfoItem(AbstractModel):
|
|
|
622
628
|
def CopyRightWatermarkText(self, CopyRightWatermarkText):
|
|
623
629
|
self._CopyRightWatermarkText = CopyRightWatermarkText
|
|
624
630
|
|
|
631
|
+
@property
|
|
632
|
+
def SubtitleSet(self):
|
|
633
|
+
return self._SubtitleSet
|
|
634
|
+
|
|
635
|
+
@SubtitleSet.setter
|
|
636
|
+
def SubtitleSet(self, SubtitleSet):
|
|
637
|
+
self._SubtitleSet = SubtitleSet
|
|
638
|
+
|
|
639
|
+
@property
|
|
640
|
+
def DefaultSubtitleId(self):
|
|
641
|
+
return self._DefaultSubtitleId
|
|
642
|
+
|
|
643
|
+
@DefaultSubtitleId.setter
|
|
644
|
+
def DefaultSubtitleId(self, DefaultSubtitleId):
|
|
645
|
+
self._DefaultSubtitleId = DefaultSubtitleId
|
|
646
|
+
|
|
625
647
|
|
|
626
648
|
def _deserialize(self, params):
|
|
627
649
|
self._Definition = params.get("Definition")
|
|
@@ -637,6 +659,13 @@ class AdaptiveDynamicStreamingInfoItem(AbstractModel):
|
|
|
637
659
|
obj._deserialize(item)
|
|
638
660
|
self._SubStreamSet.append(obj)
|
|
639
661
|
self._CopyRightWatermarkText = params.get("CopyRightWatermarkText")
|
|
662
|
+
if params.get("SubtitleSet") is not None:
|
|
663
|
+
self._SubtitleSet = []
|
|
664
|
+
for item in params.get("SubtitleSet"):
|
|
665
|
+
obj = MediaSubtitleItem()
|
|
666
|
+
obj._deserialize(item)
|
|
667
|
+
self._SubtitleSet.append(obj)
|
|
668
|
+
self._DefaultSubtitleId = params.get("DefaultSubtitleId")
|
|
640
669
|
memeber_set = set(params.keys())
|
|
641
670
|
for name, value in vars(self).items():
|
|
642
671
|
property_name = name[1:]
|
|
@@ -9283,6 +9312,8 @@ class AttachMediaSubtitlesRequest(AbstractModel):
|
|
|
9283
9312
|
:type AdaptiveDynamicStreamingDefinition: int
|
|
9284
9313
|
:param _SubtitleIds: 字幕的唯一标识。
|
|
9285
9314
|
:type SubtitleIds: list of str
|
|
9315
|
+
:param _DefaultSubtitleId: 默认字幕的唯一标识。不填则不设置默认字幕。
|
|
9316
|
+
:type DefaultSubtitleId: str
|
|
9286
9317
|
:param _SubAppId: <b>点播[应用](/document/product/266/14574) ID。从2023年12月25日起开通点播的客户,如访问点播应用中的资源(无论是默认应用还是新创建的应用),必须将该字段填写为应用 ID。</b>
|
|
9287
9318
|
:type SubAppId: int
|
|
9288
9319
|
"""
|
|
@@ -9290,6 +9321,7 @@ class AttachMediaSubtitlesRequest(AbstractModel):
|
|
|
9290
9321
|
self._Operation = None
|
|
9291
9322
|
self._AdaptiveDynamicStreamingDefinition = None
|
|
9292
9323
|
self._SubtitleIds = None
|
|
9324
|
+
self._DefaultSubtitleId = None
|
|
9293
9325
|
self._SubAppId = None
|
|
9294
9326
|
|
|
9295
9327
|
@property
|
|
@@ -9324,6 +9356,14 @@ class AttachMediaSubtitlesRequest(AbstractModel):
|
|
|
9324
9356
|
def SubtitleIds(self, SubtitleIds):
|
|
9325
9357
|
self._SubtitleIds = SubtitleIds
|
|
9326
9358
|
|
|
9359
|
+
@property
|
|
9360
|
+
def DefaultSubtitleId(self):
|
|
9361
|
+
return self._DefaultSubtitleId
|
|
9362
|
+
|
|
9363
|
+
@DefaultSubtitleId.setter
|
|
9364
|
+
def DefaultSubtitleId(self, DefaultSubtitleId):
|
|
9365
|
+
self._DefaultSubtitleId = DefaultSubtitleId
|
|
9366
|
+
|
|
9327
9367
|
@property
|
|
9328
9368
|
def SubAppId(self):
|
|
9329
9369
|
return self._SubAppId
|
|
@@ -9338,6 +9378,7 @@ class AttachMediaSubtitlesRequest(AbstractModel):
|
|
|
9338
9378
|
self._Operation = params.get("Operation")
|
|
9339
9379
|
self._AdaptiveDynamicStreamingDefinition = params.get("AdaptiveDynamicStreamingDefinition")
|
|
9340
9380
|
self._SubtitleIds = params.get("SubtitleIds")
|
|
9381
|
+
self._DefaultSubtitleId = params.get("DefaultSubtitleId")
|
|
9341
9382
|
self._SubAppId = params.get("SubAppId")
|
|
9342
9383
|
memeber_set = set(params.keys())
|
|
9343
9384
|
for name, value in vars(self).items():
|
|
@@ -21133,6 +21174,8 @@ class DescribeEventConfigResponse(AbstractModel):
|
|
|
21133
21174
|
:type UploadMediaCompleteEventSwitch: str
|
|
21134
21175
|
:param _DeleteMediaCompleteEventSwitch: 是否接收 [视频删除完成](https://cloud.tencent.com/document/product/266/13434) 事件通知,"OFF" 为忽略该事件通知,"ON" 为接收事件通知。
|
|
21135
21176
|
:type DeleteMediaCompleteEventSwitch: str
|
|
21177
|
+
:param _PersistenceCompleteEventSwitch: 是否接收剪辑固化完成事件通知,"OFF" 为忽略该事件通知,"ON" 为接收事件通知。
|
|
21178
|
+
:type PersistenceCompleteEventSwitch: str
|
|
21136
21179
|
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
21137
21180
|
:type RequestId: str
|
|
21138
21181
|
"""
|
|
@@ -21140,6 +21183,7 @@ class DescribeEventConfigResponse(AbstractModel):
|
|
|
21140
21183
|
self._NotificationUrl = None
|
|
21141
21184
|
self._UploadMediaCompleteEventSwitch = None
|
|
21142
21185
|
self._DeleteMediaCompleteEventSwitch = None
|
|
21186
|
+
self._PersistenceCompleteEventSwitch = None
|
|
21143
21187
|
self._RequestId = None
|
|
21144
21188
|
|
|
21145
21189
|
@property
|
|
@@ -21174,6 +21218,14 @@ class DescribeEventConfigResponse(AbstractModel):
|
|
|
21174
21218
|
def DeleteMediaCompleteEventSwitch(self, DeleteMediaCompleteEventSwitch):
|
|
21175
21219
|
self._DeleteMediaCompleteEventSwitch = DeleteMediaCompleteEventSwitch
|
|
21176
21220
|
|
|
21221
|
+
@property
|
|
21222
|
+
def PersistenceCompleteEventSwitch(self):
|
|
21223
|
+
return self._PersistenceCompleteEventSwitch
|
|
21224
|
+
|
|
21225
|
+
@PersistenceCompleteEventSwitch.setter
|
|
21226
|
+
def PersistenceCompleteEventSwitch(self, PersistenceCompleteEventSwitch):
|
|
21227
|
+
self._PersistenceCompleteEventSwitch = PersistenceCompleteEventSwitch
|
|
21228
|
+
|
|
21177
21229
|
@property
|
|
21178
21230
|
def RequestId(self):
|
|
21179
21231
|
return self._RequestId
|
|
@@ -21188,6 +21240,7 @@ class DescribeEventConfigResponse(AbstractModel):
|
|
|
21188
21240
|
self._NotificationUrl = params.get("NotificationUrl")
|
|
21189
21241
|
self._UploadMediaCompleteEventSwitch = params.get("UploadMediaCompleteEventSwitch")
|
|
21190
21242
|
self._DeleteMediaCompleteEventSwitch = params.get("DeleteMediaCompleteEventSwitch")
|
|
21243
|
+
self._PersistenceCompleteEventSwitch = params.get("PersistenceCompleteEventSwitch")
|
|
21191
21244
|
self._RequestId = params.get("RequestId")
|
|
21192
21245
|
|
|
21193
21246
|
|
|
@@ -27737,7 +27790,8 @@ class EventContent(AbstractModel):
|
|
|
27737
27790
|
<li>ExtractCopyRightWatermarkComplete:提取版权水印完成;</li>
|
|
27738
27791
|
<li>DescribeFileAttributesComplete:获取文件属性完成;</li>
|
|
27739
27792
|
<li>QualityInspectComplete:音画质检测完成;</li>
|
|
27740
|
-
<li>QualityEnhanceComplete
|
|
27793
|
+
<li>QualityEnhanceComplete:音画质重生任务完成;</li>
|
|
27794
|
+
<li>PersistenceComplete:剪辑固化完成。</li>
|
|
27741
27795
|
<b>兼容 2017 版的事件类型:</b>
|
|
27742
27796
|
<li>TranscodeComplete:视频转码完成;</li>
|
|
27743
27797
|
<li>ConcatComplete:视频拼接完成;</li>
|
|
@@ -27820,6 +27874,9 @@ class EventContent(AbstractModel):
|
|
|
27820
27874
|
:param _MediaCastStatusChangedEvent: 媒体转推状态变化事件,当事件类型为 MediaCastStatusChanged 时有效。
|
|
27821
27875
|
注意:此字段可能返回 null,表示取不到有效值。
|
|
27822
27876
|
:type MediaCastStatusChangedEvent: :class:`tencentcloud.vod.v20180717.models.MediaCastEvent`
|
|
27877
|
+
:param _PersistenceCompleteEvent: 剪辑固化完成事件,当事件类型为 PersistenceComplete 时有效。
|
|
27878
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
27879
|
+
:type PersistenceCompleteEvent: :class:`tencentcloud.vod.v20180717.models.PersistenceCompleteTask`
|
|
27823
27880
|
"""
|
|
27824
27881
|
self._EventHandle = None
|
|
27825
27882
|
self._EventType = None
|
|
@@ -27848,6 +27905,7 @@ class EventContent(AbstractModel):
|
|
|
27848
27905
|
self._QualityInspectCompleteEvent = None
|
|
27849
27906
|
self._QualityEnhanceCompleteEvent = None
|
|
27850
27907
|
self._MediaCastStatusChangedEvent = None
|
|
27908
|
+
self._PersistenceCompleteEvent = None
|
|
27851
27909
|
|
|
27852
27910
|
@property
|
|
27853
27911
|
def EventHandle(self):
|
|
@@ -28065,6 +28123,14 @@ class EventContent(AbstractModel):
|
|
|
28065
28123
|
def MediaCastStatusChangedEvent(self, MediaCastStatusChangedEvent):
|
|
28066
28124
|
self._MediaCastStatusChangedEvent = MediaCastStatusChangedEvent
|
|
28067
28125
|
|
|
28126
|
+
@property
|
|
28127
|
+
def PersistenceCompleteEvent(self):
|
|
28128
|
+
return self._PersistenceCompleteEvent
|
|
28129
|
+
|
|
28130
|
+
@PersistenceCompleteEvent.setter
|
|
28131
|
+
def PersistenceCompleteEvent(self, PersistenceCompleteEvent):
|
|
28132
|
+
self._PersistenceCompleteEvent = PersistenceCompleteEvent
|
|
28133
|
+
|
|
28068
28134
|
|
|
28069
28135
|
def _deserialize(self, params):
|
|
28070
28136
|
self._EventHandle = params.get("EventHandle")
|
|
@@ -28144,6 +28210,9 @@ class EventContent(AbstractModel):
|
|
|
28144
28210
|
if params.get("MediaCastStatusChangedEvent") is not None:
|
|
28145
28211
|
self._MediaCastStatusChangedEvent = MediaCastEvent()
|
|
28146
28212
|
self._MediaCastStatusChangedEvent._deserialize(params.get("MediaCastStatusChangedEvent"))
|
|
28213
|
+
if params.get("PersistenceCompleteEvent") is not None:
|
|
28214
|
+
self._PersistenceCompleteEvent = PersistenceCompleteTask()
|
|
28215
|
+
self._PersistenceCompleteEvent._deserialize(params.get("PersistenceCompleteEvent"))
|
|
28147
28216
|
memeber_set = set(params.keys())
|
|
28148
28217
|
for name, value in vars(self).items():
|
|
28149
28218
|
property_name = name[1:]
|
|
@@ -38697,6 +38766,8 @@ class ModifyEventConfigRequest(AbstractModel):
|
|
|
38697
38766
|
:type UploadMediaCompleteEventSwitch: str
|
|
38698
38767
|
:param _DeleteMediaCompleteEventSwitch: 是否接收 [视频删除完成](https://cloud.tencent.com/document/product/266/13434) 事件通知, 默认 "OFF" 为忽略该事件通知,"ON" 为接收事件通知。
|
|
38699
38768
|
:type DeleteMediaCompleteEventSwitch: str
|
|
38769
|
+
:param _PersistenceCompleteEventSwitch: 是否接收剪辑固化完成事件通知, 默认 "OFF" 为忽略该事件通知,"ON" 为接收事件通知。
|
|
38770
|
+
:type PersistenceCompleteEventSwitch: str
|
|
38700
38771
|
:param _SubAppId: <b>点播[应用](/document/product/266/14574) ID。从2023年12月25日起开通点播的客户,如访问点播应用中的资源(无论是默认应用还是新创建的应用),必须将该字段填写为应用 ID。</b>
|
|
38701
38772
|
:type SubAppId: int
|
|
38702
38773
|
"""
|
|
@@ -38704,6 +38775,7 @@ class ModifyEventConfigRequest(AbstractModel):
|
|
|
38704
38775
|
self._NotificationUrl = None
|
|
38705
38776
|
self._UploadMediaCompleteEventSwitch = None
|
|
38706
38777
|
self._DeleteMediaCompleteEventSwitch = None
|
|
38778
|
+
self._PersistenceCompleteEventSwitch = None
|
|
38707
38779
|
self._SubAppId = None
|
|
38708
38780
|
|
|
38709
38781
|
@property
|
|
@@ -38738,6 +38810,14 @@ class ModifyEventConfigRequest(AbstractModel):
|
|
|
38738
38810
|
def DeleteMediaCompleteEventSwitch(self, DeleteMediaCompleteEventSwitch):
|
|
38739
38811
|
self._DeleteMediaCompleteEventSwitch = DeleteMediaCompleteEventSwitch
|
|
38740
38812
|
|
|
38813
|
+
@property
|
|
38814
|
+
def PersistenceCompleteEventSwitch(self):
|
|
38815
|
+
return self._PersistenceCompleteEventSwitch
|
|
38816
|
+
|
|
38817
|
+
@PersistenceCompleteEventSwitch.setter
|
|
38818
|
+
def PersistenceCompleteEventSwitch(self, PersistenceCompleteEventSwitch):
|
|
38819
|
+
self._PersistenceCompleteEventSwitch = PersistenceCompleteEventSwitch
|
|
38820
|
+
|
|
38741
38821
|
@property
|
|
38742
38822
|
def SubAppId(self):
|
|
38743
38823
|
return self._SubAppId
|
|
@@ -38752,6 +38832,7 @@ class ModifyEventConfigRequest(AbstractModel):
|
|
|
38752
38832
|
self._NotificationUrl = params.get("NotificationUrl")
|
|
38753
38833
|
self._UploadMediaCompleteEventSwitch = params.get("UploadMediaCompleteEventSwitch")
|
|
38754
38834
|
self._DeleteMediaCompleteEventSwitch = params.get("DeleteMediaCompleteEventSwitch")
|
|
38835
|
+
self._PersistenceCompleteEventSwitch = params.get("PersistenceCompleteEventSwitch")
|
|
38755
38836
|
self._SubAppId = params.get("SubAppId")
|
|
38756
38837
|
memeber_set = set(params.keys())
|
|
38757
38838
|
for name, value in vars(self).items():
|
|
@@ -42680,6 +42761,56 @@ class ParseStreamingManifestResponse(AbstractModel):
|
|
|
42680
42761
|
self._RequestId = params.get("RequestId")
|
|
42681
42762
|
|
|
42682
42763
|
|
|
42764
|
+
class PersistenceCompleteTask(AbstractModel):
|
|
42765
|
+
"""剪辑固化任务信息。
|
|
42766
|
+
|
|
42767
|
+
"""
|
|
42768
|
+
|
|
42769
|
+
def __init__(self):
|
|
42770
|
+
r"""
|
|
42771
|
+
:param _FileId: 固化生成的媒体 ID。
|
|
42772
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
42773
|
+
:type FileId: str
|
|
42774
|
+
:param _PersistenceSource: 剪辑固化的来源,有以下三种。
|
|
42775
|
+
<li>SimpleHlsClip:来自简单 HLS 剪辑;</li>
|
|
42776
|
+
<li>FastEditMedia:来自快速媒体编辑;</li>
|
|
42777
|
+
<li>LiveRealTimeClip:来自直播即时剪辑。</li>
|
|
42778
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
42779
|
+
:type PersistenceSource: str
|
|
42780
|
+
"""
|
|
42781
|
+
self._FileId = None
|
|
42782
|
+
self._PersistenceSource = None
|
|
42783
|
+
|
|
42784
|
+
@property
|
|
42785
|
+
def FileId(self):
|
|
42786
|
+
return self._FileId
|
|
42787
|
+
|
|
42788
|
+
@FileId.setter
|
|
42789
|
+
def FileId(self, FileId):
|
|
42790
|
+
self._FileId = FileId
|
|
42791
|
+
|
|
42792
|
+
@property
|
|
42793
|
+
def PersistenceSource(self):
|
|
42794
|
+
return self._PersistenceSource
|
|
42795
|
+
|
|
42796
|
+
@PersistenceSource.setter
|
|
42797
|
+
def PersistenceSource(self, PersistenceSource):
|
|
42798
|
+
self._PersistenceSource = PersistenceSource
|
|
42799
|
+
|
|
42800
|
+
|
|
42801
|
+
def _deserialize(self, params):
|
|
42802
|
+
self._FileId = params.get("FileId")
|
|
42803
|
+
self._PersistenceSource = params.get("PersistenceSource")
|
|
42804
|
+
memeber_set = set(params.keys())
|
|
42805
|
+
for name, value in vars(self).items():
|
|
42806
|
+
property_name = name[1:]
|
|
42807
|
+
if property_name in memeber_set:
|
|
42808
|
+
memeber_set.remove(property_name)
|
|
42809
|
+
if len(memeber_set) > 0:
|
|
42810
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
42811
|
+
|
|
42812
|
+
|
|
42813
|
+
|
|
42683
42814
|
class PlayStatFileInfo(AbstractModel):
|
|
42684
42815
|
"""播放统计文件信息
|
|
42685
42816
|
|
|
@@ -393,7 +393,7 @@ class VodClient(AbstractClient):
|
|
|
393
393
|
|
|
394
394
|
def CreateHeadTailTemplate(self, request):
|
|
395
395
|
"""创建片头片尾模板。
|
|
396
|
-
-
|
|
396
|
+
- 最大支持模板数量为 100 个。
|
|
397
397
|
|
|
398
398
|
:param request: Request instance for CreateHeadTailTemplate.
|
|
399
399
|
:type request: :class:`tencentcloud.vod.v20180717.models.CreateHeadTailTemplateRequest`
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# -*- coding: utf8 -*-
|
|
2
|
+
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# -*- coding: utf8 -*-
|
|
2
|
+
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
import warnings
|
|
17
|
+
|
|
18
|
+
from tencentcloud.common.abstract_model import AbstractModel
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CreateStorageCredentialsRequest(AbstractModel):
|
|
22
|
+
"""CreateStorageCredentials请求参数结构体
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def __init__(self):
|
|
27
|
+
r"""
|
|
28
|
+
:param _SubAppId: <b>点播[应用](/document/product/266/14574) ID。</b>
|
|
29
|
+
:type SubAppId: int
|
|
30
|
+
:param _Policy: 按照下方语法组装好策略后,先序列化为字符串,再做 urlencode,结果作为 Policy 字段入参。服务端会对该字段做 urldecode,并按解析后的策略授予临时访问凭证权限,请按规范传入参数。
|
|
31
|
+
注意:
|
|
32
|
+
1.策略语法参照[访问管理策略](/document/product/598/10603)。
|
|
33
|
+
2.策略中不能包含 principal 元素。
|
|
34
|
+
3.策略的 action 元素仅支持:<li>name/vod:PutObject;</li><li>name/vod:ListParts;</li><li>name/vod:PostObject;</li><li>name/vod:InitiateMultipartUpload;</li><li>name/vod:UploadPart;</li><li>name/vod:CompleteMultipartUpload;</li><li>name/vod:AbortMultipartUpload;</li><li>name/vod:ListMultipartUploads;</li>4.策略的 resource 元素填写格式为:qcs::vod::uid/[账号AppID]:prefix//[子应用ID]/[存储桶ID]/[存储路径],其中账号AppID、子应用ID、存储桶ID和存储路径要按需填写,其他内容不允许改动,例:qcs::vod::uid/1:prefix//1/1/path。
|
|
35
|
+
|
|
36
|
+
:type Policy: str
|
|
37
|
+
:param _DurationSeconds: 指定临时证书的有效期,单位:秒。
|
|
38
|
+
默认 1800 秒,最大 129600 秒。
|
|
39
|
+
:type DurationSeconds: int
|
|
40
|
+
"""
|
|
41
|
+
self._SubAppId = None
|
|
42
|
+
self._Policy = None
|
|
43
|
+
self._DurationSeconds = None
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def SubAppId(self):
|
|
47
|
+
return self._SubAppId
|
|
48
|
+
|
|
49
|
+
@SubAppId.setter
|
|
50
|
+
def SubAppId(self, SubAppId):
|
|
51
|
+
self._SubAppId = SubAppId
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def Policy(self):
|
|
55
|
+
return self._Policy
|
|
56
|
+
|
|
57
|
+
@Policy.setter
|
|
58
|
+
def Policy(self, Policy):
|
|
59
|
+
self._Policy = Policy
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def DurationSeconds(self):
|
|
63
|
+
return self._DurationSeconds
|
|
64
|
+
|
|
65
|
+
@DurationSeconds.setter
|
|
66
|
+
def DurationSeconds(self, DurationSeconds):
|
|
67
|
+
self._DurationSeconds = DurationSeconds
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def _deserialize(self, params):
|
|
71
|
+
self._SubAppId = params.get("SubAppId")
|
|
72
|
+
self._Policy = params.get("Policy")
|
|
73
|
+
self._DurationSeconds = params.get("DurationSeconds")
|
|
74
|
+
memeber_set = set(params.keys())
|
|
75
|
+
for name, value in vars(self).items():
|
|
76
|
+
property_name = name[1:]
|
|
77
|
+
if property_name in memeber_set:
|
|
78
|
+
memeber_set.remove(property_name)
|
|
79
|
+
if len(memeber_set) > 0:
|
|
80
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class CreateStorageCredentialsResponse(AbstractModel):
|
|
85
|
+
"""CreateStorageCredentials返回参数结构体
|
|
86
|
+
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
def __init__(self):
|
|
90
|
+
r"""
|
|
91
|
+
:param _Credentials: 临时访问凭证。
|
|
92
|
+
:type Credentials: :class:`tencentcloud.vod.v20240718.models.Credentials`
|
|
93
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
94
|
+
:type RequestId: str
|
|
95
|
+
"""
|
|
96
|
+
self._Credentials = None
|
|
97
|
+
self._RequestId = None
|
|
98
|
+
|
|
99
|
+
@property
|
|
100
|
+
def Credentials(self):
|
|
101
|
+
return self._Credentials
|
|
102
|
+
|
|
103
|
+
@Credentials.setter
|
|
104
|
+
def Credentials(self, Credentials):
|
|
105
|
+
self._Credentials = Credentials
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def RequestId(self):
|
|
109
|
+
return self._RequestId
|
|
110
|
+
|
|
111
|
+
@RequestId.setter
|
|
112
|
+
def RequestId(self, RequestId):
|
|
113
|
+
self._RequestId = RequestId
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def _deserialize(self, params):
|
|
117
|
+
if params.get("Credentials") is not None:
|
|
118
|
+
self._Credentials = Credentials()
|
|
119
|
+
self._Credentials._deserialize(params.get("Credentials"))
|
|
120
|
+
self._RequestId = params.get("RequestId")
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class Credentials(AbstractModel):
|
|
124
|
+
"""临时证书。
|
|
125
|
+
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
def __init__(self):
|
|
129
|
+
r"""
|
|
130
|
+
:param _AccessKeyId: 秘钥 ID。
|
|
131
|
+
:type AccessKeyId: str
|
|
132
|
+
:param _SecretAccessKey: 秘钥 Key。
|
|
133
|
+
:type SecretAccessKey: str
|
|
134
|
+
:param _SessionToken: token。token长度和绑定的策略有关,最长不超过4096字节。
|
|
135
|
+
:type SessionToken: str
|
|
136
|
+
:param _Expiration: 凭据的过期时间。
|
|
137
|
+
:type Expiration: str
|
|
138
|
+
"""
|
|
139
|
+
self._AccessKeyId = None
|
|
140
|
+
self._SecretAccessKey = None
|
|
141
|
+
self._SessionToken = None
|
|
142
|
+
self._Expiration = None
|
|
143
|
+
|
|
144
|
+
@property
|
|
145
|
+
def AccessKeyId(self):
|
|
146
|
+
return self._AccessKeyId
|
|
147
|
+
|
|
148
|
+
@AccessKeyId.setter
|
|
149
|
+
def AccessKeyId(self, AccessKeyId):
|
|
150
|
+
self._AccessKeyId = AccessKeyId
|
|
151
|
+
|
|
152
|
+
@property
|
|
153
|
+
def SecretAccessKey(self):
|
|
154
|
+
return self._SecretAccessKey
|
|
155
|
+
|
|
156
|
+
@SecretAccessKey.setter
|
|
157
|
+
def SecretAccessKey(self, SecretAccessKey):
|
|
158
|
+
self._SecretAccessKey = SecretAccessKey
|
|
159
|
+
|
|
160
|
+
@property
|
|
161
|
+
def SessionToken(self):
|
|
162
|
+
return self._SessionToken
|
|
163
|
+
|
|
164
|
+
@SessionToken.setter
|
|
165
|
+
def SessionToken(self, SessionToken):
|
|
166
|
+
self._SessionToken = SessionToken
|
|
167
|
+
|
|
168
|
+
@property
|
|
169
|
+
def Expiration(self):
|
|
170
|
+
return self._Expiration
|
|
171
|
+
|
|
172
|
+
@Expiration.setter
|
|
173
|
+
def Expiration(self, Expiration):
|
|
174
|
+
self._Expiration = Expiration
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def _deserialize(self, params):
|
|
178
|
+
self._AccessKeyId = params.get("AccessKeyId")
|
|
179
|
+
self._SecretAccessKey = params.get("SecretAccessKey")
|
|
180
|
+
self._SessionToken = params.get("SessionToken")
|
|
181
|
+
self._Expiration = params.get("Expiration")
|
|
182
|
+
memeber_set = set(params.keys())
|
|
183
|
+
for name, value in vars(self).items():
|
|
184
|
+
property_name = name[1:]
|
|
185
|
+
if property_name in memeber_set:
|
|
186
|
+
memeber_set.remove(property_name)
|
|
187
|
+
if len(memeber_set) > 0:
|
|
188
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
189
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# -*- coding: utf8 -*-
|
|
2
|
+
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
import json
|
|
17
|
+
|
|
18
|
+
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
|
|
19
|
+
from tencentcloud.common.abstract_client import AbstractClient
|
|
20
|
+
from tencentcloud.vod.v20240718 import models
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class VodClient(AbstractClient):
|
|
24
|
+
_apiVersion = '2024-07-18'
|
|
25
|
+
_endpoint = 'vod.tencentcloudapi.com'
|
|
26
|
+
_service = 'vod'
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def CreateStorageCredentials(self, request):
|
|
30
|
+
"""用于按指定策略,生成专业版应用的临时访问凭证,比如生成用于客户端上传的临时凭证。
|
|
31
|
+
|
|
32
|
+
:param request: Request instance for CreateStorageCredentials.
|
|
33
|
+
:type request: :class:`tencentcloud.vod.v20240718.models.CreateStorageCredentialsRequest`
|
|
34
|
+
:rtype: :class:`tencentcloud.vod.v20240718.models.CreateStorageCredentialsResponse`
|
|
35
|
+
|
|
36
|
+
"""
|
|
37
|
+
try:
|
|
38
|
+
params = request._serialize()
|
|
39
|
+
headers = request.headers
|
|
40
|
+
body = self.call("CreateStorageCredentials", params, headers=headers)
|
|
41
|
+
response = json.loads(body)
|
|
42
|
+
model = models.CreateStorageCredentialsResponse()
|
|
43
|
+
model._deserialize(response["Response"])
|
|
44
|
+
return model
|
|
45
|
+
except Exception as e:
|
|
46
|
+
if isinstance(e, TencentCloudSDKException):
|
|
47
|
+
raise
|
|
48
|
+
else:
|
|
49
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
@@ -7,6 +7,10 @@ tencentcloud/vod/v20180717/__init__.py
|
|
|
7
7
|
tencentcloud/vod/v20180717/errorcodes.py
|
|
8
8
|
tencentcloud/vod/v20180717/models.py
|
|
9
9
|
tencentcloud/vod/v20180717/vod_client.py
|
|
10
|
+
tencentcloud/vod/v20240718/__init__.py
|
|
11
|
+
tencentcloud/vod/v20240718/errorcodes.py
|
|
12
|
+
tencentcloud/vod/v20240718/models.py
|
|
13
|
+
tencentcloud/vod/v20240718/vod_client.py
|
|
10
14
|
tencentcloud_sdk_python_vod.egg-info/PKG-INFO
|
|
11
15
|
tencentcloud_sdk_python_vod.egg-info/SOURCES.txt
|
|
12
16
|
tencentcloud_sdk_python_vod.egg-info/dependency_links.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common==3.0.1237
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common==3.0.1228
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|