twilio-ruby 5.47.0 → 5.74.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (763) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +129 -0
  4. data/.gitignore +5 -1
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +91 -28
  7. data/CHANGES.md +920 -0
  8. data/Gemfile +1 -0
  9. data/LICENSE +1 -1
  10. data/Makefile +12 -11
  11. data/PULL_REQUEST_TEMPLATE.md +1 -1
  12. data/README.md +16 -8
  13. data/examples/examples.rb +1 -1
  14. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  15. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  17. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  18. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  19. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  20. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  21. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  22. data/lib/twilio-ruby/http/http_client.rb +20 -4
  23. data/lib/twilio-ruby/http.rb +5 -0
  24. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +28 -28
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +10 -10
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +130 -11
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +67 -24
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +2 -2
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  50. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +34 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  53. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +35 -8
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +5 -5
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
  59. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  69. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  70. data/lib/twilio-ruby/rest/api.rb +1 -1
  71. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  72. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  73. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -9
  74. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +15 -7
  75. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -9
  76. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  77. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  78. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  79. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  80. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  81. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  82. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  83. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  84. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  85. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  86. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  87. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  88. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  89. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  90. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  91. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  92. data/lib/twilio-ruby/rest/chat.rb +16 -0
  93. data/lib/twilio-ruby/rest/client.rb +57 -13
  94. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  95. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  96. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  97. data/lib/twilio-ruby/rest/content.rb +47 -0
  98. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  99. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  100. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  101. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  102. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  103. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  104. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  105. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
  106. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  107. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  108. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  109. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  110. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  111. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
  112. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  113. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  114. data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
  115. data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
  116. data/lib/twilio-ruby/rest/conversations.rb +15 -0
  117. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  118. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
  119. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  120. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  121. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  122. data/lib/twilio-ruby/rest/events/v1/sink.rb +45 -9
  123. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  124. data/lib/twilio-ruby/rest/events/v1/subscription.rb +14 -8
  125. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  126. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  127. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +42 -0
  128. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
  129. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  130. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  131. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  132. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  133. data/lib/twilio-ruby/rest/{preview/trusted_comms/branded_channel.rb → flex_api/v1/interaction.rb} +76 -68
  134. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  135. data/lib/twilio-ruby/rest/flex_api/v1.rb +52 -12
  136. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  137. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  138. data/lib/twilio-ruby/rest/flex_api.rb +40 -0
  139. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  140. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  141. data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
  142. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  143. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +14 -0
  144. data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
  145. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  146. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  147. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  148. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +23 -23
  149. data/lib/twilio-ruby/rest/insights/v1/room.rb +58 -46
  150. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  151. data/lib/twilio-ruby/rest/insights/v1.rb +41 -9
  152. data/lib/twilio-ruby/rest/insights.rb +21 -1
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  155. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  156. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  157. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  159. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  160. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  162. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  163. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  164. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  165. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  166. data/lib/twilio-ruby/rest/lookups.rb +7 -0
  167. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  168. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  169. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  170. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  171. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  172. data/lib/twilio-ruby/rest/media.rb +65 -0
  173. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  174. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +127 -2
  175. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  176. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  177. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  178. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
  179. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  180. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  181. data/lib/twilio-ruby/rest/messaging/v1/service.rb +145 -27
  182. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +559 -0
  183. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  184. data/lib/twilio-ruby/rest/messaging/v1.rb +69 -25
  185. data/lib/twilio-ruby/rest/messaging.rb +35 -11
  186. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  187. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  188. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  189. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  190. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  191. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  192. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  193. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  194. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  195. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
  196. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  197. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  198. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  199. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  200. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  201. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  202. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  203. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  204. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  205. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  206. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  207. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  208. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  209. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  210. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  211. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  212. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  213. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  214. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  215. data/lib/twilio-ruby/rest/preview.rb +0 -58
  216. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  217. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  218. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  219. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  220. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  221. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +2 -15
  222. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  223. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  224. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  225. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  226. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  227. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  228. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  229. data/lib/twilio-ruby/rest/routes.rb +62 -0
  230. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  231. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  232. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  233. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  234. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  235. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  236. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  237. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  238. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  239. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  240. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  241. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +101 -50
  242. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  243. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  244. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  245. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  246. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +65 -0
  247. data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +81 -78
  248. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +26 -12
  249. data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
  250. data/lib/twilio-ruby/rest/supersim.rb +30 -6
  251. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +9 -16
  252. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +23 -34
  253. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -15
  254. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +22 -35
  255. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -15
  256. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -15
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  258. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +25 -8
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +34 -10
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +18 -14
  264. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  265. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  266. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
  267. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  268. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  269. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  270. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +32 -14
  271. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +17 -15
  272. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  273. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  274. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +17 -15
  275. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  276. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +45 -30
  277. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  278. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  279. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
  280. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  281. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  282. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  283. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  284. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  285. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  286. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  287. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  288. data/lib/twilio-ruby/rest/{messaging/v1/campaign.rb → trusthub/v1/supporting_document.rb} +125 -143
  289. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  290. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  291. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
  292. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  293. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  294. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  295. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  296. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  297. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
  298. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  299. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +111 -28
  300. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +68 -68
  301. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  302. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -11
  303. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  304. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +25 -8
  305. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -1
  306. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -13
  307. data/lib/twilio-ruby/rest/verify/v2/service.rb +99 -12
  308. data/lib/twilio-ruby/rest/{messaging/v1/use_case.rb → verify/v2/template.rb} +66 -51
  309. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  310. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  311. data/lib/twilio-ruby/rest/verify/v2.rb +58 -8
  312. data/lib/twilio-ruby/rest/verify.rb +29 -0
  313. data/lib/twilio-ruby/rest/video/v1/composition.rb +24 -11
  314. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  315. data/lib/twilio-ruby/rest/video/v1/recording.rb +23 -2
  316. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -2
  317. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  318. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
  319. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  320. data/lib/twilio-ruby/rest/video/v1/room.rb +66 -6
  321. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  322. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  323. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  324. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  325. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  326. data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
  327. data/lib/twilio-ruby/rest/voice.rb +8 -0
  328. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +6 -6
  329. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  330. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
  331. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  332. data/lib/twilio-ruby/rest.rb +13 -0
  333. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  334. data/lib/twilio-ruby/twiml/voice_response.rb +789 -108
  335. data/lib/twilio-ruby/version.rb +1 -1
  336. data/lib/twilio-ruby.rb +6 -16
  337. data/sonar-project.properties +13 -0
  338. data/twilio-ruby.gemspec +2 -3
  339. metadata +118 -868
  340. data/.travis.yml +0 -45
  341. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  342. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  343. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  344. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  345. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  346. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  347. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  348. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  349. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  350. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  351. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  352. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  353. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  354. data/spec/framework/request_spec.rb +0 -36
  355. data/spec/framework/serialize_spec.rb +0 -80
  356. data/spec/framework/version_spec.rb +0 -219
  357. data/spec/holodeck/holodeck.rb +0 -66
  358. data/spec/holodeck/hologram.rb +0 -4
  359. data/spec/http/http_client_spec.rb +0 -122
  360. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  361. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  362. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  363. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  364. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  365. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  366. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  367. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  368. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  369. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  370. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  371. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  372. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  373. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  374. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  375. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  376. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  377. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  378. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  379. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  380. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  381. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  382. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  383. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  384. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  385. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  386. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  387. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  388. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  389. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  391. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  392. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  393. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  394. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  395. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  396. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  397. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  398. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  399. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  400. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  401. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  402. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  403. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  404. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  405. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  406. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  407. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  408. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  409. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  410. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  411. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  412. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  413. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  414. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  415. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  416. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  417. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  418. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  419. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  420. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  421. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  422. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  423. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  424. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  425. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  426. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  427. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  428. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  429. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  430. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  431. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  432. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  433. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  434. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  435. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  436. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  437. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  438. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  439. data/spec/integration/api/v2010/account_spec.rb +0 -327
  440. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  441. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  442. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  443. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  444. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  445. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  446. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  447. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  448. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  449. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  450. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  451. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  452. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  453. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  454. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  455. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  456. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  457. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  458. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  459. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  460. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  461. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  462. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  463. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  464. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  465. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  466. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  467. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  468. data/spec/integration/chat/v1/service_spec.rb +0 -295
  469. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  470. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  471. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  472. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  473. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  474. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  475. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  476. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  477. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  478. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  479. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  480. data/spec/integration/chat/v2/service_spec.rb +0 -350
  481. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  482. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  483. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  484. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  485. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  486. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  487. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  488. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  489. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  490. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  491. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  492. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  493. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  494. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  495. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  496. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  497. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  498. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  499. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  500. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  501. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  502. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  503. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  504. data/spec/integration/events/v1/schema_spec.rb +0 -46
  505. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  506. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  507. data/spec/integration/events/v1/sink_spec.rb +0 -231
  508. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  509. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  510. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  511. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  512. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  513. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  514. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  515. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  516. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  517. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  518. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  519. data/spec/integration/insights/v1/call_spec.rb +0 -46
  520. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  521. data/spec/integration/insights/v1/room_spec.rb +0 -164
  522. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  523. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  524. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  525. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  526. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  527. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  528. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  529. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  530. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  531. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  532. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  533. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  534. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  535. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  536. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  537. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  538. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  539. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  540. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  541. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  542. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  543. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  544. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  545. data/spec/integration/messaging/v1/campaign_spec.rb +0 -194
  546. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  547. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  548. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  549. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  550. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  551. data/spec/integration/messaging/v1/use_case_spec.rb +0 -55
  552. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  553. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  554. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  555. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  556. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  557. data/spec/integration/notify/v1/service_spec.rb +0 -289
  558. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  559. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  560. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  561. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  562. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  563. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  564. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  565. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  566. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  567. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  568. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  569. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  570. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  571. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  572. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  573. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  574. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  575. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  576. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  577. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  578. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  579. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  580. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  581. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  582. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  583. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  584. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  585. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  586. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  587. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  588. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  589. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  590. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  591. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  592. data/spec/integration/preview/sync/service_spec.rb +0 -241
  593. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  594. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  595. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  596. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  597. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  598. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  599. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  600. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  601. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  602. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  603. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  604. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  605. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  606. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  607. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  608. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  609. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  610. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  611. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  612. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  613. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  614. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  615. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  616. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  617. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  618. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  619. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  620. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  621. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  622. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  623. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  624. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  625. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  626. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  627. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  628. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  629. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  630. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  631. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  632. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  633. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  634. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  635. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  636. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  637. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  638. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  639. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  640. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  641. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  642. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  643. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  644. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  645. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  646. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  647. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  648. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  649. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  650. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  651. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  652. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  653. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  654. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  655. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  656. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  657. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  658. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  659. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  660. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  661. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  662. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  663. data/spec/integration/supersim/v1/fleet_spec.rb +0 -222
  664. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  665. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  666. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  667. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  668. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  669. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  670. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  671. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  672. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  673. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  674. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  675. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  676. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  677. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  678. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  679. data/spec/integration/sync/v1/service_spec.rb +0 -261
  680. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  681. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  682. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  683. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  684. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  685. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  686. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  687. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  688. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  689. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  690. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  691. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  692. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  693. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  694. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  695. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  696. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  697. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  698. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  699. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  700. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  701. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  702. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  703. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  704. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  705. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  706. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  707. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  708. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  709. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  710. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  711. data/spec/integration/verify/v2/form_spec.rb +0 -47
  712. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  713. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  714. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  715. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  716. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  717. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  718. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  719. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  720. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  721. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  722. data/spec/integration/verify/v2/service_spec.rb +0 -279
  723. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  724. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  725. data/spec/integration/video/v1/composition_spec.rb +0 -347
  726. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  727. data/spec/integration/video/v1/recording_spec.rb +0 -176
  728. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  729. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  730. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  731. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  732. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  733. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  734. data/spec/integration/video/v1/room_spec.rb +0 -301
  735. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  736. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  737. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  738. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  739. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  740. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  741. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  742. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  743. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  744. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  745. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  746. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  747. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  748. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  749. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  750. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  751. data/spec/jwt/access_token_spec.rb +0 -159
  752. data/spec/jwt/client_capability_spec.rb +0 -104
  753. data/spec/jwt/task_router_spec.rb +0 -172
  754. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  755. data/spec/rest/client_spec.rb +0 -255
  756. data/spec/security/request_validator_spec.rb +0 -125
  757. data/spec/spec_helper.rb +0 -38
  758. data/spec/support/fakeweb.rb +0 -2
  759. data/spec/twilio_spec.rb +0 -17
  760. data/spec/twiml/messaging_response_spec.rb +0 -235
  761. data/spec/twiml/voice_response_spec.rb +0 -847
  762. data/spec/util/configuration_spec.rb +0 -33
  763. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,225 @@
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 Pricing < Domain
12
+ class V2 < Version
13
+ class NumberList < ListResource
14
+ ##
15
+ # Initialize the NumberList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [NumberList] NumberList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Pricing.V2.NumberList>'
29
+ end
30
+ end
31
+
32
+ class NumberPage < Page
33
+ ##
34
+ # Initialize the NumberPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [NumberPage] NumberPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of NumberInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [NumberInstance] NumberInstance
50
+ def get_instance(payload)
51
+ NumberInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Pricing.V2.NumberPage>'
58
+ end
59
+ end
60
+
61
+ class NumberContext < InstanceContext
62
+ ##
63
+ # Initialize the NumberContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @param [String] destination_number The destination phone number, in
66
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
67
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
68
+ # followed by the country code and subscriber number.
69
+ # @return [NumberContext] NumberContext
70
+ def initialize(version, destination_number)
71
+ super(version)
72
+
73
+ # Path Solution
74
+ @solution = {destination_number: destination_number, }
75
+ @uri = "/Trunking/Numbers/#{CGI.escape(@solution[:destination_number]).gsub("+", "%20")}"
76
+ end
77
+
78
+ ##
79
+ # Fetch the NumberInstance
80
+ # @param [String] origination_number The origination phone number, in
81
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
82
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
83
+ # followed by the country code and subscriber number.
84
+ # @return [NumberInstance] Fetched NumberInstance
85
+ def fetch(origination_number: :unset)
86
+ params = Twilio::Values.of({'OriginationNumber' => origination_number, })
87
+
88
+ payload = @version.fetch('GET', @uri, params: params)
89
+
90
+ NumberInstance.new(@version, payload, destination_number: @solution[:destination_number], )
91
+ end
92
+
93
+ ##
94
+ # Provide a user friendly representation
95
+ def to_s
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.Pricing.V2.NumberContext #{context}>"
98
+ end
99
+
100
+ ##
101
+ # Provide a detailed, user friendly representation
102
+ def inspect
103
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
104
+ "#<Twilio.Pricing.V2.NumberContext #{context}>"
105
+ end
106
+ end
107
+
108
+ class NumberInstance < InstanceResource
109
+ ##
110
+ # Initialize the NumberInstance
111
+ # @param [Version] version Version that contains the resource
112
+ # @param [Hash] payload payload that contains response from Twilio
113
+ # @param [String] destination_number The destination phone number, in
114
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
115
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
116
+ # followed by the country code and subscriber number.
117
+ # @return [NumberInstance] NumberInstance
118
+ def initialize(version, payload, destination_number: nil)
119
+ super(version)
120
+
121
+ # Marshaled Properties
122
+ @properties = {
123
+ 'destination_number' => payload['destination_number'],
124
+ 'origination_number' => payload['origination_number'],
125
+ 'country' => payload['country'],
126
+ 'iso_country' => payload['iso_country'],
127
+ 'terminating_prefix_prices' => payload['terminating_prefix_prices'],
128
+ 'originating_call_price' => payload['originating_call_price'],
129
+ 'price_unit' => payload['price_unit'],
130
+ 'url' => payload['url'],
131
+ }
132
+
133
+ # Context
134
+ @instance_context = nil
135
+ @params = {'destination_number' => destination_number || @properties['destination_number'], }
136
+ end
137
+
138
+ ##
139
+ # Generate an instance context for the instance, the context is capable of
140
+ # performing various actions. All instance actions are proxied to the context
141
+ # @return [NumberContext] NumberContext for this NumberInstance
142
+ def context
143
+ unless @instance_context
144
+ @instance_context = NumberContext.new(@version, @params['destination_number'], )
145
+ end
146
+ @instance_context
147
+ end
148
+
149
+ ##
150
+ # @return [String] The destination phone number, in E.164 format
151
+ def destination_number
152
+ @properties['destination_number']
153
+ end
154
+
155
+ ##
156
+ # @return [String] The origination phone number, in E.164 format
157
+ def origination_number
158
+ @properties['origination_number']
159
+ end
160
+
161
+ ##
162
+ # @return [String] The name of the country
163
+ def country
164
+ @properties['country']
165
+ end
166
+
167
+ ##
168
+ # @return [String] The ISO country code
169
+ def iso_country
170
+ @properties['iso_country']
171
+ end
172
+
173
+ ##
174
+ # @return [Array[String]] The terminating_prefix_prices
175
+ def terminating_prefix_prices
176
+ @properties['terminating_prefix_prices']
177
+ end
178
+
179
+ ##
180
+ # @return [String] The OriginatingCallPrice record
181
+ def originating_call_price
182
+ @properties['originating_call_price']
183
+ end
184
+
185
+ ##
186
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
187
+ def price_unit
188
+ @properties['price_unit']
189
+ end
190
+
191
+ ##
192
+ # @return [String] The absolute URL of the resource
193
+ def url
194
+ @properties['url']
195
+ end
196
+
197
+ ##
198
+ # Fetch the NumberInstance
199
+ # @param [String] origination_number The origination phone number, in
200
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
201
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
202
+ # followed by the country code and subscriber number.
203
+ # @return [NumberInstance] Fetched NumberInstance
204
+ def fetch(origination_number: :unset)
205
+ context.fetch(origination_number: origination_number, )
206
+ end
207
+
208
+ ##
209
+ # Provide a user friendly representation
210
+ def to_s
211
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
212
+ "<Twilio.Pricing.V2.NumberInstance #{values}>"
213
+ end
214
+
215
+ ##
216
+ # Provide a detailed, user friendly representation
217
+ def inspect
218
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
219
+ "<Twilio.Pricing.V2.NumberInstance #{values}>"
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
@@ -15,9 +15,46 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v2'
18
+ @countries = nil
19
+ @numbers = nil
18
20
  @voice = nil
