yandexcloud 0.334.0__py3-none-any.whl → 0.336.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. yandex/cloud/ai/tuning/v1/tuning_service_pb2.py +8 -8
  2. yandex/cloud/ai/tuning/v1/tuning_service_pb2.pyi +11 -3
  3. yandex/cloud/cic/v1/common/lag_allocation_settings_pb2.py +4 -4
  4. yandex/cloud/cic/v1/common/lag_allocation_settings_pb2.pyi +3 -9
  5. yandex/cloud/cic/v1/partner_pb2.pyi +1 -1
  6. yandex/cloud/cic/v1/private_connection_pb2.py +10 -9
  7. yandex/cloud/cic/v1/private_connection_pb2.pyi +40 -12
  8. yandex/cloud/cic/v1/private_connection_service_pb2.py +76 -9
  9. yandex/cloud/cic/v1/private_connection_service_pb2.pyi +379 -1
  10. yandex/cloud/cic/v1/private_connection_service_pb2_grpc.py +270 -0
  11. yandex/cloud/cic/v1/private_connection_service_pb2_grpc.pyi +151 -0
  12. yandex/cloud/cic/v1/public_connection_pb2.py +10 -7
  13. yandex/cloud/cic/v1/public_connection_pb2.pyi +32 -2
  14. yandex/cloud/cic/v1/trunk_connection_pb2.py +16 -13
  15. yandex/cloud/cic/v1/trunk_connection_pb2.pyi +40 -2
  16. yandex/cloud/cic/v1/trunk_connection_service_pb2.py +63 -9
  17. yandex/cloud/cic/v1/trunk_connection_service_pb2.pyi +368 -1
  18. yandex/cloud/cic/v1/trunk_connection_service_pb2_grpc.py +180 -0
  19. yandex/cloud/cic/v1/trunk_connection_service_pb2_grpc.pyi +99 -0
  20. yandex/cloud/cloudrouter/v1/routing_instance_pb2.py +16 -15
  21. yandex/cloud/cloudrouter/v1/routing_instance_pb2.pyi +11 -3
  22. yandex/cloud/cloudrouter/v1/routing_instance_service_pb2.py +86 -15
  23. yandex/cloud/cloudrouter/v1/routing_instance_service_pb2.pyi +388 -1
  24. yandex/cloud/cloudrouter/v1/routing_instance_service_pb2_grpc.py +360 -0
  25. yandex/cloud/cloudrouter/v1/routing_instance_service_pb2_grpc.pyi +203 -0
  26. yandex/cloud/compute/v1/instance_pb2.py +52 -52
  27. yandex/cloud/compute/v1/instance_pb2.pyi +5 -1
  28. yandex/cloud/compute/v1/instance_service_pb2.py +130 -126
  29. yandex/cloud/compute/v1/instance_service_pb2.pyi +17 -2
  30. yandex/cloud/compute/v1/reserved_instance_pool_pb2.py +59 -0
  31. yandex/cloud/compute/v1/reserved_instance_pool_pb2.pyi +171 -0
  32. yandex/cloud/compute/v1/reserved_instance_pool_pb2_grpc.py +24 -0
  33. yandex/cloud/compute/v1/reserved_instance_pool_pb2_grpc.pyi +17 -0
  34. yandex/cloud/compute/v1/reserved_instance_pool_service_pb2.py +123 -0
  35. yandex/cloud/compute/v1/reserved_instance_pool_service_pb2.pyi +345 -0
  36. yandex/cloud/compute/v1/reserved_instance_pool_service_pb2_grpc.py +282 -0
  37. yandex/cloud/compute/v1/reserved_instance_pool_service_pb2_grpc.pyi +147 -0
  38. yandex/cloud/iot/devices/v1/device_pb2.py +4 -4
  39. yandex/cloud/iot/devices/v1/device_pb2.pyi +6 -2
  40. yandex/cloud/loadbalancer/v1/network_load_balancer_pb2.py +22 -22
  41. yandex/cloud/loadbalancer/v1/network_load_balancer_pb2.pyi +5 -1
  42. yandex/cloud/loadbalancer/v1/network_load_balancer_service_pb2.py +56 -56
  43. yandex/cloud/loadbalancer/v1/network_load_balancer_service_pb2.pyi +10 -2
  44. yandex/cloud/lockbox/v1/secret_service_pb2.py +46 -50
  45. yandex/cloud/mdb/clickhouse/v1/config/clickhouse_pb2.py +74 -70
  46. yandex/cloud/mdb/clickhouse/v1/config/clickhouse_pb2.pyi +151 -5
  47. yandex/cloud/mdb/clickhouse/v1/user_pb2.py +32 -28
  48. yandex/cloud/mdb/clickhouse/v1/user_pb2.pyi +198 -10
  49. yandex/cloud/mdb/greenplum/v1/cluster_pb2.py +30 -24
  50. yandex/cloud/mdb/greenplum/v1/cluster_pb2.pyi +47 -2
  51. yandex/cloud/mdb/greenplum/v1/cluster_service_pb2.py +78 -78
  52. yandex/cloud/mdb/greenplum/v1/cluster_service_pb2.pyi +29 -5
  53. yandex/cloud/mdb/mongodb/v1/cluster_service_pb2.pyi +0 -2
  54. yandex/cloud/mdb/mongodb/v1/config/mongodb_pb2.py +38 -22
  55. yandex/cloud/mdb/mongodb/v1/config/mongodb_pb2.pyi +193 -13
  56. yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.py +18 -18
  57. yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.pyi +8 -0
  58. yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.py +18 -18
  59. yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.pyi +8 -0
  60. yandex/cloud/mdb/mysql/v1/user_pb2.py +3 -3
  61. yandex/cloud/mdb/mysql/v1/user_pb2.pyi +8 -0
  62. yandex/cloud/serverless/eventrouter/v1/bus_pb2.py +17 -7
  63. yandex/cloud/serverless/eventrouter/v1/bus_pb2.pyi +46 -2
  64. yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.py +22 -22
  65. yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.pyi +24 -3
  66. yandex/cloud/storage/v1/bucket_pb2.py +75 -73
  67. yandex/cloud/video/v1/channel_pb2.py +10 -4
  68. yandex/cloud/video/v1/channel_pb2.pyi +73 -2
  69. yandex/cloud/video/v1/channel_service_pb2.py +36 -29
  70. yandex/cloud/video/v1/channel_service_pb2_grpc.py +133 -0
  71. yandex/cloud/video/v1/channel_service_pb2_grpc.pyi +61 -0
  72. yandex/cloud/video/v1/episode_service_pb2.py +54 -53
  73. yandex/cloud/video/v1/episode_service_pb2.pyi +9 -2
  74. yandex/cloud/video/v1/video_pb2.py +20 -19
  75. yandex/cloud/video/v1/video_pb2.pyi +12 -2
  76. yandex/cloud/video/v1/video_service_pb2.py +64 -63
  77. yandex/cloud/video/v1/video_service_pb2.pyi +23 -4
  78. yandexcloud/__init__.py +2 -1
  79. yandexcloud/_channels.py +8 -3
  80. yandexcloud/_retry_interceptor.py +2 -0
  81. yandexcloud/_retry_policy.py +31 -0
  82. yandexcloud/_sdk.py +5 -10
  83. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/METADATA +20 -1
  84. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/RECORD +88 -79
  85. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/WHEEL +1 -1
  86. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/AUTHORS +0 -0
  87. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/LICENSE +0 -0
  88. {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/top_level.txt +0 -0
@@ -6,6 +6,7 @@ isort:skip_file
6
6
  import builtins
7
7
  import collections.abc
8
8
  import google.protobuf.descriptor
9
+ import google.protobuf.duration_pb2
9
10
  import google.protobuf.field_mask_pb2
10
11
  import google.protobuf.internal.containers
11
12
  import google.protobuf.message
@@ -496,18 +497,24 @@ class GetEpisodePlayerURLRequest(google.protobuf.message.Message):
496
497
 
497
498
  EPISODE_ID_FIELD_NUMBER: builtins.int
498
499
  PARAMS_FIELD_NUMBER: builtins.int
500
+ SIGNED_URL_EXPIRATION_DURATION_FIELD_NUMBER: builtins.int
499
501
  episode_id: builtins.str
500
502
  """ID of the episode."""
501
503
  @property
502
504
  def params(self) -> global___EpisodePlayerParams: ...
505
+ @property
506
+ def signed_url_expiration_duration(self) -> google.protobuf.duration_pb2.Duration:
507
+ """Optional field, used to set custom url expiration duration for episodes with sign_url_access"""
508
+
503
509
  def __init__(
504
510
  self,
505
511
  *,
506
512
  episode_id: builtins.str = ...,
507
513
  params: global___EpisodePlayerParams | None = ...,
514
+ signed_url_expiration_duration: google.protobuf.duration_pb2.Duration | None = ...,
508
515
  ) -> None: ...
509
- def HasField(self, field_name: typing.Literal["params", b"params"]) -> builtins.bool: ...
510
- def ClearField(self, field_name: typing.Literal["episode_id", b"episode_id", "params", b"params"]) -> None: ...
516
+ def HasField(self, field_name: typing.Literal["params", b"params", "signed_url_expiration_duration", b"signed_url_expiration_duration"]) -> builtins.bool: ...
517
+ def ClearField(self, field_name: typing.Literal["episode_id", b"episode_id", "params", b"params", "signed_url_expiration_duration", b"signed_url_expiration_duration"]) -> None: ...
511
518
 
512
519
  global___GetEpisodePlayerURLRequest = GetEpisodePlayerURLRequest
513
520
 
@@ -24,9 +24,10 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
  from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
26
26
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
27
28
 
28
29
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!yandex/cloud/video/v1/video.proto\x12\x15yandex.cloud.video.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe3\x08\n\x05Video\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nchannel_id\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0cthumbnail_id\x18\x05 \x01(\t\x12\x38\n\x06status\x18\x06 \x01(\x0e\x32(.yandex.cloud.video.v1.Video.VideoStatus\x12+\n\x08\x64uration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12H\n\x11visibility_status\x18\t \x01(\x0e\x32-.yandex.cloud.video.v1.Video.VisibilityStatus\x12<\n\x0e\x61uto_transcode\x18\x0b \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12\x14\n\x0csubtitle_ids\x18\x0c \x03(\t\x12\x37\n\x04tusd\x18\xe8\x07 \x01(\x0b\x32&.yandex.cloud.video.v1.VideoTUSDSourceH\x00\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessRightsH\x01\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessRightsH\x01\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessRightsH\x01\x12.\n\ncreated_at\x18\x64 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x06labels\x18\xc8\x01 \x03(\x0b\x32(.yandex.cloud.video.v1.Video.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x0bVideoStatus\x12\x1c\n\x18VIDEO_STATUS_UNSPECIFIED\x10\x00\x12\x12\n\x0eWAIT_UPLOADING\x10\x01\x12\x0e\n\nPROCESSING\x10\x04\x12\t\n\x05READY\x10\x05\x12\t\n\x05\x45RROR\x10\x07\"\x04\x08\x06\x10\x06\"U\n\x10VisibilityStatus\x12!\n\x1dVISIBILITY_STATUS_UNSPECIFIED\x10\x00\x12\r\n\tPUBLISHED\x10\x01\x12\x0f\n\x0bUNPUBLISHED\x10\x02\x42\x08\n\x06sourceB\x0f\n\raccess_rightsJ\x06\x08\xd1\x0f\x10\xd2\x0fJ\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\r\x10\x64J\x05\x08\x66\x10\xc8\x01J\x06\x08\xc9\x01\x10\xe8\x07J\x06\x08\xe9\x07\x10\xd0\x0f\"\x1e\n\x0fVideoTUSDSource\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x19\n\x17VideoPublicAccessRights\"\x1d\n\x1bVideoAuthSystemAccessRights\"\x1a\n\x18VideoSignURLAccessRights*H\n\rAutoTranscode\x12\x1e\n\x1a\x41UTO_TRANSCODE_UNSPECIFIED\x10\x00\x12\n\n\x06\x45NABLE\x10\x01\x12\x0b\n\x07\x44ISABLE\x10\x02\x42\\\n\x19yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;videob\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!yandex/cloud/video/v1/video.proto\x12\x15yandex.cloud.video.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x98\t\n\x05Video\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nchannel_id\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0cthumbnail_id\x18\x05 \x01(\t\x12\x38\n\x06status\x18\x06 \x01(\x0e\x32(.yandex.cloud.video.v1.Video.VideoStatus\x12+\n\x08\x64uration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12H\n\x11visibility_status\x18\t \x01(\x0e\x32-.yandex.cloud.video.v1.Video.VisibilityStatus\x12<\n\x0e\x61uto_transcode\x18\x0b \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12-\n\tenable_ad\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x14\n\x0csubtitle_ids\x18\x0c \x03(\t\x12\x37\n\x04tusd\x18\xe8\x07 \x01(\x0b\x32&.yandex.cloud.video.v1.VideoTUSDSourceH\x00\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessRightsH\x01\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessRightsH\x01\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessRightsH\x01\x12.\n\ncreated_at\x18\x64 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x06labels\x18\xc8\x01 \x03(\x0b\x32(.yandex.cloud.video.v1.Video.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x0bVideoStatus\x12\x1c\n\x18VIDEO_STATUS_UNSPECIFIED\x10\x00\x12\x12\n\x0eWAIT_UPLOADING\x10\x01\x12\x0e\n\nPROCESSING\x10\x04\x12\t\n\x05READY\x10\x05\x12\t\n\x05\x45RROR\x10\x07\"\x04\x08\x06\x10\x06\"U\n\x10VisibilityStatus\x12!\n\x1dVISIBILITY_STATUS_UNSPECIFIED\x10\x00\x12\r\n\tPUBLISHED\x10\x01\x12\x0f\n\x0bUNPUBLISHED\x10\x02\x42\x08\n\x06sourceB\x0f\n\raccess_rightsJ\x06\x08\xd1\x0f\x10\xd2\x0fJ\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\r\x10\x11J\x04\x08\x12\x10\x64J\x05\x08\x66\x10\xc8\x01J\x06\x08\xc9\x01\x10\xe8\x07J\x06\x08\xe9\x07\x10\xd0\x0f\"\x1e\n\x0fVideoTUSDSource\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x19\n\x17VideoPublicAccessRights\"\x1d\n\x1bVideoAuthSystemAccessRights\"\x1a\n\x18VideoSignURLAccessRights*H\n\rAutoTranscode\x12\x1e\n\x1a\x41UTO_TRANSCODE_UNSPECIFIED\x10\x00\x12\n\n\x06\x45NABLE\x10\x01\x12\x0b\n\x07\x44ISABLE\x10\x02\x42\\\n\x19yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;videob\x06proto3')
30
31
 
31
32
  _globals = globals()
32
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -36,22 +37,22 @@ if not _descriptor._USE_C_DESCRIPTORS:
36
37
  _globals['DESCRIPTOR']._serialized_options = b'\n\031yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;video'
37
38
  _globals['_VIDEO_LABELSENTRY']._loaded_options = None
38
39
  _globals['_VIDEO_LABELSENTRY']._serialized_options = b'8\001'
39
- _globals['_AUTOTRANSCODE']._serialized_start=1369
40
- _globals['_AUTOTRANSCODE']._serialized_end=1441
41
- _globals['_VIDEO']._serialized_start=126
42
- _globals['_VIDEO']._serialized_end=1249
43
- _globals['_VIDEO_LABELSENTRY']._serialized_start=932
44
- _globals['_VIDEO_LABELSENTRY']._serialized_end=977
45
- _globals['_VIDEO_VIDEOSTATUS']._serialized_start=979
46
- _globals['_VIDEO_VIDEOSTATUS']._serialized_end=1086
47
- _globals['_VIDEO_VISIBILITYSTATUS']._serialized_start=1088
48
- _globals['_VIDEO_VISIBILITYSTATUS']._serialized_end=1173
49
- _globals['_VIDEOTUSDSOURCE']._serialized_start=1251
50
- _globals['_VIDEOTUSDSOURCE']._serialized_end=1281
51
- _globals['_VIDEOPUBLICACCESSRIGHTS']._serialized_start=1283
52
- _globals['_VIDEOPUBLICACCESSRIGHTS']._serialized_end=1308
53
- _globals['_VIDEOAUTHSYSTEMACCESSRIGHTS']._serialized_start=1310
54
- _globals['_VIDEOAUTHSYSTEMACCESSRIGHTS']._serialized_end=1339
55
- _globals['_VIDEOSIGNURLACCESSRIGHTS']._serialized_start=1341
56
- _globals['_VIDEOSIGNURLACCESSRIGHTS']._serialized_end=1367
40
+ _globals['_AUTOTRANSCODE']._serialized_start=1454
41
+ _globals['_AUTOTRANSCODE']._serialized_end=1526
42
+ _globals['_VIDEO']._serialized_start=158
43
+ _globals['_VIDEO']._serialized_end=1334
44
+ _globals['_VIDEO_LABELSENTRY']._serialized_start=1011
45
+ _globals['_VIDEO_LABELSENTRY']._serialized_end=1056
46
+ _globals['_VIDEO_VIDEOSTATUS']._serialized_start=1058
47
+ _globals['_VIDEO_VIDEOSTATUS']._serialized_end=1165
48
+ _globals['_VIDEO_VISIBILITYSTATUS']._serialized_start=1167
49
+ _globals['_VIDEO_VISIBILITYSTATUS']._serialized_end=1252
50
+ _globals['_VIDEOTUSDSOURCE']._serialized_start=1336
51
+ _globals['_VIDEOTUSDSOURCE']._serialized_end=1366
52
+ _globals['_VIDEOPUBLICACCESSRIGHTS']._serialized_start=1368
53
+ _globals['_VIDEOPUBLICACCESSRIGHTS']._serialized_end=1393
54
+ _globals['_VIDEOAUTHSYSTEMACCESSRIGHTS']._serialized_start=1395
55
+ _globals['_VIDEOAUTHSYSTEMACCESSRIGHTS']._serialized_end=1424
56
+ _globals['_VIDEOSIGNURLACCESSRIGHTS']._serialized_start=1426
57
+ _globals['_VIDEOSIGNURLACCESSRIGHTS']._serialized_end=1452
57
58
  # @@protoc_insertion_point(module_scope)
@@ -11,6 +11,7 @@ import google.protobuf.internal.containers
11
11
  import google.protobuf.internal.enum_type_wrapper
12
12
  import google.protobuf.message
13
13
  import google.protobuf.timestamp_pb2
14
+ import google.protobuf.wrappers_pb2
14
15
  import sys
15
16
  import typing
16
17
 
@@ -123,6 +124,7 @@ class Video(google.protobuf.message.Message):
123
124
  DURATION_FIELD_NUMBER: builtins.int
124
125
  VISIBILITY_STATUS_FIELD_NUMBER: builtins.int
125
126
  AUTO_TRANSCODE_FIELD_NUMBER: builtins.int
127
+ ENABLE_AD_FIELD_NUMBER: builtins.int
126
128
  SUBTITLE_IDS_FIELD_NUMBER: builtins.int
127
129
  TUSD_FIELD_NUMBER: builtins.int
128
130
  PUBLIC_ACCESS_FIELD_NUMBER: builtins.int
@@ -154,6 +156,13 @@ class Video(google.protobuf.message.Message):
154
156
  def duration(self) -> google.protobuf.duration_pb2.Duration:
155
157
  """Video duration. Optional, may be empty until the transcoding result is ready."""
156
158
 
159
+ @property
160
+ def enable_ad(self) -> google.protobuf.wrappers_pb2.BoolValue:
161
+ """Enable advertisement for this video.
162
+ Default: true.
163
+ Use this to disable advertisement for a specific video.
164
+ """
165
+
157
166
  @property
158
167
  def subtitle_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
159
168
  """IDs of active video subtitles."""
@@ -198,6 +207,7 @@ class Video(google.protobuf.message.Message):
198
207
  duration: google.protobuf.duration_pb2.Duration | None = ...,
199
208
  visibility_status: global___Video.VisibilityStatus.ValueType = ...,
200
209
  auto_transcode: global___AutoTranscode.ValueType = ...,
210
+ enable_ad: google.protobuf.wrappers_pb2.BoolValue | None = ...,
201
211
  subtitle_ids: collections.abc.Iterable[builtins.str] | None = ...,
202
212
  tusd: global___VideoTUSDSource | None = ...,
203
213
  public_access: global___VideoPublicAccessRights | None = ...,
@@ -207,8 +217,8 @@ class Video(google.protobuf.message.Message):
207
217
  updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
208
218
  labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
209
219
  ) -> None: ...
210
- def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "created_at", b"created_at", "duration", b"duration", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "tusd", b"tusd", "updated_at", b"updated_at"]) -> builtins.bool: ...
211
- def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "channel_id", b"channel_id", "created_at", b"created_at", "description", b"description", "duration", b"duration", "id", b"id", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "status", b"status", "subtitle_ids", b"subtitle_ids", "thumbnail_id", b"thumbnail_id", "title", b"title", "tusd", b"tusd", "updated_at", b"updated_at", "visibility_status", b"visibility_status"]) -> None: ...
220
+ def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "created_at", b"created_at", "duration", b"duration", "enable_ad", b"enable_ad", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "tusd", b"tusd", "updated_at", b"updated_at"]) -> builtins.bool: ...
221
+ def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "channel_id", b"channel_id", "created_at", b"created_at", "description", b"description", "duration", b"duration", "enable_ad", b"enable_ad", "id", b"id", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "status", b"status", "subtitle_ids", b"subtitle_ids", "thumbnail_id", b"thumbnail_id", "title", b"title", "tusd", b"tusd", "updated_at", b"updated_at", "visibility_status", b"visibility_status"]) -> None: ...
212
222
  @typing.overload
