twilio-ruby 5.75.0 → 6.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (629) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +32 -64
  5. data/Makefile +3 -0
  6. data/README.md +8 -2
  7. data/UPGRADE.md +7 -0
  8. data/cluster_spec.rb +77 -0
  9. data/lib/twilio-ruby/base/client_base.rb +124 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  14. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  15. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  16. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  17. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  18. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  19. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  20. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  21. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  41. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  42. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  45. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  52. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  53. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  55. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  56. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  59. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  60. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  62. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  66. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  67. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  68. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  82. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  83. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  95. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  96. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  97. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  98. data/lib/twilio-ruby/rest/api.rb +25 -34
  99. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  100. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  114. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  115. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  116. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  117. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  123. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  124. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  125. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  126. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  127. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  131. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  132. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  133. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  134. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  135. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  136. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  137. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  138. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  143. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  144. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  146. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  147. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  148. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  149. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  150. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  151. data/lib/twilio-ruby/rest/chat.rb +4 -48
  152. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  153. data/lib/twilio-ruby/rest/client.rb +314 -574
  154. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  155. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  156. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  157. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  158. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  159. data/lib/twilio-ruby/rest/content.rb +2 -46
  160. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  161. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  162. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  164. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -552
  169. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  170. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  171. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  172. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  173. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  176. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -588
  181. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  182. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  183. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  185. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  186. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  187. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  188. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  189. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  190. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  191. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  192. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  193. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  194. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  196. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  197. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  198. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  199. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  200. data/lib/twilio-ruby/rest/events.rb +5 -34
  201. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  203. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  204. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  205. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  206. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  216. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  220. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  221. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  222. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  223. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  224. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  225. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  226. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  227. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  228. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  229. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  230. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  231. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  232. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  233. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  234. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  235. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -433
  236. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  237. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  238. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  239. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  240. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  241. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  242. data/lib/twilio-ruby/rest/insights.rb +6 -34
  243. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  244. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  253. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  266. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  267. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  268. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  269. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  270. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  271. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -342
  272. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  273. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  274. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  275. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  276. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  277. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  279. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  280. data/lib/twilio-ruby/rest/media.rb +4 -34
  281. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -443
  284. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +274 -259
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  288. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  289. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  290. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  291. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  292. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  293. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  295. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  296. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -699
  297. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  298. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  299. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  300. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  301. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  303. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  304. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  305. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  307. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  308. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  309. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  310. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  311. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  312. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  313. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  314. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  315. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  317. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  318. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  319. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  320. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  321. data/lib/twilio-ruby/rest/notify.rb +3 -34
  322. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  334. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  335. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  336. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  337. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  338. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  339. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  340. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  341. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  342. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  343. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  344. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  345. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  350. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  351. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  355. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  357. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  359. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  360. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  361. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  362. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  368. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  369. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  370. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  383. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  384. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  385. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  386. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  387. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  388. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  389. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  390. data/lib/twilio-ruby/rest/preview.rb +11 -69
  391. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  392. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  394. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  396. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  398. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  399. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  400. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  401. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  402. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  404. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  405. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  406. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  407. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  408. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  409. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  413. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  414. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  415. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  416. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  417. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  418. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  419. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  420. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  421. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  422. data/lib/twilio-ruby/rest/routes.rb +4 -34
  423. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  424. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  426. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  428. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  432. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  435. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  436. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  437. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  438. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  439. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  443. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  447. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  448. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  449. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  453. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  456. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  457. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  458. data/lib/twilio-ruby/rest/studio.rb +3 -41
  459. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  460. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  461. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  462. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  463. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  464. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  466. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  467. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  469. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  470. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  471. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  472. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  473. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  474. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  475. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  476. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  485. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  486. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  487. data/lib/twilio-ruby/rest/sync.rb +2 -34
  488. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  514. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  515. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  516. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  517. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  523. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  524. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  525. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  526. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  530. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  532. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  533. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  535. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  539. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  540. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  541. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  542. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  543. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  544. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  545. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  550. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  551. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  553. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  555. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  556. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  557. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  558. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  560. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  561. data/lib/twilio-ruby/rest/verify.rb +7 -34
  562. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  563. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  564. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  565. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  566. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  567. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  568. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  575. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  576. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  577. data/lib/twilio-ruby/rest/video.rb +7 -34
  578. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  579. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  580. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  581. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  583. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  588. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  589. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  590. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  591. data/lib/twilio-ruby/rest/voice.rb +7 -34
  592. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  593. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  594. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  595. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  597. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  598. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  599. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  600. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  601. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  602. data/lib/twilio-ruby/rest.rb +1 -0
  603. data/lib/twilio-ruby/version.rb +1 -1
  604. data/twilio-ruby.gemspec +1 -1
  605. metadata +71 -34
  606. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  607. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  614. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  615. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  617. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  618. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  619. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  620. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  621. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  622. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  623. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  624. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  625. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  626. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  627. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  628. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  629. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a57741b264ef9fc43e6be40e817be88de8db660