19
21
  end
20
22
 
23
+ ##
24
+ # @param [String] iso_country The {ISO country
25
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
26
+ # voice pricing information to fetch.
27
+ # @return [Twilio::REST::Pricing::V2::CountryContext] if iso_country was passed.
28
+ # @return [Twilio::REST::Pricing::V2::CountryList]
29
+ def countries(iso_country=:unset)
30
+ if iso_country.nil?
31
+ raise ArgumentError, 'iso_country cannot be nil'
32
+ end
33
+ if iso_country == :unset
34
+ @countries ||= CountryList.new self
35
+ else
36
+ CountryContext.new(self, iso_country)
37
+ end
38
+ end
39
+
40
+ ##
41
+ # @param [String] destination_number The destination phone number, in
42
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
43
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
44
+ # followed by the country code and subscriber number.
45
+ # @return [Twilio::REST::Pricing::V2::NumberContext] if destination_number was passed.
46
+ # @return [Twilio::REST::Pricing::V2::NumberList]
47
+ def numbers(destination_number=:unset)
48
+ if destination_number.nil?
49
+ raise ArgumentError, 'destination_number cannot be nil'
50
+ end
51
+ if destination_number == :unset
52
+ @numbers ||= NumberList.new self
53
+ else
54
+ NumberContext.new(self, destination_number)
55
+ end
56
+ end
57
+
21
58
  ##