213
223
  def WhichOneof(self, oneof_group: typing.Literal["access_rights", b"access_rights"]) -> typing.Literal["public_access", "auth_system_access", "sign_url_access"] | None: ...
214
224
  @typing.overload
@@ -25,6 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
26
26
  from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
27
27
  from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
28
+ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
28
29
  from yandex.cloud.api import operation_pb2 as yandex_dot_cloud_dot_api_dot_operation__pb2
29
30
  from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2
30
31
  from yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
@@ -32,7 +33,7 @@ from yandex.cloud.video.v1 import manifest_pb2 as yandex_dot_cloud_dot_video_dot
32
33
  from yandex.cloud.video.v1 import video_pb2 as yandex_dot_cloud_dot_video_dot_v1_dot_video__pb2
33
34
 
34
35
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)yandex/cloud/video/v1/video_service.proto\x12\x15yandex.cloud.video.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a yandex/cloud/api/operation.proto\x1a&yandex/cloud/operation/operation.proto\x1a\x1dyandex/cloud/validation.proto\x1a$yandex/cloud/video/v1/manifest.proto\x1a!yandex/cloud/video/v1/video.proto\"1\n\x0fGetVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"\xa5\x01\n\x10ListVideoRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x1c\n\tpage_size\x18\x64 \x01(\x03\x42\t\xfa\xc7\x31\x05<=100\x12\x1d\n\npage_token\x18\x65 \x01(\tB\t\x8a\xc8\x31\x05<=200\x12\x10\n\x08order_by\x18\x66 \x01(\t\x12\x1a\n\x06\x66ilter\x18g \x01(\tB\n\x8a\xc8\x31\x06<=1000J\x04\x08\x02\x10\x64\"`\n\x11ListVideoResponse\x12,\n\x06videos\x18\x01 \x03(\x0b\x32\x1c.yandex.cloud.video.v1.Video\x12\x17\n\x0fnext_page_token\x18\x64 \x01(\tJ\x04\x08\x02\x10\x64\"_\n\x15\x42\x61tchGetVideosRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12$\n\tvideo_ids\x18\x02 \x03(\tB\x11\x82\xc8\x31\x05\x31-100\x8a\xc8\x31\x04<=50\"F\n\x16\x42\x61tchGetVideosResponse\x12,\n\x06videos\x18\x01 \x03(\x0b\x32\x1c.yandex.cloud.video.v1.Video\"\xe0\x05\n\x12\x43reateVideoRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x13\n\x05title\x18\x02 \x01(\tB\x04\xe8\xc7\x31\x01\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1e\n\x0cthumbnail_id\x18\x04 \x01(\tB\x08\x8a\xc8\x31\x04<=50\x12<\n\x0e\x61uto_transcode\x18\x05 \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12\x87\x01\n\x06labels\x18\xc8\x01 \x03(\x0b\x32\x35.yandex.cloud.video.v1.CreateVideoRequest.LabelsEntryB?\xf2\xc7\x31\x0f[-_.@:/0-9a-z]*\x82\xc8\x31\x04<=64\x8a\xc8\x31\x04<=63\xb2\xc8\x31\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63\x12\x37\n\x04tusd\x18\xe8\x07 \x01(\x0b\x32&.yandex.cloud.video.v1.VideoTUSDParamsH\x00\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessParamsH\x01\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessParamsH\x01\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessParamsH\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x06source\x12\x04\xc0\xc1\x31\x01\x42\x15\n\raccess_rights\x12\x04\xc0\xc1\x31\x01J\x06\x08\xd1\x0f\x10\xd2\x0fJ\x05\x08\x06\x10\xc8\x01J\x06\x08\xc9\x01\x10\xe8\x07J\x06\x08\xe9\x07\x10\xd0\x0f\"?\n\x0fVideoTUSDParams\x12\x19\n\tfile_size\x18\x01 \x01(\x03\x42\x06\xfa\xc7\x31\x02>0\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\x19\n\x17VideoPublicAccessParams\"\x1d\n\x1bVideoAuthSystemAccessParams\"\x1a\n\x18VideoSignURLAccessParams\"\'\n\x13\x43reateVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"\xb1\x05\n\x12UpdateVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x1e\n\x0cthumbnail_id\x18\x05 \x01(\tB\x08\x8a\xc8\x31\x04<=50\x12<\n\x0e\x61uto_transcode\x18\x06 \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12\x87\x01\n\x06labels\x18\xc8\x01 \x03(\x0b\x32\x35.yandex.cloud.video.v1.UpdateVideoRequest.LabelsEntryB?\xf2\xc7\x31\x0f[-_.@:/0-9a-z]*\x82\xc8\x31\x04<=64\x8a\xc8\x31\x04<=63\xb2\xc8\x31\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessParamsH\x00\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessParamsH\x00\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessParamsH\x00\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\raccess_rightsJ\x06\x08\xd1\x0f\x10\xd2\x0fJ\x05\x08\x07\x10\xc8\x01J\x06\x08\xc9\x01\x10\xd0\x0f\"\'\n\x13UpdateVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"o\n\x15TranscodeVideoRequest\x12\x10\n\x08video_id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x14\n\x0csubtitle_ids\x18\x03 \x03(\t\"*\n\x16TranscodeVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"4\n\x12\x44\x65leteVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"\'\n\x13\x44\x65leteVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"b\n\x18\x42\x61tchDeleteVideosRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12$\n\tvideo_ids\x18\x02 \x03(\tB\x11\x82\xc8\x31\x05\x31-100\x8a\xc8\x31\x04<=50\".\n\x19\x42\x61tchDeleteVideosMetadata\x12\x11\n\tvideo_ids\x18\x01 \x03(\t\"\xd4\x01\n\x19PerformVideoActionRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12=\n\x07publish\x18\xe8\x07 \x01(\x0b\x32).yandex.cloud.video.v1.PublishVideoActionH\x00\x12\x41\n\tunpublish\x18\xe9\x07 \x01(\x0b\x32+.yandex.cloud.video.v1.UnpublishVideoActionH\x00\x42\x0e\n\x06\x61\x63tion\x12\x04\xc0\xc1\x31\x01J\x05\x08\x02\x10\xe8\x07\"\x14\n\x12PublishVideoAction\"\x16\n\x14UnpublishVideoAction\".\n\x1aPerformVideoActionMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"\xb7\x01\n\x18GetVideoPlayerURLRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32(.yandex.cloud.video.v1.VideoPlayerParams\x12\x41\n\x1esigned_url_expiration_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"C\n\x11VideoPlayerParams\x12\x0c\n\x04mute\x18\x01 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x02 \x01(\x08\x12\x0e\n\x06hidden\x18\x03 \x01(\x08\"=\n\x19GetVideoPlayerURLResponse\x12\x12\n\nplayer_url\x18\x01 \x01(\t\x12\x0c\n\x04html\x18\x02 \x01(\t\":\n\x18GetVideoManifestsRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"O\n\x19GetVideoManifestsResponse\x12\x32\n\tmanifests\x18\x01 \x03(\x0b\x32\x1f.yandex.cloud.video.v1.Manifest2\xf1\r\n\x0cVideoService\x12p\n\x03Get\x12&.yandex.cloud.video.v1.GetVideoRequest\x1a\x1c.yandex.cloud.video.v1.Video\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/video/v1/videos/{video_id}\x12s\n\x04List\x12\'.yandex.cloud.video.v1.ListVideoRequest\x1a(.yandex.cloud.video.v1.ListVideoResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/video/v1/videos\x12\x8d\x01\n\x08\x42\x61tchGet\x12,.yandex.cloud.video.v1.BatchGetVideosRequest\x1a-.yandex.cloud.video.v1.BatchGetVideosResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/video/v1/videos:batchGet:\x01*\x12\x93\x01\n\x06\x43reate\x12).yandex.cloud.video.v1.CreateVideoRequest\x1a!.yandex.cloud.operation.Operation\";\xb2\xd2*\x1c\n\x13\x43reateVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02\x15\"\x10/video/v1/videos:\x01*\x12\x9e\x01\n\x06Update\x12).yandex.cloud.video.v1.UpdateVideoRequest\x1a!.yandex.cloud.operation.Operation\"F\xb2\xd2*\x1c\n\x13UpdateVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02 2\x1b/video/v1/videos/{video_id}:\x01*\x12\xb1\x01\n\tTranscode\x12,.yandex.cloud.video.v1.TranscodeVideoRequest\x1a!.yandex.cloud.operation.Operation\"S\xb2\xd2*\x1f\n\x16TranscodeVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02*\"%/video/v1/videos/{video_id}:transcode:\x01*\x12\xab\x01\n\x06\x44\x65lete\x12).yandex.cloud.video.v1.DeleteVideoRequest\x1a!.yandex.cloud.operation.Operation\"S\xb2\xd2*,\n\x13\x44\x65leteVideoMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02\x1d*\x1b/video/v1/videos/{video_id}\x12\xc0\x01\n\x0b\x42\x61tchDelete\x12/.yandex.cloud.video.v1.BatchDeleteVideosRequest\x1a!.yandex.cloud.operation.Operation\"]\xb2\xd2*2\n\x19\x42\x61tchDeleteVideosMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02!\"\x1c/video/v1/videos:batchDelete:\x01*\x12\xc1\x01\n\rPerformAction\x12\x30.yandex.cloud.video.v1.PerformVideoActionRequest\x1a!.yandex.cloud.operation.Operation\"[\xb2\xd2*#\n\x1aPerformVideoActionMetadata\x12\x05Video\x82\xd3\xe4\x93\x02.\")/video/v1/videos/{video_id}:performAction:\x01*\x12\xa3\x01\n\x0cGetPlayerURL\x12/.yandex.cloud.video.v1.GetVideoPlayerURLRequest\x1a\x30.yandex.cloud.video.v1.GetVideoPlayerURLResponse\"0\x82\xd3\xe4\x93\x02*\x12(/video/v1/videos/{video_id}:getPlayerURL\x12\xa3\x01\n\x0cGetManifests\x12/.yandex.cloud.video.v1.GetVideoManifestsRequest\x1a\x30.yandex.cloud.video.v1.GetVideoManifestsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/video/v1/videos/{video_id}:getManifestsB\\\n\x19yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;videob\x06proto3')
36
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)yandex/cloud/video/v1/video_service.proto\x12\x15yandex.cloud.video.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a yandex/cloud/api/operation.proto\x1a&yandex/cloud/operation/operation.proto\x1a\x1dyandex/cloud/validation.proto\x1a$yandex/cloud/video/v1/manifest.proto\x1a!yandex/cloud/video/v1/video.proto\"1\n\x0fGetVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"\xa5\x01\n\x10ListVideoRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x1c\n\tpage_size\x18\x64 \x01(\x03\x42\t\xfa\xc7\x31\x05<=100\x12\x1d\n\npage_token\x18\x65 \x01(\tB\t\x8a\xc8\x31\x05<=200\x12\x10\n\x08order_by\x18\x66 \x01(\t\x12\x1a\n\x06\x66ilter\x18g \x01(\tB\n\x8a\xc8\x31\x06<=1000J\x04\x08\x02\x10\x64\"`\n\x11ListVideoResponse\x12,\n\x06videos\x18\x01 \x03(\x0b\x32\x1c.yandex.cloud.video.v1.Video\x12\x17\n\x0fnext_page_token\x18\x64 \x01(\tJ\x04\x08\x02\x10\x64\"_\n\x15\x42\x61tchGetVideosRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12$\n\tvideo_ids\x18\x02 \x03(\tB\x11\x82\xc8\x31\x05\x31-100\x8a\xc8\x31\x04<=50\"F\n\x16\x42\x61tchGetVideosResponse\x12,\n\x06videos\x18\x01 \x03(\x0b\x32\x1c.yandex.cloud.video.v1.Video\"\x95\x06\n\x12\x43reateVideoRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x13\n\x05title\x18\x02 \x01(\tB\x04\xe8\xc7\x31\x01\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1e\n\x0cthumbnail_id\x18\x04 \x01(\tB\x08\x8a\xc8\x31\x04<=50\x12<\n\x0e\x61uto_transcode\x18\x05 \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12-\n\tenable_ad\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x87\x01\n\x06labels\x18\xc8\x01 \x03(\x0b\x32\x35.yandex.cloud.video.v1.CreateVideoRequest.LabelsEntryB?\xf2\xc7\x31\x0f[-_.@:/0-9a-z]*\x82\xc8\x31\x04<=64\x8a\xc8\x31\x04<=63\xb2\xc8\x31\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63\x12\x37\n\x04tusd\x18\xe8\x07 \x01(\x0b\x32&.yandex.cloud.video.v1.VideoTUSDParamsH\x00\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessParamsH\x01\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessParamsH\x01\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessParamsH\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x06source\x12\x04\xc0\xc1\x31\x01\x42\x15\n\raccess_rights\x12\x04\xc0\xc1\x31\x01J\x06\x08\xd1\x0f\x10\xd2\x0fJ\x04\x08\x06\x10\x08J\x05\x08\t\x10\xc8\x01J\x06\x08\xc9\x01\x10\xe8\x07J\x06\x08\xe9\x07\x10\xd0\x0f\"?\n\x0fVideoTUSDParams\x12\x19\n\tfile_size\x18\x01 \x01(\x03\x42\x06\xfa\xc7\x31\x02>0\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\x19\n\x17VideoPublicAccessParams\"\x1d\n\x1bVideoAuthSystemAccessParams\"\x1a\n\x18VideoSignURLAccessParams\"\'\n\x13\x43reateVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"\xe6\x05\n\x12UpdateVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x1e\n\x0cthumbnail_id\x18\x05 \x01(\tB\x08\x8a\xc8\x31\x04<=50\x12<\n\x0e\x61uto_transcode\x18\x06 \x01(\x0e\x32$.yandex.cloud.video.v1.AutoTranscode\x12-\n\tenable_ad\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x87\x01\n\x06labels\x18\xc8\x01 \x03(\x0b\x32\x35.yandex.cloud.video.v1.UpdateVideoRequest.LabelsEntryB?\xf2\xc7\x31\x0f[-_.@:/0-9a-z]*\x82\xc8\x31\x04<=64\x8a\xc8\x31\x04<=63\xb2\xc8\x31\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63\x12H\n\rpublic_access\x18\xd0\x0f \x01(\x0b\x32..yandex.cloud.video.v1.VideoPublicAccessParamsH\x00\x12Q\n\x12\x61uth_system_access\x18\xd2\x0f \x01(\x0b\x32\x32.yandex.cloud.video.v1.VideoAuthSystemAccessParamsH\x00\x12K\n\x0fsign_url_access\x18\xd3\x0f \x01(\x0b\x32/.yandex.cloud.video.v1.VideoSignURLAccessParamsH\x00\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\raccess_rightsJ\x06\x08\xd1\x0f\x10\xd2\x0fJ\x04\x08\x07\x10\x08J\x05\x08\t\x10\xc8\x01J\x06\x08\xc9\x01\x10\xd0\x0f\"\'\n\x13UpdateVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"o\n\x15TranscodeVideoRequest\x12\x10\n\x08video_id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x14\n\x0csubtitle_ids\x18\x03 \x03(\t\"*\n\x16TranscodeVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"4\n\x12\x44\x65leteVideoRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"\'\n\x13\x44\x65leteVideoMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"b\n\x18\x42\x61tchDeleteVideosRequest\x12 \n\nchannel_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12$\n\tvideo_ids\x18\x02 \x03(\tB\x11\x82\xc8\x31\x05\x31-100\x8a\xc8\x31\x04<=50\".\n\x19\x42\x61tchDeleteVideosMetadata\x12\x11\n\tvideo_ids\x18\x01 \x03(\t\"\xd4\x01\n\x19PerformVideoActionRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12=\n\x07publish\x18\xe8\x07 \x01(\x0b\x32).yandex.cloud.video.v1.PublishVideoActionH\x00\x12\x41\n\tunpublish\x18\xe9\x07 \x01(\x0b\x32+.yandex.cloud.video.v1.UnpublishVideoActionH\x00\x42\x0e\n\x06\x61\x63tion\x12\x04\xc0\xc1\x31\x01J\x05\x08\x02\x10\xe8\x07\"\x14\n\x12PublishVideoAction\"\x16\n\x14UnpublishVideoAction\".\n\x1aPerformVideoActionMetadata\x12\x10\n\x08video_id\x18\x01 \x01(\t\"\xb7\x01\n\x18GetVideoPlayerURLRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32(.yandex.cloud.video.v1.VideoPlayerParams\x12\x41\n\x1esigned_url_expiration_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"C\n\x11VideoPlayerParams\x12\x0c\n\x04mute\x18\x01 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x02 \x01(\x08\x12\x0e\n\x06hidden\x18\x03 \x01(\x08\"=\n\x19GetVideoPlayerURLResponse\x12\x12\n\nplayer_url\x18\x01 \x01(\t\x12\x0c\n\x04html\x18\x02 \x01(\t\":\n\x18GetVideoManifestsRequest\x12\x1e\n\x08video_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\"O\n\x19GetVideoManifestsResponse\x12\x32\n\tmanifests\x18\x01 \x03(\x0b\x32\x1f.yandex.cloud.video.v1.Manifest2\xf1\r\n\x0cVideoService\x12p\n\x03Get\x12&.yandex.cloud.video.v1.GetVideoRequest\x1a\x1c.yandex.cloud.video.v1.Video\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/video/v1/videos/{video_id}\x12s\n\x04List\x12\'.yandex.cloud.video.v1.ListVideoRequest\x1a(.yandex.cloud.video.v1.ListVideoResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/video/v1/videos\x12\x8d\x01\n\x08\x42\x61tchGet\x12,.yandex.cloud.video.v1.BatchGetVideosRequest\x1a-.yandex.cloud.video.v1.BatchGetVideosResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/video/v1/videos:batchGet:\x01*\x12\x93\x01\n\x06\x43reate\x12).yandex.cloud.video.v1.CreateVideoRequest\x1a!.yandex.cloud.operation.Operation\";\xb2\xd2*\x1c\n\x13\x43reateVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02\x15\"\x10/video/v1/videos:\x01*\x12\x9e\x01\n\x06Update\x12).yandex.cloud.video.v1.UpdateVideoRequest\x1a!.yandex.cloud.operation.Operation\"F\xb2\xd2*\x1c\n\x13UpdateVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02 2\x1b/video/v1/videos/{video_id}:\x01*\x12\xb1\x01\n\tTranscode\x12,.yandex.cloud.video.v1.TranscodeVideoRequest\x1a!.yandex.cloud.operation.Operation\"S\xb2\xd2*\x1f\n\x16TranscodeVideoMetadata\x12\x05Video\x82\xd3\xe4\x93\x02*\"%/video/v1/videos/{video_id}:transcode:\x01*\x12\xab\x01\n\x06\x44\x65lete\x12).yandex.cloud.video.v1.DeleteVideoRequest\x1a!.yandex.cloud.operation.Operation\"S\xb2\xd2*,\n\x13\x44\x65leteVideoMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02\x1d*\x1b/video/v1/videos/{video_id}\x12\xc0\x01\n\x0b\x42\x61tchDelete\x12/.yandex.cloud.video.v1.BatchDeleteVideosRequest\x1a!.yandex.cloud.operation.Operation\"]\xb2\xd2*2\n\x19\x42\x61tchDeleteVideosMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02!\"\x1c/video/v1/videos:batchDelete:\x01*\x12\xc1\x01\n\rPerformAction\x12\x30.yandex.cloud.video.v1.PerformVideoActionRequest\x1a!.yandex.cloud.operation.Operation\"[\xb2\xd2*#\n\x1aPerformVideoActionMetadata\x12\x05Video\x82\xd3\xe4\x93\x02.\")/video/v1/videos/{video_id}:performAction:\x01*\x12\xa3\x01\n\x0cGetPlayerURL\x12/.yandex.cloud.video.v1.GetVideoPlayerURLRequest\x1a\x30.yandex.cloud.video.v1.GetVideoPlayerURLResponse\"0\x82\xd3\xe4\x93\x02*\x12(/video/v1/videos/{video_id}:getPlayerURL\x12\xa3\x01\n\x0cGetManifests\x12/.yandex.cloud.video.v1.GetVideoManifestsRequest\x1a\x30.yandex.cloud.video.v1.GetVideoManifestsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/video/v1/videos/{video_id}:getManifestsB\\\n\x19yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;videob\x06proto3')
36
37
 
37
38
  _globals = globals()
38
39
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -114,66 +115,66 @@ if not _descriptor._USE_C_DESCRIPTORS:
114
115
  _globals['_VIDEOSERVICE'].methods_by_name['GetPlayerURL']._serialized_options = b'\202\323\344\223\002*\022(/video/v1/videos/{video_id}:getPlayerURL'
115
116
  _globals['_VIDEOSERVICE'].methods_by_name['GetManifests']._loaded_options = None
116
117
  _globals['_VIDEOSERVICE'].methods_by_name['GetManifests']._serialized_options = b'\202\323\344\223\002*\022(/video/v1/videos/{video_id}:getManifests'
117
- _globals['_GETVIDEOREQUEST']._serialized_start=342
118
- _globals['_GETVIDEOREQUEST']._serialized_end=391
119
- _globals['_LISTVIDEOREQUEST']._serialized_start=394
120
- _globals['_LISTVIDEOREQUEST']._serialized_end=559
121
- _globals['_LISTVIDEORESPONSE']._serialized_start=561
122
- _globals['_LISTVIDEORESPONSE']._serialized_end=657
123
- _globals['_BATCHGETVIDEOSREQUEST']._serialized_start=659
124
- _globals['_BATCHGETVIDEOSREQUEST']._serialized_end=754
125
- _globals['_BATCHGETVIDEOSRESPONSE']._serialized_start=756
126
- _globals['_BATCHGETVIDEOSRESPONSE']._serialized_end=826
127
- _globals['_CREATEVIDEOREQUEST']._serialized_start=829
128
- _globals['_CREATEVIDEOREQUEST']._serialized_end=1565
129
- _globals['_CREATEVIDEOREQUEST_LABELSENTRY']._serialized_start=1450
130
- _globals['_CREATEVIDEOREQUEST_LABELSENTRY']._serialized_end=1495
131
- _globals['_VIDEOTUSDPARAMS']._serialized_start=1567
132
- _globals['_VIDEOTUSDPARAMS']._serialized_end=1630
133
- _globals['_VIDEOPUBLICACCESSPARAMS']._serialized_start=1632
134
- _globals['_VIDEOPUBLICACCESSPARAMS']._serialized_end=1657
135
- _globals['_VIDEOAUTHSYSTEMACCESSPARAMS']._serialized_start=1659
136
- _globals['_VIDEOAUTHSYSTEMACCESSPARAMS']._serialized_end=1688
137
- _globals['_VIDEOSIGNURLACCESSPARAMS']._serialized_start=1690
138
- _globals['_VIDEOSIGNURLACCESSPARAMS']._serialized_end=1716
139
- _globals['_CREATEVIDEOMETADATA']._serialized_start=1718
140
- _globals['_CREATEVIDEOMETADATA']._serialized_end=1757
141
- _globals['_UPDATEVIDEOREQUEST']._serialized_start=1760
142
- _globals['_UPDATEVIDEOREQUEST']._serialized_end=2449
143
- _globals['_UPDATEVIDEOREQUEST_LABELSENTRY']._serialized_start=1450
144
- _globals['_UPDATEVIDEOREQUEST_LABELSENTRY']._serialized_end=1495
145
- _globals['_UPDATEVIDEOMETADATA']._serialized_start=2451
146
- _globals['_UPDATEVIDEOMETADATA']._serialized_end=2490
147
- _globals['_TRANSCODEVIDEOREQUEST']._serialized_start=2492
148
- _globals['_TRANSCODEVIDEOREQUEST']._serialized_end=2603
149
- _globals['_TRANSCODEVIDEOMETADATA']._serialized_start=2605
150
- _globals['_TRANSCODEVIDEOMETADATA']._serialized_end=2647
151
- _globals['_DELETEVIDEOREQUEST']._serialized_start=2649
152
- _globals['_DELETEVIDEOREQUEST']._serialized_end=2701
153
- _globals['_DELETEVIDEOMETADATA']._serialized_start=2703
154
- _globals['_DELETEVIDEOMETADATA']._serialized_end=2742
155
- _globals['_BATCHDELETEVIDEOSREQUEST']._serialized_start=2744
156
- _globals['_BATCHDELETEVIDEOSREQUEST']._serialized_end=2842
157
- _globals['_BATCHDELETEVIDEOSMETADATA']._serialized_start=2844
158
- _globals['_BATCHDELETEVIDEOSMETADATA']._serialized_end=2890
159
- _globals['_PERFORMVIDEOACTIONREQUEST']._serialized_start=2893
160
- _globals['_PERFORMVIDEOACTIONREQUEST']._serialized_end=3105
161
- _globals['_PUBLISHVIDEOACTION']._serialized_start=3107
162
- _globals['_PUBLISHVIDEOACTION']._serialized_end=3127
163
- _globals['_UNPUBLISHVIDEOACTION']._serialized_start=3129
164
- _globals['_UNPUBLISHVIDEOACTION']._serialized_end=3151
165
- _globals['_PERFORMVIDEOACTIONMETADATA']._serialized_start=3153
166
- _globals['_PERFORMVIDEOACTIONMETADATA']._serialized_end=3199
167
- _globals['_GETVIDEOPLAYERURLREQUEST']._serialized_start=3202
168
- _globals['_GETVIDEOPLAYERURLREQUEST']._serialized_end=3385
169
- _globals['_VIDEOPLAYERPARAMS']._serialized_start=3387
170
- _globals['_VIDEOPLAYERPARAMS']._serialized_end=3454
171
- _globals['_GETVIDEOPLAYERURLRESPONSE']._serialized_start=3456
172
- _globals['_GETVIDEOPLAYERURLRESPONSE']._serialized_end=3517
173
- _globals['_GETVIDEOMANIFESTSREQUEST']._serialized_start=3519
174
- _globals['_GETVIDEOMANIFESTSREQUEST']._serialized_end=3577
175
- _globals['_GETVIDEOMANIFESTSRESPONSE']._serialized_start=3579
176
- _globals['_GETVIDEOMANIFESTSRESPONSE']._serialized_end=3658
177
- _globals['_VIDEOSERVICE']._serialized_start=3661
178
- _globals['_VIDEOSERVICE']._serialized_end=5438
118
+ _globals['_GETVIDEOREQUEST']._serialized_start=374
119
+ _globals['_GETVIDEOREQUEST']._serialized_end=423
120
+ _globals['_LISTVIDEOREQUEST']._serialized_start=426
121
+ _globals['_LISTVIDEOREQUEST']._serialized_end=591
122
+ _globals['_LISTVIDEORESPONSE']._serialized_start=593
123
+ _globals['_LISTVIDEORESPONSE']._serialized_end=689
124
+ _globals['_BATCHGETVIDEOSREQUEST']._serialized_start=691
125
+ _globals['_BATCHGETVIDEOSREQUEST']._serialized_end=786
126
+ _globals['_BATCHGETVIDEOSRESPONSE']._serialized_start=788
127
+ _globals['_BATCHGETVIDEOSRESPONSE']._serialized_end=858
128
+ _globals['_CREATEVIDEOREQUEST']._serialized_start=861
129
+ _globals['_CREATEVIDEOREQUEST']._serialized_end=1650
130
+ _globals['_CREATEVIDEOREQUEST_LABELSENTRY']._serialized_start=1529
131
+ _globals['_CREATEVIDEOREQUEST_LABELSENTRY']._serialized_end=1574
132
+ _globals['_VIDEOTUSDPARAMS']._serialized_start=1652
133
+ _globals['_VIDEOTUSDPARAMS']._serialized_end=1715
134
+ _globals['_VIDEOPUBLICACCESSPARAMS']._serialized_start=1717
135
+ _globals['_VIDEOPUBLICACCESSPARAMS']._serialized_end=1742
136
+ _globals['_VIDEOAUTHSYSTEMACCESSPARAMS']._serialized_start=1744
137
+ _globals['_VIDEOAUTHSYSTEMACCESSPARAMS']._serialized_end=1773
138
+ _globals['_VIDEOSIGNURLACCESSPARAMS']._serialized_start=1775
139
+ _globals['_VIDEOSIGNURLACCESSPARAMS']._serialized_end=1801
140
+ _globals['_CREATEVIDEOMETADATA']._serialized_start=1803
141
+ _globals['_CREATEVIDEOMETADATA']._serialized_end=1842
142
+ _globals['_UPDATEVIDEOREQUEST']._serialized_start=1845
143
+ _globals['_UPDATEVIDEOREQUEST']._serialized_end=2587
144
+ _globals['_UPDATEVIDEOREQUEST_LABELSENTRY']._serialized_start=1529
145
+ _globals['_UPDATEVIDEOREQUEST_LABELSENTRY']._serialized_end=1574
146
+ _globals['_UPDATEVIDEOMETADATA']._serialized_start=2589
147
+ _globals['_UPDATEVIDEOMETADATA']._serialized_end=2628
148
+ _globals['_TRANSCODEVIDEOREQUEST']._serialized_start=2630
149
+ _globals['_TRANSCODEVIDEOREQUEST']._serialized_end=2741
150
+ _globals['_TRANSCODEVIDEOMETADATA']._serialized_start=2743
151
+ _globals['_TRANSCODEVIDEOMETADATA']._serialized_end=2785
152
+ _globals['_DELETEVIDEOREQUEST']._serialized_start=2787
153
+ _globals['_DELETEVIDEOREQUEST']._serialized_end=2839
154
+ _globals['_DELETEVIDEOMETADATA']._serialized_start=2841
155
+ _globals['_DELETEVIDEOMETADATA']._serialized_end=2880
156
+ _globals['_BATCHDELETEVIDEOSREQUEST']._serialized_start=2882
157
+ _globals['_BATCHDELETEVIDEOSREQUEST']._serialized_end=2980
158
+ _globals['_BATCHDELETEVIDEOSMETADATA']._serialized_start=2982
159
+ _globals['_BATCHDELETEVIDEOSMETADATA']._serialized_end=3028
160
+ _globals['_PERFORMVIDEOACTIONREQUEST']._serialized_start=3031
161
+ _globals['_PERFORMVIDEOACTIONREQUEST']._serialized_end=3243
162
+ _globals['_PUBLISHVIDEOACTION']._serialized_start=3245
163
+ _globals['_PUBLISHVIDEOACTION']._serialized_end=3265
164
+ _globals['_UNPUBLISHVIDEOACTION']._serialized_start=3267
165
+ _globals['_UNPUBLISHVIDEOACTION']._serialized_end=3289
166
+ _globals['_PERFORMVIDEOACTIONMETADATA']._serialized_start=3291
167
+ _globals['_PERFORMVIDEOACTIONMETADATA']._serialized_end=3337
168
+ _globals['_GETVIDEOPLAYERURLREQUEST']._serialized_start=3340
169
+ _globals['_GETVIDEOPLAYERURLREQUEST']._serialized_end=3523
170
+ _globals['_VIDEOPLAYERPARAMS']._serialized_start=3525
171
+ _globals['_VIDEOPLAYERPARAMS']._serialized_end=3592
172
+ _globals['_GETVIDEOPLAYERURLRESPONSE']._serialized_start=3594
173
+ _globals['_GETVIDEOPLAYERURLRESPONSE']._serialized_end=3655
174
+ _globals['_GETVIDEOMANIFESTSREQUEST']._serialized_start=3657
175
+ _globals['_GETVIDEOMANIFESTSREQUEST']._serialized_end=3715
176
+ _globals['_GETVIDEOMANIFESTSRESPONSE']._serialized_start=3717
177
+ _globals['_GETVIDEOMANIFESTSRESPONSE']._serialized_end=3796
178
+ _globals['_VIDEOSERVICE']._serialized_start=3799
179
+ _globals['_VIDEOSERVICE']._serialized_end=5576
179
180
  # @@protoc_insertion_point(module_scope)
@@ -10,6 +10,7 @@ import google.protobuf.duration_pb2
10
10
  import google.protobuf.field_mask_pb2
11
11
  import google.protobuf.internal.containers
12
12
  import google.protobuf.message
13
+ import google.protobuf.wrappers_pb2
13
14
  import typing
14
15
  import yandex.cloud.video.v1.manifest_pb2
15
16
  import yandex.cloud.video.v1.video_pb2
@@ -160,6 +161,7 @@ class CreateVideoRequest(google.protobuf.message.Message):
160
161
  DESCRIPTION_FIELD_NUMBER: builtins.int
161
162
  THUMBNAIL_ID_FIELD_NUMBER: builtins.int
162
163
  AUTO_TRANSCODE_FIELD_NUMBER: builtins.int
164
+ ENABLE_AD_FIELD_NUMBER: builtins.int
163
165
  LABELS_FIELD_NUMBER: builtins.int
164
166
  TUSD_FIELD_NUMBER: builtins.int
165
167
  PUBLIC_ACCESS_FIELD_NUMBER: builtins.int
@@ -175,6 +177,13 @@ class CreateVideoRequest(google.protobuf.message.Message):
175
177
  """ID of the thumbnail."""
176
178
  auto_transcode: yandex.cloud.video.v1.video_pb2.AutoTranscode.ValueType
177
179
  """Auto start transcoding."""
180
+ @property
181
+ def enable_ad(self) -> google.protobuf.wrappers_pb2.BoolValue:
182
+ """Enable advertisement for this video.
183
+ Default: true.
184
+ Use this to disable advertisement for a specific video.
185
+ """
186
+
178
187
  @property
179
188
  def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
180
189
  """Custom labels as `` key:value `` pairs. Maximum 64 per resource."""
@@ -203,14 +212,15 @@ class CreateVideoRequest(google.protobuf.message.Message):
203
212
  description: builtins.str = ...,
204
213
  thumbnail_id: builtins.str = ...,
205
214
  auto_transcode: yandex.cloud.video.v1.video_pb2.AutoTranscode.ValueType = ...,
215
+ enable_ad: google.protobuf.wrappers_pb2.BoolValue | None = ...,
206
216
  labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
207
217
  tusd: global___VideoTUSDParams | None = ...,
208
218
  public_access: global___VideoPublicAccessParams | None = ...,
209
219
  auth_system_access: global___VideoAuthSystemAccessParams | None = ...,
210
220
  sign_url_access: global___VideoSignURLAccessParams | None = ...,
211
221
  ) -> None: ...
212
- def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "tusd", b"tusd"]) -> builtins.bool: ...
213
- def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "channel_id", b"channel_id", "description", b"description", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "thumbnail_id", b"thumbnail_id", "title", b"title", "tusd", b"tusd"]) -> None: ...
222
+ def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "enable_ad", b"enable_ad", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "tusd", b"tusd"]) -> builtins.bool: ...
223
+ def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "channel_id", b"channel_id", "description", b"description", "enable_ad", b"enable_ad", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "source", b"source", "thumbnail_id", b"thumbnail_id", "title", b"title", "tusd", b"tusd"]) -> None: ...
214
224
  @typing.overload
215
225
  def WhichOneof(self, oneof_group: typing.Literal["access_rights", b"access_rights"]) -> typing.Literal["public_access", "auth_system_access", "sign_url_access"] | None: ...
216
226
  @typing.overload
@@ -310,6 +320,7 @@ class UpdateVideoRequest(google.protobuf.message.Message):
310
320
  DESCRIPTION_FIELD_NUMBER: builtins.int
311
321
  THUMBNAIL_ID_FIELD_NUMBER: builtins.int
312
322
  AUTO_TRANSCODE_FIELD_NUMBER: builtins.int
323
+ ENABLE_AD_FIELD_NUMBER: builtins.int
313
324
  LABELS_FIELD_NUMBER: builtins.int
314
325
  PUBLIC_ACCESS_FIELD_NUMBER: builtins.int
315
326
  AUTH_SYSTEM_ACCESS_FIELD_NUMBER: builtins.int
@@ -328,6 +339,13 @@ class UpdateVideoRequest(google.protobuf.message.Message):
328
339
  def field_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
329
340
  """Field mask that specifies which fields of the video are going to be updated."""
330
341
 
342
+ @property
343
+ def enable_ad(self) -> google.protobuf.wrappers_pb2.BoolValue:
344
+ """Enable advertisement for this video.
345
+ Default: true.
346
+ Use this to disable advertisement for a specific video.
347
+ """
348
+
331
349
  @property
332
350
  def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
333
351
  """Custom labels as `` key:value `` pairs. Maximum 64 per resource."""
@@ -347,13 +365,14 @@ class UpdateVideoRequest(google.protobuf.message.Message):
347
365
  description: builtins.str = ...,
348
366
  thumbnail_id: builtins.str = ...,
349
367
  auto_transcode: yandex.cloud.video.v1.video_pb2.AutoTranscode.ValueType = ...,
368
+ enable_ad: google.protobuf.wrappers_pb2.BoolValue | None = ...,
350
369
  labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
351
370
  public_access: global___VideoPublicAccessParams | None = ...,
352
371
  auth_system_access: global___VideoAuthSystemAccessParams | None = ...,
353
372
  sign_url_access: global___VideoSignURLAccessParams | None = ...,
354
373
  ) -> None: ...
355
- def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "field_mask", b"field_mask", "public_access", b"public_access", "sign_url_access", b"sign_url_access"]) -> builtins.bool: ...
356
- def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "description", b"description", "field_mask", b"field_mask", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "thumbnail_id", b"thumbnail_id", "title", b"title", "video_id", b"video_id"]) -> None: ...
374
+ def HasField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "enable_ad", b"enable_ad", "field_mask", b"field_mask", "public_access", b"public_access", "sign_url_access", b"sign_url_access"]) -> builtins.bool: ...
375
+ def ClearField(self, field_name: typing.Literal["access_rights", b"access_rights", "auth_system_access", b"auth_system_access", "auto_transcode", b"auto_transcode", "description", b"description", "enable_ad", b"enable_ad", "field_mask", b"field_mask", "labels", b"labels", "public_access", b"public_access", "sign_url_access", b"sign_url_access", "thumbnail_id", b"thumbnail_id", "title", b"title", "video_id", b"video_id"]) -> None: ...
357
376
  def WhichOneof(self, oneof_group: typing.Literal["access_rights", b"access_rights"]) -> typing.Literal["public_access", "auth_system_access", "sign_url_access"] | None: ...
358
377
 
359
378
  global___UpdateVideoRequest = UpdateVideoRequest
yandexcloud/__init__.py CHANGED
@@ -8,6 +8,7 @@ from yandexcloud._backoff import (
8
8
  default_backoff,
9
9
  )
10
10
  from yandexcloud._retry_interceptor import RetryInterceptor
11
+ from yandexcloud._retry_policy import RetryPolicy
11
12
  from yandexcloud._sdk import SDK
12
13
 
13
- __version__ = "0.334.0"
14
+ __version__ = "0.336.0"
yandexcloud/_channels.py CHANGED
@@ -30,6 +30,7 @@ class Channels:
30
30
  root_certificates: Optional[bytes] = None,
31
31
  private_key: Optional[bytes] = None,
32
32
  certificate_chain: Optional[bytes] = None,
33
+ service_config: Optional[str] = None,
33
34
  **_: str,
34
35
  ) -> None:
35
36
  self._channel_creds = grpc.ssl_channel_credentials(
@@ -48,10 +49,14 @@ class Channels:
48
49
  self._client_user_agent = client_user_agent
49
50
  self._config_endpoints = endpoints if endpoints is not None else {}
50
51
  self._endpoints: Optional[Dict[str, str]] = None
52
+ # flake8: noqa
51
53
  self.channel_options = tuple(
52
- ("grpc.primary_user_agent", user_agent)
53
- for user_agent in [self._client_user_agent, SDK_USER_AGENT]
54
- if user_agent is not None
54
+ [
55
+ ("grpc.primary_user_agent", user_agent)
56
+ for user_agent in [self._client_user_agent, SDK_USER_AGENT]
57
+ if user_agent is not None
58
+ ]
59
+ + ([("grpc.service_config", service_config)] if service_config is not None else [])
55
60
  )
56
61
 
57
62
  def channel(self, service: str, endpoint: Optional[str] = None, insecure: bool = False) -> grpc.Channel:
@@ -4,6 +4,7 @@ import uuid
4
4
  from typing import Callable, Iterable, Optional
5
5
 
6
6
  import grpc
7
+ from deprecated import deprecated
7
8
 
8
9
 
9
10
  class _ClientCallDetails(
@@ -19,6 +20,7 @@ class _RetryCall(Exception):
19
20
  pass
20
21
 
21
22
 
23
+ @deprecated(version="0.335.0", reason="Instead of this class use retry_policy field when building the SDK")
22
24
  class RetryInterceptor(grpc.UnaryUnaryClientInterceptor):
23
25
  """RetryInterceptor implements grpc retries.
24
26
  It supports retries quantity, list of retriable codes, backoff function,
@@ -0,0 +1,31 @@
1
+ import json
2
+ from typing import Tuple
3
+
4
+ import grpc
5
+
6
+
7
+ class RetryPolicy:
8
+ def __init__(
9
+ self,
10
+ max_attempts: int = 4,
11
+ status_codes: Tuple["grpc.StatusCode"] = (grpc.StatusCode.UNAVAILABLE,),
12
+ ):
13
+ self.__policy = {
14
+ "methodConfig": [
15
+ {
16
+ "name": [{}],
17
+ "retryPolicy": {
18
+ "maxAttempts": max_attempts,
19
+ "initialBackoff": "0.1s",
20
+ "maxBackoff": "20s",
21
+ "backoffMultiplier": 2,
22
+ "retryableStatusCodes": [status.name for status in status_codes],
23
+ },
24
+ }
25
+ ],
26
+ "retryThrottling": {"maxTokens": 100, "tokenRatio": 0.1},
27
+ "waitForReady": True,
28
+ }
29
+
30
+ def to_json(self) -> str:
31
+ return json.dumps(self.__policy)
yandexcloud/_sdk.py CHANGED
@@ -3,9 +3,7 @@ from typing import TYPE_CHECKING, Any, Dict, Optional, Type, Union
3
3
 
4
4
  import grpc
5
5
 
6
- from yandexcloud import _channels, _helpers, _operation_waiter
7
- from yandexcloud._backoff import backoff_exponential_with_jitter
8
- from yandexcloud._retry_interceptor import RetryInterceptor
6
+ from yandexcloud import _channels, _helpers, _operation_waiter, _retry_policy
9
7
  from yandexcloud._wrappers import Wrappers
10
8
 
11
9
  if TYPE_CHECKING:
@@ -41,14 +39,16 @@ class SDK:
41
39
  root_certificates: Optional[bytes] = None,
42
40
  private_key: Optional[bytes] = None,
43
41
  certificate_chain: Optional[bytes] = None,
42
+ retry_policy: Optional[_retry_policy.RetryPolicy] = None,
44
43
  **kwargs: str,
45
44
  ):
46
45
  """
47
46
  API entry-point object.
48
47
 
49
- :param interceptor: GRPC interceptor to be used instead of default RetryInterceptor
48
+ :param interceptor: GRPC interceptor to be used
50
49
  :param user_agent: String to prepend User-Agent metadata header for all GRPC requests made via SDK object
51
50
  :param endpoints: Dict with services endpoints overrides. Example: {'vpc': 'new.vpc.endpoint:443'}
51
+ :param retry_policy: Retry policy configuration object to retry all failed GRPC requests
52
52
 
53
53
  """
54
54
  self._channels = _channels.Channels(
@@ -61,14 +61,9 @@ class SDK:
61
61
  root_certificates,
62
62
  private_key,
63
63
  certificate_chain,
64
+ retry_policy.to_json() if retry_policy is not None else None,
64
65
  **kwargs,
65
66
  )
66
- if interceptor is None:
67
- interceptor = RetryInterceptor(
68
- max_retry_count=5,
69
- per_call_timeout=30,
70
- back_off_func=backoff_exponential_with_jitter(1, 30),
71
- )
72
67
  self._default_interceptor = interceptor
73
68
  self.helpers = _helpers.Helpers(self)
74
69
  self.wrappers = Wrappers(self)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: yandexcloud
3
- Version: 0.334.0
3
+ Version: 0.336.0
4
4
  Summary: The Yandex Cloud official SDK
5
5
  Author-email: Yandex LLC <cloud@support.yandex.ru>
6
6
  License: MIT
@@ -24,6 +24,7 @@ Requires-Dist: pyjwt<3,>=2.10.1
24
24
  Requires-Dist: requests<3,>=2.32.3
25
25
  Requires-Dist: six<2,>=1.17.0
26
26
  Requires-Dist: grpcio-tools>=1.68.1
27
+ Requires-Dist: deprecated>=1.2.18
27
28
 
28
29
  [![PyPI Version][pypi-image]][pypi-url]
29
30
  [![Build Status][build-image]][build-url]
@@ -183,6 +184,24 @@ sdk = SDK(iam_token="t1.9eu...", endpoint="api.yandexcloud.kz")
183
184
  set_up_yc_api_endpoint(kz_region_endpoint)
184
185
  ```
185
186
 
187
+ ### Retries
188
+ If you want to retry SDK requests, build SDK with `retry_policy` field using `RetryPolicy` class:
189
+
190
+ ```python
191
+ import grpc
192
+ from yandexcloud import SDK, RetryPolicy
193
+
194
+ sdk = SDK(retry_policy=RetryPolicy(max_attempts=2, status_codes=(grpc.StatusCode.UNAVAILABLE,)))
195
+ ```
196
+
197
+ It's **strongly recommended** to use default settings of RetryPolicy to avoid retry amplification:
198
+ ```python
199
+ import grpc
200
+ from yandexcloud import SDK, RetryPolicy
201
+
202
+ sdk = SDK(retry_policy=RetryPolicy())
203
+ ```
204
+
186
205
  ## Contributing
187
206
  ### Dependencies
188
207
  We use [uv](https://docs.astral.sh/uv) to manage dependencies and run commands in Makefile.