twilio-ruby 5.46.1 → 5.77.0

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