22
59
  # @return [Twilio::REST::Pricing::V2::VoiceContext]
23
60
  def voice
@@ -53,6 +53,25 @@ module Twilio
53
53
  self.v2.voice()
54
54
  end
55
55
 
56
+ ##
57
+ # @param [String] iso_country The {ISO country
58
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2].
59
+ # @return [Twilio::REST::Pricing::V2::CountryInstance] if iso_country was passed.
60
+ # @return [Twilio::REST::Pricing::V2::CountryList]
61
+ def countries(iso_country=:unset)
62
+ self.v2.countries(iso_country)
63
+ end
64
+
65
+ ##
66
+ # @param [String] destination_number The destination phone number in
67
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, which consists
68
+ # of a + followed by the country code and subscriber number.
69
+ # @return [Twilio::REST::Pricing::V2::NumberInstance] if destination_number was passed.
70
+ # @return [Twilio::REST::Pricing::V2::NumberList]
71
+ def numbers(destination_number=:unset)
72
+ self.v2.numbers(destination_number)
73
+ end
74
+
56
75
  ##
57
76
  # Provide a user friendly representation
58
77
  def to_s
@@ -273,7 +273,7 @@ module Twilio
273
273
  'capabilities' => payload['capabilities'],
274
274
  'url' => payload['url'],