4
- data.tar.gz: 34ecc7f79c806fbc514bb8fd4931e9440a1ede56
3
+ metadata.gz: e43ca9b1b334afb5f9f81271ef9a6670da57af2b
4
+ data.tar.gz: '0548b66117418ddbfbfc18f6cb1732b635757415'
5
5
  SHA512:
6
- metadata.gz: 7504504307b32b86498a8ec7848a018951c5e1d4bbd657e9f9cd91e463431502b0f38c2b2d05fd866a83b91feda322a50d4de5e2de5a566671ccc1a994c194a4
7
- data.tar.gz: aa97372cf161a1b53a7101646c8412cc4c350e13a8076bc547a1310ab2feac255365022b6034cc78630548911c70f778edf7758cb5593ee196c38c7c75186555
6
+ metadata.gz: 2b66e358599ab6932890261a9479b040131a36b8a3d729ddf58d5041341abdaf2749da3ef0c28bb1fd644b21f08ba01ae6166a5b4da608d7f149cd513fc30713
7
+ data.tar.gz: 999f79f63fd0311b8bfdf3d5f857176dee7be38ebd7b371278f7560c7a69019b34722fe22c24b0a37c4489b999a91dad8f7b49c1e46a63a8c18bceb7d50aed7f
@@ -45,6 +45,16 @@ jobs:
45
45
  - name: Run Unit Tests
46
46
  run: make test
47
47
 
48
+ - name: Run Cluster Test
49
+ if: (!github.event.pull_request.head.repo.fork)
50
+ env:
51
+ TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
52
+ TWILIO_API_KEY: ${{ secrets.TWILIO_CLUSTER_TEST_API_KEY}}
53
+ TWILIO_API_SECRET: ${{ secrets.TWILIO_CLUSTER_TEST_API_KEY_SECRET }}
54
+ TWILIO_FROM_NUMBER: ${{ secrets.TWILIO_FROM_NUMBER }}
55
+ TWILIO_TO_NUMBER: ${{ secrets.TWILIO_TO_NUMBER }}
56
+ run: make cluster-test
57
+
48
58
  - name: Fix code coverage paths
49
59
  if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.ruby == '3.0' && !github.event.pull_request.head.repo.fork }}
50
60
  working-directory: ./coverage
data/.gitignore CHANGED
@@ -14,5 +14,8 @@ docs/_build
14
14
  .bundle
15
15
  .rakeTasks
16
16
  .yardoc
17
+ .openapi-generator*
18
+ .idea/
19
+
17
20
 
18
21
  coverage
