mux_ruby 1.5.0 → 1.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +4 -1
- data/docs/Asset.md +15 -12
- data/docs/AssetErrors.md +2 -2
- data/docs/AssetNonStandardInputReasons.md +16 -0
- data/docs/AssetRecordingTimes.md +9 -0
- data/docs/AssetStaticRenditions.md +1 -1
- data/docs/AssetsApi.md +4 -0
- data/docs/CreateAssetRequest.md +6 -6
- data/docs/CreateLiveStreamRequest.md +1 -0
- data/docs/CreateTrackRequest.md +4 -4
- data/docs/DimensionValue.md +9 -0
- data/docs/DimensionsApi.md +118 -0
- data/docs/DisableLiveStreamResponse.md +8 -0
- data/docs/EnableLiveStreamResponse.md +8 -0
- data/docs/FiltersApi.md +2 -2
- data/docs/GetAssetOrLiveStreamIdResponse.md +8 -0
- data/docs/GetAssetOrLiveStreamIdResponseData.md +10 -0
- data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +9 -0
- data/docs/GetRealTimeBreakdownResponse.md +10 -0
- data/docs/GetRealTimeHistogramTimeseriesResponse.md +11 -0
- data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +8 -0
- data/docs/GetRealTimeTimeseriesResponse.md +10 -0
- data/docs/Incident.md +28 -0
- data/docs/IncidentBreakdown.md +10 -0
- data/docs/IncidentNotification.md +10 -0
- data/docs/IncidentNotificationRule.md +12 -0
- data/docs/IncidentResponse.md +9 -0
- data/docs/IncidentsApi.md +186 -0
- data/docs/InputSettings.md +9 -7
- data/docs/InputSettingsOverlaySettings.md +7 -7
- data/docs/ListDimensionValuesResponse.md +10 -0
- data/docs/ListDimensionsResponse.md +10 -0
- data/docs/ListIncidentsResponse.md +10 -0
- data/docs/ListRealTimeDimensionsResponse.md +10 -0
- data/docs/ListRealTimeDimensionsResponseData.md +9 -0
- data/docs/ListRealTimeMetricsResponse.md +10 -0
- data/docs/ListRelatedIncidentsResponse.md +10 -0
- data/docs/LiveStream.md +1 -1
- data/docs/LiveStreamsApi.md +104 -0
- data/docs/NotificationRule.md +10 -0
- data/docs/PlaybackID.md +1 -1
- data/docs/PlaybackIDApi.md +60 -0
- data/docs/RealTimeApi.md +280 -0
- data/docs/RealTimeBreakdownValue.md +12 -0
- data/docs/RealTimeHistogramTimeseriesBucket.md +9 -0
- data/docs/RealTimeHistogramTimeseriesBucketValues.md +9 -0
- data/docs/RealTimeHistogramTimeseriesDatapoint.md +14 -0
- data/docs/RealTimeTimeseriesDatapoint.md +10 -0
- data/docs/Track.md +13 -13
- data/docs/VideoView.md +16 -14
- data/examples/data/exercise-dimensions.rb +29 -0
- data/examples/data/exercise-incidents.rb +29 -0
- data/examples/data/exercise-realtime.rb +60 -0
- data/examples/video/exercise-assets.rb +21 -0
- data/examples/video/exercise-live-streams.rb +30 -0
- data/lib/mux_ruby.rb +34 -0
- data/lib/mux_ruby/api/assets_api.rb +4 -0
- data/lib/mux_ruby/api/dimensions_api.rb +128 -0
- data/lib/mux_ruby/api/filters_api.rb +4 -4
- data/lib/mux_ruby/api/incidents_api.rb +217 -0
- data/lib/mux_ruby/api/live_streams_api.rb +106 -0
- data/lib/mux_ruby/api/playback_id_api.rb +69 -0
- data/lib/mux_ruby/api/real_time_api.rb +311 -0
- data/lib/mux_ruby/api_client.rb +13 -13
- data/lib/mux_ruby/configuration.rb +1 -4
- data/lib/mux_ruby/models/asset.rb +70 -3
- data/lib/mux_ruby/models/asset_errors.rb +2 -0
- data/lib/mux_ruby/models/asset_master.rb +35 -0
- data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +335 -0
- data/lib/mux_ruby/models/asset_recording_times.rb +195 -0
- data/lib/mux_ruby/models/asset_static_renditions.rb +2 -2
- data/lib/mux_ruby/models/asset_static_renditions_files.rb +6 -6
- data/lib/mux_ruby/models/create_asset_request.rb +8 -2
- data/lib/mux_ruby/models/create_live_stream_request.rb +15 -4
- data/lib/mux_ruby/models/create_track_request.rb +6 -2
- data/lib/mux_ruby/models/dimension_value.rb +193 -0
- data/lib/mux_ruby/models/disable_live_stream_response.rb +184 -0
- data/lib/mux_ruby/models/enable_live_stream_response.rb +184 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +184 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +203 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +230 -0
- data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +206 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +215 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +186 -0
- data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +206 -0
- data/lib/mux_ruby/models/incident.rb +370 -0
- data/lib/mux_ruby/models/incident_breakdown.rb +202 -0
- data/lib/mux_ruby/models/incident_notification.rb +202 -0
- data/lib/mux_ruby/models/incident_notification_rule.rb +222 -0
- data/lib/mux_ruby/models/incident_response.rb +195 -0
- data/lib/mux_ruby/models/input_settings.rb +31 -4
- data/lib/mux_ruby/models/input_settings_overlay_settings.rb +10 -2
- data/lib/mux_ruby/models/list_dimension_values_response.rb +206 -0
- data/lib/mux_ruby/models/list_dimensions_response.rb +204 -0
- data/lib/mux_ruby/models/list_incidents_response.rb +206 -0
- data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +206 -0
- data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +193 -0
- data/lib/mux_ruby/models/list_real_time_metrics_response.rb +206 -0
- data/lib/mux_ruby/models/list_related_incidents_response.rb +206 -0
- data/lib/mux_ruby/models/live_stream.rb +1 -1
- data/lib/mux_ruby/models/notification_rule.rb +202 -0
- data/lib/mux_ruby/models/playback_id.rb +1 -0
- data/lib/mux_ruby/models/real_time_breakdown_value.rb +220 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +193 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +193 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +240 -0
- data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +202 -0
- data/lib/mux_ruby/models/simulcast_target.rb +1 -1
- data/lib/mux_ruby/models/track.rb +27 -2
- data/lib/mux_ruby/models/update_asset_master_access_request.rb +1 -1
- data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +1 -1
- data/lib/mux_ruby/models/upload.rb +1 -1
- data/lib/mux_ruby/models/video_view.rb +36 -18
- data/lib/mux_ruby/version.rb +1 -1
- data/mux_ruby.gemspec +2 -0
- data/spec/api/assets_api_spec.rb +2 -0
- data/spec/api/dimensions_api_spec.rb +55 -0
- data/spec/api/filters_api_spec.rb +2 -2
- data/spec/api/incidents_api_spec.rb +73 -0
- data/spec/api/live_streams_api_spec.rb +24 -0
- data/spec/api/playback_id_api_spec.rb +40 -0
- data/spec/api/real_time_api_spec.rb +93 -0
- data/spec/models/asset_master_spec.rb +4 -0
- data/spec/models/asset_non_standard_input_reasons_spec.rb +98 -0
- data/spec/models/asset_recording_times_spec.rb +40 -0
- data/spec/models/asset_spec.rb +26 -0
- data/spec/models/asset_static_renditions_files_spec.rb +2 -2
- data/spec/models/create_live_stream_request_spec.rb +6 -0
- data/spec/models/dimension_value_spec.rb +40 -0
- data/spec/models/disable_live_stream_response_spec.rb +34 -0
- data/spec/models/enable_live_stream_response_spec.rb +34 -0
- data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
- data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
- data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
- data/spec/models/get_real_time_breakdown_response_spec.rb +46 -0
- data/spec/models/get_real_time_histogram_timeseries_response_meta_spec.rb +34 -0
- data/spec/models/get_real_time_histogram_timeseries_response_spec.rb +52 -0
- data/spec/models/get_real_time_timeseries_response_spec.rb +46 -0
- data/spec/models/incident_breakdown_spec.rb +46 -0
- data/spec/models/incident_notification_rule_spec.rb +58 -0
- data/spec/models/incident_notification_spec.rb +46 -0
- data/spec/models/incident_response_spec.rb +40 -0
- data/spec/models/incident_spec.rb +154 -0
- data/spec/models/input_settings_spec.rb +12 -0
- data/spec/models/list_dimension_values_response_spec.rb +46 -0
- data/spec/models/list_dimensions_response_spec.rb +46 -0
- data/spec/models/list_incidents_response_spec.rb +46 -0
- data/spec/models/list_real_time_dimensions_response_data_spec.rb +40 -0
- data/spec/models/list_real_time_dimensions_response_spec.rb +46 -0
- data/spec/models/list_real_time_metrics_response_spec.rb +46 -0
- data/spec/models/list_related_incidents_response_spec.rb +46 -0
- data/spec/models/notification_rule_spec.rb +46 -0
- data/spec/models/real_time_breakdown_value_spec.rb +58 -0
- data/spec/models/real_time_histogram_timeseries_bucket_spec.rb +40 -0
- data/spec/models/real_time_histogram_timeseries_bucket_values_spec.rb +40 -0
- data/spec/models/real_time_histogram_timeseries_datapoint_spec.rb +70 -0
- data/spec/models/real_time_timeseries_datapoint_spec.rb +46 -0
- data/spec/models/track_spec.rb +4 -0
- data/spec/models/video_view_spec.rb +12 -0
- metadata +200 -60
data/docs/VideoView.md
CHANGED
@@ -11,22 +11,22 @@ Name | Type | Description | Notes
|
|
11
11
|
**preroll_requested** | **BOOLEAN** | | [optional]
|
12
12
|
**page_type** | **String** | | [optional]
|
13
13
|
**startup_score** | **String** | | [optional]
|
14
|
-
**view_seek_duration** | **
|
14
|
+
**view_seek_duration** | **Integer** | | [optional]
|
15
15
|
**country_name** | **String** | | [optional]
|
16
16
|
**player_source_height** | **Integer** | | [optional]
|
17
17
|
**longitude** | **String** | | [optional]
|
18
|
-
**buffering_count** | **
|
19
|
-
**video_duration** | **
|
18
|
+
**buffering_count** | **Integer** | | [optional]
|
19
|
+
**video_duration** | **Integer** | | [optional]
|
20
20
|
**player_source_type** | **String** | | [optional]
|
21
21
|
**city** | **String** | | [optional]
|
22
22
|
**view_id** | **String** | | [optional]
|
23
23
|
**platform_description** | **String** | | [optional]
|
24
|
-
**video_startup_preroll_request_time** | **
|
24
|
+
**video_startup_preroll_request_time** | **Integer** | | [optional]
|
25
25
|
**viewer_device_name** | **String** | | [optional]
|
26
26
|
**video_series** | **String** | | [optional]
|
27
27
|
**viewer_application_name** | **String** | | [optional]
|
28
28
|
**updated_at** | **String** | | [optional]
|
29
|
-
**view_total_content_playback_time** | **
|
29
|
+
**view_total_content_playback_time** | **Integer** | | [optional]
|
30
30
|
**cdn** | **String** | | [optional]
|
31
31
|
**player_instance_id** | **String** | | [optional]
|
32
32
|
**video_language** | **String** | | [optional]
|
@@ -37,8 +37,8 @@ Name | Type | Description | Notes
|
|
37
37
|
**playback_score** | **String** | | [optional]
|
38
38
|
**page_url** | **String** | | [optional]
|
39
39
|
**metro** | **String** | | [optional]
|
40
|
-
**view_max_request_latency** | **
|
41
|
-
**requests_for_first_preroll** | **
|
40
|
+
**view_max_request_latency** | **Integer** | | [optional]
|
41
|
+
**requests_for_first_preroll** | **Integer** | | [optional]
|
42
42
|
**view_total_downscaling** | **String** | | [optional]
|
43
43
|
**latitude** | **String** | | [optional]
|
44
44
|
**player_source_host_name** | **String** | | [optional]
|
@@ -48,7 +48,7 @@ Name | Type | Description | Notes
|
|
48
48
|
**player_language** | **String** | | [optional]
|
49
49
|
**page_load_time** | **Integer** | | [optional]
|
50
50
|
**viewer_device_category** | **String** | | [optional]
|
51
|
-
**video_startup_preroll_load_time** | **
|
51
|
+
**video_startup_preroll_load_time** | **Integer** | | [optional]
|
52
52
|
**player_version** | **String** | | [optional]
|
53
53
|
**watch_time** | **Integer** | | [optional]
|
54
54
|
**player_source_stream_type** | **String** | | [optional]
|
@@ -58,14 +58,14 @@ Name | Type | Description | Notes
|
|
58
58
|
**experiment_name** | **String** | | [optional]
|
59
59
|
**viewer_os_version** | **String** | | [optional]
|
60
60
|
**player_preload** | **BOOLEAN** | | [optional]
|
61
|
-
**buffering_duration** | **
|
61
|
+
**buffering_duration** | **Integer** | | [optional]
|
62
62
|
**player_view_count** | **Integer** | | [optional]
|
63
63
|
**player_software** | **String** | | [optional]
|
64
|
-
**player_load_time** | **
|
64
|
+
**player_load_time** | **Integer** | | [optional]
|
65
65
|
**platform_summary** | **String** | | [optional]
|
66
66
|
**video_encoding_variant** | **String** | | [optional]
|
67
67
|
**player_width** | **Integer** | | [optional]
|
68
|
-
**view_seek_count** | **
|
68
|
+
**view_seek_count** | **Integer** | | [optional]
|
69
69
|
**viewer_experience_score** | **String** | | [optional]
|
70
70
|
**view_error_id** | **Integer** | | [optional]
|
71
71
|
**video_variant_name** | **String** | | [optional]
|
@@ -77,7 +77,7 @@ Name | Type | Description | Notes
|
|
77
77
|
**events** | [**Array<VideoViewEvent>**](VideoViewEvent.md) | | [optional]
|
78
78
|
**player_name** | **String** | | [optional]
|
79
79
|
**view_start** | **String** | | [optional]
|
80
|
-
**view_average_request_throughput** | **
|
80
|
+
**view_average_request_throughput** | **Integer** | | [optional]
|
81
81
|
**video_producer** | **String** | | [optional]
|
82
82
|
**error_type_id** | **Integer** | | [optional]
|
83
83
|
**mux_viewer_id** | **String** | | [optional]
|
@@ -88,7 +88,7 @@ Name | Type | Description | Notes
|
|
88
88
|
**video_content_type** | **String** | | [optional]
|
89
89
|
**viewer_os_family** | **String** | | [optional]
|
90
90
|
**player_poster** | **String** | | [optional]
|
91
|
-
**view_average_request_latency** | **
|
91
|
+
**view_average_request_latency** | **Integer** | | [optional]
|
92
92
|
**video_variant_id** | **String** | | [optional]
|
93
93
|
**player_source_duration** | **Integer** | | [optional]
|
94
94
|
**player_source_url** | **String** | | [optional]
|
@@ -97,7 +97,7 @@ Name | Type | Description | Notes
|
|
97
97
|
**id** | **String** | | [optional]
|
98
98
|
**short_time** | **String** | | [optional]
|
99
99
|
**rebuffer_percentage** | **String** | | [optional]
|
100
|
-
**time_to_first_frame** | **
|
100
|
+
**time_to_first_frame** | **Integer** | | [optional]
|
101
101
|
**viewer_user_id** | **String** | | [optional]
|
102
102
|
**video_stream_type** | **String** | | [optional]
|
103
103
|
**player_startup_time** | **Integer** | | [optional]
|
@@ -111,7 +111,9 @@ Name | Type | Description | Notes
|
|
111
111
|
**player_autoplay** | **BOOLEAN** | | [optional]
|
112
112
|
**player_height** | **Integer** | | [optional]
|
113
113
|
**asn** | **Integer** | | [optional]
|
114
|
+
**asn_name** | **String** | | [optional]
|
114
115
|
**quality_score** | **String** | | [optional]
|
115
116
|
**player_software_version** | **String** | | [optional]
|
117
|
+
**player_mux_plugin_name** | **String** | | [optional]
|
116
118
|
|
117
119
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'mux_ruby'
|
4
|
+
require 'solid_assert'
|
5
|
+
|
6
|
+
SolidAssert.enable_assertions
|
7
|
+
|
8
|
+
# Authentication Setup
|
9
|
+
openapi = MuxRuby.configure do |config|
|
10
|
+
config.username = ENV['MUX_TOKEN_ID']
|
11
|
+
config.password = ENV['MUX_TOKEN_SECRET']
|
12
|
+
end
|
13
|
+
|
14
|
+
# API Client Initialization
|
15
|
+
dimensions_api = MuxRuby::DimensionsApi.new
|
16
|
+
|
17
|
+
# ========== list-dimensions ==========
|
18
|
+
dimensions = dimensions_api.list_dimensions()
|
19
|
+
assert dimensions != nil
|
20
|
+
assert dimensions.data != nil
|
21
|
+
assert dimensions.data.basic != nil
|
22
|
+
assert dimensions.data.advanced != nil
|
23
|
+
puts "list-dimensions OK ✅"
|
24
|
+
|
25
|
+
# ========== list-dimension-values ==========
|
26
|
+
dimension_values = dimensions_api.list_dimension_values("browser", {:timeframe => ['7:days']})
|
27
|
+
assert dimension_values != nil
|
28
|
+
assert dimension_values.data != nil
|
29
|
+
puts "list-dimension-values OK ✅"
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'mux_ruby'
|
4
|
+
require 'solid_assert'
|
5
|
+
|
6
|
+
SolidAssert.enable_assertions
|
7
|
+
|
8
|
+
# Authentication Setup
|
9
|
+
openapi = MuxRuby.configure do |config|
|
10
|
+
config.username = ENV['MUX_TOKEN_ID']
|
11
|
+
config.password = ENV['MUX_TOKEN_SECRET']
|
12
|
+
end
|
13
|
+
|
14
|
+
# API Client Initialization
|
15
|
+
incidents_api = MuxRuby::IncidentsApi.new
|
16
|
+
|
17
|
+
# Test coverage here is poor due to not knowning if the account we're testing against has any incidents.
|
18
|
+
|
19
|
+
# ========== list-incidents ==========
|
20
|
+
incidents = incidents_api.list_incidents
|
21
|
+
assert incidents != nil
|
22
|
+
assert incidents.data != nil
|
23
|
+
puts "list-incidents OK ✅"
|
24
|
+
|
25
|
+
# ========== get-incident ==========
|
26
|
+
puts "get-incident SKIP ⚠️"
|
27
|
+
|
28
|
+
# ========== list-related-incidents ==========
|
29
|
+
puts "list-related-incidents SKIP ⚠️"
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'mux_ruby'
|
4
|
+
require 'solid_assert'
|
5
|
+
|
6
|
+
SolidAssert.enable_assertions
|
7
|
+
|
8
|
+
# Authentication Setup
|
9
|
+
openapi = MuxRuby.configure do |config|
|
10
|
+
config.username = ENV['MUX_TOKEN_ID']
|
11
|
+
config.password = ENV['MUX_TOKEN_SECRET']
|
12
|
+
end
|
13
|
+
|
14
|
+
# API Client Initialization
|
15
|
+
rt_api = MuxRuby::RealTimeApi.new
|
16
|
+
|
17
|
+
# Test coverage here isn't fantastic due to not knowning if the account we're testing against has
|
18
|
+
# any real-time data. The behaviour has been manually verified against real-world data.
|
19
|
+
|
20
|
+
# ========== list-realtime-dimensions ==========
|
21
|
+
dimensions = rt_api.list_realtime_dimensions
|
22
|
+
assert dimensions != nil
|
23
|
+
assert dimensions.data != nil
|
24
|
+
assert dimensions.data.length > 0
|
25
|
+
assert dimensions.data.first.name != ''
|
26
|
+
assert dimensions.data.first.display_name != ''
|
27
|
+
puts "list-realtime-dimensions OK ✅"
|
28
|
+
|
29
|
+
# ========== list-realtime-metrics ==========
|
30
|
+
metrics = rt_api.list_realtime_metrics
|
31
|
+
assert metrics != nil
|
32
|
+
assert metrics.data != nil
|
33
|
+
assert metrics.data.length > 0
|
34
|
+
assert metrics.data.first.name != ''
|
35
|
+
assert metrics.data.first.display_name != ''
|
36
|
+
puts "list-realtime-metrics OK ✅"
|
37
|
+
|
38
|
+
# ========== get-realtime-breakdown ==========
|
39
|
+
breakdown = rt_api.get_realtime_breakdown('current-rebuffering-percentage', {:dimension => 'asn'})
|
40
|
+
assert breakdown != nil
|
41
|
+
assert breakdown.data != nil
|
42
|
+
puts "get-realtime-breakdown OK ✅"
|
43
|
+
|
44
|
+
# ========== get-realtime-histogram-timeseries ==========
|
45
|
+
histogram_timeseries = rt_api.get_realtime_histogram_timeseries('video-startup-time')
|
46
|
+
assert histogram_timeseries != nil
|
47
|
+
assert histogram_timeseries.meta != nil
|
48
|
+
assert histogram_timeseries.meta.buckets != nil
|
49
|
+
assert histogram_timeseries.meta.buckets.length > 0
|
50
|
+
assert histogram_timeseries.data != nil
|
51
|
+
assert histogram_timeseries.data.length > 0
|
52
|
+
puts "get-realtime-histogram-timeseries OK ✅"
|
53
|
+
|
54
|
+
# ========== get-realtime-timeseries ==========
|
55
|
+
timeseries = rt_api.get_realtime_timeseries('current-rebuffering-percentage')
|
56
|
+
assert timeseries != nil
|
57
|
+
assert timeseries.data != nil
|
58
|
+
assert timeseries.data.length > 0
|
59
|
+
assert timeseries.data.first.date != ''
|
60
|
+
puts "get-realtime-timeseries OK ✅"
|
@@ -13,6 +13,7 @@ end
|
|
13
13
|
|
14
14
|
# API Client Initialization
|
15
15
|
assets_api = MuxRuby::AssetsApi.new
|
16
|
+
playback_ids_api = MuxRuby::PlaybackIDApi.new
|
16
17
|
|
17
18
|
# ========== create-asset ==========
|
18
19
|
car = MuxRuby::CreateAssetRequest.new
|
@@ -52,6 +53,20 @@ end
|
|
52
53
|
puts "get-asset OK ✅"
|
53
54
|
puts "get-asset-input-info OK ✅"
|
54
55
|
|
56
|
+
# ========== clipping ==========
|
57
|
+
clip_request = MuxRuby::CreateAssetRequest.new
|
58
|
+
clip_request.input = [
|
59
|
+
{
|
60
|
+
url: "mux://assets/#{create_response.data.id}",
|
61
|
+
start_time: 0.0,
|
62
|
+
end_time: 5.0
|
63
|
+
}
|
64
|
+
]
|
65
|
+
create_clip_response = assets_api.create_asset(clip_request)
|
66
|
+
assert create_clip_response != nil
|
67
|
+
assert create_clip_response.data.id != nil
|
68
|
+
puts "clipping OK ✅"
|
69
|
+
|
55
70
|
# ========== create-asset-playback-id ==========
|
56
71
|
cpbr = MuxRuby::CreatePlaybackIDRequest.new
|
57
72
|
cpbr.policy = MuxRuby::PlaybackPolicy::PUBLIC
|
@@ -67,6 +82,12 @@ assert pb_id.data != nil
|
|
67
82
|
assert pb_id.data.id == pb_id_c.data.id
|
68
83
|
puts "get-asset-playback-id OK ✅"
|
69
84
|
|
85
|
+
# ========== get-asset-or-livestream-id ==========
|
86
|
+
get_playback_id_resp = playback_ids_api.get_asset_or_livestream_id(pb_id.data.id).data
|
87
|
+
assert get_playback_id_resp.object.id == create_response.data.id
|
88
|
+
assert get_playback_id_resp.object.type == "asset"
|
89
|
+
puts "get-asset-or-livestream-id OK ✅"
|
90
|
+
|
70
91
|
# ========== update-asset-mp4-support ==========
|
71
92
|
mp4_req = MuxRuby::UpdateAssetMP4SupportRequest.new
|
72
93
|
mp4_req.mp4_support = 'standard'
|
@@ -13,6 +13,7 @@ end
|
|
13
13
|
|
14
14
|
# API Client Initialization
|
15
15
|
live_api = MuxRuby::LiveStreamsApi.new
|
16
|
+
playback_ids_api = MuxRuby::PlaybackIDApi.new
|
16
17
|
|
17
18
|
# ========== create-live-stream ==========
|
18
19
|
create_asset_request = MuxRuby::CreateAssetRequest.new
|
@@ -41,6 +42,13 @@ assert stream_get.data != nil
|
|
41
42
|
assert stream_get.data.id == stream.data.id
|
42
43
|
puts "get-live-stream OK ✅"
|
43
44
|
|
45
|
+
# ========== get-asset-or-livestream-id ==========
|
46
|
+
playback_id = stream.data.playback_ids.first.id
|
47
|
+
get_playback_id_resp = playback_ids_api.get_asset_or_livestream_id(playback_id).data
|
48
|
+
assert get_playback_id_resp.object.id == stream.data.id
|
49
|
+
assert get_playback_id_resp.object.type == "live_stream"
|
50
|
+
puts "get-asset-or-livestream-id OK ✅"
|
51
|
+
|
44
52
|
# ========== create-live-stream-simulcast-target ==========
|
45
53
|
create_simulcast_target = MuxRuby::CreateSimulcastTargetRequest.new
|
46
54
|
create_simulcast_target.passthrough = 'foo'
|
@@ -104,6 +112,28 @@ rescue MuxRuby::ApiError => e
|
|
104
112
|
end
|
105
113
|
puts "signal-live-stream-complete OK ✅"
|
106
114
|
|
115
|
+
# ========== disable-live-stream ==========
|
116
|
+
begin
|
117
|
+
live_api.disable_live_stream(stream.data.id)
|
118
|
+
disabled_live_stream = live_api.get_live_stream(stream.data.id)
|
119
|
+
assert disabled_live_stream.data.status == 'disabled'
|
120
|
+
rescue MuxRuby::ApiError => e
|
121
|
+
puts "Should not have errored when disabling stream"
|
122
|
+
exit 1
|
123
|
+
end
|
124
|
+
puts "disable-live-stream OK ✅"
|
125
|
+
|
126
|
+
# ========== enable-live-stream ==========
|
127
|
+
begin
|
128
|
+
live_api.enable_live_stream(stream.data.id)
|
129
|
+
enabled_live_stream = live_api.get_live_stream(stream.data.id)
|
130
|
+
assert enabled_live_stream.data.status == 'idle'
|
131
|
+
rescue MuxRuby::ApiError => e
|
132
|
+
puts "Should not have errored when enabling stream"
|
133
|
+
exit 1
|
134
|
+
end
|
135
|
+
puts "enable-live-stream OK ✅"
|
136
|
+
|
107
137
|
# ========== delete-live-stream ==========
|
108
138
|
live_api.delete_live_stream(stream.data.id)
|
109
139
|
begin
|
data/lib/mux_ruby.rb
CHANGED
@@ -14,6 +14,8 @@ require 'mux_ruby/models/abridged_video_view'
|
|
14
14
|
require 'mux_ruby/models/asset'
|
15
15
|
require 'mux_ruby/models/asset_errors'
|
16
16
|
require 'mux_ruby/models/asset_master'
|
17
|
+
require 'mux_ruby/models/asset_non_standard_input_reasons'
|
18
|
+
require 'mux_ruby/models/asset_recording_times'
|
17
19
|
require 'mux_ruby/models/asset_response'
|
18
20
|
require 'mux_ruby/models/asset_static_renditions'
|
19
21
|
require 'mux_ruby/models/asset_static_renditions_files'
|
@@ -27,12 +29,27 @@ require 'mux_ruby/models/create_track_request'
|
|
27
29
|
require 'mux_ruby/models/create_track_response'
|
28
30
|
require 'mux_ruby/models/create_upload_request'
|
29
31
|
require 'mux_ruby/models/delivery_report'
|
32
|
+
require 'mux_ruby/models/dimension_value'
|
33
|
+
require 'mux_ruby/models/disable_live_stream_response'
|
34
|
+
require 'mux_ruby/models/enable_live_stream_response'
|
30
35
|
require 'mux_ruby/models/error'
|
31
36
|
require 'mux_ruby/models/filter_value'
|
32
37
|
require 'mux_ruby/models/get_asset_input_info_response'
|
38
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response'
|
39
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response_data'
|
40
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response_data_object'
|
33
41
|
require 'mux_ruby/models/get_asset_playback_id_response'
|
34
42
|
require 'mux_ruby/models/get_metric_timeseries_data_response'
|
35
43
|
require 'mux_ruby/models/get_overall_values_response'
|
44
|
+
require 'mux_ruby/models/get_real_time_breakdown_response'
|
45
|
+
require 'mux_ruby/models/get_real_time_histogram_timeseries_response'
|
46
|
+
require 'mux_ruby/models/get_real_time_histogram_timeseries_response_meta'
|
47
|
+
require 'mux_ruby/models/get_real_time_timeseries_response'
|
48
|
+
require 'mux_ruby/models/incident'
|
49
|
+
require 'mux_ruby/models/incident_breakdown'
|
50
|
+
require 'mux_ruby/models/incident_notification'
|
51
|
+
require 'mux_ruby/models/incident_notification_rule'
|
52
|
+
require 'mux_ruby/models/incident_response'
|
36
53
|
require 'mux_ruby/models/input_file'
|
37
54
|
require 'mux_ruby/models/input_info'
|
38
55
|
require 'mux_ruby/models/input_settings'
|
@@ -43,22 +60,35 @@ require 'mux_ruby/models/list_all_metric_values_response'
|
|
43
60
|
require 'mux_ruby/models/list_assets_response'
|
44
61
|
require 'mux_ruby/models/list_breakdown_values_response'
|
45
62
|
require 'mux_ruby/models/list_delivery_usage_response'
|
63
|
+
require 'mux_ruby/models/list_dimension_values_response'
|
64
|
+
require 'mux_ruby/models/list_dimensions_response'
|
46
65
|
require 'mux_ruby/models/list_errors_response'
|
47
66
|
require 'mux_ruby/models/list_exports_response'
|
48
67
|
require 'mux_ruby/models/list_filter_values_response'
|
49
68
|
require 'mux_ruby/models/list_filters_response'
|
50
69
|
require 'mux_ruby/models/list_filters_response_data'
|
70
|
+
require 'mux_ruby/models/list_incidents_response'
|
51
71
|
require 'mux_ruby/models/list_insights_response'
|
52
72
|
require 'mux_ruby/models/list_live_streams_response'
|
73
|
+
require 'mux_ruby/models/list_real_time_dimensions_response'
|
74
|
+
require 'mux_ruby/models/list_real_time_dimensions_response_data'
|
75
|
+
require 'mux_ruby/models/list_real_time_metrics_response'
|
76
|
+
require 'mux_ruby/models/list_related_incidents_response'
|
53
77
|
require 'mux_ruby/models/list_signing_keys_response'
|
54
78
|
require 'mux_ruby/models/list_uploads_response'
|
55
79
|
require 'mux_ruby/models/list_video_views_response'
|
56
80
|
require 'mux_ruby/models/live_stream'
|
57
81
|
require 'mux_ruby/models/live_stream_response'
|
58
82
|
require 'mux_ruby/models/metric'
|
83
|
+
require 'mux_ruby/models/notification_rule'
|
59
84
|
require 'mux_ruby/models/overall_values'
|
60
85
|
require 'mux_ruby/models/playback_id'
|
61
86
|
require 'mux_ruby/models/playback_policy'
|
87
|
+
require 'mux_ruby/models/real_time_breakdown_value'
|
88
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_bucket'
|
89
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_bucket_values'
|
90
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_datapoint'
|
91
|
+
require 'mux_ruby/models/real_time_timeseries_datapoint'
|
62
92
|
require 'mux_ruby/models/score'
|
63
93
|
require 'mux_ruby/models/signal_live_stream_complete_response'
|
64
94
|
require 'mux_ruby/models/signing_key'
|
@@ -78,12 +108,16 @@ require 'mux_ruby/models/video_view_response'
|
|
78
108
|
# APIs
|
79
109
|
require 'mux_ruby/api/assets_api'
|
80
110
|
require 'mux_ruby/api/delivery_usage_api'
|
111
|
+
require 'mux_ruby/api/dimensions_api'
|
81
112
|
require 'mux_ruby/api/direct_uploads_api'
|
82
113
|
require 'mux_ruby/api/errors_api'
|
83
114
|
require 'mux_ruby/api/exports_api'
|
84
115
|
require 'mux_ruby/api/filters_api'
|
116
|
+
require 'mux_ruby/api/incidents_api'
|
85
117
|
require 'mux_ruby/api/live_streams_api'
|
86
118
|
require 'mux_ruby/api/metrics_api'
|
119
|
+
require 'mux_ruby/api/playback_id_api'
|
120
|
+
require 'mux_ruby/api/real_time_api'
|
87
121
|
require 'mux_ruby/api/url_signing_keys_api'
|
88
122
|
require 'mux_ruby/api/video_views_api'
|
89
123
|
|
@@ -186,6 +186,7 @@ module MuxRuby
|
|
186
186
|
end
|
187
187
|
|
188
188
|
# Delete an asset
|
189
|
+
# Deletes a video asset and all its data
|
189
190
|
# @param asset_id The asset ID.
|
190
191
|
# @param [Hash] opts the optional parameters
|
191
192
|
# @return [nil]
|
@@ -195,6 +196,7 @@ module MuxRuby
|
|
195
196
|
end
|
196
197
|
|
197
198
|
# Delete an asset
|
199
|
+
# Deletes a video asset and all its data
|
198
200
|
# @param asset_id The asset ID.
|
199
201
|
# @param [Hash] opts the optional parameters
|
200
202
|
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
@@ -505,6 +507,7 @@ module MuxRuby
|
|
505
507
|
end
|
506
508
|
|
507
509
|
# List assets
|
510
|
+
# List all Mux assets.
|
508
511
|
# @param [Hash] opts the optional parameters
|
509
512
|
# @option opts [Integer] :limit Number of items to include in the response (default to 25)
|
510
513
|
# @option opts [Integer] :page Offset by this many pages, of the size of `limit` (default to 1)
|
@@ -515,6 +518,7 @@ module MuxRuby
|
|
515
518
|
end
|
516
519
|
|
517
520
|
# List assets
|
521
|
+
# List all Mux assets.
|
518
522
|
# @param [Hash] opts the optional parameters
|
519
523
|
# @option opts [Integer] :limit Number of items to include in the response
|
520
524
|
# @option opts [Integer] :page Offset by this many pages, of the size of `limit`
|
@@ -0,0 +1,128 @@
|
|
1
|
+
=begin
|
2
|
+
# Mux Ruby - Copyright 2019 Mux Inc.
|
3
|
+
# NOTE: This file is auto generated. Do not edit this file manually.
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'uri'
|
7
|
+
|
8
|
+
module MuxRuby
|
9
|
+
class DimensionsApi
|
10
|
+
attr_accessor :api_client
|
11
|
+
|
12
|
+
def initialize(api_client = ApiClient.default)
|
13
|
+
@api_client = api_client
|
14
|
+
end
|
15
|
+
# Lists the values for a specific dimension
|
16
|
+
# Lists the values for a dimension along with a total count of related views. Note: This API replaces the list-filter-values API call.
|
17
|
+
# @param dimension_id ID of the Dimension
|
18
|
+
# @param [Hash] opts the optional parameters
|
19
|
+
# @option opts [Integer] :limit Number of items to include in the response (default to 25)
|
20
|
+
# @option opts [Integer] :page Offset by this many pages, of the size of `limit` (default to 1)
|
21
|
+
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
|
22
|
+
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
|
23
|
+
# @return [ListDimensionValuesResponse]
|
24
|
+
def list_dimension_values(dimension_id, opts = {})
|
25
|
+
data, _status_code, _headers = list_dimension_values_with_http_info(dimension_id, opts)
|
26
|
+
data
|
27
|
+
end
|
28
|
+
|
29
|
+
# Lists the values for a specific dimension
|
30
|
+
# Lists the values for a dimension along with a total count of related views. Note: This API replaces the list-filter-values API call.
|
31
|
+
# @param dimension_id ID of the Dimension
|
32
|
+
# @param [Hash] opts the optional parameters
|
33
|
+
# @option opts [Integer] :limit Number of items to include in the response
|
34
|
+
# @option opts [Integer] :page Offset by this many pages, of the size of `limit`
|
35
|
+
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
|
36
|
+
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
|
37
|
+
# @return [Array<(ListDimensionValuesResponse, Fixnum, Hash)>] ListDimensionValuesResponse data, response status code and response headers
|
38
|
+
def list_dimension_values_with_http_info(dimension_id, opts = {})
|
39
|
+
if @api_client.config.debugging
|
40
|
+
@api_client.config.logger.debug 'Calling API: DimensionsApi.list_dimension_values ...'
|
41
|
+
end
|
42
|
+
# verify the required parameter 'dimension_id' is set
|
43
|
+
if @api_client.config.client_side_validation && dimension_id.nil?
|
44
|
+
fail ArgumentError, "Missing the required parameter 'dimension_id' when calling DimensionsApi.list_dimension_values"
|
45
|
+
end
|
46
|
+
# resource path
|
47
|
+
local_var_path = '/data/v1/dimensions/{DIMENSION_ID}'.sub('{' + 'DIMENSION_ID' + '}', dimension_id.to_s)
|
48
|
+
|
49
|
+
# query parameters
|
50
|
+
query_params = {}
|
51
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
52
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
53
|
+
query_params[:'filters[]'] = @api_client.build_collection_param(opts[:'filters'], :multi) if !opts[:'filters'].nil?
|
54
|
+
query_params[:'timeframe[]'] = @api_client.build_collection_param(opts[:'timeframe'], :multi) if !opts[:'timeframe'].nil?
|
55
|
+
|
56
|
+
# header parameters
|
57
|
+
header_params = {}
|
58
|
+
# HTTP header 'Accept' (if needed)
|
59
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
60
|
+
|
61
|
+
# form parameters
|
62
|
+
form_params = {}
|
63
|
+
|
64
|
+
# http body (model)
|
65
|
+
post_body = nil
|
66
|
+
auth_names = ['accessToken']
|
67
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
68
|
+
:header_params => header_params,
|
69
|
+
:query_params => query_params,
|
70
|
+
:form_params => form_params,
|
71
|
+
:body => post_body,
|
72
|
+
:auth_names => auth_names,
|
73
|
+
:return_type => 'ListDimensionValuesResponse')
|
74
|
+
if @api_client.config.debugging
|
75
|
+
@api_client.config.logger.debug "API called: DimensionsApi#list_dimension_values\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
76
|
+
end
|
77
|
+
return data, status_code, headers
|
78
|
+
end
|
79
|
+
|
80
|
+
# List Dimensions
|
81
|
+
# List all available dimensions. Note: This API replaces the list-filters API call.
|
82
|
+
# @param [Hash] opts the optional parameters
|
83
|
+
# @return [ListDimensionsResponse]
|
84
|
+
def list_dimensions(opts = {})
|
85
|
+
data, _status_code, _headers = list_dimensions_with_http_info(opts)
|
86
|
+
data
|
87
|
+
end
|
88
|
+
|
89
|
+
# List Dimensions
|
90
|
+
# List all available dimensions. Note: This API replaces the list-filters API call.
|
91
|
+
# @param [Hash] opts the optional parameters
|
92
|
+
# @return [Array<(ListDimensionsResponse, Fixnum, Hash)>] ListDimensionsResponse data, response status code and response headers
|
93
|
+
def list_dimensions_with_http_info(opts = {})
|
94
|
+
if @api_client.config.debugging
|
95
|
+
@api_client.config.logger.debug 'Calling API: DimensionsApi.list_dimensions ...'
|
96
|
+
end
|
97
|
+
# resource path
|
98
|
+
local_var_path = '/data/v1/dimensions'
|
99
|
+
|
100
|
+
# query parameters
|
101
|
+
query_params = {}
|
102
|
+
|
103
|
+
# header parameters
|
104
|
+
header_params = {}
|
105
|
+
# HTTP header 'Accept' (if needed)
|
106
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
107
|
+
|
108
|
+
# form parameters
|
109
|
+
form_params = {}
|
110
|
+
|
111
|
+
# http body (model)
|
112
|
+
post_body = nil
|
113
|
+
auth_names = ['accessToken']
|
114
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
115
|
+
:header_params => header_params,
|
116
|
+
:query_params => query_params,
|
117
|
+
:form_params => form_params,
|
118
|
+
:body => post_body,
|
119
|
+
:auth_names => auth_names,
|
120
|
+
:return_type => 'ListDimensionsResponse')
|
121
|
+
if @api_client.config.debugging
|
122
|
+
@api_client.config.logger.debug "API called: DimensionsApi#list_dimensions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
123
|
+
end
|
124
|
+
return data, status_code, headers
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
128
|
+
end
|