275
275
  'is_reserved' => payload['is_reserved'],
276
- 'in_use' => payload['in_use'].to_i,
276
+ 'in_use' => payload['in_use'] == nil ? payload['in_use'] : payload['in_use'].to_i,
277
277
  }
278
278
 
279
279
  # Context
@@ -121,26 +121,13 @@ module Twilio
121
121
  # Participant. If not specified, Proxy will select a number from the pool.
122
122
  # @param [String] proxy_identifier_sid The SID of the Proxy Identifier to assign
123
123
  # to the Participant.
124
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
125
- # the ProxyAllowParticipantConflict account flag, setting to true enables
126
- # per-request opt-in to allowing Proxy to reject a Participant create request that
127
- # could cause the same Identifier/ProxyIdentifier pair to be active in multiple
128
- # Sessions. Depending on the context, this could be a 409 error (Twilio error code
129
- # 80623) or a 400 error (Twilio error code 80604). If not provided, requests will
130
- # be allowed to succeed and a Debugger notification (80802) will be emitted.
131
- # Having multiple, active Participants with the same Identifier/ProxyIdentifier
132
- # pair causes calls and messages from affected Participants to be routed
133
- # incorrectly. Please note, the default behavior for accounts without the
134
- # ProxyAllowParticipantConflict flag is to reject the request as described. This
135
- # will eventually be the default for all accounts.
136
124
  # @return [ParticipantInstance] Created ParticipantInstance
