tencentcloud-sdk-python-intl-en 3.0.1228__py2.py3-none-any.whl → 3.0.1229__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tencentcloud-sdk-python-intl-en might be problematic. Click here for more details.

@@ -0,0 +1,2101 @@
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 CreateIncrementalMigrationStrategyRequest(AbstractModel):
22
+ """CreateIncrementalMigrationStrategy request structure.
23
+
24
+ """
25
+
26
+ def __init__(self):
27
+ r"""
28
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
29
+ :type SubAppId: int
30
+ :param _BucketId: The bucket ID where the strategy takes effect.
31
+ :type BucketId: str
32
+ :param _StrategyName: Incremental migration strategy name. The name length should not exceed 100 characters. Allowed characters include: Chinese characters, English characters, `0-9`,` _` and ` -`.
33
+ :type StrategyName: str
34
+ :param _OriginType: Source type. Valid values:
35
+ <li>HTTP: the source type is HTTP.</li>
36
+ :type OriginType: str
37
+ :param _HttpOriginConfig: Incremental migration HTTP origin source configuration. This field is required when the OriginType value is `HTTP`.
38
+ :type HttpOriginConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
39
+ """
40
+ self._SubAppId = None
41
+ self._BucketId = None
42
+ self._StrategyName = None
43
+ self._OriginType = None
44
+ self._HttpOriginConfig = None
45
+
46
+ @property
47
+ def SubAppId(self):
48
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
49
+ :rtype: int
50
+ """
51
+ return self._SubAppId
52
+
53
+ @SubAppId.setter
54
+ def SubAppId(self, SubAppId):
55
+ self._SubAppId = SubAppId
56
+
57
+ @property
58
+ def BucketId(self):
59
+ """The bucket ID where the strategy takes effect.
60
+ :rtype: str
61
+ """
62
+ return self._BucketId
63
+
64
+ @BucketId.setter
65
+ def BucketId(self, BucketId):
66
+ self._BucketId = BucketId
67
+
68
+ @property
69
+ def StrategyName(self):
70
+ """Incremental migration strategy name. The name length should not exceed 100 characters. Allowed characters include: Chinese characters, English characters, `0-9`,` _` and ` -`.
71
+ :rtype: str
72
+ """
73
+ return self._StrategyName
74
+
75
+ @StrategyName.setter
76
+ def StrategyName(self, StrategyName):
77
+ self._StrategyName = StrategyName
78
+
79
+ @property
80
+ def OriginType(self):
81
+ """Source type. Valid values:
82
+ <li>HTTP: the source type is HTTP.</li>
83
+ :rtype: str
84
+ """
85
+ return self._OriginType
86
+
87
+ @OriginType.setter
88
+ def OriginType(self, OriginType):
89
+ self._OriginType = OriginType
90
+
91
+ @property
92
+ def HttpOriginConfig(self):
93
+ """Incremental migration HTTP origin source configuration. This field is required when the OriginType value is `HTTP`.
94
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
95
+ """
96
+ return self._HttpOriginConfig
97
+
98
+ @HttpOriginConfig.setter
99
+ def HttpOriginConfig(self, HttpOriginConfig):
100
+ self._HttpOriginConfig = HttpOriginConfig
101
+
102
+
103
+ def _deserialize(self, params):
104
+ self._SubAppId = params.get("SubAppId")
105
+ self._BucketId = params.get("BucketId")
106
+ self._StrategyName = params.get("StrategyName")
107
+ self._OriginType = params.get("OriginType")
108
+ if params.get("HttpOriginConfig") is not None:
109
+ self._HttpOriginConfig = IncrementalMigrationHttpOriginConfig()
110
+ self._HttpOriginConfig._deserialize(params.get("HttpOriginConfig"))
111
+ memeber_set = set(params.keys())
112
+ for name, value in vars(self).items():
113
+ property_name = name[1:]
114
+ if property_name in memeber_set:
115
+ memeber_set.remove(property_name)
116
+ if len(memeber_set) > 0:
117
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
118
+
119
+
120
+
121
+ class CreateIncrementalMigrationStrategyResponse(AbstractModel):
122
+ """CreateIncrementalMigrationStrategy response structure.
123
+
124
+ """
125
+
126
+ def __init__(self):
127
+ r"""
128
+ :param _StrategyId: The ID of the incremental migration strategy.
129
+ :type StrategyId: str
130
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
131
+ :type RequestId: str
132
+ """
133
+ self._StrategyId = None
134
+ self._RequestId = None
135
+
136
+ @property
137
+ def StrategyId(self):
138
+ """The ID of the incremental migration strategy.
139
+ :rtype: str
140
+ """
141
+ return self._StrategyId
142
+
143
+ @StrategyId.setter
144
+ def StrategyId(self, StrategyId):
145
+ self._StrategyId = StrategyId
146
+
147
+ @property
148
+ def RequestId(self):
149
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
150
+ :rtype: str
151
+ """
152
+ return self._RequestId
153
+
154
+ @RequestId.setter
155
+ def RequestId(self, RequestId):
156
+ self._RequestId = RequestId
157
+
158
+
159
+ def _deserialize(self, params):
160
+ self._StrategyId = params.get("StrategyId")
161
+ self._RequestId = params.get("RequestId")
162
+
163
+
164
+ class CreateStorageCredentialsRequest(AbstractModel):
165
+ """CreateStorageCredentials request structure.
166
+
167
+ """
168
+
169
+ def __init__(self):
170
+ r"""
171
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
172
+ :type SubAppId: int
173
+ :param _Policy: The policy string serialized by URL Encode is used as the input parameter Policy. The server will URL Decode the Policy value and grant temporary access credentials according to the parsed policy. Please pass in parameters according to the specification.
174
+ Note:
175
+ 1.The policy syntax refers to [Cloud Access Management](/document/product/598/10603).
176
+ 2.The policy cannot contain the principal element.
177
+ 3.The policy actions include:
178
+ <li>name/vod:ListObjects;</li>
179
+ <li>name/vod:ListObjectsV2;</li>
180
+ <li>name/vod:HeadObject;</li>
181
+ <li>name/vod:PutObject;</li>
182
+ <li>name/vod:ListParts;</li>
183
+ <li>name/vod:PostObject;</li>
184
+ <li>name/vod:CreateMultipartUpload;</li>
185
+ <li>name/vod:UploadPart;</li>
186
+ <li>name/vod:CompleteMultipartUpload;</li>
187
+ <li>name/vod:AbortMultipartUpload;</li>
188
+ <li>name/vod:ListMultipartUploads;</li>
189
+ <li>name/vod:CopyObject;</li>
190
+ <li>name/vod:RestoreObject;</li>
191
+ <li>name/vod:DeleteObjects;</li>
192
+ <li>name/vod:DeleteObject;</li>
193
+ <li>name/vod:UploadPartCopy.</li>4.The resource format of the policy is `qcs::vod:[region]:uid/[AppID]:prefix//[SubAppId]/[BucketId]/[Path]`, where AppID, SubAppId, BucketId and Path need to be filled in as required.
194
+
195
+ :type Policy: str
196
+ :param _DurationSeconds: Specifies the validity period of credentials in seconds. The default value is 1800 seconds and the maximum value is 129600 seconds.
197
+ :type DurationSeconds: int
198
+ """
199
+ self._SubAppId = None
200
+ self._Policy = None
201
+ self._DurationSeconds = None
202
+
203
+ @property
204
+ def SubAppId(self):
205
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
206
+ :rtype: int
207
+ """
208
+ return self._SubAppId
209
+
210
+ @SubAppId.setter
211
+ def SubAppId(self, SubAppId):
212
+ self._SubAppId = SubAppId
213
+
214
+ @property
215
+ def Policy(self):
216
+ """The policy string serialized by URL Encode is used as the input parameter Policy. The server will URL Decode the Policy value and grant temporary access credentials according to the parsed policy. Please pass in parameters according to the specification.
217
+ Note:
218
+ 1.The policy syntax refers to [Cloud Access Management](/document/product/598/10603).
219
+ 2.The policy cannot contain the principal element.
220
+ 3.The policy actions include:
221
+ <li>name/vod:ListObjects;</li>
222
+ <li>name/vod:ListObjectsV2;</li>
223
+ <li>name/vod:HeadObject;</li>
224
+ <li>name/vod:PutObject;</li>
225
+ <li>name/vod:ListParts;</li>
226
+ <li>name/vod:PostObject;</li>
227
+ <li>name/vod:CreateMultipartUpload;</li>
228
+ <li>name/vod:UploadPart;</li>
229
+ <li>name/vod:CompleteMultipartUpload;</li>
230
+ <li>name/vod:AbortMultipartUpload;</li>
231
+ <li>name/vod:ListMultipartUploads;</li>
232
+ <li>name/vod:CopyObject;</li>
233
+ <li>name/vod:RestoreObject;</li>
234
+ <li>name/vod:DeleteObjects;</li>
235
+ <li>name/vod:DeleteObject;</li>
236
+ <li>name/vod:UploadPartCopy.</li>4.The resource format of the policy is `qcs::vod:[region]:uid/[AppID]:prefix//[SubAppId]/[BucketId]/[Path]`, where AppID, SubAppId, BucketId and Path need to be filled in as required.
237
+
238
+ :rtype: str
239
+ """
240
+ return self._Policy
241
+
242
+ @Policy.setter
243
+ def Policy(self, Policy):
244
+ self._Policy = Policy
245
+
246
+ @property
247
+ def DurationSeconds(self):
248
+ """Specifies the validity period of credentials in seconds. The default value is 1800 seconds and the maximum value is 129600 seconds.
249
+ :rtype: int
250
+ """
251
+ return self._DurationSeconds
252
+
253
+ @DurationSeconds.setter
254
+ def DurationSeconds(self, DurationSeconds):
255
+ self._DurationSeconds = DurationSeconds
256
+
257
+
258
+ def _deserialize(self, params):
259
+ self._SubAppId = params.get("SubAppId")
260
+ self._Policy = params.get("Policy")
261
+ self._DurationSeconds = params.get("DurationSeconds")
262
+ memeber_set = set(params.keys())
263
+ for name, value in vars(self).items():
264
+ property_name = name[1:]
265
+ if property_name in memeber_set:
266
+ memeber_set.remove(property_name)
267
+ if len(memeber_set) > 0:
268
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
269
+
270
+
271
+
272
+ class CreateStorageCredentialsResponse(AbstractModel):
273
+ """CreateStorageCredentials response structure.
274
+
275
+ """
276
+
277
+ def __init__(self):
278
+ r"""
279
+ :param _Credentials: Credentials.
280
+ :type Credentials: :class:`tencentcloud.vod.v20240718.models.Credentials`
281
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
282
+ :type RequestId: str
283
+ """
284
+ self._Credentials = None
285
+ self._RequestId = None
286
+
287
+ @property
288
+ def Credentials(self):
289
+ """Credentials.
290
+ :rtype: :class:`tencentcloud.vod.v20240718.models.Credentials`
291
+ """
292
+ return self._Credentials
293
+
294
+ @Credentials.setter
295
+ def Credentials(self, Credentials):
296
+ self._Credentials = Credentials
297
+
298
+ @property
299
+ def RequestId(self):
300
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
301
+ :rtype: str
302
+ """
303
+ return self._RequestId
304
+
305
+ @RequestId.setter
306
+ def RequestId(self, RequestId):
307
+ self._RequestId = RequestId
308
+
309
+
310
+ def _deserialize(self, params):
311
+ if params.get("Credentials") is not None:
312
+ self._Credentials = Credentials()
313
+ self._Credentials._deserialize(params.get("Credentials"))
314
+ self._RequestId = params.get("RequestId")
315
+
316
+
317
+ class CreateStorageRequest(AbstractModel):
318
+ """CreateStorage request structure.
319
+
320
+ """
321
+
322
+ def __init__(self):
323
+ r"""
324
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
325
+ :type SubAppId: int
326
+ :param _StorageRegion: Storage region, which must be a region supported by the system. All storage regions and the regions where storage buckets have already been enabled can be queried using the [DescribeStorageRegions](https://www.tencentcloud.com/document/product/266/46542) API.
327
+ :type StorageRegion: str
328
+ :param _StorageName: The name of the storage.
329
+ <li>Only lowercase English letters, numbers, hyphens "-", and their combinations are supported.</li>
330
+ <li>The storage name cannot start or end with a "-".</li>
331
+ <li>The maximum length of the storage name is 64 characters.</li>
332
+ :type StorageName: str
333
+ """
334
+ self._SubAppId = None
335
+ self._StorageRegion = None
336
+ self._StorageName = None
337
+
338
+ @property
339
+ def SubAppId(self):
340
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
341
+ :rtype: int
342
+ """
343
+ return self._SubAppId
344
+
345
+ @SubAppId.setter
346
+ def SubAppId(self, SubAppId):
347
+ self._SubAppId = SubAppId
348
+
349
+ @property
350
+ def StorageRegion(self):
351
+ """Storage region, which must be a region supported by the system. All storage regions and the regions where storage buckets have already been enabled can be queried using the [DescribeStorageRegions](https://www.tencentcloud.com/document/product/266/46542) API.
352
+ :rtype: str
353
+ """
354
+ return self._StorageRegion
355
+
356
+ @StorageRegion.setter
357
+ def StorageRegion(self, StorageRegion):
358
+ self._StorageRegion = StorageRegion
359
+
360
+ @property
361
+ def StorageName(self):
362
+ """The name of the storage.
363
+ <li>Only lowercase English letters, numbers, hyphens "-", and their combinations are supported.</li>
364
+ <li>The storage name cannot start or end with a "-".</li>
365
+ <li>The maximum length of the storage name is 64 characters.</li>
366
+ :rtype: str
367
+ """
368
+ return self._StorageName
369
+
370
+ @StorageName.setter
371
+ def StorageName(self, StorageName):
372
+ self._StorageName = StorageName
373
+
374
+
375
+ def _deserialize(self, params):
376
+ self._SubAppId = params.get("SubAppId")
377
+ self._StorageRegion = params.get("StorageRegion")
378
+ self._StorageName = params.get("StorageName")
379
+ memeber_set = set(params.keys())
380
+ for name, value in vars(self).items():
381
+ property_name = name[1:]
382
+ if property_name in memeber_set:
383
+ memeber_set.remove(property_name)
384
+ if len(memeber_set) > 0:
385
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
386
+
387
+
388
+
389
+ class CreateStorageResponse(AbstractModel):
390
+ """CreateStorage response structure.
391
+
392
+ """
393
+
394
+ def __init__(self):
395
+ r"""
396
+ :param _BucketId: The unique identifier ID of the storage bucket.
397
+ :type BucketId: str
398
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
399
+ :type RequestId: str
400
+ """
401
+ self._BucketId = None
402
+ self._RequestId = None
403
+
404
+ @property
405
+ def BucketId(self):
406
+ """The unique identifier ID of the storage bucket.
407
+ :rtype: str
408
+ """
409
+ return self._BucketId
410
+
411
+ @BucketId.setter
412
+ def BucketId(self, BucketId):
413
+ self._BucketId = BucketId
414
+
415
+ @property
416
+ def RequestId(self):
417
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
418
+ :rtype: str
419
+ """
420
+ return self._RequestId
421
+
422
+ @RequestId.setter
423
+ def RequestId(self, RequestId):
424
+ self._RequestId = RequestId
425
+
426
+
427
+ def _deserialize(self, params):
428
+ self._BucketId = params.get("BucketId")
429
+ self._RequestId = params.get("RequestId")
430
+
431
+
432
+ class Credentials(AbstractModel):
433
+ """Credentials.
434
+
435
+ """
436
+
437
+ def __init__(self):
438
+ r"""
439
+ :param _AccessKeyId: Access Key ID.
440
+ :type AccessKeyId: str
441
+ :param _SecretAccessKey: Secret Access Key.
442
+ :type SecretAccessKey: str
443
+ :param _SessionToken: The session token length depends on the binding policy and is no longer than 4096 bytes.
444
+ :type SessionToken: str
445
+ :param _Expiration: The expiration time of the credentials.
446
+ :type Expiration: str
447
+ """
448
+ self._AccessKeyId = None
449
+ self._SecretAccessKey = None
450
+ self._SessionToken = None
451
+ self._Expiration = None
452
+
453
+ @property
454
+ def AccessKeyId(self):
455
+ """Access Key ID.
456
+ :rtype: str
457
+ """
458
+ return self._AccessKeyId
459
+
460
+ @AccessKeyId.setter
461
+ def AccessKeyId(self, AccessKeyId):
462
+ self._AccessKeyId = AccessKeyId
463
+
464
+ @property
465
+ def SecretAccessKey(self):
466
+ """Secret Access Key.
467
+ :rtype: str
468
+ """
469
+ return self._SecretAccessKey
470
+
471
+ @SecretAccessKey.setter
472
+ def SecretAccessKey(self, SecretAccessKey):
473
+ self._SecretAccessKey = SecretAccessKey
474
+
475
+ @property
476
+ def SessionToken(self):
477
+ """The session token length depends on the binding policy and is no longer than 4096 bytes.
478
+ :rtype: str
479
+ """
480
+ return self._SessionToken
481
+
482
+ @SessionToken.setter
483
+ def SessionToken(self, SessionToken):
484
+ self._SessionToken = SessionToken
485
+
486
+ @property
487
+ def Expiration(self):
488
+ """The expiration time of the credentials.
489
+ :rtype: str
490
+ """
491
+ return self._Expiration
492
+
493
+ @Expiration.setter
494
+ def Expiration(self, Expiration):
495
+ self._Expiration = Expiration
496
+
497
+
498
+ def _deserialize(self, params):
499
+ self._AccessKeyId = params.get("AccessKeyId")
500
+ self._SecretAccessKey = params.get("SecretAccessKey")
501
+ self._SessionToken = params.get("SessionToken")
502
+ self._Expiration = params.get("Expiration")
503
+ memeber_set = set(params.keys())
504
+ for name, value in vars(self).items():
505
+ property_name = name[1:]
506
+ if property_name in memeber_set:
507
+ memeber_set.remove(property_name)
508
+ if len(memeber_set) > 0:
509
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
510
+
511
+
512
+
513
+ class DeleteIncrementalMigrationStrategyRequest(AbstractModel):
514
+ """DeleteIncrementalMigrationStrategy request structure.
515
+
516
+ """
517
+
518
+ def __init__(self):
519
+ r"""
520
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
521
+ :type SubAppId: int
522
+ :param _BucketId: The bucket ID where the strategy takes effect.
523
+ :type BucketId: str
524
+ :param _StrategyId: The ID of the incremental migration strategy.
525
+ :type StrategyId: str
526
+ """
527
+ self._SubAppId = None
528
+ self._BucketId = None
529
+ self._StrategyId = None
530
+
531
+ @property
532
+ def SubAppId(self):
533
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
534
+ :rtype: int
535
+ """
536
+ return self._SubAppId
537
+
538
+ @SubAppId.setter
539
+ def SubAppId(self, SubAppId):
540
+ self._SubAppId = SubAppId
541
+
542
+ @property
543
+ def BucketId(self):
544
+ """The bucket ID where the strategy takes effect.
545
+ :rtype: str
546
+ """
547
+ return self._BucketId
548
+
549
+ @BucketId.setter
550
+ def BucketId(self, BucketId):
551
+ self._BucketId = BucketId
552
+
553
+ @property
554
+ def StrategyId(self):
555
+ """The ID of the incremental migration strategy.
556
+ :rtype: str
557
+ """
558
+ return self._StrategyId
559
+
560
+ @StrategyId.setter
561
+ def StrategyId(self, StrategyId):
562
+ self._StrategyId = StrategyId
563
+
564
+
565
+ def _deserialize(self, params):
566
+ self._SubAppId = params.get("SubAppId")
567
+ self._BucketId = params.get("BucketId")
568
+ self._StrategyId = params.get("StrategyId")
569
+ memeber_set = set(params.keys())
570
+ for name, value in vars(self).items():
571
+ property_name = name[1:]
572
+ if property_name in memeber_set:
573
+ memeber_set.remove(property_name)
574
+ if len(memeber_set) > 0:
575
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
576
+
577
+
578
+
579
+ class DeleteIncrementalMigrationStrategyResponse(AbstractModel):
580
+ """DeleteIncrementalMigrationStrategy response structure.
581
+
582
+ """
583
+
584
+ def __init__(self):
585
+ r"""
586
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
587
+ :type RequestId: str
588
+ """
589
+ self._RequestId = None
590
+
591
+ @property
592
+ def RequestId(self):
593
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
594
+ :rtype: str
595
+ """
596
+ return self._RequestId
597
+
598
+ @RequestId.setter
599
+ def RequestId(self, RequestId):
600
+ self._RequestId = RequestId
601
+
602
+
603
+ def _deserialize(self, params):
604
+ self._RequestId = params.get("RequestId")
605
+
606
+
607
+ class DescribeIncrementalMigrationStrategyInfosRequest(AbstractModel):
608
+ """DescribeIncrementalMigrationStrategyInfos request structure.
609
+
610
+ """
611
+
612
+ def __init__(self):
613
+ r"""
614
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
615
+ :type SubAppId: int
616
+ :param _Filters: Filter criteria. The maximum number of Filters.Values is `20`. If this parameter is not input, all stategy information under the current SubAppId will be returned. The detailed filter criteria are as follows:
617
+ <li>BucketId: Filter by the ID of bucket;</li>
618
+ <li>StrategyId: Filter by the ID of strategy.</li>
619
+ :type Filters: list of Filter
620
+ :param _SortBy: Sort the returned results according to this field.
621
+ SortBy.Field Values include:
622
+ <li>UpdateTime: (Default) Update time of the strategy.</li>SortBy.Order Values include:
623
+ <li>Desc: (Default) The order is descend.</li>
624
+
625
+ :type SortBy: :class:`tencentcloud.vod.v20240718.models.SortBy`
626
+ :param _Offset: Offset for paginated queries. Default value: `0`.
627
+ :type Offset: int
628
+ :param _Limit: Limit on paginated queries. Default value: `20`. Maximum value: `100`.
629
+ :type Limit: int
630
+ """
631
+ self._SubAppId = None
632
+ self._Filters = None
633
+ self._SortBy = None
634
+ self._Offset = None
635
+ self._Limit = None
636
+
637
+ @property
638
+ def SubAppId(self):
639
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
640
+ :rtype: int
641
+ """
642
+ return self._SubAppId
643
+
644
+ @SubAppId.setter
645
+ def SubAppId(self, SubAppId):
646
+ self._SubAppId = SubAppId
647
+
648
+ @property
649
+ def Filters(self):
650
+ """Filter criteria. The maximum number of Filters.Values is `20`. If this parameter is not input, all stategy information under the current SubAppId will be returned. The detailed filter criteria are as follows:
651
+ <li>BucketId: Filter by the ID of bucket;</li>
652
+ <li>StrategyId: Filter by the ID of strategy.</li>
653
+ :rtype: list of Filter
654
+ """
655
+ return self._Filters
656
+
657
+ @Filters.setter
658
+ def Filters(self, Filters):
659
+ self._Filters = Filters
660
+
661
+ @property
662
+ def SortBy(self):
663
+ """Sort the returned results according to this field.
664
+ SortBy.Field Values include:
665
+ <li>UpdateTime: (Default) Update time of the strategy.</li>SortBy.Order Values include:
666
+ <li>Desc: (Default) The order is descend.</li>
667
+
668
+ :rtype: :class:`tencentcloud.vod.v20240718.models.SortBy`
669
+ """
670
+ return self._SortBy
671
+
672
+ @SortBy.setter
673
+ def SortBy(self, SortBy):
674
+ self._SortBy = SortBy
675
+
676
+ @property
677
+ def Offset(self):
678
+ """Offset for paginated queries. Default value: `0`.
679
+ :rtype: int
680
+ """
681
+ return self._Offset
682
+
683
+ @Offset.setter
684
+ def Offset(self, Offset):
685
+ self._Offset = Offset
686
+
687
+ @property
688
+ def Limit(self):
689
+ """Limit on paginated queries. Default value: `20`. Maximum value: `100`.
690
+ :rtype: int
691
+ """
692
+ return self._Limit
693
+
694
+ @Limit.setter
695
+ def Limit(self, Limit):
696
+ self._Limit = Limit
697
+
698
+
699
+ def _deserialize(self, params):
700
+ self._SubAppId = params.get("SubAppId")
701
+ if params.get("Filters") is not None:
702
+ self._Filters = []
703
+ for item in params.get("Filters"):
704
+ obj = Filter()
705
+ obj._deserialize(item)
706
+ self._Filters.append(obj)
707
+ if params.get("SortBy") is not None:
708
+ self._SortBy = SortBy()
709
+ self._SortBy._deserialize(params.get("SortBy"))
710
+ self._Offset = params.get("Offset")
711
+ self._Limit = params.get("Limit")
712
+ memeber_set = set(params.keys())
713
+ for name, value in vars(self).items():
714
+ property_name = name[1:]
715
+ if property_name in memeber_set:
716
+ memeber_set.remove(property_name)
717
+ if len(memeber_set) > 0:
718
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
719
+
720
+
721
+
722
+ class DescribeIncrementalMigrationStrategyInfosResponse(AbstractModel):
723
+ """DescribeIncrementalMigrationStrategyInfos response structure.
724
+
725
+ """
726
+
727
+ def __init__(self):
728
+ r"""
729
+ :param _TotalCount: Total count of matched strategies.
730
+ :type TotalCount: int
731
+ :param _StrategyInfoSet: Information of all matched strategies.
732
+ :type StrategyInfoSet: list of IncrementalMigrationStrategyInfo
733
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
734
+ :type RequestId: str
735
+ """
736
+ self._TotalCount = None
737
+ self._StrategyInfoSet = None
738
+ self._RequestId = None
739
+
740
+ @property
741
+ def TotalCount(self):
742
+ """Total count of matched strategies.
743
+ :rtype: int
744
+ """
745
+ return self._TotalCount
746
+
747
+ @TotalCount.setter
748
+ def TotalCount(self, TotalCount):
749
+ self._TotalCount = TotalCount
750
+
751
+ @property
752
+ def StrategyInfoSet(self):
753
+ """Information of all matched strategies.
754
+ :rtype: list of IncrementalMigrationStrategyInfo
755
+ """
756
+ return self._StrategyInfoSet
757
+
758
+ @StrategyInfoSet.setter
759
+ def StrategyInfoSet(self, StrategyInfoSet):
760
+ self._StrategyInfoSet = StrategyInfoSet
761
+
762
+ @property
763
+ def RequestId(self):
764
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
765
+ :rtype: str
766
+ """
767
+ return self._RequestId
768
+
769
+ @RequestId.setter
770
+ def RequestId(self, RequestId):
771
+ self._RequestId = RequestId
772
+
773
+
774
+ def _deserialize(self, params):
775
+ self._TotalCount = params.get("TotalCount")
776
+ if params.get("StrategyInfoSet") is not None:
777
+ self._StrategyInfoSet = []
778
+ for item in params.get("StrategyInfoSet"):
779
+ obj = IncrementalMigrationStrategyInfo()
780
+ obj._deserialize(item)
781
+ self._StrategyInfoSet.append(obj)
782
+ self._RequestId = params.get("RequestId")
783
+
784
+
785
+ class DescribeStorageRequest(AbstractModel):
786
+ """DescribeStorage request structure.
787
+
788
+ """
789
+
790
+ def __init__(self):
791
+ r"""
792
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
793
+ :type SubAppId: int
794
+ :param _Filters: Filter criteria. The maximum number of Filters.Values is `20`. If this parameter is not input, all storage under the current SubAppId will be returned. The detailed filter criteria are as follows:
795
+ <li>BucketId: Filter by the ID of bucket;</li>
796
+ <li>StorageName: Filter by the name of storage.</li>
797
+ :type Filters: list of Filter
798
+ :param _SortBy: Sort the returned results according to this field.
799
+ SortBy.Field Values include:
800
+ <li>UpdateTime: (Default) Create time of the storage.</li>SortBy.Order Values include:
801
+ <li>Asc: (Default) The order is ascend.</li>
802
+
803
+ :type SortBy: :class:`tencentcloud.vod.v20240718.models.SortBy`
804
+ :param _Offset: Offset for paginated queries. Default value: `0`.
805
+ :type Offset: int
806
+ :param _Limit: Limit on paginated queries. Default value: `20`. Maximum value: `1000`.
807
+ :type Limit: int
808
+ """
809
+ self._SubAppId = None
810
+ self._Filters = None
811
+ self._SortBy = None
812
+ self._Offset = None
813
+ self._Limit = None
814
+
815
+ @property
816
+ def SubAppId(self):
817
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
818
+ :rtype: int
819
+ """
820
+ return self._SubAppId
821
+
822
+ @SubAppId.setter
823
+ def SubAppId(self, SubAppId):
824
+ self._SubAppId = SubAppId
825
+
826
+ @property
827
+ def Filters(self):
828
+ """Filter criteria. The maximum number of Filters.Values is `20`. If this parameter is not input, all storage under the current SubAppId will be returned. The detailed filter criteria are as follows:
829
+ <li>BucketId: Filter by the ID of bucket;</li>
830
+ <li>StorageName: Filter by the name of storage.</li>
831
+ :rtype: list of Filter
832
+ """
833
+ return self._Filters
834
+
835
+ @Filters.setter
836
+ def Filters(self, Filters):
837
+ self._Filters = Filters
838
+
839
+ @property
840
+ def SortBy(self):
841
+ """Sort the returned results according to this field.
842
+ SortBy.Field Values include:
843
+ <li>UpdateTime: (Default) Create time of the storage.</li>SortBy.Order Values include:
844
+ <li>Asc: (Default) The order is ascend.</li>
845
+
846
+ :rtype: :class:`tencentcloud.vod.v20240718.models.SortBy`
847
+ """
848
+ return self._SortBy
849
+
850
+ @SortBy.setter
851
+ def SortBy(self, SortBy):
852
+ self._SortBy = SortBy
853
+
854
+ @property
855
+ def Offset(self):
856
+ """Offset for paginated queries. Default value: `0`.
857
+ :rtype: int
858
+ """
859
+ return self._Offset
860
+
861
+ @Offset.setter
862
+ def Offset(self, Offset):
863
+ self._Offset = Offset
864
+
865
+ @property
866
+ def Limit(self):
867
+ """Limit on paginated queries. Default value: `20`. Maximum value: `1000`.
868
+ :rtype: int
869
+ """
870
+ return self._Limit
871
+
872
+ @Limit.setter
873
+ def Limit(self, Limit):
874
+ self._Limit = Limit
875
+
876
+
877
+ def _deserialize(self, params):
878
+ self._SubAppId = params.get("SubAppId")
879
+ if params.get("Filters") is not None:
880
+ self._Filters = []
881
+ for item in params.get("Filters"):
882
+ obj = Filter()
883
+ obj._deserialize(item)
884
+ self._Filters.append(obj)
885
+ if params.get("SortBy") is not None:
886
+ self._SortBy = SortBy()
887
+ self._SortBy._deserialize(params.get("SortBy"))
888
+ self._Offset = params.get("Offset")
889
+ self._Limit = params.get("Limit")
890
+ memeber_set = set(params.keys())
891
+ for name, value in vars(self).items():
892
+ property_name = name[1:]
893
+ if property_name in memeber_set:
894
+ memeber_set.remove(property_name)
895
+ if len(memeber_set) > 0:
896
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
897
+
898
+
899
+
900
+ class DescribeStorageResponse(AbstractModel):
901
+ """DescribeStorage response structure.
902
+
903
+ """
904
+
905
+ def __init__(self):
906
+ r"""
907
+ :param _TotalCount: Total count of matched storage.
908
+ :type TotalCount: int
909
+ :param _StorageInfoSet: Information of all matched storage.
910
+ :type StorageInfoSet: list of StorageInfo
911
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
912
+ :type RequestId: str
913
+ """
914
+ self._TotalCount = None
915
+ self._StorageInfoSet = None
916
+ self._RequestId = None
917
+
918
+ @property
919
+ def TotalCount(self):
920
+ """Total count of matched storage.
921
+ :rtype: int
922
+ """
923
+ return self._TotalCount
924
+
925
+ @TotalCount.setter
926
+ def TotalCount(self, TotalCount):
927
+ self._TotalCount = TotalCount
928
+
929
+ @property
930
+ def StorageInfoSet(self):
931
+ """Information of all matched storage.
932
+ :rtype: list of StorageInfo
933
+ """
934
+ return self._StorageInfoSet
935
+
936
+ @StorageInfoSet.setter
937
+ def StorageInfoSet(self, StorageInfoSet):
938
+ self._StorageInfoSet = StorageInfoSet
939
+
940
+ @property
941
+ def RequestId(self):
942
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
943
+ :rtype: str
944
+ """
945
+ return self._RequestId
946
+
947
+ @RequestId.setter
948
+ def RequestId(self, RequestId):
949
+ self._RequestId = RequestId
950
+
951
+
952
+ def _deserialize(self, params):
953
+ self._TotalCount = params.get("TotalCount")
954
+ if params.get("StorageInfoSet") is not None:
955
+ self._StorageInfoSet = []
956
+ for item in params.get("StorageInfoSet"):
957
+ obj = StorageInfo()
958
+ obj._deserialize(item)
959
+ self._StorageInfoSet.append(obj)
960
+ self._RequestId = params.get("RequestId")
961
+
962
+
963
+ class Filter(AbstractModel):
964
+ """Key-value pair filters for conditional filtering queries, such as filtering ID, name, and status.
965
+ If more than one filter exists, the logical relationship between these filters is `AND`.
966
+ If multiple values exist in one filter, the logical relationship between these values under the same filter is `OR`.
967
+
968
+ """
969
+
970
+ def __init__(self):
971
+ r"""
972
+ :param _Name: Fields to be filtered.
973
+ :type Name: str
974
+ :param _Values: Value of the filtered field.
975
+ :type Values: list of str
976
+ """
977
+ self._Name = None
978
+ self._Values = None
979
+
980
+ @property
981
+ def Name(self):
982
+ """Fields to be filtered.
983
+ :rtype: str
984
+ """
985
+ return self._Name
986
+
987
+ @Name.setter
988
+ def Name(self, Name):
989
+ self._Name = Name
990
+
991
+ @property
992
+ def Values(self):
993
+ """Value of the filtered field.
994
+ :rtype: list of str
995
+ """
996
+ return self._Values
997
+
998
+ @Values.setter
999
+ def Values(self, Values):
1000
+ self._Values = Values
1001
+
1002
+
1003
+ def _deserialize(self, params):
1004
+ self._Name = params.get("Name")
1005
+ self._Values = params.get("Values")
1006
+ memeber_set = set(params.keys())
1007
+ for name, value in vars(self).items():
1008
+ property_name = name[1:]
1009
+ if property_name in memeber_set:
1010
+ memeber_set.remove(property_name)
1011
+ if len(memeber_set) > 0:
1012
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1013
+
1014
+
1015
+
1016
+ class IncrementalMigrationHttpEndpointInfo(AbstractModel):
1017
+ """Incremental migration source address information.
1018
+
1019
+ """
1020
+
1021
+ def __init__(self):
1022
+ r"""
1023
+ :param _Endpoint: Address information, supporting domain names or IP addresses.
1024
+ :type Endpoint: str
1025
+ :param _StandbyEndpointSet: Backup address information.
1026
+ :type StandbyEndpointSet: list of str
1027
+ """
1028
+ self._Endpoint = None
1029
+ self._StandbyEndpointSet = None
1030
+
1031
+ @property
1032
+ def Endpoint(self):
1033
+ """Address information, supporting domain names or IP addresses.
1034
+ :rtype: str
1035
+ """
1036
+ return self._Endpoint
1037
+
1038
+ @Endpoint.setter
1039
+ def Endpoint(self, Endpoint):
1040
+ self._Endpoint = Endpoint
1041
+
1042
+ @property
1043
+ def StandbyEndpointSet(self):
1044
+ """Backup address information.
1045
+ :rtype: list of str
1046
+ """
1047
+ return self._StandbyEndpointSet
1048
+
1049
+ @StandbyEndpointSet.setter
1050
+ def StandbyEndpointSet(self, StandbyEndpointSet):
1051
+ self._StandbyEndpointSet = StandbyEndpointSet
1052
+
1053
+
1054
+ def _deserialize(self, params):
1055
+ self._Endpoint = params.get("Endpoint")
1056
+ self._StandbyEndpointSet = params.get("StandbyEndpointSet")
1057
+ memeber_set = set(params.keys())
1058
+ for name, value in vars(self).items():
1059
+ property_name = name[1:]
1060
+ if property_name in memeber_set:
1061
+ memeber_set.remove(property_name)
1062
+ if len(memeber_set) > 0:
1063
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1064
+
1065
+
1066
+
1067
+ class IncrementalMigrationHttpHeader(AbstractModel):
1068
+ """Incremental migration back-to-origin HTTP Header.
1069
+
1070
+ """
1071
+
1072
+ def __init__(self):
1073
+ r"""
1074
+ :param _Key: Header Key.
1075
+ :type Key: str
1076
+ :param _Value: Header Value.
1077
+ :type Value: str
1078
+ """
1079
+ self._Key = None
1080
+ self._Value = None
1081
+
1082
+ @property
1083
+ def Key(self):
1084
+ """Header Key.
1085
+ :rtype: str
1086
+ """
1087
+ return self._Key
1088
+
1089
+ @Key.setter
1090
+ def Key(self, Key):
1091
+ self._Key = Key
1092
+
1093
+ @property
1094
+ def Value(self):
1095
+ """Header Value.
1096
+ :rtype: str
1097
+ """
1098
+ return self._Value
1099
+
1100
+ @Value.setter
1101
+ def Value(self, Value):
1102
+ self._Value = Value
1103
+
1104
+
1105
+ def _deserialize(self, params):
1106
+ self._Key = params.get("Key")
1107
+ self._Value = params.get("Value")
1108
+ memeber_set = set(params.keys())
1109
+ for name, value in vars(self).items():
1110
+ property_name = name[1:]
1111
+ if property_name in memeber_set:
1112
+ memeber_set.remove(property_name)
1113
+ if len(memeber_set) > 0:
1114
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1115
+
1116
+
1117
+
1118
+ class IncrementalMigrationHttpHeaderInfo(AbstractModel):
1119
+ """Incremental migration back-to-origin HTTP Header information.
1120
+
1121
+ """
1122
+
1123
+ def __init__(self):
1124
+ r"""
1125
+ :param _HeaderFollowMode: HTTP Header Passthrough Mode. Values valid:
1126
+ <li>FOLLOW_ALL: Pass through all header information;<\li>
1127
+ <li>FOLLOW_PART: Pass through partial header information;<\li>
1128
+ <li>IGNORE_PART: Ignore partial header information.<\li>
1129
+ :type HeaderFollowMode: str
1130
+ :param _FollowHttpHeaderKeySet: Header Key Set for Passthrough. This field is required only when the HeaderFollowMode is set to `FOLLOW_PART`.
1131
+ :type FollowHttpHeaderKeySet: list of str
1132
+ :param _NewHttpHeaderSet: Add Header Key-Value Pair Collection.
1133
+ :type NewHttpHeaderSet: list of IncrementalMigrationHttpHeader
1134
+ """
1135
+ self._HeaderFollowMode = None
1136
+ self._FollowHttpHeaderKeySet = None
1137
+ self._NewHttpHeaderSet = None
1138
+
1139
+ @property
1140
+ def HeaderFollowMode(self):
1141
+ """HTTP Header Passthrough Mode. Values valid:
1142
+ <li>FOLLOW_ALL: Pass through all header information;<\li>
1143
+ <li>FOLLOW_PART: Pass through partial header information;<\li>
1144
+ <li>IGNORE_PART: Ignore partial header information.<\li>
1145
+ :rtype: str
1146
+ """
1147
+ return self._HeaderFollowMode
1148
+
1149
+ @HeaderFollowMode.setter
1150
+ def HeaderFollowMode(self, HeaderFollowMode):
1151
+ self._HeaderFollowMode = HeaderFollowMode
1152
+
1153
+ @property
1154
+ def FollowHttpHeaderKeySet(self):
1155
+ """Header Key Set for Passthrough. This field is required only when the HeaderFollowMode is set to `FOLLOW_PART`.
1156
+ :rtype: list of str
1157
+ """
1158
+ return self._FollowHttpHeaderKeySet
1159
+
1160
+ @FollowHttpHeaderKeySet.setter
1161
+ def FollowHttpHeaderKeySet(self, FollowHttpHeaderKeySet):
1162
+ self._FollowHttpHeaderKeySet = FollowHttpHeaderKeySet
1163
+
1164
+ @property
1165
+ def NewHttpHeaderSet(self):
1166
+ """Add Header Key-Value Pair Collection.
1167
+ :rtype: list of IncrementalMigrationHttpHeader
1168
+ """
1169
+ return self._NewHttpHeaderSet
1170
+
1171
+ @NewHttpHeaderSet.setter
1172
+ def NewHttpHeaderSet(self, NewHttpHeaderSet):
1173
+ self._NewHttpHeaderSet = NewHttpHeaderSet
1174
+
1175
+
1176
+ def _deserialize(self, params):
1177
+ self._HeaderFollowMode = params.get("HeaderFollowMode")
1178
+ self._FollowHttpHeaderKeySet = params.get("FollowHttpHeaderKeySet")
1179
+ if params.get("NewHttpHeaderSet") is not None:
1180
+ self._NewHttpHeaderSet = []
1181
+ for item in params.get("NewHttpHeaderSet"):
1182
+ obj = IncrementalMigrationHttpHeader()
1183
+ obj._deserialize(item)
1184
+ self._NewHttpHeaderSet.append(obj)
1185
+ memeber_set = set(params.keys())
1186
+ for name, value in vars(self).items():
1187
+ property_name = name[1:]
1188
+ if property_name in memeber_set:
1189
+ memeber_set.remove(property_name)
1190
+ if len(memeber_set) > 0:
1191
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1192
+
1193
+
1194
+
1195
+ class IncrementalMigrationHttpOriginCondition(AbstractModel):
1196
+ """Incremental migration back-to-source conditions.
1197
+
1198
+ """
1199
+
1200
+ def __init__(self):
1201
+ r"""
1202
+ :param _HttpStatusCode: HTTP code to trigger back-to-source conditions. If not filled, the default value is `404`.
1203
+ :type HttpStatusCode: int
1204
+ :param _Prefix: Object key prefix to trigger back-to-source conditions
1205
+ :type Prefix: str
1206
+ """
1207
+ self._HttpStatusCode = None
1208
+ self._Prefix = None
1209
+
1210
+ @property
1211
+ def HttpStatusCode(self):
1212
+ """HTTP code to trigger back-to-source conditions. If not filled, the default value is `404`.
1213
+ :rtype: int
1214
+ """
1215
+ return self._HttpStatusCode
1216
+
1217
+ @HttpStatusCode.setter
1218
+ def HttpStatusCode(self, HttpStatusCode):
1219
+ self._HttpStatusCode = HttpStatusCode
1220
+
1221
+ @property
1222
+ def Prefix(self):
1223
+ """Object key prefix to trigger back-to-source conditions
1224
+ :rtype: str
1225
+ """
1226
+ return self._Prefix
1227
+
1228
+ @Prefix.setter
1229
+ def Prefix(self, Prefix):
1230
+ self._Prefix = Prefix
1231
+
1232
+
1233
+ def _deserialize(self, params):
1234
+ self._HttpStatusCode = params.get("HttpStatusCode")
1235
+ self._Prefix = params.get("Prefix")
1236
+ memeber_set = set(params.keys())
1237
+ for name, value in vars(self).items():
1238
+ property_name = name[1:]
1239
+ if property_name in memeber_set:
1240
+ memeber_set.remove(property_name)
1241
+ if len(memeber_set) > 0:
1242
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1243
+
1244
+
1245
+
1246
+ class IncrementalMigrationHttpOriginConfig(AbstractModel):
1247
+ """Configuration of the origin for incremental migration back-to-source.
1248
+
1249
+ """
1250
+
1251
+ def __init__(self):
1252
+ r"""
1253
+ :param _OriginInfo: Origin information for back-to-source.
1254
+ :type OriginInfo: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginInfo`
1255
+ :param _OriginParameter: Back-to-source parameters.
1256
+ :type OriginParameter: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginParameter`
1257
+ :param _Mode: Back-to-source mode. Valid values:
1258
+ <li>SYNC: Synchronous back-to-source;</li>
1259
+ <li>ASYNC: Asynchronous back-to-source.</li>
1260
+ :type Mode: str
1261
+ :param _OriginCondition: Back-to-source conditions.
1262
+ :type OriginCondition: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginCondition`
1263
+ """
1264
+ self._OriginInfo = None
1265
+ self._OriginParameter = None
1266
+ self._Mode = None
1267
+ self._OriginCondition = None
1268
+
1269
+ @property
1270
+ def OriginInfo(self):
1271
+ """Origin information for back-to-source.
1272
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginInfo`
1273
+ """
1274
+ return self._OriginInfo
1275
+
1276
+ @OriginInfo.setter
1277
+ def OriginInfo(self, OriginInfo):
1278
+ self._OriginInfo = OriginInfo
1279
+
1280
+ @property
1281
+ def OriginParameter(self):
1282
+ """Back-to-source parameters.
1283
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginParameter`
1284
+ """
1285
+ return self._OriginParameter
1286
+
1287
+ @OriginParameter.setter
1288
+ def OriginParameter(self, OriginParameter):
1289
+ self._OriginParameter = OriginParameter
1290
+
1291
+ @property
1292
+ def Mode(self):
1293
+ """Back-to-source mode. Valid values:
1294
+ <li>SYNC: Synchronous back-to-source;</li>
1295
+ <li>ASYNC: Asynchronous back-to-source.</li>
1296
+ :rtype: str
1297
+ """
1298
+ return self._Mode
1299
+
1300
+ @Mode.setter
1301
+ def Mode(self, Mode):
1302
+ self._Mode = Mode
1303
+
1304
+ @property
1305
+ def OriginCondition(self):
1306
+ """Back-to-source conditions.
1307
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginCondition`
1308
+ """
1309
+ return self._OriginCondition
1310
+
1311
+ @OriginCondition.setter
1312
+ def OriginCondition(self, OriginCondition):
1313
+ self._OriginCondition = OriginCondition
1314
+
1315
+
1316
+ def _deserialize(self, params):
1317
+ if params.get("OriginInfo") is not None:
1318
+ self._OriginInfo = IncrementalMigrationHttpOriginInfo()
1319
+ self._OriginInfo._deserialize(params.get("OriginInfo"))
1320
+ if params.get("OriginParameter") is not None:
1321
+ self._OriginParameter = IncrementalMigrationHttpOriginParameter()
1322
+ self._OriginParameter._deserialize(params.get("OriginParameter"))
1323
+ self._Mode = params.get("Mode")
1324
+ if params.get("OriginCondition") is not None:
1325
+ self._OriginCondition = IncrementalMigrationHttpOriginCondition()
1326
+ self._OriginCondition._deserialize(params.get("OriginCondition"))
1327
+ memeber_set = set(params.keys())
1328
+ for name, value in vars(self).items():
1329
+ property_name = name[1:]
1330
+ if property_name in memeber_set:
1331
+ memeber_set.remove(property_name)
1332
+ if len(memeber_set) > 0:
1333
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1334
+
1335
+
1336
+
1337
+ class IncrementalMigrationHttpOriginInfo(AbstractModel):
1338
+ """Incremental migration source information.
1339
+
1340
+ """
1341
+
1342
+ def __init__(self):
1343
+ r"""
1344
+ :param _EndpointInfo: Incremental migration source address information.
1345
+ :type EndpointInfo: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpEndpointInfo`
1346
+ :param _FileInfo: Incremental migration source file information.
1347
+ :type FileInfo: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginFileInfo`
1348
+ """
1349
+ self._EndpointInfo = None
1350
+ self._FileInfo = None
1351
+
1352
+ @property
1353
+ def EndpointInfo(self):
1354
+ """Incremental migration source address information.
1355
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpEndpointInfo`
1356
+ """
1357
+ return self._EndpointInfo
1358
+
1359
+ @EndpointInfo.setter
1360
+ def EndpointInfo(self, EndpointInfo):
1361
+ self._EndpointInfo = EndpointInfo
1362
+
1363
+ @property
1364
+ def FileInfo(self):
1365
+ """Incremental migration source file information.
1366
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginFileInfo`
1367
+ """
1368
+ return self._FileInfo
1369
+
1370
+ @FileInfo.setter
1371
+ def FileInfo(self, FileInfo):
1372
+ self._FileInfo = FileInfo
1373
+
1374
+
1375
+ def _deserialize(self, params):
1376
+ if params.get("EndpointInfo") is not None:
1377
+ self._EndpointInfo = IncrementalMigrationHttpEndpointInfo()
1378
+ self._EndpointInfo._deserialize(params.get("EndpointInfo"))
1379
+ if params.get("FileInfo") is not None:
1380
+ self._FileInfo = IncrementalMigrationOriginFileInfo()
1381
+ self._FileInfo._deserialize(params.get("FileInfo"))
1382
+ memeber_set = set(params.keys())
1383
+ for name, value in vars(self).items():
1384
+ property_name = name[1:]
1385
+ if property_name in memeber_set:
1386
+ memeber_set.remove(property_name)
1387
+ if len(memeber_set) > 0:
1388
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1389
+
1390
+
1391
+
1392
+ class IncrementalMigrationHttpOriginParameter(AbstractModel):
1393
+ """Incremental migration back-to-source parameters.
1394
+
1395
+ """
1396
+
1397
+ def __init__(self):
1398
+ r"""
1399
+ :param _HttpHeaderInfo: HTTP header passthrough information.
1400
+ :type HttpHeaderInfo: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpHeaderInfo`
1401
+ :param _Protocol: Back-to-source protocol. Valid values:
1402
+ <li>HTTP: Force HTTP;</li>
1403
+ <li>HTTPS: Force HTTPS;</li>
1404
+ <li>FOLLOW: Follow the request protocol.</li>
1405
+ :type Protocol: str
1406
+ :param _QueryStringFollowMode: Query string passthrough mode. Valid values
1407
+ <li>FOLLOW: Fully passthrough;</li>
1408
+ <li>IGNORE: No passthrough at all.</li>
1409
+ :type QueryStringFollowMode: str
1410
+ :param _HttpRedirectCode: HTTP Code for redirection. Currently, only `301`, `302`, and `307` are supported. The default value is `302`.
1411
+ :type HttpRedirectCode: int
1412
+ :param _OriginRedirectionFollowMode: Origin server redirection follow mode. Valid values:
1413
+ <li>FOLLOW: Follow origin server redirection;</li>
1414
+ <li>IGNORE: Ignore origin server redirection.</li>
1415
+ :type OriginRedirectionFollowMode: str
1416
+ """
1417
+ self._HttpHeaderInfo = None
1418
+ self._Protocol = None
1419
+ self._QueryStringFollowMode = None
1420
+ self._HttpRedirectCode = None
1421
+ self._OriginRedirectionFollowMode = None
1422
+
1423
+ @property
1424
+ def HttpHeaderInfo(self):
1425
+ """HTTP header passthrough information.
1426
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpHeaderInfo`
1427
+ """
1428
+ return self._HttpHeaderInfo
1429
+
1430
+ @HttpHeaderInfo.setter
1431
+ def HttpHeaderInfo(self, HttpHeaderInfo):
1432
+ self._HttpHeaderInfo = HttpHeaderInfo
1433
+
1434
+ @property
1435
+ def Protocol(self):
1436
+ """Back-to-source protocol. Valid values:
1437
+ <li>HTTP: Force HTTP;</li>
1438
+ <li>HTTPS: Force HTTPS;</li>
1439
+ <li>FOLLOW: Follow the request protocol.</li>
1440
+ :rtype: str
1441
+ """
1442
+ return self._Protocol
1443
+
1444
+ @Protocol.setter
1445
+ def Protocol(self, Protocol):
1446
+ self._Protocol = Protocol
1447
+
1448
+ @property
1449
+ def QueryStringFollowMode(self):
1450
+ """Query string passthrough mode. Valid values
1451
+ <li>FOLLOW: Fully passthrough;</li>
1452
+ <li>IGNORE: No passthrough at all.</li>
1453
+ :rtype: str
1454
+ """
1455
+ return self._QueryStringFollowMode
1456
+
1457
+ @QueryStringFollowMode.setter
1458
+ def QueryStringFollowMode(self, QueryStringFollowMode):
1459
+ self._QueryStringFollowMode = QueryStringFollowMode
1460
+
1461
+ @property
1462
+ def HttpRedirectCode(self):
1463
+ """HTTP Code for redirection. Currently, only `301`, `302`, and `307` are supported. The default value is `302`.
1464
+ :rtype: int
1465
+ """
1466
+ return self._HttpRedirectCode
1467
+
1468
+ @HttpRedirectCode.setter
1469
+ def HttpRedirectCode(self, HttpRedirectCode):
1470
+ self._HttpRedirectCode = HttpRedirectCode
1471
+
1472
+ @property
1473
+ def OriginRedirectionFollowMode(self):
1474
+ """Origin server redirection follow mode. Valid values:
1475
+ <li>FOLLOW: Follow origin server redirection;</li>
1476
+ <li>IGNORE: Ignore origin server redirection.</li>
1477
+ :rtype: str
1478
+ """
1479
+ return self._OriginRedirectionFollowMode
1480
+
1481
+ @OriginRedirectionFollowMode.setter
1482
+ def OriginRedirectionFollowMode(self, OriginRedirectionFollowMode):
1483
+ self._OriginRedirectionFollowMode = OriginRedirectionFollowMode
1484
+
1485
+
1486
+ def _deserialize(self, params):
1487
+ if params.get("HttpHeaderInfo") is not None:
1488
+ self._HttpHeaderInfo = IncrementalMigrationHttpHeaderInfo()
1489
+ self._HttpHeaderInfo._deserialize(params.get("HttpHeaderInfo"))
1490
+ self._Protocol = params.get("Protocol")
1491
+ self._QueryStringFollowMode = params.get("QueryStringFollowMode")
1492
+ self._HttpRedirectCode = params.get("HttpRedirectCode")
1493
+ self._OriginRedirectionFollowMode = params.get("OriginRedirectionFollowMode")
1494
+ memeber_set = set(params.keys())
1495
+ for name, value in vars(self).items():
1496
+ property_name = name[1:]
1497
+ if property_name in memeber_set:
1498
+ memeber_set.remove(property_name)
1499
+ if len(memeber_set) > 0:
1500
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1501
+
1502
+
1503
+
1504
+ class IncrementalMigrationOriginFileInfo(AbstractModel):
1505
+ """Incremental migration of origin file information.
1506
+
1507
+ """
1508
+
1509
+ def __init__(self):
1510
+ r"""
1511
+ :param _PrefixConfig: File prefix configuration.
1512
+ :type PrefixConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginPrefixConfig`
1513
+ :param _SuffixConfig: File suffix configuration.
1514
+ :type SuffixConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginSuffixConfig`
1515
+ :param _FixedFileConfig: Fixed file configuration.
1516
+ :type FixedFileConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginFixedFileConfig`
1517
+ """
1518
+ self._PrefixConfig = None
1519
+ self._SuffixConfig = None
1520
+ self._FixedFileConfig = None
1521
+
1522
+ @property
1523
+ def PrefixConfig(self):
1524
+ """File prefix configuration.
1525
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginPrefixConfig`
1526
+ """
1527
+ return self._PrefixConfig
1528
+
1529
+ @PrefixConfig.setter
1530
+ def PrefixConfig(self, PrefixConfig):
1531
+ self._PrefixConfig = PrefixConfig
1532
+
1533
+ @property
1534
+ def SuffixConfig(self):
1535
+ """File suffix configuration.
1536
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginSuffixConfig`
1537
+ """
1538
+ return self._SuffixConfig
1539
+
1540
+ @SuffixConfig.setter
1541
+ def SuffixConfig(self, SuffixConfig):
1542
+ self._SuffixConfig = SuffixConfig
1543
+
1544
+ @property
1545
+ def FixedFileConfig(self):
1546
+ """Fixed file configuration.
1547
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationOriginFixedFileConfig`
1548
+ """
1549
+ return self._FixedFileConfig
1550
+
1551
+ @FixedFileConfig.setter
1552
+ def FixedFileConfig(self, FixedFileConfig):
1553
+ self._FixedFileConfig = FixedFileConfig
1554
+
1555
+
1556
+ def _deserialize(self, params):
1557
+ if params.get("PrefixConfig") is not None:
1558
+ self._PrefixConfig = IncrementalMigrationOriginPrefixConfig()
1559
+ self._PrefixConfig._deserialize(params.get("PrefixConfig"))
1560
+ if params.get("SuffixConfig") is not None:
1561
+ self._SuffixConfig = IncrementalMigrationOriginSuffixConfig()
1562
+ self._SuffixConfig._deserialize(params.get("SuffixConfig"))
1563
+ if params.get("FixedFileConfig") is not None:
1564
+ self._FixedFileConfig = IncrementalMigrationOriginFixedFileConfig()
1565
+ self._FixedFileConfig._deserialize(params.get("FixedFileConfig"))
1566
+ memeber_set = set(params.keys())
1567
+ for name, value in vars(self).items():
1568
+ property_name = name[1:]
1569
+ if property_name in memeber_set:
1570
+ memeber_set.remove(property_name)
1571
+ if len(memeber_set) > 0:
1572
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1573
+
1574
+
1575
+
1576
+ class IncrementalMigrationOriginFixedFileConfig(AbstractModel):
1577
+ """Incremental migration of origin fixed file path configuration.
1578
+
1579
+ """
1580
+
1581
+ def __init__(self):
1582
+ r"""
1583
+ :param _FixedFilePath: Fixed file path: If you fill in `example/test.png`, the origin-pull address will be: `http(s)://<origin domain>/example/test.png`.
1584
+ :type FixedFilePath: str
1585
+ """
1586
+ self._FixedFilePath = None
1587
+
1588
+ @property
1589
+ def FixedFilePath(self):
1590
+ """Fixed file path: If you fill in `example/test.png`, the origin-pull address will be: `http(s)://<origin domain>/example/test.png`.
1591
+ :rtype: str
1592
+ """
1593
+ return self._FixedFilePath
1594
+
1595
+ @FixedFilePath.setter
1596
+ def FixedFilePath(self, FixedFilePath):
1597
+ self._FixedFilePath = FixedFilePath
1598
+
1599
+
1600
+ def _deserialize(self, params):
1601
+ self._FixedFilePath = params.get("FixedFilePath")
1602
+ memeber_set = set(params.keys())
1603
+ for name, value in vars(self).items():
1604
+ property_name = name[1:]
1605
+ if property_name in memeber_set:
1606
+ memeber_set.remove(property_name)
1607
+ if len(memeber_set) > 0:
1608
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1609
+
1610
+
1611
+
1612
+ class IncrementalMigrationOriginPrefixConfig(AbstractModel):
1613
+ """Incremental migration of origin address prefix configuration.
1614
+
1615
+ """
1616
+
1617
+ def __init__(self):
1618
+ r"""
1619
+ :param _Prefix: Origin address prefix: If you fill in `test/`, the origin-pull address will be `http(s)://<origin domain>/test/<file name>`.
1620
+ :type Prefix: str
1621
+ """
1622
+ self._Prefix = None
1623
+
1624
+ @property
1625
+ def Prefix(self):
1626
+ """Origin address prefix: If you fill in `test/`, the origin-pull address will be `http(s)://<origin domain>/test/<file name>`.
1627
+ :rtype: str
1628
+ """
1629
+ return self._Prefix
1630
+
1631
+ @Prefix.setter
1632
+ def Prefix(self, Prefix):
1633
+ self._Prefix = Prefix
1634
+
1635
+
1636
+ def _deserialize(self, params):
1637
+ self._Prefix = params.get("Prefix")
1638
+ memeber_set = set(params.keys())
1639
+ for name, value in vars(self).items():
1640
+ property_name = name[1:]
1641
+ if property_name in memeber_set:
1642
+ memeber_set.remove(property_name)
1643
+ if len(memeber_set) > 0:
1644
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1645
+
1646
+
1647
+
1648
+ class IncrementalMigrationOriginSuffixConfig(AbstractModel):
1649
+ """Incremental migration of origin file suffix configuration.
1650
+
1651
+ """
1652
+
1653
+ def __init__(self):
1654
+ r"""
1655
+ :param _Suffix: File suffix.
1656
+ if filled with `.ts`, the origin-pull address will be: `http(s)://<origin domain>/<file name>.ts`.
1657
+ :type Suffix: str
1658
+ """
1659
+ self._Suffix = None
1660
+
1661
+ @property
1662
+ def Suffix(self):
1663
+ """File suffix.
1664
+ if filled with `.ts`, the origin-pull address will be: `http(s)://<origin domain>/<file name>.ts`.
1665
+ :rtype: str
1666
+ """
1667
+ return self._Suffix
1668
+
1669
+ @Suffix.setter
1670
+ def Suffix(self, Suffix):
1671
+ self._Suffix = Suffix
1672
+
1673
+
1674
+ def _deserialize(self, params):
1675
+ self._Suffix = params.get("Suffix")
1676
+ memeber_set = set(params.keys())
1677
+ for name, value in vars(self).items():
1678
+ property_name = name[1:]
1679
+ if property_name in memeber_set:
1680
+ memeber_set.remove(property_name)
1681
+ if len(memeber_set) > 0:
1682
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1683
+
1684
+
1685
+
1686
+ class IncrementalMigrationStrategyInfo(AbstractModel):
1687
+ """Incremental migration strategy information.
1688
+
1689
+ """
1690
+
1691
+ def __init__(self):
1692
+ r"""
1693
+ :param _StrategyId: The ID of the incremental migration strategy.
1694
+ :type StrategyId: str
1695
+ :param _StrategyName: The name of the incremental migration strategy.
1696
+ :type StrategyName: str
1697
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
1698
+ :type SubAppId: int
1699
+ :param _BucketId: The bucket ID where the strategy takes effect.
1700
+ :type BucketId: str
1701
+ :param _OriginType: Source type.
1702
+ :type OriginType: str
1703
+ :param _HttpOriginConfig: Incremental migration HTTP origin source configuration.
1704
+ :type HttpOriginConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
1705
+ """
1706
+ self._StrategyId = None
1707
+ self._StrategyName = None
1708
+ self._SubAppId = None
1709
+ self._BucketId = None
1710
+ self._OriginType = None
1711
+ self._HttpOriginConfig = None
1712
+
1713
+ @property
1714
+ def StrategyId(self):
1715
+ """The ID of the incremental migration strategy.
1716
+ :rtype: str
1717
+ """
1718
+ return self._StrategyId
1719
+
1720
+ @StrategyId.setter
1721
+ def StrategyId(self, StrategyId):
1722
+ self._StrategyId = StrategyId
1723
+
1724
+ @property
1725
+ def StrategyName(self):
1726
+ """The name of the incremental migration strategy.
1727
+ :rtype: str
1728
+ """
1729
+ return self._StrategyName
1730
+
1731
+ @StrategyName.setter
1732
+ def StrategyName(self, StrategyName):
1733
+ self._StrategyName = StrategyName
1734
+
1735
+ @property
1736
+ def SubAppId(self):
1737
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
1738
+ :rtype: int
1739
+ """
1740
+ return self._SubAppId
1741
+
1742
+ @SubAppId.setter
1743
+ def SubAppId(self, SubAppId):
1744
+ self._SubAppId = SubAppId
1745
+
1746
+ @property
1747
+ def BucketId(self):
1748
+ """The bucket ID where the strategy takes effect.
1749
+ :rtype: str
1750
+ """
1751
+ return self._BucketId
1752
+
1753
+ @BucketId.setter
1754
+ def BucketId(self, BucketId):
1755
+ self._BucketId = BucketId
1756
+
1757
+ @property
1758
+ def OriginType(self):
1759
+ """Source type.
1760
+ :rtype: str
1761
+ """
1762
+ return self._OriginType
1763
+
1764
+ @OriginType.setter
1765
+ def OriginType(self, OriginType):
1766
+ self._OriginType = OriginType
1767
+
1768
+ @property
1769
+ def HttpOriginConfig(self):
1770
+ """Incremental migration HTTP origin source configuration.
1771
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
1772
+ """
1773
+ return self._HttpOriginConfig
1774
+
1775
+ @HttpOriginConfig.setter
1776
+ def HttpOriginConfig(self, HttpOriginConfig):
1777
+ self._HttpOriginConfig = HttpOriginConfig
1778
+
1779
+
1780
+ def _deserialize(self, params):
1781
+ self._StrategyId = params.get("StrategyId")
1782
+ self._StrategyName = params.get("StrategyName")
1783
+ self._SubAppId = params.get("SubAppId")
1784
+ self._BucketId = params.get("BucketId")
1785
+ self._OriginType = params.get("OriginType")
1786
+ if params.get("HttpOriginConfig") is not None:
1787
+ self._HttpOriginConfig = IncrementalMigrationHttpOriginConfig()
1788
+ self._HttpOriginConfig._deserialize(params.get("HttpOriginConfig"))
1789
+ memeber_set = set(params.keys())
1790
+ for name, value in vars(self).items():
1791
+ property_name = name[1:]
1792
+ if property_name in memeber_set:
1793
+ memeber_set.remove(property_name)
1794
+ if len(memeber_set) > 0:
1795
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1796
+
1797
+
1798
+
1799
+ class ModifyIncrementalMigrationStrategyRequest(AbstractModel):
1800
+ """ModifyIncrementalMigrationStrategy request structure.
1801
+
1802
+ """
1803
+
1804
+ def __init__(self):
1805
+ r"""
1806
+ :param _SubAppId: <b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
1807
+ :type SubAppId: int
1808
+ :param _BucketId: The bucket ID where the strategy takes effect.
1809
+ :type BucketId: str
1810
+ :param _StrategyId: The ID of the incremental migration strategy.
1811
+ :type StrategyId: str
1812
+ :param _StrategyName: The name of the incremental migration strategy.
1813
+ :type StrategyName: str
1814
+ :param _OriginType: Source type. Valid values:
1815
+ <li>HTTP: (Default) the source type is HTTP.</li>
1816
+ :type OriginType: str
1817
+ :param _HttpOriginConfig: Incremental migration HTTP origin source configuration. If left blank, it will default to no modification.
1818
+ :type HttpOriginConfig: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
1819
+ """
1820
+ self._SubAppId = None
1821
+ self._BucketId = None
1822
+ self._StrategyId = None
1823
+ self._StrategyName = None
1824
+ self._OriginType = None
1825
+ self._HttpOriginConfig = None
1826
+
1827
+ @property
1828
+ def SubAppId(self):
1829
+ """<b>The ID of [VOD Professional Application](http://tencentcloud.com/document/product/266/67977).</b>
1830
+ :rtype: int
1831
+ """
1832
+ return self._SubAppId
1833
+
1834
+ @SubAppId.setter
1835
+ def SubAppId(self, SubAppId):
1836
+ self._SubAppId = SubAppId
1837
+
1838
+ @property
1839
+ def BucketId(self):
1840
+ """The bucket ID where the strategy takes effect.
1841
+ :rtype: str
1842
+ """
1843
+ return self._BucketId
1844
+
1845
+ @BucketId.setter
1846
+ def BucketId(self, BucketId):
1847
+ self._BucketId = BucketId
1848
+
1849
+ @property
1850
+ def StrategyId(self):
1851
+ """The ID of the incremental migration strategy.
1852
+ :rtype: str
1853
+ """
1854
+ return self._StrategyId
1855
+
1856
+ @StrategyId.setter
1857
+ def StrategyId(self, StrategyId):
1858
+ self._StrategyId = StrategyId
1859
+
1860
+ @property
1861
+ def StrategyName(self):
1862
+ """The name of the incremental migration strategy.
1863
+ :rtype: str
1864
+ """
1865
+ return self._StrategyName
1866
+
1867
+ @StrategyName.setter
1868
+ def StrategyName(self, StrategyName):
1869
+ self._StrategyName = StrategyName
1870
+
1871
+ @property
1872
+ def OriginType(self):
1873
+ """Source type. Valid values:
1874
+ <li>HTTP: (Default) the source type is HTTP.</li>
1875
+ :rtype: str
1876
+ """
1877
+ return self._OriginType
1878
+
1879
+ @OriginType.setter
1880
+ def OriginType(self, OriginType):
1881
+ self._OriginType = OriginType
1882
+
1883
+ @property
1884
+ def HttpOriginConfig(self):
1885
+ """Incremental migration HTTP origin source configuration. If left blank, it will default to no modification.
1886
+ :rtype: :class:`tencentcloud.vod.v20240718.models.IncrementalMigrationHttpOriginConfig`
1887
+ """
1888
+ return self._HttpOriginConfig
1889
+
1890
+ @HttpOriginConfig.setter
1891
+ def HttpOriginConfig(self, HttpOriginConfig):
1892
+ self._HttpOriginConfig = HttpOriginConfig
1893
+
1894
+
1895
+ def _deserialize(self, params):
1896
+ self._SubAppId = params.get("SubAppId")
1897
+ self._BucketId = params.get("BucketId")
1898
+ self._StrategyId = params.get("StrategyId")
1899
+ self._StrategyName = params.get("StrategyName")
1900
+ self._OriginType = params.get("OriginType")
1901
+ if params.get("HttpOriginConfig") is not None:
1902
+ self._HttpOriginConfig = IncrementalMigrationHttpOriginConfig()
1903
+ self._HttpOriginConfig._deserialize(params.get("HttpOriginConfig"))
1904
+ memeber_set = set(params.keys())
1905
+ for name, value in vars(self).items():
1906
+ property_name = name[1:]
1907
+ if property_name in memeber_set:
1908
+ memeber_set.remove(property_name)
1909
+ if len(memeber_set) > 0:
1910
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1911
+
1912
+
1913
+
1914
+ class ModifyIncrementalMigrationStrategyResponse(AbstractModel):
1915
+ """ModifyIncrementalMigrationStrategy response structure.
1916
+
1917
+ """
1918
+
1919
+ def __init__(self):
1920
+ r"""
1921
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
1922
+ :type RequestId: str
1923
+ """
1924
+ self._RequestId = None
1925
+
1926
+ @property
1927
+ def RequestId(self):
1928
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
1929
+ :rtype: str
1930
+ """
1931
+ return self._RequestId
1932
+
1933
+ @RequestId.setter
1934
+ def RequestId(self, RequestId):
1935
+ self._RequestId = RequestId
1936
+
1937
+
1938
+ def _deserialize(self, params):
1939
+ self._RequestId = params.get("RequestId")
1940
+
1941
+
1942
+ class SortBy(AbstractModel):
1943
+ """Sort by criterion
1944
+
1945
+ """
1946
+
1947
+ def __init__(self):
1948
+ r"""
1949
+ :param _Field: Sort by field
1950
+ :type Field: str
1951
+ :param _Order: Sorting order. Valid values: Asc (ascending), Desc (descending)
1952
+ :type Order: str
1953
+ """
1954
+ self._Field = None
1955
+ self._Order = None
1956
+
1957
+ @property
1958
+ def Field(self):
1959
+ """Sort by field
1960
+ :rtype: str
1961
+ """
1962
+ return self._Field
1963
+
1964
+ @Field.setter
1965
+ def Field(self, Field):
1966
+ self._Field = Field
1967
+
1968
+ @property
1969
+ def Order(self):
1970
+ """Sorting order. Valid values: Asc (ascending), Desc (descending)
1971
+ :rtype: str
1972
+ """
1973
+ return self._Order
1974
+
1975
+ @Order.setter
1976
+ def Order(self, Order):
1977
+ self._Order = Order
1978
+
1979
+
1980
+ def _deserialize(self, params):
1981
+ self._Field = params.get("Field")
1982
+ self._Order = params.get("Order")
1983
+ memeber_set = set(params.keys())
1984
+ for name, value in vars(self).items():
1985
+ property_name = name[1:]
1986
+ if property_name in memeber_set:
1987
+ memeber_set.remove(property_name)
1988
+ if len(memeber_set) > 0:
1989
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1990
+
1991
+
1992
+
1993
+ class StorageInfo(AbstractModel):
1994
+ """Storage information for the professional application.
1995
+
1996
+ """
1997
+
1998
+ def __init__(self):
1999
+ r"""
2000
+ :param _BucketId: The ID of bucket.
2001
+ :type BucketId: str
2002
+ :param _StorageName: The name of bucket.
2003
+ :type StorageName: str
2004
+ :param _StorageRegion: The region of storage.
2005
+ :type StorageRegion: str
2006
+ :param _InternetAccessDomainStatus: The status of the internet access domain name is stored. Valid values: <li>ONLINE: Active;</li> <li>DEPLOYING: In deployment.</li>
2007
+ :type InternetAccessDomainStatus: str
2008
+ :param _InternetAccessDomain: The internet access domain name of storage.
2009
+ :type InternetAccessDomain: str
2010
+ :param _CreateTime: The creation time of the storage.
2011
+ :type CreateTime: str
2012
+ """
2013
+ self._BucketId = None
2014
+ self._StorageName = None
2015
+ self._StorageRegion = None
2016
+ self._InternetAccessDomainStatus = None
2017
+ self._InternetAccessDomain = None
2018
+ self._CreateTime = None
2019
+
2020
+ @property
2021
+ def BucketId(self):
2022
+ """The ID of bucket.
2023
+ :rtype: str
2024
+ """
2025
+ return self._BucketId
2026
+
2027
+ @BucketId.setter
2028
+ def BucketId(self, BucketId):
2029
+ self._BucketId = BucketId
2030
+
2031
+ @property
2032
+ def StorageName(self):
2033
+ """The name of bucket.
2034
+ :rtype: str
2035
+ """
2036
+ return self._StorageName
2037
+
2038
+ @StorageName.setter
2039
+ def StorageName(self, StorageName):
2040
+ self._StorageName = StorageName
2041
+
2042
+ @property
2043
+ def StorageRegion(self):
2044
+ """The region of storage.
2045
+ :rtype: str
2046
+ """
2047
+ return self._StorageRegion
2048
+
2049
+ @StorageRegion.setter
2050
+ def StorageRegion(self, StorageRegion):
2051
+ self._StorageRegion = StorageRegion
2052
+
2053
+ @property
2054
+ def InternetAccessDomainStatus(self):
2055
+ """The status of the internet access domain name is stored. Valid values: <li>ONLINE: Active;</li> <li>DEPLOYING: In deployment.</li>
2056
+ :rtype: str
2057
+ """
2058
+ return self._InternetAccessDomainStatus
2059
+
2060
+ @InternetAccessDomainStatus.setter
2061
+ def InternetAccessDomainStatus(self, InternetAccessDomainStatus):
2062
+ self._InternetAccessDomainStatus = InternetAccessDomainStatus
2063
+
2064
+ @property
2065
+ def InternetAccessDomain(self):
2066
+ """The internet access domain name of storage.
2067
+ :rtype: str
2068
+ """
2069
+ return self._InternetAccessDomain
2070
+
2071
+ @InternetAccessDomain.setter
2072
+ def InternetAccessDomain(self, InternetAccessDomain):
2073
+ self._InternetAccessDomain = InternetAccessDomain
2074
+
2075
+ @property
2076
+ def CreateTime(self):
2077
+ """The creation time of the storage.
2078
+ :rtype: str
2079
+ """
2080
+ return self._CreateTime
2081
+
2082
+ @CreateTime.setter
2083
+ def CreateTime(self, CreateTime):
2084
+ self._CreateTime = CreateTime
2085
+
2086
+
2087
+ def _deserialize(self, params):
2088
+ self._BucketId = params.get("BucketId")
2089
+ self._StorageName = params.get("StorageName")
2090
+ self._StorageRegion = params.get("StorageRegion")
2091
+ self._InternetAccessDomainStatus = params.get("InternetAccessDomainStatus")
2092
+ self._InternetAccessDomain = params.get("InternetAccessDomain")
2093
+ self._CreateTime = params.get("CreateTime")
2094
+ memeber_set = set(params.keys())
2095
+ for name, value in vars(self).items():
2096
+ property_name = name[1:]
2097
+ if property_name in memeber_set:
2098
+ memeber_set.remove(property_name)
2099
+ if len(memeber_set) > 0:
2100
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
2101
+