twilio-ruby 5.41.0 → 5.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +99 -0
  3. data/{LICENSE.md → LICENSE} +0 -0
  4. data/PULL_REQUEST_TEMPLATE.md +3 -3
  5. data/README.md +18 -2
  6. data/lib/twilio-ruby.rb +1 -1
  7. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  14. data/lib/twilio-ruby/rest/client.rb +29 -3
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  16. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  17. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  18. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
  19. data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
  20. data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
  21. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  22. data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
  23. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  24. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
  25. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  26. data/lib/twilio-ruby/rest/insights.rb +8 -0
  27. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  28. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  29. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  30. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  31. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  32. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  33. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  34. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  35. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  36. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  37. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  38. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  39. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  40. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  41. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  42. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  43. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  44. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  45. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  46. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  47. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  48. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  49. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  50. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  51. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  52. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  53. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  54. data/lib/twilio-ruby/rest/preview.rb +0 -21
  55. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  56. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  57. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
  58. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  59. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  60. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  61. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
  62. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
  63. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  64. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  65. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  66. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  67. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  68. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  69. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  70. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
  71. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
  72. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
  73. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
  74. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
  75. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
  76. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  77. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  78. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  79. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  80. data/lib/twilio-ruby/rest/verify/v2/service.rb +3 -3
  81. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  82. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
  83. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +27 -49
  84. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +24 -42
  85. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  86. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  87. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  88. data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
  89. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  90. data/lib/twilio-ruby/twiml/voice_response.rb +8 -4
  91. data/lib/twilio-ruby/util/configuration.rb +5 -1
  92. data/lib/twilio-ruby/version.rb +1 -1
  93. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  94. data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
  95. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  96. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  97. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  98. data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
  99. data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
  100. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
  101. data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
  102. data/spec/integration/conversations/v1/user_spec.rb +9 -4
  103. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  104. data/spec/integration/events/v1/subscription_spec.rb +49 -0
  105. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  106. data/spec/integration/insights/v1/room_spec.rb +164 -0
  107. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  108. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  109. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  110. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  111. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  112. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  113. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  114. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  115. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  116. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  117. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  118. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  119. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  120. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  121. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  122. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  123. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  124. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  125. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  126. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  127. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  128. data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
  129. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  130. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
  131. data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
  132. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +4 -12
  133. data/spec/integration/verify/v2/service/entity/factor_spec.rb +5 -15
  134. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  135. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  136. data/spec/integration/video/v1/room_spec.rb +10 -5
  137. data/spec/jwt/access_token_spec.rb +9 -1
  138. data/spec/rest/client_spec.rb +24 -2
  139. data/twilio-ruby.gemspec +2 -1
  140. metadata +30 -19
  141. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  142. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
  143. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  144. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  145. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  146. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  147. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  148. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  149. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
  150. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