137
- def create(identifier: nil, friendly_name: :unset, proxy_identifier: :unset, proxy_identifier_sid: :unset, fail_on_participant_conflict: :unset)
125
+ def create(identifier: nil, friendly_name: :unset, proxy_identifier: :unset, proxy_identifier_sid: :unset)
138
126
  data = Twilio::Values.of({
139
127
  'Identifier' => identifier,
140
128
  'FriendlyName' => friendly_name,
141
129
  'ProxyIdentifier' => proxy_identifier,
142
130
  'ProxyIdentifierSid' => proxy_identifier_sid,
143
- 'FailOnParticipantConflict' => fail_on_participant_conflict,
144
131
  })
145
132
 
146
133
  payload = @version.create('POST', @uri, data: data)
@@ -378,7 +365,7 @@ module Twilio
378
365
  end
379
366
 
380
367
  ##
381
- # @return [String] The phone number of the Participant
368
+ # @return [String] The phone number or channel identifier of the Participant
382
369
  def identifier
383
370
  @properties['identifier']
384
371
  end
@@ -127,20 +127,8 @@ module Twilio
127
127
  # on create.
128
128
  # @param [Array[Hash]] participants The Participant objects to include in the new
129
129
  # session.
130
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
131
- # the ProxyAllowParticipantConflict account flag, setting to true enables
132
- # per-request opt-in to allowing Proxy to reject a Session create (with
133
- # Participants) request that could cause the same Identifier/ProxyIdentifier pair
134
- # to be active in multiple Sessions. Depending on the context, this could be a 409
135
- # error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not
136
- # provided, requests will be allowed to succeed and a Debugger notification
137
- # (80802) will be emitted. Having multiple, active Participants with the same
138
- # Identifier/ProxyIdentifier pair causes calls and messages from affected
139
- # Participants to be routed incorrectly. Please note, the default behavior for
140
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
141
- # as described. This will eventually be the default for all accounts.
142
130
  # @return [SessionInstance] Created SessionInstance
