gcore 0.6.0__py3-none-any.whl → 0.8.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.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/_client.py +9 -0
- gcore/_models.py +24 -3
- gcore/_version.py +1 -1
- gcore/pagination.py +101 -63
- gcore/resources/__init__.py +14 -0
- gcore/resources/cloud/__init__.py +28 -0
- gcore/resources/cloud/cloud.py +64 -0
- gcore/resources/cloud/cost_reports.py +811 -0
- gcore/resources/cloud/file_shares/file_shares.py +10 -0
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +61 -26
- gcore/resources/cloud/inference/registry_credentials.py +4 -6
- gcore/resources/cloud/usage_reports.py +337 -0
- gcore/resources/iam/users.py +5 -5
- gcore/resources/streaming/__init__.py +159 -0
- gcore/resources/streaming/ai_tasks.py +1288 -0
- gcore/resources/streaming/broadcasts.py +579 -0
- gcore/resources/streaming/directories.py +515 -0
- gcore/resources/streaming/players.py +577 -0
- gcore/resources/streaming/playlists.py +1059 -0
- gcore/resources/streaming/quality_sets.py +331 -0
- gcore/resources/streaming/restreams.py +484 -0
- gcore/resources/streaming/statistics.py +3224 -0
- gcore/resources/streaming/streaming.py +390 -0
- gcore/resources/streaming/streams/__init__.py +33 -0
- gcore/resources/streaming/streams/overlays.py +716 -0
- gcore/resources/streaming/streams/streams.py +1592 -0
- gcore/resources/streaming/videos/__init__.py +33 -0
- gcore/resources/streaming/videos/subtitles.py +623 -0
- gcore/resources/streaming/videos/videos.py +1553 -0
- gcore/resources/waap/ip_info.py +28 -10
- gcore/types/cloud/__init__.py +10 -0
- gcore/types/cloud/cost_report_aggregated.py +865 -0
- gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
- gcore/types/cloud/cost_report_detailed.py +1343 -0
- gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
- gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
- gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
- gcore/types/cloud/file_share.py +37 -3
- gcore/types/cloud/file_share_create_params.py +16 -0
- gcore/types/cloud/floating_ip.py +0 -9
- gcore/types/cloud/floating_ip_detailed.py +0 -9
- gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
- gcore/types/cloud/quota_get_all_response.py +24 -2
- gcore/types/cloud/quota_get_by_region_response.py +24 -2
- gcore/types/cloud/quotas/request_create_params.py +12 -1
- gcore/types/cloud/quotas/request_get_response.py +12 -1
- gcore/types/cloud/quotas/request_list_response.py +12 -1
- gcore/types/cloud/subnet.py +1 -1
- gcore/types/cloud/usage_report.py +1612 -0
- gcore/types/cloud/usage_report_get_params.py +432 -0
- gcore/types/streaming/__init__.py +143 -0
- gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
- gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
- gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
- gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
- gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
- gcore/types/streaming/ai_task.py +205 -0
- gcore/types/streaming/ai_task_cancel_response.py +12 -0
- gcore/types/streaming/ai_task_create_params.py +168 -0
- gcore/types/streaming/ai_task_create_response.py +10 -0
- gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
- gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
- gcore/types/streaming/ai_task_get_response.py +313 -0
- gcore/types/streaming/ai_task_list_params.py +50 -0
- gcore/types/streaming/broadcast.py +71 -0
- gcore/types/streaming/broadcast_create_params.py +76 -0
- gcore/types/streaming/broadcast_list_params.py +12 -0
- gcore/types/streaming/broadcast_spectators_count.py +12 -0
- gcore/types/streaming/broadcast_update_params.py +76 -0
- gcore/types/streaming/clip.py +78 -0
- gcore/types/streaming/create_video_param.py +214 -0
- gcore/types/streaming/direct_upload_parameters.py +33 -0
- gcore/types/streaming/directories_tree.py +19 -0
- gcore/types/streaming/directory_base.py +31 -0
- gcore/types/streaming/directory_create_params.py +15 -0
- gcore/types/streaming/directory_get_response.py +19 -0
- gcore/types/streaming/directory_item.py +13 -0
- gcore/types/streaming/directory_update_params.py +18 -0
- gcore/types/streaming/directory_video.py +13 -0
- gcore/types/streaming/ffprobes.py +25 -0
- gcore/types/streaming/max_stream_series.py +21 -0
- gcore/types/streaming/meet_series.py +23 -0
- gcore/types/streaming/player.py +114 -0
- gcore/types/streaming/player_create_params.py +18 -0
- gcore/types/streaming/player_list_params.py +12 -0
- gcore/types/streaming/player_param.py +114 -0
- gcore/types/streaming/player_update_params.py +18 -0
- gcore/types/streaming/playlist.py +102 -0
- gcore/types/streaming/playlist_create.py +12 -0
- gcore/types/streaming/playlist_create_params.py +102 -0
- gcore/types/streaming/playlist_list_params.py +12 -0
- gcore/types/streaming/playlist_list_videos_response.py +10 -0
- gcore/types/streaming/playlist_update_params.py +102 -0
- gcore/types/streaming/playlist_video.py +215 -0
- gcore/types/streaming/popular_videos.py +17 -0
- gcore/types/streaming/quality_set_set_default_params.py +23 -0
- gcore/types/streaming/quality_sets.py +57 -0
- gcore/types/streaming/restream.py +37 -0
- gcore/types/streaming/restream_create_params.py +41 -0
- gcore/types/streaming/restream_list_params.py +12 -0
- gcore/types/streaming/restream_update_params.py +41 -0
- gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
- gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
- gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
- gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
- gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
- gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
- gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
- gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
- gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
- gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
- gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
- gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
- gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
- gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
- gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
- gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
- gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
- gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
- gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
- gcore/types/streaming/statistic_get_views_params.py +34 -0
- gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
- gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
- gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
- gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
- gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
- gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
- gcore/types/streaming/storage_series.py +23 -0
- gcore/types/streaming/stream.py +420 -0
- gcore/types/streaming/stream_create_clip_params.py +48 -0
- gcore/types/streaming/stream_create_params.py +165 -0
- gcore/types/streaming/stream_list_clips_response.py +10 -0
- gcore/types/streaming/stream_list_params.py +18 -0
- gcore/types/streaming/stream_series.py +21 -0
- gcore/types/streaming/stream_start_recording_response.py +76 -0
- gcore/types/streaming/stream_update_params.py +169 -0
- gcore/types/streaming/streams/__init__.py +11 -0
- gcore/types/streaming/streams/overlay.py +43 -0
- gcore/types/streaming/streams/overlay_create_params.py +36 -0
- gcore/types/streaming/streams/overlay_create_response.py +10 -0
- gcore/types/streaming/streams/overlay_list_response.py +10 -0
- gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
- gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
- gcore/types/streaming/streams/overlay_update_params.py +33 -0
- gcore/types/streaming/subtitle.py +12 -0
- gcore/types/streaming/subtitle_base.py +18 -0
- gcore/types/streaming/subtitle_base_param.py +18 -0
- gcore/types/streaming/unique_viewers.py +35 -0
- gcore/types/streaming/unique_viewers_cdn.py +17 -0
- gcore/types/streaming/video.py +444 -0
- gcore/types/streaming/video_create_multiple_params.py +28 -0
- gcore/types/streaming/video_create_multiple_response.py +10 -0
- gcore/types/streaming/video_create_params.py +13 -0
- gcore/types/streaming/video_create_response.py +10 -0
- gcore/types/streaming/video_list_names_params.py +13 -0
- gcore/types/streaming/video_list_params.py +59 -0
- gcore/types/streaming/video_update_params.py +214 -0
- gcore/types/streaming/videos/__init__.py +7 -0
- gcore/types/streaming/videos/subtitle_create_params.py +17 -0
- gcore/types/streaming/videos/subtitle_list_response.py +10 -0
- gcore/types/streaming/videos/subtitle_update_params.py +20 -0
- gcore/types/streaming/views.py +35 -0
- gcore/types/streaming/views_by_browser.py +17 -0
- gcore/types/streaming/views_by_country.py +19 -0
- gcore/types/streaming/views_by_hostname.py +17 -0
- gcore/types/streaming/views_by_operating_system.py +17 -0
- gcore/types/streaming/views_by_referer.py +17 -0
- gcore/types/streaming/views_by_region.py +19 -0
- gcore/types/streaming/views_heatmap.py +19 -0
- gcore/types/streaming/vod_statistics_series.py +21 -0
- gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
- gcore/types/waap/domains/custom_rule_create_params.py +4 -4
- gcore/types/waap/domains/custom_rule_update_params.py +4 -4
- gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
- gcore/types/waap/ip_info_get_counts_params.py +2 -1
- gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
- gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
- gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
- gcore/types/waap/waap_custom_rule.py +4 -4
- {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/METADATA +1 -1
- {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/RECORD +185 -37
- {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/WHEEL +0 -0
- {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from ..._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"StreamStartRecordingResponse",
|
|
10
|
+
"Data",
|
|
11
|
+
"DataStream",
|
|
12
|
+
"DataStreamClient",
|
|
13
|
+
"Warning",
|
|
14
|
+
"WarningMeta",
|
|
15
|
+
"WarningSourceObject",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DataStreamClient(BaseModel):
|
|
20
|
+
id: Optional[int] = None
|
|
21
|
+
"""Client ID"""
|
|
22
|
+
|
|
23
|
+
storage_limit_mb: Optional[int] = None
|
|
24
|
+
"""Current storage limit for client by megabytes"""
|
|
25
|
+
|
|
26
|
+
storage_usage_mb: Optional[float] = None
|
|
27
|
+
"""Current storage usage for client by megabytes"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class DataStream(BaseModel):
|
|
31
|
+
id: Optional[int] = None
|
|
32
|
+
"""Stream ID"""
|
|
33
|
+
|
|
34
|
+
client: Optional[DataStreamClient] = None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class Data(BaseModel):
|
|
38
|
+
stream: Optional[DataStream] = None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class WarningMeta(BaseModel):
|
|
42
|
+
storage_limit_mb: Optional[int] = None
|
|
43
|
+
"""Current storage limit for client by megabytes"""
|
|
44
|
+
|
|
45
|
+
storage_usage_mb: Optional[float] = None
|
|
46
|
+
"""Current storage usage for client by megabytes"""
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class WarningSourceObject(BaseModel):
|
|
50
|
+
id: Optional[int] = None
|
|
51
|
+
"""Client ID"""
|
|
52
|
+
|
|
53
|
+
type: Optional[Literal["client"]] = None
|
|
54
|
+
"""Object type (class)"""
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class Warning(BaseModel):
|
|
58
|
+
key: Optional[Literal["client_storage_almost_exceeded"]] = None
|
|
59
|
+
"""current warning key"""
|
|
60
|
+
|
|
61
|
+
meta: Optional[WarningMeta] = None
|
|
62
|
+
"""storage usage state for client"""
|
|
63
|
+
|
|
64
|
+
source_object: Optional[WarningSourceObject] = None
|
|
65
|
+
"""Warning source object"""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class StreamStartRecordingResponse(BaseModel):
|
|
69
|
+
data: Optional[Data] = None
|
|
70
|
+
"""Stream data"""
|
|
71
|
+
|
|
72
|
+
errors: Optional[List[object]] = None
|
|
73
|
+
"""List of errors received on attempt to start recording process"""
|
|
74
|
+
|
|
75
|
+
warnings: Optional[List[Warning]] = None
|
|
76
|
+
"""List of warnings received on starting recording process"""
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Iterable
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["StreamUpdateParams", "Stream"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class StreamUpdateParams(TypedDict, total=False):
|
|
12
|
+
stream: Stream
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Stream(TypedDict, total=False):
|
|
16
|
+
name: Required[str]
|
|
17
|
+
"""
|
|
18
|
+
Stream name. Often used as a human-readable name for the stream, but can contain
|
|
19
|
+
any text you wish. The values are not unique and may be repeated. Examples:
|
|
20
|
+
|
|
21
|
+
- Conference in July
|
|
22
|
+
- Stream #10003
|
|
23
|
+
- Open-Air Camera #31 Backstage
|
|
24
|
+
- 480fd499-2de2-4988-bc1a-a4eebe9818ee
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
active: bool
|
|
28
|
+
"""Stream switch between on and off.
|
|
29
|
+
|
|
30
|
+
This is not an indicator of the status "stream is receiving and it is LIVE", but
|
|
31
|
+
rather an on/off switch. When stream is switched off, there is no way to process
|
|
32
|
+
it: PULL is deactivated and PUSH will return an error.
|
|
33
|
+
|
|
34
|
+
- true – stream can be processed
|
|
35
|
+
- false – stream is off, and cannot be processed
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
auto_record: bool
|
|
39
|
+
"""Enables autotomatic recording of the stream when it started.
|
|
40
|
+
|
|
41
|
+
So you don't need to call recording manually. Result of recording is
|
|
42
|
+
automatically added to video hosting. For details see the
|
|
43
|
+
/streams/`start_recording` method and in knowledge base Values:
|
|
44
|
+
|
|
45
|
+
- true – auto recording is enabled
|
|
46
|
+
- false – auto recording is disabled
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
broadcast_ids: Iterable[int]
|
|
50
|
+
"""IDs of broadcasts which will include this stream"""
|
|
51
|
+
|
|
52
|
+
cdn_id: int
|
|
53
|
+
"""
|
|
54
|
+
ID of custom CDN resource from which the content will be delivered (only if you
|
|
55
|
+
know what you do)
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
client_entity_data: str
|
|
59
|
+
"""
|
|
60
|
+
Custom meta field designed to store your own extra information about a video
|
|
61
|
+
entity: video source, video id, parameters, etc. We do not use this field in any
|
|
62
|
+
way when processing the stream. You can store any data in any format (string,
|
|
63
|
+
json, etc), saved as a text string. Example:
|
|
64
|
+
`` client_entity_data = '{ "`seq_id`": "1234567890", "name": "John Doe", "iat": 1516239022 }' ``
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
client_user_id: int
|
|
68
|
+
"""Custom meta field for storing the Identifier in your system.
|
|
69
|
+
|
|
70
|
+
We do not use this field in any way when processing the stream. Example:
|
|
71
|
+
`client_user_id = 1001`
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
dvr_duration: int
|
|
75
|
+
"""DVR duration in seconds if DVR feature is enabled for the stream.
|
|
76
|
+
|
|
77
|
+
So this is duration of how far the user can rewind the live stream.
|
|
78
|
+
`dvr_duration` range is [30...14400]. Maximum value is 4 hours = 14400 seconds.
|
|
79
|
+
If you need more, ask the Support Team please.
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
dvr_enabled: bool
|
|
83
|
+
"""Enables DVR for the stream:
|
|
84
|
+
|
|
85
|
+
- true – DVR is enabled
|
|
86
|
+
- false – DVR is disabled
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
hls_mpegts_endlist_tag: bool
|
|
90
|
+
"""
|
|
91
|
+
Add `#EXT-X-ENDLIST` tag within .m3u8 playlist after the last segment of a live
|
|
92
|
+
stream when broadcast is ended.
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
html_overlay: bool
|
|
96
|
+
"""
|
|
97
|
+
Switch on mode to insert and display real-time HTML overlay widgets on top of
|
|
98
|
+
live streams
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
low_latency_enabled: bool
|
|
102
|
+
"""
|
|
103
|
+
Deprecated, always returns "true". The only exception is that the attribute can
|
|
104
|
+
only be used by clients that have previously used the old stream format. This
|
|
105
|
+
method is outdated since we've made it easier to manage streams. For your
|
|
106
|
+
convenience, you no longer need to set this parameter at the stage of creating a
|
|
107
|
+
stream. Now all streams are prepared in 2 formats simultaniously: Low Latency
|
|
108
|
+
and Legacy. You can get the desired output format in the attributes
|
|
109
|
+
"`dash_url`", "`hls_cmaf_url`", "`hls_mpegts_url`". Or use them all at once.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
Note: Links /streams/{id}/playlist.m3u8 are depricated too. Use value of the
|
|
114
|
+
"`hls_mpegts_url`" attribute instead.
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
projection: Literal["regular", "vr360", "vr180", "vr360tb"]
|
|
118
|
+
"""
|
|
119
|
+
Visualization mode for 360° streams, how the stream is rendered in our web
|
|
120
|
+
player ONLY. If you would like to show video 360° in an external video player,
|
|
121
|
+
then use parameters of that video player. Modes:
|
|
122
|
+
|
|
123
|
+
- regular – regular “flat” stream
|
|
124
|
+
- vr360 – display stream in 360° mode
|
|
125
|
+
- vr180 – display stream in 180° mode
|
|
126
|
+
- vr360tb – display stream in 3D 360° mode Top-Bottom
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
pull: bool
|
|
130
|
+
"""Indicates if stream is pulled from external server or not.
|
|
131
|
+
|
|
132
|
+
Has two possible values:
|
|
133
|
+
|
|
134
|
+
- true – stream is received by PULL method. Use this when need to get stream
|
|
135
|
+
from external server by srt, rtmp\\ss, hls, dash, etc protocols.
|
|
136
|
+
- false – stream is received by PUSH method. Use this when need to send stream
|
|
137
|
+
from end-device to our Streaming Platform, i.e. from mobile app or OBS Studio.
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
quality_set_id: int
|
|
141
|
+
"""
|
|
142
|
+
Custom quality set ID for transcoding, if transcoding is required according to
|
|
143
|
+
your conditions. Look at GET /`quality_sets` method
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
record_type: Literal["origin", "transcoded"]
|
|
147
|
+
"""Method of recording a stream.
|
|
148
|
+
|
|
149
|
+
Specifies the source from which the stream will be recorded: original or
|
|
150
|
+
transcoded. Types:
|
|
151
|
+
|
|
152
|
+
- "origin" – To record RMTP/SRT/etc original clean media source.
|
|
153
|
+
- "transcoded" – To record the output transcoded version of the stream,
|
|
154
|
+
including overlays, texts, logos, etc. additional media layers.
|
|
155
|
+
"""
|
|
156
|
+
|
|
157
|
+
uri: str
|
|
158
|
+
"""
|
|
159
|
+
When using PULL method, this is the URL to pull a stream from. You can specify
|
|
160
|
+
multiple addresses separated by a space (" "), so you can organize a backup
|
|
161
|
+
plan. In this case, the specified addresses will be selected one by one using
|
|
162
|
+
round robin scheduling. If the first address does not respond, then the next one
|
|
163
|
+
in the list will be automatically requested, returning to the first and so on in
|
|
164
|
+
a circle. Also, if the sucessfully working stream stops sending data, then the
|
|
165
|
+
next one will be selected according to the same scheme. After 24 hours of
|
|
166
|
+
inactivity of your streams we will stop PULL-ing, and will switch "active" field
|
|
167
|
+
to "false". Please, note that this field is for PULL only, so is not suitable
|
|
168
|
+
for PUSH. Look at fields "`push_url`" and "`push_url_srt`" from GET method.
|
|
169
|
+
"""
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .overlay import Overlay as Overlay
|
|
6
|
+
from .overlay_create_params import OverlayCreateParams as OverlayCreateParams
|
|
7
|
+
from .overlay_list_response import OverlayListResponse as OverlayListResponse
|
|
8
|
+
from .overlay_update_params import OverlayUpdateParams as OverlayUpdateParams
|
|
9
|
+
from .overlay_create_response import OverlayCreateResponse as OverlayCreateResponse
|
|
10
|
+
from .overlay_update_multiple_params import OverlayUpdateMultipleParams as OverlayUpdateMultipleParams
|
|
11
|
+
from .overlay_update_multiple_response import OverlayUpdateMultipleResponse as OverlayUpdateMultipleResponse
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["Overlay"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Overlay(BaseModel):
|
|
11
|
+
id: int
|
|
12
|
+
"""ID of the overlay"""
|
|
13
|
+
|
|
14
|
+
created_at: str
|
|
15
|
+
"""Datetime of creation in ISO 8601"""
|
|
16
|
+
|
|
17
|
+
stream_id: int
|
|
18
|
+
"""ID of a stream to which it is attached"""
|
|
19
|
+
|
|
20
|
+
updated_at: str
|
|
21
|
+
"""Datetime of last update in ISO 8601"""
|
|
22
|
+
|
|
23
|
+
url: str
|
|
24
|
+
"""Valid http/https URL to an HTML page/widget"""
|
|
25
|
+
|
|
26
|
+
height: Optional[int] = None
|
|
27
|
+
"""Height of the widget"""
|
|
28
|
+
|
|
29
|
+
stretch: Optional[bool] = None
|
|
30
|
+
"""Switch of auto scaling the widget.
|
|
31
|
+
|
|
32
|
+
Must not be used as "true" simultaneously with the coordinate installation
|
|
33
|
+
method (w, h, x, y).
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
width: Optional[int] = None
|
|
37
|
+
"""Width of the widget"""
|
|
38
|
+
|
|
39
|
+
x: Optional[int] = None
|
|
40
|
+
"""Coordinate of left upper corner"""
|
|
41
|
+
|
|
42
|
+
y: Optional[int] = None
|
|
43
|
+
"""Coordinate of left upper corner"""
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Iterable
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["OverlayCreateParams", "Body"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OverlayCreateParams(TypedDict, total=False):
|
|
12
|
+
body: Iterable[Body]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Body(TypedDict, total=False):
|
|
16
|
+
url: Required[str]
|
|
17
|
+
"""Valid http/https URL to an HTML page/widget"""
|
|
18
|
+
|
|
19
|
+
height: int
|
|
20
|
+
"""Height of the widget"""
|
|
21
|
+
|
|
22
|
+
stretch: bool
|
|
23
|
+
"""Switch of auto scaling the widget.
|
|
24
|
+
|
|
25
|
+
Must not be used as "true" simultaneously with the coordinate installation
|
|
26
|
+
method (w, h, x, y).
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
width: int
|
|
30
|
+
"""Width of the widget"""
|
|
31
|
+
|
|
32
|
+
x: int
|
|
33
|
+
"""Coordinate of left upper corner"""
|
|
34
|
+
|
|
35
|
+
y: int
|
|
36
|
+
"""Coordinate of left upper corner"""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
from typing_extensions import TypeAlias
|
|
5
|
+
|
|
6
|
+
from .overlay import Overlay
|
|
7
|
+
|
|
8
|
+
__all__ = ["OverlayCreateResponse"]
|
|
9
|
+
|
|
10
|
+
OverlayCreateResponse: TypeAlias = List[Overlay]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
from typing_extensions import TypeAlias
|
|
5
|
+
|
|
6
|
+
from .overlay import Overlay
|
|
7
|
+
|
|
8
|
+
__all__ = ["OverlayListResponse"]
|
|
9
|
+
|
|
10
|
+
OverlayListResponse: TypeAlias = List[Overlay]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Iterable
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["OverlayUpdateMultipleParams", "Body"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OverlayUpdateMultipleParams(TypedDict, total=False):
|
|
12
|
+
body: Iterable[Body]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Body(TypedDict, total=False):
|
|
16
|
+
id: Required[int]
|
|
17
|
+
"""ID of the overlay"""
|
|
18
|
+
|
|
19
|
+
height: int
|
|
20
|
+
"""Height of the widget"""
|
|
21
|
+
|
|
22
|
+
stretch: bool
|
|
23
|
+
"""Switch of auto scaling the widget.
|
|
24
|
+
|
|
25
|
+
Must not be used as "true" simultaneously with the coordinate installation
|
|
26
|
+
method (w, h, x, y).
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
url: str
|
|
30
|
+
"""Valid http/https URL to an HTML page/widget"""
|
|
31
|
+
|
|
32
|
+
width: int
|
|
33
|
+
"""Width of the widget"""
|
|
34
|
+
|
|
35
|
+
x: int
|
|
36
|
+
"""Coordinate of left upper corner"""
|
|
37
|
+
|
|
38
|
+
y: int
|
|
39
|
+
"""Coordinate of left upper corner"""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
from typing_extensions import TypeAlias
|
|
5
|
+
|
|
6
|
+
from .overlay import Overlay
|
|
7
|
+
|
|
8
|
+
__all__ = ["OverlayUpdateMultipleResponse"]
|
|
9
|
+
|
|
10
|
+
OverlayUpdateMultipleResponse: TypeAlias = List[Overlay]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["OverlayUpdateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OverlayUpdateParams(TypedDict, total=False):
|
|
11
|
+
stream_id: Required[int]
|
|
12
|
+
|
|
13
|
+
height: int
|
|
14
|
+
"""Height of the widget"""
|
|
15
|
+
|
|
16
|
+
stretch: bool
|
|
17
|
+
"""Switch of auto scaling the widget.
|
|
18
|
+
|
|
19
|
+
Must not be used as "true" simultaneously with the coordinate installation
|
|
20
|
+
method (w, h, x, y).
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
url: str
|
|
24
|
+
"""Valid http/https URL to an HTML page/widget"""
|
|
25
|
+
|
|
26
|
+
width: int
|
|
27
|
+
"""Width of the widget"""
|
|
28
|
+
|
|
29
|
+
x: int
|
|
30
|
+
"""Coordinate of left upper corner"""
|
|
31
|
+
|
|
32
|
+
y: int
|
|
33
|
+
"""Coordinate of left upper corner"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .subtitle_base import SubtitleBase
|
|
6
|
+
|
|
7
|
+
__all__ = ["Subtitle"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Subtitle(SubtitleBase):
|
|
11
|
+
id: Optional[int] = None
|
|
12
|
+
"""ID of subtitle file"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["SubtitleBase"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SubtitleBase(BaseModel):
|
|
11
|
+
language: Optional[str] = None
|
|
12
|
+
"""3-letter language code according to ISO-639-2 (bibliographic code)"""
|
|
13
|
+
|
|
14
|
+
name: Optional[str] = None
|
|
15
|
+
"""Name of subtitle file"""
|
|
16
|
+
|
|
17
|
+
vtt: Optional[str] = None
|
|
18
|
+
"""Full text of subtitles/captions, with escaped "\n" ("\r") symbol of new line"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SubtitleBaseParam"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SubtitleBaseParam(TypedDict, total=False):
|
|
11
|
+
language: str
|
|
12
|
+
"""3-letter language code according to ISO-639-2 (bibliographic code)"""
|
|
13
|
+
|
|
14
|
+
name: str
|
|
15
|
+
"""Name of subtitle file"""
|
|
16
|
+
|
|
17
|
+
vtt: str
|
|
18
|
+
"""Full text of subtitles/captions, with escaped "\n" ("\r") symbol of new line"""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["UniqueViewers", "Data"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Data(BaseModel):
|
|
11
|
+
date: str
|
|
12
|
+
|
|
13
|
+
unique_ips: int
|
|
14
|
+
|
|
15
|
+
id: Optional[int] = None
|
|
16
|
+
|
|
17
|
+
browser: Optional[str] = None
|
|
18
|
+
|
|
19
|
+
country: Optional[str] = None
|
|
20
|
+
|
|
21
|
+
event: Optional[str] = None
|
|
22
|
+
|
|
23
|
+
host: Optional[str] = None
|
|
24
|
+
|
|
25
|
+
ip: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
os: Optional[str] = None
|
|
28
|
+
|
|
29
|
+
platform: Optional[str] = None
|
|
30
|
+
|
|
31
|
+
type: Optional[str] = None
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class UniqueViewers(BaseModel):
|
|
35
|
+
data: Optional[List[Data]] = None
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["UniqueViewersCdn", "Data"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Data(BaseModel):
|
|
11
|
+
type: str
|
|
12
|
+
|
|
13
|
+
uniqs: int
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class UniqueViewersCdn(BaseModel):
|
|
17
|
+
data: Optional[List[Data]] = None
|