livepeer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/lib/livepeer.rb +96 -0
  3. data/lib/sdk/access_control.rb +195 -0
  4. data/lib/sdk/asset.rb +248 -0
  5. data/lib/sdk/metrics.rb +158 -0
  6. data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
  7. data/lib/sdk/models/operations/createsigningkey.rb +35 -0
  8. data/lib/sdk/models/operations/createstream.rb +34 -0
  9. data/lib/sdk/models/operations/createwebhook.rb +35 -0
  10. data/lib/sdk/models/operations/deleteasset.rb +45 -0
  11. data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
  12. data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
  13. data/lib/sdk/models/operations/deletestream.rb +45 -0
  14. data/lib/sdk/models/operations/deletewebhook.rb +49 -0
  15. data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
  16. data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
  17. data/lib/sdk/models/operations/getasset.rb +49 -0
  18. data/lib/sdk/models/operations/getassets.rb +34 -0
  19. data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
  20. data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
  21. data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
  22. data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
  23. data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
  24. data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
  25. data/lib/sdk/models/operations/getsession.rb +49 -0
  26. data/lib/sdk/models/operations/getsessions.rb +34 -0
  27. data/lib/sdk/models/operations/getsigningkey.rb +49 -0
  28. data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
  29. data/lib/sdk/models/operations/getstream.rb +49 -0
  30. data/lib/sdk/models/operations/getstreams.rb +48 -0
  31. data/lib/sdk/models/operations/gettask.rb +49 -0
  32. data/lib/sdk/models/operations/gettasks.rb +34 -0
  33. data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
  34. data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
  35. data/lib/sdk/models/operations/getwebhook.rb +49 -0
  36. data/lib/sdk/models/operations/getwebhooks.rb +34 -0
  37. data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
  38. data/lib/sdk/models/operations/post_clip.rb +66 -0
  39. data/lib/sdk/models/operations/requestupload.rb +72 -0
  40. data/lib/sdk/models/operations/transcode.rb +35 -0
  41. data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
  42. data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
  43. data/lib/sdk/models/operations/updatestream.rb +49 -0
  44. data/lib/sdk/models/operations/updatewebhook.rb +49 -0
  45. data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
  46. data/lib/sdk/models/shared/asset.rb +312 -0
  47. data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
  48. data/lib/sdk/models/shared/attestation.rb +178 -0
  49. data/lib/sdk/models/shared/clip_payload.rb +37 -0
  50. data/lib/sdk/models/shared/encryption.rb +25 -0
  51. data/lib/sdk/models/shared/encryption_output.rb +21 -0
  52. data/lib/sdk/models/shared/error.rb +25 -0
  53. data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
  54. data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
  55. data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
  56. data/lib/sdk/models/shared/multistream.rb +75 -0
  57. data/lib/sdk/models/shared/multistream_target.rb +36 -0
  58. data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
  59. data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
  60. data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
  61. data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
  62. data/lib/sdk/models/shared/nftmetadata.rb +24 -0
  63. data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
  64. data/lib/sdk/models/shared/playback_info.rb +115 -0
  65. data/lib/sdk/models/shared/playback_policy.rb +41 -0
  66. data/lib/sdk/models/shared/security.rb +25 -0
  67. data/lib/sdk/models/shared/session.rb +99 -0
  68. data/lib/sdk/models/shared/signing_key.rb +40 -0
  69. data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
  70. data/lib/sdk/models/shared/storage.rb +28 -0
  71. data/lib/sdk/models/shared/storage_status.rb +70 -0
  72. data/lib/sdk/models/shared/stream.rb +142 -0
  73. data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
  74. data/lib/sdk/models/shared/task.rb +626 -0
  75. data/lib/sdk/models/shared/upload.rb +34 -0
  76. data/lib/sdk/models/shared/upload_output.rb +34 -0
  77. data/lib/sdk/models/shared/usage_metric.rb +38 -0
  78. data/lib/sdk/models/shared/viewership_metric.rb +97 -0
  79. data/lib/sdk/models/shared/webhook.rb +112 -0
  80. data/lib/sdk/multistream_target.rb +205 -0
  81. data/lib/sdk/playback.rb +63 -0
  82. data/lib/sdk/sdk.rb +89 -0
  83. data/lib/sdk/sdkconfiguration.rb +54 -0
  84. data/lib/sdk/session.rb +166 -0
  85. data/lib/sdk/stream.rb +290 -0
  86. data/lib/sdk/task.rb +87 -0
  87. data/lib/sdk/transcode.rb +59 -0
  88. data/lib/sdk/utils/metadata_fields.rb +154 -0
  89. data/lib/sdk/utils/utils.rb +774 -0
  90. data/lib/sdk/webhook.rb +192 -0
  91. metadata +260 -0