143
- def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset, fail_on_participant_conflict: :unset)
131
+ def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset)
144
132
  data = Twilio::Values.of({
145
133
  'UniqueName' => unique_name,
146
134
  'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
@@ -148,7 +136,6 @@ module Twilio
148
136
  'Mode' => mode,
149
137
  'Status' => status,
150
138
  'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
151
- 'FailOnParticipantConflict' => fail_on_participant_conflict,
152
139
  })
153
140
 
154
141
  payload = @version.create('POST', @uri, data: data)
@@ -243,24 +230,12 @@ module Twilio
243
230
  # is measured from the last Session create or the Session's last Interaction.
244
231
  # @param [session.Status] status The new status of the resource. Can be:
245
232
  # `in-progress` to re-open a session or `closed` to close a session.
246
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
247
- # the ProxyAllowParticipantConflict account flag, setting to true enables
248
- # per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
249
- # 80604) when a request to set a Session to in-progress would cause Participants
250
- # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
251
- # If not provided, requests will be allowed to succeed, and a Debugger
252
- # notification (80801) will be emitted. Having multiple, active Participants with
253
- # the same Identifier/ProxyIdentifier pair causes calls and messages from affected
254
- # Participants to be routed incorrectly. Please note, the default behavior for
255
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
256
- # as described. This will eventually be the default for all accounts.
257
233
  # @return [SessionInstance] Updated SessionInstance