@@ -0,0 +1,378 @@
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 Insights < Domain
12
+ class V1 < Version
13
+ class RoomContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class ParticipantList < ListResource
17
+ ##
18
+ # Initialize the ParticipantList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] room_sid The room_sid
21
+ # @return [ParticipantList] ParticipantList
22
+ def initialize(version, room_sid: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {room_sid: room_sid}
27
+ @uri = "/Video/Rooms/#{@solution[:room_sid]}/Participants"
28
+ end
29
+
30
+ ##
31
+ # Lists ParticipantInstance records from the API as a list.
32
+ # Unlike stream(), this operation is eager and will load `limit` records into
33
+ # memory before returning.
34
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
35
+ # guarantees to never return more than limit. Default is no limit
36
+ # @param [Integer] page_size Number of records to fetch per request, when
37
+ # not set will use the default value of 50 records. If no page_size is defined
38
+ # but a limit is defined, stream() will attempt to read the limit with the most
39
+ # efficient page size, i.e. min(limit, 1000)
40
+ # @return [Array] Array of up to limit results
41
+ def list(limit: nil, page_size: nil)
42
+ self.stream(limit: limit, page_size: page_size).entries
43
+ end
44
+
45
+ ##
46
+ # Streams ParticipantInstance records from the API as an Enumerable.
47
+ # This operation lazily loads records as efficiently as possible until the limit
48
+ # is reached.
49
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
50
+ # guarantees to never return more than limit. Default is no limit.
51
+ # @param [Integer] page_size Number of records to fetch per request, when
52
+ # not set will use the default value of 50 records. If no page_size is defined
53
+ # but a limit is defined, stream() will attempt to read the limit with the most
54
+ # efficient page size, i.e. min(limit, 1000)
55
+ # @return [Enumerable] Enumerable that will yield up to limit results
56
+ def stream(limit: nil, page_size: nil)
57
+ limits = @version.read_limits(limit, page_size)
58
+
59
+ page = self.page(page_size: limits[:page_size], )
60
+
61
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
62
+ end
63
+
64
+ ##
65
+ # When passed a block, yields ParticipantInstance records from the API.
66
+ # This operation lazily loads records as efficiently as possible until the limit
67
+ # is reached.
68
+ def each
69
+ limits = @version.read_limits
70
+
71
+ page = self.page(page_size: limits[:page_size], )
72
+
73
+ @version.stream(page,
74
+ limit: limits[:limit],
75
+ page_limit: limits[:page_limit]).each {|x| yield x}
76
+ end
77
+
78
+ ##
79
+ # Retrieve a single page of ParticipantInstance records from the API.
80
+ # Request is executed immediately.
81
+ # @param [String] page_token PageToken provided by the API
82
+ # @param [Integer] page_number Page Number, this value is simply for client state
83
+ # @param [Integer] page_size Number of records to return, defaults to 50
84
+ # @return [Page] Page of ParticipantInstance
85
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
86
+ params = Twilio::Values.of({
87
+ 'PageToken' => page_token,
88
+ 'Page' => page_number,
89
+ 'PageSize' => page_size,
90
+ })
91
+
92
+ response = @version.page('GET', @uri, params: params)
93
+
94
+ ParticipantPage.new(@version, response, @solution)
95
+ end
96
+
97
+ ##
98
+ # Retrieve a single page of ParticipantInstance records from the API.
99
+ # Request is executed immediately.
100
+ # @param [String] target_url API-generated URL for the requested results page
101
+ # @return [Page] Page of ParticipantInstance
102
+ def get_page(target_url)
103
+ response = @version.domain.request(
104
+ 'GET',
105
+ target_url
106
+ )
107
+ ParticipantPage.new(@version, response, @solution)
108
+ end
109
+
110
+ ##
111
+ # Provide a user friendly representation
112
+ def to_s
113
+ '#<Twilio.Insights.V1.ParticipantList>'
114
+ end
115
+ end
116
+
117
+ ##
118
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
119
+ class ParticipantPage < Page
120
+ ##
121
+ # Initialize the ParticipantPage
122
+ # @param [Version] version Version that contains the resource
123
+ # @param [Response] response Response from the API
124
+ # @param [Hash] solution Path solution for the resource
125
+ # @return [ParticipantPage] ParticipantPage
126
+ def initialize(version, response, solution)
127
+ super(version, response)
128
+
129
+ # Path Solution
130
+ @solution = solution
131
+ end
132
+
133
+ ##
134
+ # Build an instance of ParticipantInstance
135
+ # @param [Hash] payload Payload response from the API
136
+ # @return [ParticipantInstance] ParticipantInstance
137
+ def get_instance(payload)
138
+ ParticipantInstance.new(@version, payload, room_sid: @solution[:room_sid], )
139
+ end
140
+
141
+ ##
142
+ # Provide a user friendly representation
143
+ def to_s
144
+ '<Twilio.Insights.V1.ParticipantPage>'
145
+ end
146
+ end
147
+
148
+ ##
149
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
150
+ class ParticipantContext < InstanceContext
151
+ ##
152
+ # Initialize the ParticipantContext
153
+ # @param [Version] version Version that contains the resource
154
+ # @param [String] room_sid The room_sid
155
+ # @param [String] participant_sid The participant_sid
156
+ # @return [ParticipantContext] ParticipantContext
157
+ def initialize(version, room_sid, participant_sid)
158
+ super(version)
159
+
160
+ # Path Solution
161
+ @solution = {room_sid: room_sid, participant_sid: participant_sid, }
162
+ @uri = "/Video/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:participant_sid]}"
163
+ end
164
+
165
+ ##
166
+ # Fetch the ParticipantInstance
167
+ # @return [ParticipantInstance] Fetched ParticipantInstance
168
+ def fetch
169
+ payload = @version.fetch('GET', @uri)
170
+
171
+ ParticipantInstance.new(
172
+ @version,
173
+ payload,
174
+ room_sid: @solution[:room_sid],
175
+ participant_sid: @solution[:participant_sid],
176
+ )
177
+ end
178
+
179
+ ##
180
+ # Provide a user friendly representation
181
+ def to_s
182
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
183
+ "#<Twilio.Insights.V1.ParticipantContext #{context}>"
184
+ end
185
+
186
+ ##
187
+ # Provide a detailed, user friendly representation
188
+ def inspect
189
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
190
+ "#<Twilio.Insights.V1.ParticipantContext #{context}>"
191
+ end
192
+ end
193
+
194
+ ##
195
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
196
+ class ParticipantInstance < InstanceResource
197
+ ##
198
+ # Initialize the ParticipantInstance
199
+ # @param [Version] version Version that contains the resource
200
+ # @param [Hash] payload payload that contains response from Twilio
201
+ # @param [String] room_sid The room_sid
202
+ # @param [String] participant_sid The participant_sid
203
+ # @return [ParticipantInstance] ParticipantInstance
204
+ def initialize(version, payload, room_sid: nil, participant_sid: nil)
205
+ super(version)
206
+
207
+ # Marshaled Properties
208
+ @properties = {
209
+ 'participant_sid' => payload['participant_sid'],
210
+ 'participant_identity' => payload['participant_identity'],
211
+ 'join_time' => Twilio.deserialize_iso8601_datetime(payload['join_time']),
212
+ 'leave_time' => Twilio.deserialize_iso8601_datetime(payload['leave_time']),
213
+ 'duration_sec' => payload['duration_sec'].to_i,
214
+ 'account_sid' => payload['account_sid'],
215
+ 'room_sid' => payload['room_sid'],
216
+ 'status' => payload['status'],
217
+ 'codecs' => payload['codecs'],
218
+ 'end_reason' => payload['end_reason'],
219
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
220
+ 'error_code_url' => payload['error_code_url'],
221
+ 'media_region' => payload['media_region'],
222
+ 'properties' => payload['properties'],
223
+ 'edge_location' => payload['edge_location'],
224
+ 'publisher_info' => payload['publisher_info'],
225
+ 'url' => payload['url'],
226
+ }
227
+
228
+ # Context
229
+ @instance_context = nil
230
+ @params = {
231
+ 'room_sid' => room_sid,
232
+ 'participant_sid' => participant_sid || @properties['participant_sid'],
233
+ }
234
+ end
235
+
236
+ ##
237
+ # Generate an instance context for the instance, the context is capable of
238
+ # performing various actions. All instance actions are proxied to the context
239
+ # @return [ParticipantContext] ParticipantContext for this ParticipantInstance
240
+ def context
241
+ unless @instance_context
242
+ @instance_context = ParticipantContext.new(
243
+ @version,
244
+ @params['room_sid'],
245
+ @params['participant_sid'],
246
+ )
247
+ end
248
+ @instance_context
249
+ end
250
+
251
+ ##
252
+ # @return [String] The participant_sid
253
+ def participant_sid
254
+ @properties['participant_sid']
255
+ end
256
+
257
+ ##
258
+ # @return [String] The participant_identity
259
+ def participant_identity
260
+ @properties['participant_identity']
261
+ end
262
+
263
+ ##
264
+ # @return [Time] The join_time
265
+ def join_time
266
+ @properties['join_time']
267
+ end
268
+
269
+ ##
270
+ # @return [Time] The leave_time
271
+ def leave_time
272
+ @properties['leave_time']
273
+ end
274
+
275
+ ##
276
+ # @return [String] The duration_sec
277
+ def duration_sec
278
+ @properties['duration_sec']
279
+ end
280
+
281
+ ##
282
+ # @return [String] The account_sid
283
+ def account_sid
284
+ @properties['account_sid']
285
+ end
286
+
287
+ ##
288
+ # @return [String] The room_sid
289
+ def room_sid
290
+ @properties['room_sid']
291
+ end
292
+
293
+ ##
294
+ # @return [participant.RoomStatus] The status
295
+ def status
296
+ @properties['status']
297
+ end
298
+
299
+ ##
300
+ # @return [participant.Codec] The codecs
301
+ def codecs
302
+ @properties['codecs']
303
+ end
304
+
305
+ ##
306
+ # @return [String] The end_reason
307
+ def end_reason
308
+ @properties['end_reason']
309
+ end
310
+
311
+ ##
312
+ # @return [String] The error_code
313
+ def error_code
314
+ @properties['error_code']
315
+ end
316
+
317
+ ##
318
+ # @return [String] The error_code_url
319
+ def error_code_url
320
+ @properties['error_code_url']
321
+ end
322
+
323
+ ##
324
+ # @return [participant.TwilioRealm] The media_region
325
+ def media_region
326
+ @properties['media_region']
327
+ end
328
+
329
+ ##
330
+ # @return [Hash] The properties
331
+ def properties
332
+ @properties['properties']
333
+ end
334
+
335
+ ##
336
+ # @return [participant.EdgeLocation] The edge_location
337
+ def edge_location
338
+ @properties['edge_location']
339
+ end
340
+
341
+ ##
342
+ # @return [Hash] The publisher_info
343
+ def publisher_info
344
+ @properties['publisher_info']
345
+ end
346
+
347
+ ##
348
+ # @return [String] The url
349
+ def url
350
+ @properties['url']
351
+ end
352
+
353
+ ##
354
+ # Fetch the ParticipantInstance
355
+ # @return [ParticipantInstance] Fetched ParticipantInstance
356
+ def fetch
357
+ context.fetch
358
+ end
359
+
360
+ ##
361
+ # Provide a user friendly representation
362
+ def to_s
363
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
364
+ "<Twilio.Insights.V1.ParticipantInstance #{values}>"
365
+ end
366
+
367
+ ##
368
+ # Provide a detailed, user friendly representation
369
+ def inspect
370
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
371
+ "<Twilio.Insights.V1.ParticipantInstance #{values}>"
372
+ end
373
+ end
374
+ end
375
+ end
376
+ end
377
+ end
378
+ end
@@ -14,8 +14,8 @@ module Twilio
14
14
  def initialize(twilio)
15
15
  super
16
16
 
17
- @base_url = 'https://chat.twilio.com'
18
- @host = 'chat.twilio.com'
17
+ @base_url = 'https://ip-messaging.twilio.com'
18
+ @host = 'ip-messaging.twilio.com'
19
19
  @port = 443
20
20
 
21
21
  # Versions
@@ -36,19 +36,17 @@ module Twilio
36
36
  end
37
37
 
38
38
  ##
39
- # @param [String] sid The unique string that we created to identify the Credential
40
- # resource.
41
- # @return [Twilio::REST::Chat::V2::CredentialInstance] if sid was passed.
42
- # @return [Twilio::REST::Chat::V2::CredentialList]
39
+ # @param [String] sid The sid
40
+ # @return [Twilio::REST::Ip_messaging::V2::CredentialInstance] if sid was passed.
41
+ # @return [Twilio::REST::Ip_messaging::V2::CredentialList]
43
42
  def credentials(sid=:unset)
44
43
  self.v2.credentials(sid)
45
44
  end
46
45
 
47
46
  ##
48
- # @param [String] sid The unique string that we created to identify the Service
49
- # resource.
50
- # @return [Twilio::REST::Chat::V2::ServiceInstance] if sid was passed.
51
- # @return [Twilio::REST::Chat::V2::ServiceList]
47
+ # @param [String] sid The sid
48
+ # @return [Twilio::REST::Ip_messaging::V2::ServiceInstance] if sid was passed.
49
+ # @return [Twilio::REST::Ip_messaging::V2::ServiceList]
52
50
  def services(sid=:unset)
53
51
  self.v2.services(sid)
54
52
  end
@@ -20,10 +20,9 @@ module Twilio
20
20
  end
21
21
 
22
22
  ##
23
- # @param [String] sid The Twilio-provided string that uniquely identifies the
24
- # Credential resource to fetch.
25
- # @return [Twilio::REST::Chat::V1::CredentialContext] if sid was passed.
26
- # @return [Twilio::REST::Chat::V1::CredentialList]
23
+ # @param [String] sid The sid
24
+ # @return [Twilio::REST::Ip_messaging::V1::CredentialContext] if sid was passed.
25
+ # @return [Twilio::REST::Ip_messaging::V1::CredentialList]
27
26
  def credentials(sid=:unset)
28
27
  if sid.nil?
29
28
  raise ArgumentError, 'sid cannot be nil'
@@ -35,10 +34,9 @@ module Twilio
35
34
  end
36
35
 
37
36
  ##
38
- # @param [String] sid The Twilio-provided string that uniquely identifies the
39
- # Service resource to fetch.
40
- # @return [Twilio::REST::Chat::V1::ServiceContext] if sid was passed.
41
- # @return [Twilio::REST::Chat::V1::ServiceList]
37
+ # @param [String] sid The sid
38
+ # @return [Twilio::REST::Ip_messaging::V1::ServiceContext] if sid was passed.
39
+ # @return [Twilio::REST::Ip_messaging::V1::ServiceList]
42
40
  def services(sid=:unset)
43
41
  if sid.nil?
44
42
  raise ArgumentError, 'sid cannot be nil'
@@ -105,26 +105,13 @@ module Twilio
105
105
 
106
106
  ##
107
107
  # Create the CredentialInstance
108
- # @param [credential.PushService] type The type of push-notification service the
109
- # credential is for. Can be: `gcm`, `fcm`, or `apn`.
110
- # @param [String] friendly_name A descriptive string that you create to describe
111
- # the new resource. It can be up to 64 characters long.
112
- # @param [String] certificate [APN only] The URL encoded representation of the
113
- # certificate. For example,
114
- # `-----BEGIN CERTIFICATE-----
115
- # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==
116
- # -----END CERTIFICATE-----`
117
- # @param [String] private_key [APN only] The URL encoded representation of the
118
- # private key. For example,
119
- # `-----BEGIN RSA PRIVATE KEY-----
120
- # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.
121
- # -----END RSA PRIVATE KEY-----`
122
- # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
123
- # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
124
- # @param [String] api_key [GCM only] The API key for the project that was obtained
125
- # from the Google Developer console for your GCM Service application credential.
126
- # @param [String] secret [FCM only] The **Server key** of your project from the
127
- # Firebase console, found under Settings / Cloud messaging.
108
+ # @param [credential.PushService] type The type
109
+ # @param [String] friendly_name The friendly_name
110
+ # @param [String] certificate The certificate
111
+ # @param [String] private_key The private_key
112
+ # @param [Boolean] sandbox The sandbox
113
+ # @param [String] api_key The api_key
114
+ # @param [String] secret The secret
128
115
  # @return [CredentialInstance] Created CredentialInstance
129
116
  def create(type: nil, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
130
117
  data = Twilio::Values.of({
@@ -182,8 +169,7 @@ module Twilio
182
169
  ##
183
170
  # Initialize the CredentialContext
184
171
  # @param [Version] version Version that contains the resource
185
- # @param [String] sid The Twilio-provided string that uniquely identifies the
186
- # Credential resource to fetch.
172
+ # @param [String] sid The sid
187
173
  # @return [CredentialContext] CredentialContext
188
174
  def initialize(version, sid)
189
175
  super(version)
@@ -204,24 +190,12 @@ module Twilio
204
190
 
205
191
  ##
206
192
  # Update the CredentialInstance
207
- # @param [String] friendly_name A descriptive string that you create to describe
208
- # the resource. It can be up to 64 characters long.
209
- # @param [String] certificate [APN only] The URL encoded representation of the
210
- # certificate. For example,
211
- # `-----BEGIN CERTIFICATE-----
212
- # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==
213
- # -----END CERTIFICATE-----`
214
- # @param [String] private_key [APN only] The URL encoded representation of the
215
- # private key. For example,
216
- # `-----BEGIN RSA PRIVATE KEY-----
217
- # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.
218
- # -----END RSA PRIVATE KEY-----`
219
- # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
220
- # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
221
- # @param [String] api_key [GCM only] The API key for the project that was obtained
222
- # from the Google Developer console for your GCM Service application credential.
223
- # @param [String] secret [FCM only] The **Server key** of your project from the
224
- # Firebase console, found under Settings / Cloud messaging.
193
+ # @param [String] friendly_name The friendly_name
194
+ # @param [String] certificate The certificate
195
+ # @param [String] private_key The private_key
196
+ # @param [Boolean] sandbox The sandbox
197
+ # @param [String] api_key The api_key
198
+ # @param [String] secret The secret
225
199
  # @return [CredentialInstance] Updated CredentialInstance
226
200
  def update(friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
227
201
  data = Twilio::Values.of({
@@ -265,8 +239,7 @@ module Twilio
265
239
  # Initialize the CredentialInstance
266
240
  # @param [Version] version Version that contains the resource
267
241
  # @param [Hash] payload payload that contains response from Twilio
268
- # @param [String] sid The Twilio-provided string that uniquely identifies the
269
- # Credential resource to fetch.
242
+ # @param [String] sid The sid
270
243
  # @return [CredentialInstance] CredentialInstance
271
244
  def initialize(version, payload, sid: nil)
272
245
  super(version)
@@ -300,49 +273,49 @@ module Twilio
300
273
  end
301
274
 
302
275
  ##
303
- # @return [String] The unique string that identifies the resource
276
+ # @return [String] The sid
304
277
  def sid
305
278
  @properties['sid']
306
279
  end
307
280
 
308
281
  ##
309
- # @return [String] The SID of the Account that created the resource
282
+ # @return [String] The account_sid
310
283
  def account_sid
311
284
  @properties['account_sid']
312
285
  end
313
286
 
314
287
  ##
315
- # @return [String] The string that you assigned to describe the resource
288
+ # @return [String] The friendly_name
316
289
  def friendly_name
317
290
  @properties['friendly_name']
318
291
  end
319
292
 
320
293
  ##
321
- # @return [credential.PushService] The type of push-notification service the credential is for
294
+ # @return [credential.PushService] The type
322
295
  def type
323
296
  @properties['type']
324
297
  end
325
298
 
326
299
  ##
327
- # @return [String] [APN only] Whether to send the credential to sandbox APNs
300
+ # @return [String] The sandbox
328
301
  def sandbox
329
302
  @properties['sandbox']
330
303
  end
331
304
 
332
305
  ##
333
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
306
+ # @return [Time] The date_created
334
307
  def date_created
335
308
  @properties['date_created']
336
309
  end
337
310
 
338
311
  ##
339
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
312
+ # @return [Time] The date_updated
340
313
  def date_updated
341
314
  @properties['date_updated']
342
315
  end
343
316
 
344
317
  ##
345
- # @return [String] The absolute URL of the Credential resource
318
+ # @return [String] The url
346
319
  def url
347
320
  @properties['url']
348
321
  end
@@ -356,24 +329,12 @@ module Twilio
356
329
 
357
330
  ##
358
331
  # Update the CredentialInstance
359
- # @param [String] friendly_name A descriptive string that you create to describe
360
- # the resource. It can be up to 64 characters long.
361
- # @param [String] certificate [APN only] The URL encoded representation of the
362
- # certificate. For example,
363
- # `-----BEGIN CERTIFICATE-----
364
- # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==
365
- # -----END CERTIFICATE-----`
366
- # @param [String] private_key [APN only] The URL encoded representation of the
367
- # private key. For example,
368
- # `-----BEGIN RSA PRIVATE KEY-----
369
- # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.
370
- # -----END RSA PRIVATE KEY-----`
371
- # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
372
- # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
373
- # @param [String] api_key [GCM only] The API key for the project that was obtained
374
- # from the Google Developer console for your GCM Service application credential.
375
- # @param [String] secret [FCM only] The **Server key** of your project from the
376
- # Firebase console, found under Settings / Cloud messaging.
332
+ # @param [String] friendly_name The friendly_name
333
+ # @param [String] certificate The certificate
334
+ # @param [String] private_key The private_key
335
+ # @param [Boolean] sandbox The sandbox
336
+ # @param [String] api_key The api_key
337
+ # @param [String] secret The secret
377
338
  # @return [CredentialInstance] Updated CredentialInstance
378
339
  def update(friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
379
340
  context.update(