@@ -0,0 +1,142 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+ require_relative '../shared/playback_policy'
9
+
10
+ module Livepeer
11
+ module Shared
12
+
13
+ class StreamTargets < Livepeer::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+ # Name of the transcoding profile that should be sent. Use
17
+ # "source" for pushing the source stream data
18
+ #
19
+ field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
20
+ # ID of the multistream target object where to push this stream
21
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
22
+ # If true, the stream audio will be muted, and only silent
23
+ # video will be pushed to the target.
24
+ #
25
+ field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
26
+
27
+
28
+ sig { params(profile: String, id: T.nilable(String), video_only: T.nilable(T::Boolean)).void }
29
+ def initialize(profile: nil, id: nil, video_only: nil)
30
+ @profile = profile
31
+ @id = id
32
+ @video_only = video_only
33
+ end
34
+ end
35
+
36
+
37
+ class StreamMultistream < Livepeer::Utils::FieldAugmented
38
+ extend T::Sig
39
+
40
+ # References to targets where this stream will be simultaneously
41
+ # streamed to
42
+ #
43
+ field :targets, T.nilable(T::Array[Shared::StreamTargets]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
44
+
45
+
46
+ sig { params(targets: T.nilable(T::Array[Shared::StreamTargets])).void }
47
+ def initialize(targets: nil)
48
+ @targets = targets
49
+ end
50
+ end
51
+
52
+
53
+ class Stream < Livepeer::Utils::FieldAugmented
54
+ extend T::Sig
55
+
56
+
57
+ field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
58
+ # Timestamp (in milliseconds) at which the stream object was created
59
+ field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
60
+ # Name of the token used to create this object
61
+ field :created_by_token_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdByTokenName') } }
62
+
63
+ field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
64
+
65
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
66
+ # Rate at which sourceBytes increases (bytes/second)
67
+ field :ingest_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ingestRate') } }
68
+ # If currently active
69
+ field :is_active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('isActive') } }
70
+ # Indicates whether the stream is healthy or not.
71
+ field :is_healthy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('isHealthy') } }
72
+ # A string array of human-readable errors describing issues affecting
73
+ # the stream, if any.
74
+ #
75
+ field :issues, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('issues') } }
76
+
77
+ field :last_seen, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('lastSeen') } }
78
+
79
+ field :multistream, T.nilable(Shared::StreamMultistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
80
+ # Rate at which transcodedBytes increases (bytes/second)
81
+ field :outgoing_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('outgoingRate') } }
82
+ # Points to the parent stream object
83
+ field :parent_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('parentId') } }
84
+ # Used to form playback URL
85
+ field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
86
+ # Whether the playback policy for a asset or stream is public or signed
87
+ field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
88
+
89
+ field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
90
+ # Should this stream be recorded? Uses default settings. For more
91
+ # customization, create and configure an object store.
92
+ #
93
+ field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
94
+
95
+ field :source_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceBytes') } }
96
+
97
+ field :source_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegments') } }
98
+ # Duration of all the source segments, sec
99
+ field :source_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegmentsDuration') } }
100
+ # Used to form the RTMP ingest URL
101
+ field :stream_key, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('streamKey') } }
102
+ # If currently suspended
103
+ field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
104
+
105
+ field :transcoded_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedBytes') } }
106
+
107
+ field :transcoded_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegments') } }
108
+ # Duration of all the transcoded segments, sec
109
+ field :transcoded_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegmentsDuration') } }
110
+
111
+
112
+ sig { params(name: String, created_at: T.nilable(Float), created_by_token_name: T.nilable(String), creator_id: T.nilable(Object), id: T.nilable(String), ingest_rate: T.nilable(Float), is_active: T.nilable(T::Boolean), is_healthy: T.nilable(T::Boolean), issues: T.nilable(T::Array[String]), last_seen: T.nilable(Float), multistream: T.nilable(Shared::StreamMultistream), outgoing_rate: T.nilable(Float), parent_id: T.nilable(String), playback_id: T.nilable(String), playback_policy: T.nilable(Shared::PlaybackPolicy), profiles: T.nilable(T::Array[Shared::FfmpegProfile]), record: T.nilable(T::Boolean), source_bytes: T.nilable(Float), source_segments: T.nilable(Float), source_segments_duration: T.nilable(Float), stream_key: T.nilable(String), suspended: T.nilable(T::Boolean), transcoded_bytes: T.nilable(Float), transcoded_segments: T.nilable(Float), transcoded_segments_duration: T.nilable(Float)).void }
113
+ def initialize(name: nil, created_at: nil, created_by_token_name: nil, creator_id: nil, id: nil, ingest_rate: nil, is_active: nil, is_healthy: nil, issues: nil, last_seen: nil, multistream: nil, outgoing_rate: nil, parent_id: nil, playback_id: nil, playback_policy: nil, profiles: nil, record: nil, source_bytes: nil, source_segments: nil, source_segments_duration: nil, stream_key: nil, suspended: nil, transcoded_bytes: nil, transcoded_segments: nil, transcoded_segments_duration: nil)
114
+ @name = name
115
+ @created_at = created_at
116
+ @created_by_token_name = created_by_token_name
117
+ @creator_id = creator_id
118
+ @id = id
119
+ @ingest_rate = ingest_rate
120
+ @is_active = is_active
121
+ @is_healthy = is_healthy
122
+ @issues = issues
123
+ @last_seen = last_seen
124
+ @multistream = multistream
125
+ @outgoing_rate = outgoing_rate
126
+ @parent_id = parent_id
127
+ @playback_id = playback_id
128
+ @playback_policy = playback_policy
129
+ @profiles = profiles
130
+ @record = record
131
+ @source_bytes = source_bytes
132
+ @source_segments = source_segments
133
+ @source_segments_duration = source_segments_duration
134
+ @stream_key = stream_key
135
+ @suspended = suspended
136
+ @transcoded_bytes = transcoded_bytes
137
+ @transcoded_segments = transcoded_segments
138
+ @transcoded_segments_duration = transcoded_segments_duration
139
+ end
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+ require_relative '../shared/multistream'
9
+ require_relative '../shared/playback_policy'
10
+
11
+ module Livepeer
12
+ module Shared
13
+
14
+ class StreamPatchPayload < Livepeer::Utils::FieldAugmented
15
+ extend T::Sig
16
+
17
+
18
+ field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
19
+
20
+ field :multistream, T.nilable(Shared::Multistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
21
+ # Whether the playback policy for a asset or stream is public or signed
22
+ field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
23
+ # Should this stream be recorded? Uses default settings. For more
24
+ # customization, create and configure an object store.
25
+ #
26
+ field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
27
+ # If currently suspended
28
+ field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
29
+
30
+
31
+ sig { params(creator_id: T.nilable(Object), multistream: T.nilable(Shared::Multistream), playback_policy: T.nilable(Shared::PlaybackPolicy), record: T.nilable(T::Boolean), suspended: T.nilable(T::Boolean)).void }
32
+ def initialize(creator_id: nil, multistream: nil, playback_policy: nil, record: nil, suspended: nil)
33
+ @creator_id = creator_id
34
+ @multistream = multistream
35
+ @playback_policy = playback_policy
36
+ @record = record
37
+ @suspended = suspended
38
+ end
39
+ end
40
+ end
41
+ end