twilio-ruby 5.59.0 → 5.60.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,221 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Media < Domain
12
+ class V1 < Version
13
+ class PlayerStreamerContext < InstanceContext
14
+ class PlaybackGrantList < ListResource
15
+ ##
16
+ # Initialize the PlaybackGrantList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] sid The unique string generated to identify the PlayerStreamer
19
+ # resource that this PlaybackGrant authorizes views for.
20
+ # @return [PlaybackGrantList] PlaybackGrantList
21
+ def initialize(version, sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {sid: sid}
26
+ end
27
+
28
+ ##
29
+ # Provide a user friendly representation
30
+ def to_s
31
+ '#<Twilio.Media.V1.PlaybackGrantList>'
32
+ end
33
+ end
34
+
35
+ class PlaybackGrantPage < Page
36
+ ##
37
+ # Initialize the PlaybackGrantPage
38
+ # @param [Version] version Version that contains the resource
39
+ # @param [Response] response Response from the API
40
+ # @param [Hash] solution Path solution for the resource
41
+ # @return [PlaybackGrantPage] PlaybackGrantPage
42
+ def initialize(version, response, solution)
43
+ super(version, response)
44
+
45
+ # Path Solution
46
+ @solution = solution
47
+ end
48
+
49
+ ##
50
+ # Build an instance of PlaybackGrantInstance
51
+ # @param [Hash] payload Payload response from the API
52
+ # @return [PlaybackGrantInstance] PlaybackGrantInstance
53
+ def get_instance(payload)
54
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
55
+ end
56
+
57
+ ##
58
+ # Provide a user friendly representation
59
+ def to_s
60
+ '<Twilio.Media.V1.PlaybackGrantPage>'
61
+ end
62
+ end
63
+
64
+ class PlaybackGrantContext < InstanceContext
65
+ ##
66
+ # Initialize the PlaybackGrantContext
67
+ # @param [Version] version Version that contains the resource
68
+ # @param [String] sid The SID of the PlayerStreamer resource to fetch.
69
+ # @return [PlaybackGrantContext] PlaybackGrantContext
70
+ def initialize(version, sid)
71
+ super(version)
72
+
73
+ # Path Solution
74
+ @solution = {sid: sid, }
75
+ @uri = "/PlayerStreamers/#{@solution[:sid]}/PlaybackGrant"
76
+ end
77
+
78
+ ##
79
+ # Create the PlaybackGrantInstance
80
+ # @param [String] ttl The time to live of the PlaybackGrant. Default value is 15
81
+ # seconds. Maximum value is 60 seconds.
82
+ # @param [String] access_control_allow_origin The full origin URL where the
83
+ # livestream can be streamed. If this is not provided, it can be streamed from any
84
+ # domain.
85
+ # @return [PlaybackGrantInstance] Created PlaybackGrantInstance
86
+ def create(ttl: :unset, access_control_allow_origin: :unset)
87
+ data = Twilio::Values.of({'Ttl' => ttl, 'AccessControlAllowOrigin' => access_control_allow_origin, })
88
+
89
+ payload = @version.create('POST', @uri, data: data)
90
+
91
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
92
+ end
93
+
94
+ ##
95
+ # Fetch the PlaybackGrantInstance
96
+ # @return [PlaybackGrantInstance] Fetched PlaybackGrantInstance
97
+ def fetch
98
+ payload = @version.fetch('GET', @uri)
99
+
100
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
101
+ end
102
+
103
+ ##
104
+ # Provide a user friendly representation
105
+ def to_s
106
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
107
+ "#<Twilio.Media.V1.PlaybackGrantContext #{context}>"
108
+ end
109
+
110
+ ##
111
+ # Provide a detailed, user friendly representation
112
+ def inspect
113
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
114
+ "#<Twilio.Media.V1.PlaybackGrantContext #{context}>"
115
+ end
116
+ end
117
+
118
+ class PlaybackGrantInstance < InstanceResource
119
+ ##
120
+ # Initialize the PlaybackGrantInstance
121
+ # @param [Version] version Version that contains the resource
122
+ # @param [Hash] payload payload that contains response from Twilio
123
+ # @param [String] sid The unique string generated to identify the PlayerStreamer
124
+ # resource that this PlaybackGrant authorizes views for.
125
+ # @return [PlaybackGrantInstance] PlaybackGrantInstance
126
+ def initialize(version, payload, sid: nil)
127
+ super(version)
128
+
129
+ # Marshaled Properties
130
+ @properties = {
131
+ 'sid' => payload['sid'],
132
+ 'url' => payload['url'],
133
+ 'account_sid' => payload['account_sid'],
134
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
135
+ 'grant' => payload['grant'],
136
+ }
137
+
138
+ # Context
139
+ @instance_context = nil
140
+ @params = {'sid' => sid, }
141
+ end
142
+
143
+ ##
144
+ # Generate an instance context for the instance, the context is capable of
145
+ # performing various actions. All instance actions are proxied to the context
146
+ # @return [PlaybackGrantContext] PlaybackGrantContext for this PlaybackGrantInstance
147
+ def context
148
+ unless @instance_context
149
+ @instance_context = PlaybackGrantContext.new(@version, @params['sid'], )
150
+ end
151
+ @instance_context
152
+ end
153
+
154
+ ##
155
+ # @return [String] The unique string that identifies the PlayerStreamer associated with this PlaybackGrant.
156
+ def sid
157
+ @properties['sid']
158
+ end
159
+
160
+ ##
161
+ # @return [String] The absolute URL of the resource
162
+ def url
163
+ @properties['url']
164
+ end
165
+
166
+ ##
167
+ # @return [String] The SID of the Account that created the resource
168
+ def account_sid
169
+ @properties['account_sid']
170
+ end
171
+
172
+ ##
173
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
174
+ def date_created
175
+ @properties['date_created']
176
+ end
177
+
178
+ ##
179
+ # @return [Hash] The grant that authorizes the player sdk to connect to the livestream
180
+ def grant
181
+ @properties['grant']
182
+ end
183
+
184
+ ##
185
+ # Create the PlaybackGrantInstance
186
+ # @param [String] ttl The time to live of the PlaybackGrant. Default value is 15
187
+ # seconds. Maximum value is 60 seconds.
188
+ # @param [String] access_control_allow_origin The full origin URL where the
189
+ # livestream can be streamed. If this is not provided, it can be streamed from any
190
+ # domain.
191
+ # @return [PlaybackGrantInstance] Created PlaybackGrantInstance
192
+ def create(ttl: :unset, access_control_allow_origin: :unset)
193
+ context.create(ttl: ttl, access_control_allow_origin: access_control_allow_origin, )
194
+ end
195
+
196
+ ##
197
+ # Fetch the PlaybackGrantInstance
198
+ # @return [PlaybackGrantInstance] Fetched PlaybackGrantInstance
199
+ def fetch
200
+ context.fetch
201
+ end
202
+
203
+ ##
204
+ # Provide a user friendly representation
205
+ def to_s
206
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
207
+ "<Twilio.Media.V1.PlaybackGrantInstance #{values}>"
208
+ end
209
+
210
+ ##
211
+ # Provide a detailed, user friendly representation
212
+ def inspect
213
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
214
+ "<Twilio.Media.V1.PlaybackGrantInstance #{values}>"
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end
@@ -0,0 +1,390 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Media < Domain
12
+ class V1 < Version
13
+ class PlayerStreamerList < ListResource
14
+ ##
15
+ # Initialize the PlayerStreamerList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [PlayerStreamerList] PlayerStreamerList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/PlayerStreamers"
24
+ end
25
+
26
+ ##
27
+ # Create the PlayerStreamerInstance
28
+ # @param [Boolean] video Specifies whether the PlayerStreamer is configured to
29
+ # stream video. Defaults to `true`.
30
+ # @param [String] status_callback The URL to which Twilio will send asynchronous
31
+ # webhook requests for every PlayerStreamer event. See {Status
32
+ # Callbacks}[/docs/live/status-callbacks] for more details.
33
+ # @param [String] status_callback_method The HTTP method Twilio should use to call
34
+ # the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
35
+ # @return [PlayerStreamerInstance] Created PlayerStreamerInstance
36
+ def create(video: :unset, status_callback: :unset, status_callback_method: :unset)
37
+ data = Twilio::Values.of({
38
+ 'Video' => video,
39
+ 'StatusCallback' => status_callback,
40
+ 'StatusCallbackMethod' => status_callback_method,
41
+ })
42
+
43
+ payload = @version.create('POST', @uri, data: data)
44
+
45
+ PlayerStreamerInstance.new(@version, payload, )
46
+ end
47
+
48
+ ##
49
+ # Lists PlayerStreamerInstance records from the API as a list.
50
+ # Unlike stream(), this operation is eager and will load `limit` records into
51
+ # memory before returning.
52
+ # @param [player_streamer.Order] order The sort order of the list by
53
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
54
+ # the default.
55
+ # @param [player_streamer.Status] status Status to filter by, with possible values
56
+ # `created`, `started`, `ended`, or `failed`.
57
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
58
+ # guarantees to never return more than limit. Default is no limit
59
+ # @param [Integer] page_size Number of records to fetch per request, when
60
+ # not set will use the default value of 50 records. If no page_size is defined
61
+ # but a limit is defined, stream() will attempt to read the limit with the most
62
+ # efficient page size, i.e. min(limit, 1000)
63
+ # @return [Array] Array of up to limit results
64
+ def list(order: :unset, status: :unset, limit: nil, page_size: nil)
65
+ self.stream(order: order, status: status, limit: limit, page_size: page_size).entries
66
+ end
67
+
68
+ ##
69
+ # Streams PlayerStreamerInstance records from the API as an Enumerable.
70
+ # This operation lazily loads records as efficiently as possible until the limit
71
+ # is reached.
72
+ # @param [player_streamer.Order] order The sort order of the list by
73
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
74
+ # the default.
75
+ # @param [player_streamer.Status] status Status to filter by, with possible values
76
+ # `created`, `started`, `ended`, or `failed`.
77
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
78
+ # guarantees to never return more than limit. Default is no limit.
79
+ # @param [Integer] page_size Number of records to fetch per request, when
80
+ # not set will use the default value of 50 records. If no page_size is defined
81
+ # but a limit is defined, stream() will attempt to read the limit with the most
82
+ # efficient page size, i.e. min(limit, 1000)
83
+ # @return [Enumerable] Enumerable that will yield up to limit results
84
+ def stream(order: :unset, status: :unset, limit: nil, page_size: nil)
85
+ limits = @version.read_limits(limit, page_size)
86
+
87
+ page = self.page(order: order, status: status, page_size: limits[:page_size], )
88
+
89
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
90
+ end
91
+
92
+ ##
93
+ # When passed a block, yields PlayerStreamerInstance records from the API.
94
+ # This operation lazily loads records as efficiently as possible until the limit
95
+ # is reached.
96
+ def each
97
+ limits = @version.read_limits
98
+
99
+ page = self.page(page_size: limits[:page_size], )
100
+
101
+ @version.stream(page,
102
+ limit: limits[:limit],
103
+ page_limit: limits[:page_limit]).each {|x| yield x}
104
+ end
105
+
106
+ ##
107
+ # Retrieve a single page of PlayerStreamerInstance records from the API.
108
+ # Request is executed immediately.
109
+ # @param [player_streamer.Order] order The sort order of the list by
110
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
111
+ # the default.
112
+ # @param [player_streamer.Status] status Status to filter by, with possible values
113
+ # `created`, `started`, `ended`, or `failed`.
114
+ # @param [String] page_token PageToken provided by the API
115
+ # @param [Integer] page_number Page Number, this value is simply for client state
116
+ # @param [Integer] page_size Number of records to return, defaults to 50
117
+ # @return [Page] Page of PlayerStreamerInstance
118
+ def page(order: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
119
+ params = Twilio::Values.of({
120
+ 'Order' => order,
121
+ 'Status' => status,
122
+ 'PageToken' => page_token,
123
+ 'Page' => page_number,
124
+ 'PageSize' => page_size,
125
+ })
126
+
127
+ response = @version.page('GET', @uri, params: params)
128
+
129
+ PlayerStreamerPage.new(@version, response, @solution)
130
+ end
131
+
132
+ ##
133
+ # Retrieve a single page of PlayerStreamerInstance records from the API.
134
+ # Request is executed immediately.
135
+ # @param [String] target_url API-generated URL for the requested results page
136
+ # @return [Page] Page of PlayerStreamerInstance
137
+ def get_page(target_url)
138
+ response = @version.domain.request(
139
+ 'GET',
140
+ target_url
141
+ )
142
+ PlayerStreamerPage.new(@version, response, @solution)
143
+ end
144
+
145
+ ##
146
+ # Provide a user friendly representation
147
+ def to_s
148
+ '#<Twilio.Media.V1.PlayerStreamerList>'
149
+ end
150
+ end
151
+
152
+ class PlayerStreamerPage < Page
153
+ ##
154
+ # Initialize the PlayerStreamerPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [PlayerStreamerPage] PlayerStreamerPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+ # Path Solution
163
+ @solution = solution
164
+ end
165
+
166
+ ##
167
+ # Build an instance of PlayerStreamerInstance
168
+ # @param [Hash] payload Payload response from the API
169
+ # @return [PlayerStreamerInstance] PlayerStreamerInstance
170
+ def get_instance(payload)
171
+ PlayerStreamerInstance.new(@version, payload, )
172
+ end
173
+
174
+ ##
175
+ # Provide a user friendly representation
176
+ def to_s
177
+ '<Twilio.Media.V1.PlayerStreamerPage>'
178
+ end
179
+ end
180
+
181
+ class PlayerStreamerContext < InstanceContext
182
+ ##
183
+ # Initialize the PlayerStreamerContext
184
+ # @param [Version] version Version that contains the resource
185
+ # @param [String] sid The SID of the PlayerStreamer resource to fetch.
186
+ # @return [PlayerStreamerContext] PlayerStreamerContext
187
+ def initialize(version, sid)
188
+ super(version)
189
+
190
+ # Path Solution
191
+ @solution = {sid: sid, }
192
+ @uri = "/PlayerStreamers/#{@solution[:sid]}"
193
+
194
+ # Dependents
195
+ @playback_grant = nil
196
+ end
197
+
198
+ ##
199
+ # Fetch the PlayerStreamerInstance
200
+ # @return [PlayerStreamerInstance] Fetched PlayerStreamerInstance
201
+ def fetch
202
+ payload = @version.fetch('GET', @uri)
203
+
204
+ PlayerStreamerInstance.new(@version, payload, sid: @solution[:sid], )
205
+ end
206
+
207
+ ##
208
+ # Update the PlayerStreamerInstance
209
+ # @param [player_streamer.UpdateStatus] status The status the PlayerStreamer
210
+ # should be transitioned to. Can be: `ended`.
211
+ # @return [PlayerStreamerInstance] Updated PlayerStreamerInstance
212
+ def update(status: nil)
213
+ data = Twilio::Values.of({'Status' => status, })
214
+
215
+ payload = @version.update('POST', @uri, data: data)
216
+
217
+ PlayerStreamerInstance.new(@version, payload, sid: @solution[:sid], )
218
+ end
219
+
220
+ ##
221
+ # Access the playback_grant
222
+ # @return [PlaybackGrantList]
223
+ # @return [PlaybackGrantContext]
224
+ def playback_grant
225
+ PlaybackGrantContext.new(@version, @solution[:sid], )
226
+ end
227
+
228
+ ##
229
+ # Provide a user friendly representation
230
+ def to_s
231
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
232
+ "#<Twilio.Media.V1.PlayerStreamerContext #{context}>"
233
+ end
234
+
235
+ ##
236
+ # Provide a detailed, user friendly representation
237
+ def inspect
238
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
239
+ "#<Twilio.Media.V1.PlayerStreamerContext #{context}>"
240
+ end
241
+ end
242
+
243
+ class PlayerStreamerInstance < InstanceResource
244
+ ##
245
+ # Initialize the PlayerStreamerInstance
246
+ # @param [Version] version Version that contains the resource
247
+ # @param [Hash] payload payload that contains response from Twilio
248
+ # @param [String] sid The SID of the PlayerStreamer resource to fetch.
249
+ # @return [PlayerStreamerInstance] PlayerStreamerInstance
250
+ def initialize(version, payload, sid: nil)
251
+ super(version)
252
+
253
+ # Marshaled Properties
254
+ @properties = {
255
+ 'account_sid' => payload['account_sid'],
256
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
257
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
258
+ 'video' => payload['video'],
259
+ 'links' => payload['links'],
260
+ 'sid' => payload['sid'],
261
+ 'status' => payload['status'],
262
+ 'url' => payload['url'],
263
+ 'status_callback' => payload['status_callback'],
264
+ 'status_callback_method' => payload['status_callback_method'],
265
+ 'ended_reason' => payload['ended_reason'],
266
+ }
267
+
268
+ # Context
269
+ @instance_context = nil
270
+ @params = {'sid' => sid || @properties['sid'], }
271
+ end
272
+
273
+ ##
274
+ # Generate an instance context for the instance, the context is capable of
275
+ # performing various actions. All instance actions are proxied to the context
276
+ # @return [PlayerStreamerContext] PlayerStreamerContext for this PlayerStreamerInstance
277
+ def context
278
+ unless @instance_context
279
+ @instance_context = PlayerStreamerContext.new(@version, @params['sid'], )
280
+ end
281
+ @instance_context
282
+ end
283
+
284
+ ##
285
+ # @return [String] The SID of the Account that created the resource
286
+ def account_sid
287
+ @properties['account_sid']
288
+ end
289
+
290
+ ##
291
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
292
+ def date_created
293
+ @properties['date_created']
294
+ end
295
+
296
+ ##
297
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
298
+ def date_updated
299
+ @properties['date_updated']
300
+ end
301
+
302
+ ##
303
+ # @return [Boolean] Whether the PlayerStreamer is configured to stream video
304
+ def video
305
+ @properties['video']
306
+ end
307
+
308
+ ##
309
+ # @return [String] The URLs of related resources
310
+ def links
311
+ @properties['links']
312
+ end
313
+
314
+ ##
315
+ # @return [String] The unique string that identifies the resource
316
+ def sid
317
+ @properties['sid']
318
+ end
319
+
320
+ ##
321
+ # @return [player_streamer.Status] The status of the PlayerStreamer
322
+ def status
323
+ @properties['status']
324
+ end
325
+
326
+ ##
327
+ # @return [String] The absolute URL of the resource
328
+ def url
329
+ @properties['url']
330
+ end
331
+
332
+ ##
333
+ # @return [String] The URL to which Twilio will send PlayerStreamer event updates
334
+ def status_callback
335
+ @properties['status_callback']
336
+ end
337
+
338
+ ##
339
+ # @return [String] The HTTP method Twilio should use to call the `status_callback` URL
340
+ def status_callback_method
341
+ @properties['status_callback_method']
342
+ end
343
+
344
+ ##
345
+ # @return [player_streamer.EndedReason] The reason why a PlayerStreamer ended
346
+ def ended_reason
347
+ @properties['ended_reason']
348
+ end
349
+
350
+ ##
351
+ # Fetch the PlayerStreamerInstance
352
+ # @return [PlayerStreamerInstance] Fetched PlayerStreamerInstance
353
+ def fetch
354
+ context.fetch
355
+ end
356
+
357
+ ##
358
+ # Update the PlayerStreamerInstance
359
+ # @param [player_streamer.UpdateStatus] status The status the PlayerStreamer
360
+ # should be transitioned to. Can be: `ended`.
361
+ # @return [PlayerStreamerInstance] Updated PlayerStreamerInstance
362
+ def update(status: nil)
363
+ context.update(status: status, )
364
+ end
365
+
366
+ ##
367
+ # Access the playback_grant
368
+ # @return [playback_grant] playback_grant
369
+ def playback_grant
370
+ context.playback_grant
371
+ end
372
+
373
+ ##
374
+ # Provide a user friendly representation
375
+ def to_s
376
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
377
+ "<Twilio.Media.V1.PlayerStreamerInstance #{values}>"
378
+ end
379
+
380
+ ##
381
+ # Provide a detailed, user friendly representation
382
+ def inspect
383
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
384
+ "<Twilio.Media.V1.PlayerStreamerInstance #{values}>"
385
+ end
386
+ end
387
+ end
388
+ end
389
+ end
390
+ end
@@ -0,0 +1,60 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Media
12
+ class V1 < Version
13
+ ##
14
+ # Initialize the V1 version of Media
15
+ def initialize(domain)
16
+ super
17
+ @version = 'v1'
18
+ @media_processor = nil
19
+ @player_streamer = nil
20
+ end
21
+
22
+ ##
23
+ # @param [String] sid The SID of the MediaProcessor resource to fetch.
24
+ # @return [Twilio::REST::Media::V1::MediaProcessorContext] if sid was passed.
25
+ # @return [Twilio::REST::Media::V1::MediaProcessorList]
26
+ def media_processor(sid=:unset)
27
+ if sid.nil?
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ end
30
+ if sid == :unset
31
+ @media_processor ||= MediaProcessorList.new self
32
+ else
33
+ MediaProcessorContext.new(self, sid)
34
+ end
35
+ end
36
+
37
+ ##
38
+ # @param [String] sid The SID of the PlayerStreamer resource to fetch.
39
+ # @return [Twilio::REST::Media::V1::PlayerStreamerContext] if sid was passed.
40
+ # @return [Twilio::REST::Media::V1::PlayerStreamerList]
41
+ def player_streamer(sid=:unset)
42
+ if sid.nil?
43
+ raise ArgumentError, 'sid cannot be nil'
44
+ end
45
+ if sid == :unset
46
+ @player_streamer ||= PlayerStreamerList.new self
47
+ else
48
+ PlayerStreamerContext.new(self, sid)
49
+ end
50
+ end
51
+
52
+ ##
53
+ # Provide a user friendly representation
54
+ def to_s
55
+ '<Twilio::REST::Media::V1>'
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end