258
- def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
234
+ def update(date_expiry: :unset, ttl: :unset, status: :unset)
259
235
  data = Twilio::Values.of({
260
236
  'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
261
237
  'Ttl' => ttl,
262
238
  'Status' => status,
263
- 'FailOnParticipantConflict' => fail_on_participant_conflict,
264
239
  })
265
240
 
266
241
  payload = @version.update('POST', @uri, data: data)
@@ -355,7 +330,7 @@ module Twilio
355
330
  'unique_name' => payload['unique_name'],
356
331
  'status' => payload['status'],
357
332
  'closed_reason' => payload['closed_reason'],
358
- 'ttl' => payload['ttl'].to_i,
333
+ 'ttl' => payload['ttl'] == nil ? payload['ttl'] : payload['ttl'].to_i,
359
334
  'mode' => payload['mode'],
360
335
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
361
336
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
@@ -498,25 +473,9 @@ module Twilio
498
473
  # is measured from the last Session create or the Session's last Interaction.
499
474
  # @param [session.Status] status The new status of the resource. Can be:
500
475
  # `in-progress` to re-open a session or `closed` to close a session.
501
- # @param [Boolean] fail_on_participant_conflict [Experimental] For accounts with
502
- # the ProxyAllowParticipantConflict account flag, setting to true enables
503
- # per-request opt-in to allowing Proxy to return a 400 error (Twilio error code
504
- # 80604) when a request to set a Session to in-progress would cause Participants
505
- # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
506
- # If not provided, requests will be allowed to succeed, and a Debugger
507
- # notification (80801) will be emitted. Having multiple, active Participants with
508
- # the same Identifier/ProxyIdentifier pair causes calls and messages from affected
509
- # Participants to be routed incorrectly. Please note, the default behavior for
510
- # accounts without the ProxyAllowParticipantConflict flag is to reject the request
511
- # as described. This will eventually be the default for all accounts.
512
476
  # @return [SessionInstance] Updated SessionInstance
513
- def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
514
- context.update(
515
- date_expiry: date_expiry,
516
- ttl: ttl,
517
- status: status,
518
- fail_on_participant_conflict: fail_on_participant_conflict,
519
- )
477
+ def update(date_expiry: :unset, ttl: :unset, status: :unset)
478
+ context.update(date_expiry: date_expiry, ttl: ttl, status: status, )
520
479
  end
521
480
 
522
481
  ##
@@ -386,7 +386,7 @@ module Twilio
386
386
  'account_sid' => payload['account_sid'],
387
387
  'chat_instance_sid' => payload['chat_instance_sid'],
388
388
  'callback_url' => payload['callback_url'],
389
- 'default_ttl' => payload['default_ttl'].to_i,
389
+ 'default_ttl' => payload['default_ttl'] == nil ? payload['default_ttl'] : payload['default_ttl'].to_i,
390
390
  'number_selection_behavior' => payload['number_selection_behavior'],
391
391
  'geo_match_level' => payload['geo_match_level'],
392
392
  'intercept_callback_url' => payload['intercept_callback_url'],
@@ -25,11 +25,12 @@ module Twilio
25
25
  # @return [Twilio::REST::Proxy::V1::ServiceList]
26
26
  def services(sid=:unset)
27
27
  if sid.nil?
28
- raise ArgumentError, 'sid cannot be nil'
29
- elsif sid == :unset
30
- @services ||= ServiceList.new self
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ end
30
+ if sid == :unset
31
+ @services ||= ServiceList.new self
31
32
  else
32
- ServiceContext.new(self, sid)
33
+ ServiceContext.new(self, sid)
33
34
  end
34
35
  end
35
36