data/CHANGES.md CHANGED
@@ -1,93 +1,52 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
- [2023-03-22] Version 5.75.0
5
- ---------------------------
4
+ [2023-03-23] Version 6.0.0-rc.1
5
+ -------------------------------
6
+ **Library - Fix**
7
+ - [PR #639](https://github.com/twilio/twilio-ruby/pull/639): add all handcrafted domain files. Thanks to [@charan678](https://github.com/charan678)!
8
+
6
9
  **Library - Chore**
7
- - [PR #630](https://github.com/twilio/twilio-ruby/pull/630): Accommodate jwt's minor and patch updates. Thanks to [@sato11](https://github.com/sato11)!
10
+ - [PR #631](https://github.com/twilio/twilio-ruby/pull/631): Add Cluster test to rc branch. Thanks to [@rohith-prakash](https://github.com/rohith-prakash)!
11
+ - [PR #627](https://github.com/twilio/twilio-ruby/pull/627): bump jwt max version to 2.6. Thanks to [@claudiachua](https://github.com/claudiachua)!
12
+
13
+ **Library - Feature**
14
+ - [PR #622](https://github.com/twilio/twilio-ruby/pull/622): Add client base file. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
8
15
 
9
16
  **Api**
10
17
  - Revert Corrected the data type for `friendly_name` in Available Phone Number Local, Mobile and TollFree resources
11
18
  - Corrected the data type for `friendly_name` in Available Phone Number Local, Mobile and TollFree resources **(breaking change)**
12
-
13
- **Messaging**
14
- - Add `linkshortening_messaging_service` resource
15
- - Add new endpoint for GetDomainConfigByMessagingServiceSid
16
- - Remove `validated` parameter and add `cert_in_validation` parameter to Link Shortening API **(breaking change)**
17
-
18
-
19
- [2023-03-09] Version 5.74.5
20
- ---------------------------
21
- **Api**
22
19
  - Add new categories for whatsapp template
23
-
24
- **Lookups**
25
- - Remove `validation_results` from the `default_output_properties`
26
-
27
- **Supersim**
28
- - Add ESimProfile's `matching_id` and `activation_code` parameters to libraries
29
-
30
-
31
- [2023-02-22] Version 5.74.4
32
- ---------------------------
33
- **Api**
34
20
  - Remove `scheduled_for` property from message resource
35
21
  - Add `scheduled_for` property to message resource
36
-
37
-
38
- [2023-02-08] Version 5.74.3
39
- ---------------------------
40
- **Lookups**
41
- - Add `disposable_phone_number_risk` package to the lookup response
42
- - Add `sms_pumping_risk` package to the lookup response
43
-
44
-
45
- [2023-01-25] Version 5.74.2
46
- ---------------------------
47
- **Api**
48
22
  - Add `public_application_connect_enabled` param to Application resource
49
-
50
- **Messaging**
51
- - Add new tollfree verification API property (ExternalReferenceId)]
52
-
53
- **Verify**
54
- - Add `device_ip` parameter and channel `auto` for sna/sms orchestration
55
-
56
- **Twiml**
57
- - Add support for `<Application>` noun and `<ApplicationSid>` noun, nested `<Parameter>` to `<Hangup>` and `<Leave>` verb
58
-
59
-
60
- [2023-01-11] Version 5.74.1
61
- ---------------------------
62
- **Library - Chore**
63
- - [PR #626](https://github.com/twilio/twilio-ruby/pull/626): Bump jwt version max version to 2.6. Thanks to [@MarcPer](https://github.com/MarcPer)!
23
+ - Add `street_secondary` param to address create and update
24
+ - Make `method` optional for user defined message subscription **(breaking change)**
64
25
 
65
26
  **Conversations**
66
27
  - Add support for creating Multi-Channel Rich Content Messages
67
28
 
68
- **Lookups**
69
- - Changed the no data message for match postal code from `no_data` to `data_not_available` in identity match package
70
-
71
- **Messaging**
72
- - Add update/edit tollfree verification API
73
-
74
-
75
- [2022-12-14] Version 5.74.0
76
- ---------------------------
77
- **Api**
78
- - Add `street_secondary` param to address create and update
79
- - Make `method` optional for user defined message subscription **(breaking change)**
80
-
81
29
  **Flex**
82
30
  - Flex Conversations is now Generally Available
83
31
  - Adding the ie1 mapping for authorization api, updating service base uri and base url response attribute **(breaking change)**
84
32
  - Change web channels to GA and library visibility to public
85
33
  - Changing the uri for authorization api from using Accounts to Insights **(breaking change)**
86
34
 
35
+ **Lookups**
36
+ - Remove `validation_results` from the `default_output_properties`
37
+ - Add `disposable_phone_number_risk` package to the lookup response
38
+ - Add `sms_pumping_risk` package to the lookup response
39
+ - Changed the no data message for match postal code from `no_data` to `data_not_available` in identity match package
40
+
87
41
  **Media**
88
42
  - Gate Twilio Live endpoints behind beta_feature for EOS
89
43
 
90
44
  **Messaging**
45
+ - Add `linkshortening_messaging_service` resource
46
+ - Add new endpoint for GetDomainConfigByMessagingServiceSid
47
+ - Remove `validated` parameter and add `cert_in_validation` parameter to Link Shortening API **(breaking change)**
48
+ - Add new tollfree verification API property (ExternalReferenceId)]
49
+ - Add update/edit tollfree verification API
91
50
  - Mark `MessageFlow` as a required field for Campaign Creation **(breaking change)**
92
51
 
93
52
  **Oauth**
@@ -95,9 +54,14 @@ twilio-ruby changelog
95
54
  - Added device code authorization endpoint
96
55
 
97
56
  **Supersim**
57
+ - Add ESimProfile's `matching_id` and `activation_code` parameters to libraries
98
58
  - Allow filtering the SettingsUpdates resource by `status`
99
59
 
60
+ **Verify**
61
+ - Add `device_ip` parameter and channel `auto` for sna/sms orchestration
62
+
100
63
  **Twiml**
64
+ - Add support for `<Application>` noun and `<ApplicationSid>` noun, nested `<Parameter>` to `<Hangup>` and `<Leave>` verb
101
65
  - Add new Polly Neural voices
102
66
  - Add tr-TR, ar-AE, yue-CN, fi-FI languages to SSML `<lang>` element.
103
67
  - Add x-amazon-jyutping, x-amazon-pinyin, x-amazon-pron-kana, x-amazon-yomigana alphabets to SSML `<phoneme>` element.
@@ -105,6 +69,10 @@ twilio-ruby changelog
105
69
  - Rename `role` attribute to `format` in SSML `<say-as>` element. **(breaking change)**
106
70
 
107
71
 
72
+ [2023-03-23] Version 6.0.0-rc.0
73
+ ---------------------------
74
+ - Release Candidate prep
75
+
108
76
  [2022-11-30] Version 5.73.4
109
77
  ---------------------------
110
78
  **Flex**
data/Makefile CHANGED
@@ -32,3 +32,6 @@ docker-push:
32
32
  docker push twilio/twilio-ruby:${GITHUB_TAG}
33
33
  docker push twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
34
34
  docker push twilio/twilio-ruby:${CURRENT_TAG}
35
+
36
+ cluster-test:
37
+ bundle exec rspec ./cluster_spec.rb
data/README.md CHANGED
@@ -34,13 +34,19 @@ This library supports the following Ruby implementations:
34
34
  To install using [Bundler][bundler] grab the latest stable version:
35
35
 
36
36
  ```ruby
37
- gem 'twilio-ruby', '~> 5.75.0'
37
+ gem 'twilio-ruby', '~> 6.0.0-rc.1'
38
38
  ```
39
39
 
40
40
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
41
41
 
42
42
  ```bash
43
- gem install twilio-ruby -v 5.75.0
43
+ gem install twilio-ruby -v 6.0.0-rc.1
44
+ ```
45
+
46
+ To install `twilio-ruby` release candidate via [Rubygems][rubygems] simply gem install:
47
+
48
+ ```bash
49
+ gem install twilio-ruby -v 6.0.0-rc.1
44
50
  ```
45
51
 
46
52
  To build and install the development branch yourself from the latest source:
data/UPGRADE.md CHANGED
@@ -3,6 +3,13 @@
3
3
  _After `5.0.0` all `MINOR` and `MAJOR` version bumps will have upgrade notes
4
4
  posted here._
5
5
 
6
+ [2023-03-23] 5.3.x to 6.0.0-rc.x
7
+ ----------------------------
8
+ Twilio Ruby Helper Library’s rc version 6.0.0-rc.x is now available. We ensured that you can upgrade to Ruby helper Library 6.0.0-rc version without any breaking changes.
9
+ Behind the scenes Ruby RC Helper is now auto-generated via OpenAPI with this release. This enables us to rapidly add new features and enhance consistency across versions and languages.
10
+
11
+ To learn more about the Ruby Helper Library, check out [our docs](https://www.twilio.com/docs/libraries/ruby).
12
+
6
13
  [2017-09-29] 5.x.x to 5.3.x
7
14
  ---------------------------
8
15
 
data/cluster_spec.rb ADDED
@@ -0,0 +1,77 @@
1
+ require 'rspec/matchers'
2
+ require 'twilio-ruby'
3
+
4
+ # rubocop:disable Metrics/BlockLength
5
+ describe 'Cluster Test' do
6
+ before(:each) do
7
+ @account_sid = ENV['TWILIO_ACCOUNT_SID']
8
+ @secret = ENV['TWILIO_API_SECRET']
9
+ @api_key = ENV['TWILIO_API_KEY']
10
+ @to_number = ENV['TWILIO_TO_NUMBER']
11
+ @from_number = ENV['TWILIO_FROM_NUMBER']
12
+ @client = Twilio::REST::Client.new @api_key, @secret, @account_sid
13
+ end
14
+
15
+ it 'can send a text' do
16
+ message = @client.messages.create(
17
+ to: @to_number,
18
+ from: @from_number,
19
+ body: 'Cluster test message from twilio-ruby'
20
+ )
21
+ expect(message).to_not eq(nil)
22
+ expect(message.body.include?('Cluster test message from twilio-ruby')).to eq(true)
23
+ expect(message.from).to eq(@from_number)
24
+ expect(message.to).to eq(@to_number)
25
+ end
26
+
27
+ it 'can list numbers' do
28
+ phone_numbers = @client.incoming_phone_numbers.list
29
+ expect(phone_numbers).to_not eq(nil)
30
+ expect(phone_numbers).to_not match_array([])
31
+ end
32
+
33
+ it 'list a number' do
34
+ phone_numbers = @client.incoming_phone_numbers.list(phone_number: @from_number)
35
+ expect(phone_numbers).to_not eq(nil)
36
+ expect(phone_numbers[0].phone_number).to eq(@from_number)
37
+ end
38
+
39
+ it 'allows special characters for friendly and identity name' do
40
+ service = @client.chat.v2.services.create(friendly_name: 'service|friendly&name')
41
+ expect(service).to_not eq(nil)
42
+
43
+ user = @client.chat.v2.services(service.sid).users.create(identity: 'user|identity&string')
44
+ expect(user).to_not eq(nil)
45
+
46
+ is_user_deleted = @client.chat.v2.services(service.sid).users(user.sid).delete
47
+ expect(is_user_deleted).to eq(true)
48
+
49
+ is_service_deleted = @client.chat.v2.services(service.sid).delete
50
+ expect(is_service_deleted).to eq(true)
51
+ end
52
+
53
+ it 'test list params' do
54
+ sink_configuration = { 'destination' => 'http://example.org/webhook', 'method' => 'post',
55
+ 'batch_events' => false }
56
+ types = [{ 'type' => 'com.twilio.messaging.message.delivered' },
57
+ { 'type' => 'com.twilio.messaging.message.sent' }]
58
+
59
+ sink = @client.events.v1.sinks.create(
60
+ description: 'test sink ruby',
61
+ sink_configuration: sink_configuration,
62
+ sink_type: 'webhook'
63
+ )
64
+ expect(sink).to_not eq(nil)
65
+
66
+ subscription = @client.events.v1.subscriptions.create(
67
+ description: 'test subscription ruby',
68
+ types: types,
69
+ sink_sid: sink.sid
70
+ )
71
+ expect(subscription).to_not eq(nil)
72
+
73
+ expect(@client.events.v1.subscriptions(subscription.sid).delete).to eq(true)
74
+ expect(@client.events.v1.sinks(sink.sid).delete).to eq(true)
75
+ end
76
+ end
77
+ # rubocop:enable Metrics/BlockLength
@@ -0,0 +1,124 @@
1
+ module Twilio
2
+ module REST
3
+ class ClientBase
4
+ # rubocop:disable Style/ClassVars
5
+ @@default_region = 'us1'
6
+ # rubocop:enable Style/ClassVars
7
+
8
+ attr_accessor :http_client, :username, :password, :account_sid, :auth_token, :region, :edge, :logger,
9
+ :user_agent_extensions
10
+
11
+ # rubocop:disable Metrics/ParameterLists
12
+ def initialize(username = nil, password = nil, account_sid = nil, region = nil, http_client = nil, logger = nil,
13
+ user_agent_extensions = nil)
14
+ @username = username || Twilio.account_sid
15
+ @password = password || Twilio.auth_token
16
+ @region = region || Twilio.region
17
+ @edge = Twilio.edge
18
+ @account_sid = account_sid || @username
19
+ @auth_token = @password
20
+ @auth = [@username, @password]
21
+ @http_client = http_client || Twilio.http_client || Twilio::HTTP::Client.new
22
+ @logger = logger || Twilio.logger
23
+ @user_agent_extensions = user_agent_extensions || []
24
+ end
25
+ # rubocop:enable Metrics/ParameterLists
26
+
27
+ ##
28
+ # Makes a request to the Twilio API using the configured http client
29
+ # Authentication information is automatically added if none is provided
30
+ # rubocop:disable Lint/ShadowedArgument
31
+ def request(host, port, method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil) # rubocop:disable Metrics/MethodLength
32
+ auth ||= @auth
33
+ headers = generate_headers(method)
34
+ uri = build_uri(uri)
35
+
36
+ if @logger
37
+ @logger.debug('--BEGIN Twilio API Request--')
38
+ @logger.debug("Request Method: <#{method}>")
39
+
40
+ headers.each do |key, value|
41
+ @logger.debug("#{key}:#{value}") unless key.downcase == 'authorization'
42
+ end
43
+
44
+ url = URI(uri)
45
+ @logger.debug("Host:#{url.host}")
46
+ @logger.debug("Path:#{url.path}")
47
+ @logger.debug("Query:#{url.query}")
48
+ @logger.debug("Request Params:#{params}")
49
+ end
50
+
51
+ response = @http_client.request(
52
+ host,
53
+ port,
54
+ method,
55
+ uri,
56
+ params,
57
+ data,
58
+ headers,
59
+ auth,
60
+ timeout
61
+ )
62
+
63
+ if @logger
64
+ @logger.debug("Response Status Code:#{response.status_code}")
65
+ @logger.debug("Response Headers:#{response.headers}")
66
+ @logger.debug('--END TWILIO API REQUEST--')
67
+ end
68
+
69
+ response
70
+ end
71
+ # rubocop:enable Lint/ShadowedArgument
72
+
73
+ ##
74
+ # Build the final request uri
75
+ def build_uri(uri)
76
+ return uri if @region.nil? && @edge.nil?
77
+
78
+ parsed_url = URI(uri)
79
+ pieces = parsed_url.host.split('.')
80
+ product = pieces[0]
81
+ domain = pieces[-2, 2]
82
+ new_edge = @edge
83
+ new_region = @region
84
+
85
+ case pieces.length
86
+ when 4
87
+ new_region ||= pieces[1]
88
+ when 5
89
+ new_edge ||= pieces[1]
90
+ new_region ||= pieces[2]
91
+ end
92
+
93
+ new_region = @@default_region if !new_edge.nil? && new_region.nil?
94
+
95
+ parsed_url.host = [product, new_edge, new_region, domain].reject(&:nil?).join('.')
96
+ parsed_url.to_s
97
+ end
98
+
99
+ ##
100
+ # Validate the new SSL certificate for the Twilio API
101
+ def validate_ssl_certificate
102
+ response = request('api.twilio.com', '8443', 'GET', 'https://api.twilio.com:8443/.json')
103
+ return unless response.status_code < 200 || response.status_code >= 300
104
+
105
+ raise RestError.new 'Unexpected response from certificate endpoint', response
106
+ end
107
+
108
+ def generate_headers(method)
109
+ ruby_config = RbConfig::CONFIG
110
+ headers = {}
111
+ headers['User-Agent'] =
112
+ "twilio-ruby/#{Twilio::VERSION} (#{ruby_config['host_os']} #{ruby_config['host_cpu']}) Ruby/#{RUBY_VERSION}"
113
+ headers['Accept-Charset'] = 'utf-8'
114
+
115
+ user_agent_extensions.each { |extension| headers['User-Agent'] += " #{extension}" }
116
+
117
+ headers['Content-Type'] = 'application/x-www-form-urlencoded' if method == 'POST' && !headers['Content-Type']
118
+
119
+ headers['Accept'] = 'application/json' unless headers['Accept']
120
+ headers
121
+ end
122
+ end
123
+ end
124
+ end