twilio-ruby 5.40.4 → 5.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +104 -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/accounts.rb +12 -0
  9. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  12. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
  13. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  14. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
  15. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
  16. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  17. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  18. data/lib/twilio-ruby/rest/client.rb +29 -3
  19. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +10 -2
  20. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +13 -3
  21. data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
  22. data/lib/twilio-ruby/rest/insights.rb +8 -0
  23. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  24. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  25. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  26. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  27. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  28. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  29. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  30. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  31. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  32. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  33. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  34. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  35. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  36. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  37. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  38. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  39. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  40. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  41. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  42. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  43. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  44. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  45. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  46. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  47. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  48. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  49. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  50. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  51. data/lib/twilio-ruby/rest/preview.rb +5 -18
  52. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  53. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  54. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +12 -27
  55. data/lib/twilio-ruby/rest/preview/trusted_comms/{business.rb → branded_channel.rb} +63 -77
  56. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  57. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  58. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  59. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  60. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
  61. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
  62. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  63. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  64. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  65. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  66. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  67. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  68. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  69. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
  70. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
  71. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
  72. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
  73. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
  74. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
  75. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  76. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  77. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  78. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  79. data/lib/twilio-ruby/rest/verify/v2/service.rb +54 -33
  80. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  81. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
  82. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -61
  83. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -57
  84. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  85. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  86. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  87. data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
  88. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  89. data/lib/twilio-ruby/twiml/voice_response.rb +7 -4
  90. data/lib/twilio-ruby/util/configuration.rb +5 -1
  91. data/lib/twilio-ruby/version.rb +1 -1
  92. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  93. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  94. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  95. data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
  96. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  97. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  98. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  99. data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
  100. data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
  101. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  102. data/spec/integration/events/v1/subscription_spec.rb +49 -0
  103. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  104. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  105. data/spec/integration/insights/v1/room_spec.rb +164 -0
  106. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  107. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  108. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  109. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  110. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  111. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  112. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  113. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  114. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  115. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  116. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  117. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  118. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  119. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  120. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  121. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  122. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  123. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  124. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  125. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  126. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  127. data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
  128. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  129. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
  130. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
  131. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
  132. data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
  133. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +56 -20
  134. data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
  135. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  136. data/spec/integration/verify/v2/service_spec.rb +8 -4
  137. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  138. data/spec/integration/video/v1/room_spec.rb +10 -5
  139. data/spec/jwt/access_token_spec.rb +9 -1
  140. data/spec/rest/client_spec.rb +24 -2
  141. data/twilio-ruby.gemspec +2 -1
  142. metadata +42 -28
  143. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  144. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
  145. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  146. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  147. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  148. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  149. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  150. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  151. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
  152. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  153. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  154. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -46
  155. 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(