twilio-ruby 4.13.0 → 5.0.0.alpha1

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 (643) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +187 -0
  4. data/.travis.yml +13 -0
  5. data/AUTHORS.md +46 -32
  6. data/CHANGES.md +87 -65
  7. data/Gemfile +2 -2
  8. data/LICENSE.md +12 -12
  9. data/Makefile +13 -3
  10. data/README.md +50 -139
  11. data/Rakefile +54 -0
  12. data/VERSIONS.md +64 -0
  13. data/examples/examples.rb +46 -57
  14. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  15. data/lib/rack/twilio_webhook_authentication.rb +5 -6
  16. data/lib/twilio-ruby.rb +30 -102
  17. data/lib/twilio-ruby/framework/domain.rb +34 -0
  18. data/lib/twilio-ruby/framework/error.rb +30 -0
  19. data/lib/twilio-ruby/framework/helper.rb +9 -0
  20. data/lib/twilio-ruby/framework/page.rb +101 -0
  21. data/lib/twilio-ruby/framework/resource.rb +21 -0
  22. data/lib/twilio-ruby/framework/serialize.rb +70 -0
  23. data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
  24. data/lib/twilio-ruby/framework/values.rb +7 -0
  25. data/lib/twilio-ruby/framework/version.rb +164 -0
  26. data/lib/twilio-ruby/http/http_client.rb +46 -0
  27. data/lib/twilio-ruby/jwt/access_token.rb +232 -0
  28. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  29. data/lib/twilio-ruby/jwt/jwt.rb +50 -0
  30. data/lib/twilio-ruby/jwt/task_router.rb +174 -0
  31. data/lib/twilio-ruby/rest/accounts.rb +36 -10
  32. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
  35. data/lib/twilio-ruby/rest/api.rb +234 -0
  36. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +823 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +350 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  98. data/lib/twilio-ruby/rest/chat.rb +59 -0
  99. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  100. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  105. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  106. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  107. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  108. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  109. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  110. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  115. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  116. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  117. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  118. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  119. data/lib/twilio-ruby/rest/client.rb +352 -153
  120. data/lib/twilio-ruby/rest/fax.rb +44 -0
  121. data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
  122. data/lib/twilio-ruby/rest/fax/v1/fax.rb +541 -0
  123. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +326 -0
  124. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  138. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  139. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  140. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  141. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  142. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  144. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  145. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  146. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  147. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  148. data/lib/twilio-ruby/rest/messaging.rb +44 -0
  149. data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
  150. data/lib/twilio-ruby/rest/messaging/v1/service.rb +637 -0
  151. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -0
  152. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -0
  153. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -0
  154. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  155. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  156. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  157. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  158. data/lib/twilio-ruby/rest/notify.rb +52 -0
  159. data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
  160. data/lib/twilio-ruby/rest/notify/v1/credential.rb +403 -0
  161. data/lib/twilio-ruby/rest/notify/v1/service.rb +639 -0
  162. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +430 -0
  163. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +288 -0
  164. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +224 -0
  165. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +445 -0
  166. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +254 -0
  167. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +434 -0
  168. data/lib/twilio-ruby/rest/preview.rb +145 -0
  169. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
  170. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +203 -0
  171. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +210 -0
  172. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +243 -0
  173. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +42 -0
  174. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +557 -0
  175. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  176. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -0
  177. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
  178. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +440 -0
  179. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +341 -0
  180. data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
  181. data/lib/twilio-ruby/rest/preview/proxy/service.rb +500 -0
  182. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +359 -0
  183. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +536 -0
  184. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +429 -0
  185. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +506 -0
  186. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +452 -0
  187. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +359 -0
  188. data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
  189. data/lib/twilio-ruby/rest/preview/sync/service.rb +504 -0
  190. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +445 -0
  191. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +395 -0
  192. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +438 -0
  193. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +430 -0
  194. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +395 -0
  195. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +438 -0
  196. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +432 -0
  197. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +395 -0
  198. data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
  199. data/lib/twilio-ruby/rest/preview/wireless/command.rb +382 -0
  200. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +435 -0
  201. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +544 -0
  202. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +236 -0
  203. data/lib/twilio-ruby/rest/pricing.rb +50 -2
  204. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  205. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  206. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  207. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  208. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  209. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  210. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  211. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  212. data/lib/twilio-ruby/rest/sync.rb +44 -0
  213. data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
  214. data/lib/twilio-ruby/rest/sync/v1/service.rb +504 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +445 -0
  216. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +395 -0
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +438 -0
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +430 -0
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +395 -0
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +438 -0
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +432 -0
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +395 -0
  223. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  224. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  225. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  226. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  238. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  239. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  240. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  241. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  242. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  243. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  244. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  245. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  246. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  247. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  248. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  249. data/lib/twilio-ruby/rest/video.rb +52 -0
  250. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  251. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  252. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  253. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  254. data/lib/twilio-ruby/rest/wireless.rb +60 -0
  255. data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
  256. data/lib/twilio-ruby/rest/wireless/v1/command.rb +367 -0
  257. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +452 -0
  258. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +548 -0
  259. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +235 -0
  260. data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
  261. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  262. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  263. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  264. data/lib/twilio-ruby/util.rb +1 -1
  265. data/lib/twilio-ruby/version.rb +1 -1
  266. data/spec/framework/serialize_spec.rb +59 -0
  267. data/spec/holodeck/holodeck.rb +61 -0
  268. data/spec/holodeck/hologram.rb +4 -0
  269. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  270. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  271. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  272. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  273. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  274. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  275. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  276. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  277. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  278. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  279. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  280. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  281. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  282. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  283. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  284. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  285. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  286. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  287. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  288. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
  289. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  290. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  291. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  292. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  293. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  294. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  295. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  296. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  297. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  298. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  299. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  300. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  301. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  302. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  303. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  304. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  305. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  306. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  307. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  308. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  309. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  310. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  311. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  312. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  313. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  314. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  315. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  316. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  317. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  318. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  319. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  320. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  321. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  322. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  323. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  324. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  325. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  326. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  327. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  328. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  329. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  330. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  331. data/spec/integration/api/v2010/account_spec.rb +254 -0
  332. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  333. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  334. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  335. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  336. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  337. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  338. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  339. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  340. data/spec/integration/chat/v1/service_spec.rb +299 -0
  341. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  342. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  343. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  344. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  345. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  346. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  347. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  348. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  349. data/spec/integration/chat/v2/service_spec.rb +325 -0
  350. data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
  351. data/spec/integration/fax/v1/fax_spec.rb +272 -0
  352. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  353. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  354. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  355. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  356. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  357. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  358. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  359. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  360. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  361. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  362. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  363. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  364. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  365. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  366. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  367. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  368. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  369. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  370. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  371. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
  372. data/spec/integration/messaging/v1/service/phone_number_spec.rb +201 -0
  373. data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
  374. data/spec/integration/messaging/v1/service_spec.rb +263 -0
  375. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  376. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  377. data/spec/integration/notify/v1/credential_spec.rb +223 -0
  378. data/spec/integration/notify/v1/service/binding_spec.rb +227 -0
  379. data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
  380. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  381. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
  382. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +269 -0
  383. data/spec/integration/notify/v1/service/user_spec.rb +213 -0
  384. data/spec/integration/notify/v1/service_spec.rb +280 -0
  385. data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
  386. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +79 -0
  387. data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
  388. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +280 -0
  389. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  390. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  391. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
  392. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  393. data/spec/integration/preview/proxy/service/phone_number_spec.rb +173 -0
  394. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
  395. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
  396. data/spec/integration/preview/proxy/service/session/participant_spec.rb +226 -0
  397. data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
  398. data/spec/integration/preview/proxy/service/short_code_spec.rb +173 -0
  399. data/spec/integration/preview/proxy/service_spec.rb +200 -0
  400. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
  401. data/spec/integration/preview/sync/service/document_spec.rb +254 -0
  402. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +256 -0
  403. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
  404. data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
  405. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +257 -0
  406. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
  407. data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
  408. data/spec/integration/preview/sync/service_spec.rb +244 -0
  409. data/spec/integration/preview/wireless/command_spec.rb +169 -0
  410. data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
  411. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  412. data/spec/integration/preview/wireless/sim_spec.rb +208 -0
  413. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  414. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  415. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  416. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  417. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  418. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  419. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  420. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +206 -0
  421. data/spec/integration/sync/v1/service/document_spec.rb +254 -0
  422. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +256 -0
  423. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +206 -0
  424. data/spec/integration/sync/v1/service/sync_list_spec.rb +207 -0
  425. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
  426. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +206 -0
  427. data/spec/integration/sync/v1/service/sync_map_spec.rb +207 -0
  428. data/spec/integration/sync/v1/service_spec.rb +244 -0
  429. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  430. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  431. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  432. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  433. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  434. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  435. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  436. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  437. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  438. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  439. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  440. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  441. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  442. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  443. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  444. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  445. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  446. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  447. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  448. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  449. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  450. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  451. data/spec/integration/video/v1/recording_spec.rb +165 -0
  452. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  453. data/spec/integration/video/v1/room_spec.rb +237 -0
  454. data/spec/integration/wireless/v1/command_spec.rb +166 -0
  455. data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
  456. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
  457. data/spec/integration/wireless/v1/sim_spec.rb +208 -0
  458. data/spec/jwt/access_token_spec.rb +130 -0
  459. data/spec/jwt/client_capability_spec.rb +104 -0
  460. data/spec/jwt/task_router_spec.rb +172 -0
  461. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  462. data/spec/{util → security}/request_validator_spec.rb +5 -5
  463. data/spec/spec_helper.rb +18 -1
  464. data/spec/support/fakeweb.rb +1 -1
  465. data/spec/twiml/messaging_response_spec.rb +90 -0
  466. data/spec/twiml/voice_response_spec.rb +474 -0
  467. data/twilio-ruby.gemspec +13 -8
  468. metadata +708 -251
  469. data/docs/Makefile +0 -130
  470. data/docs/_themes/LICENSE +0 -45
  471. data/docs/_themes/README.rst +0 -25
  472. data/docs/_themes/flask_theme_support.py +0 -86
  473. data/docs/_themes/kr/layout.html +0 -32
  474. data/docs/_themes/kr/relations.html +0 -19
  475. data/docs/_themes/kr/static/flasky.css_t +0 -469
  476. data/docs/_themes/kr/static/small_flask.css +0 -70
  477. data/docs/_themes/kr/theme.conf +0 -7
  478. data/docs/_themes/kr_small/layout.html +0 -22
  479. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  480. data/docs/_themes/kr_small/theme.conf +0 -10
  481. data/docs/changelog.rst +0 -1
  482. data/docs/conf.py +0 -266
  483. data/docs/faq.rst +0 -42
  484. data/docs/getting-started.rst +0 -117
  485. data/docs/index.rst +0 -135
  486. data/docs/make.bat +0 -170
  487. data/docs/src/pip-delete-this-directory.txt +0 -5
  488. data/docs/usage/accounts.rst +0 -89
  489. data/docs/usage/addresses.rst +0 -101
  490. data/docs/usage/applications.rst +0 -108
  491. data/docs/usage/basics.rst +0 -115
  492. data/docs/usage/caller-ids.rst +0 -47
  493. data/docs/usage/conferences.rst +0 -108
  494. data/docs/usage/errors.rst +0 -29
  495. data/docs/usage/lookups.rst +0 -62
  496. data/docs/usage/messages.rst +0 -137
  497. data/docs/usage/notifications.rst +0 -72
  498. data/docs/usage/phone-calls.rst +0 -185
  499. data/docs/usage/phone-numbers.rst +0 -189
  500. data/docs/usage/pricing.rst +0 -169
  501. data/docs/usage/queues.rst +0 -112
  502. data/docs/usage/recordings.rst +0 -98
  503. data/docs/usage/sip.rst +0 -104
  504. data/docs/usage/taskrouter-tokens.rst +0 -98
  505. data/docs/usage/taskrouter.rst +0 -440
  506. data/docs/usage/token-generation.rst +0 -115
  507. data/docs/usage/transcriptions.rst +0 -32
  508. data/docs/usage/twiml.rst +0 -69
  509. data/docs/usage/validation.rst +0 -107
  510. data/examples/taskrouter.examples.rb +0 -86
  511. data/issue_template.md +0 -25
  512. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  513. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  514. data/lib/twilio-ruby/rest/applications.rb +0 -6
  515. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  516. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  517. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  518. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  519. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  520. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  521. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  522. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  523. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  524. data/lib/twilio-ruby/rest/calls.rb +0 -33
  525. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  526. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  527. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  528. data/lib/twilio-ruby/rest/errors.rb +0 -14
  529. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  530. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  531. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  532. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  533. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  534. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  535. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  536. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  537. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  538. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  539. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  540. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  541. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  542. data/lib/twilio-ruby/rest/keys.rb +0 -6
  543. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  544. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  545. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  546. data/lib/twilio-ruby/rest/media.rb +0 -14
  547. data/lib/twilio-ruby/rest/messages.rb +0 -22
  548. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  549. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  550. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  551. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  552. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  553. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  554. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  555. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  556. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  557. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  558. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  559. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  560. data/lib/twilio-ruby/rest/queues.rb +0 -12
  561. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  562. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  563. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  564. data/lib/twilio-ruby/rest/sip.rb +0 -10
  565. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  566. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  567. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  568. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  569. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  570. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  571. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  572. data/lib/twilio-ruby/rest/sms.rb +0 -11
  573. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  574. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  575. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  576. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  577. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  578. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  579. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  580. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  581. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  582. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  583. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  584. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  585. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  586. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  587. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  588. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  589. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  590. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  591. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  592. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  593. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  594. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  595. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  596. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  597. data/lib/twilio-ruby/rest/usage.rb +0 -10
  598. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  599. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  600. data/lib/twilio-ruby/rest/utils.rb +0 -49
  601. data/lib/twilio-ruby/task_router.rb +0 -0
  602. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  603. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  604. data/lib/twilio-ruby/twiml/response.rb +0 -16
  605. data/lib/twilio-ruby/util/access_token.rb +0 -158
  606. data/lib/twilio-ruby/util/capability.rb +0 -64
  607. data/lib/twilio-ruby/util/client_config.rb +0 -29
  608. data/spec/rest/account_spec.rb +0 -89
  609. data/spec/rest/address_spec.rb +0 -11
  610. data/spec/rest/call_feedback_spec.rb +0 -12
  611. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  612. data/spec/rest/call_spec.rb +0 -22
  613. data/spec/rest/client_spec.rb +0 -277
  614. data/spec/rest/conference_spec.rb +0 -11
  615. data/spec/rest/instance_resource_spec.rb +0 -15
  616. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  617. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  618. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  619. data/spec/rest/key_spec.rb +0 -11
  620. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  621. data/spec/rest/message_spec.rb +0 -12
  622. data/spec/rest/monitor_client_spec.rb +0 -17
  623. data/spec/rest/numbers_spec.rb +0 -58
  624. data/spec/rest/pricing_client_spec.rb +0 -60
  625. data/spec/rest/queue_spec.rb +0 -11
  626. data/spec/rest/recording_spec.rb +0 -11
  627. data/spec/rest/sms/message_spec.rb +0 -37
  628. data/spec/rest/sms/messages_spec.rb +0 -31
  629. data/spec/rest/task_router/reservation_spec.rb +0 -14
  630. data/spec/rest/task_router/statistics_spec.rb +0 -37
  631. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  632. data/spec/rest/token_spec.rb +0 -7
  633. data/spec/rest/trunking/trunk_spec.rb +0 -36
  634. data/spec/rest/utils_spec.rb +0 -45
  635. data/spec/task_router/workflow_builder_spec.rb +0 -501
  636. data/spec/task_router_deprecated_spec.rb +0 -139
  637. data/spec/task_router_spec.rb +0 -110
  638. data/spec/task_router_taskqueue_spec.rb +0 -111
  639. data/spec/task_router_worker_spec.rb +0 -146
  640. data/spec/task_router_workspace_spec.rb +0 -110
  641. data/spec/util/access_token_spec.rb +0 -161
  642. data/spec/util/capability_spec.rb +0 -186
  643. data/spec/util/client_config_spec.rb +0 -21
@@ -0,0 +1,413 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Api < Domain
10
+ class V2010 < Version
11
+ class AccountContext < InstanceContext
12
+ class ConnectAppList < ListResource
13
+ ##
14
+ # Initialize the ConnectAppList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account that created this
17
+ # ConnectApp.
18
+ # @return [ConnectAppList] ConnectAppList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {
24
+ account_sid: account_sid
25
+ }
26
+ @uri = "/Accounts/#{@solution[:account_sid]}/ConnectApps.json"
27
+ end
28
+
29
+ ##
30
+ # Lists ConnectAppInstance records from the API as a list.
31
+ # Unlike stream(), this operation is eager and will load `limit` records into
32
+ # memory before returning.
33
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
34
+ # guarantees to never return more than limit. Default is no limit
35
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
36
+ # the default value of 50 records. If no page_size is defined
37
+ # but a limit is defined, stream() will attempt to read the
38
+ # limit with the most efficient page size, i.e. min(limit, 1000)
39
+ # @return [Array] Array of up to limit results
40
+ def list(limit: nil, page_size: nil)
41
+ self.stream(
42
+ limit: limit,
43
+ page_size: page_size
44
+ ).entries
45
+ end
46
+
47
+ ##
48
+ # Streams ConnectAppInstance records from the API as an Enumerable.
49
+ # This operation lazily loads records as efficiently as possible until the limit
50
+ # is reached.
51
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
52
+ # guarantees to never return more than limit. Default is no limit
53
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
54
+ # the default value of 50 records. If no page_size is defined
55
+ # but a limit is defined, stream() will attempt to read the
56
+ # limit with the most efficient page size, i.e. min(limit, 1000)
57
+ # @return [Enumerable] Enumerable that will yield up to limit results
58
+ def stream(limit: nil, page_size: nil)
59
+ limits = @version.read_limits(limit, page_size)
60
+
61
+ page = self.page(
62
+ page_size: limits[:page_size],
63
+ )
64
+
65
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
66
+ end
67
+
68
+ ##
69
+ # When passed a block, yields ConnectAppInstance records from the API.
70
+ # This operation lazily loads records as efficiently as possible until the limit
71
+ # is reached.
72
+ def each
73
+ limits = @version.read_limits
74
+
75
+ page = self.page(
76
+ page_size: limits[:page_size],
77
+ )
78
+
79
+ @version.stream(page,
80
+ limit: limits[:limit],
81
+ page_limit: limits[:page_limit]).each {|x| yield x}
82
+ end
83
+
84
+ ##
85
+ # Retrieve a single page of ConnectAppInstance records from the API.
86
+ # Request is executed immediately.
87
+ # @param [String] page_token PageToken provided by the API
88
+ # @param [Integer] page_number Page Number, this value is simply for client state
89
+ # @param [Integer] page_size Number of records to return, defaults to 50
90
+ # @return [Page] Page of ConnectAppInstance
91
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
92
+ params = Twilio::Values.of({
93
+ 'PageToken' => page_token,
94
+ 'Page' => page_number,
95
+ 'PageSize' => page_size,
96
+ })
97
+ response = @version.page(
98
+ 'GET',
99
+ @uri,
100
+ params
101
+ )
102
+ ConnectAppPage.new(@version, response, @solution)
103
+ end
104
+
105
+ ##
106
+ # Retrieve a single page of ConnectAppInstance records from the API.
107
+ # Request is executed immediately.
108
+ # @param [String] target_url API-generated URL for the requested results page
109
+ # @return [Page] Page of ConnectAppInstance
110
+ def get_page(target_url)
111
+ response = @version.domain.request(
112
+ 'GET',
113
+ target_url
114
+ )
115
+ ConnectAppPage.new(@version, response, @solution)
116
+ end
117
+
118
+ ##
119
+ # Provide a user friendly representation
120
+ def to_s
121
+ '#<Twilio.Api.V2010.ConnectAppList>'
122
+ end
123
+ end
124
+
125
+ class ConnectAppPage < Page
126
+ ##
127
+ # Initialize the ConnectAppPage
128
+ # @param [Version] version Version that contains the resource
129
+ # @param [Response] response Response from the API
130
+ # @param [Hash] solution Path solution for the resource
131
+ # @return [ConnectAppPage] ConnectAppPage
132
+ def initialize(version, response, solution)
133
+ super(version, response)
134
+
135
+ # Path Solution
136
+ @solution = solution
137
+ end
138
+
139
+ ##
140
+ # Build an instance of ConnectAppInstance
141
+ # @param [Hash] payload Payload response from the API
142
+ # @return [ConnectAppInstance] ConnectAppInstance
143
+ def get_instance(payload)
144
+ ConnectAppInstance.new(
145
+ @version,
146
+ payload,
147
+ account_sid: @solution[:account_sid],
148
+ )
149
+ end
150
+
151
+ ##
152
+ # Provide a user friendly representation
153
+ def to_s
154
+ '<Twilio.Api.V2010.ConnectAppPage>'
155
+ end
156
+ end
157
+
158
+ class ConnectAppContext < InstanceContext
159
+ ##
160
+ # Initialize the ConnectAppContext
161
+ # @param [Version] version Version that contains the resource
162
+ # @param [String] account_sid The account_sid
163
+ # @param [String] sid The connect-app Sid that uniquely identifies this resource
164
+ # @return [ConnectAppContext] ConnectAppContext
165
+ def initialize(version, account_sid, sid)
166
+ super(version)
167
+
168
+ # Path Solution
169
+ @solution = {
170
+ account_sid: account_sid,
171
+ sid: sid,
172
+ }
173
+ @uri = "/Accounts/#{@solution[:account_sid]}/ConnectApps/#{@solution[:sid]}.json"
174
+ end
175
+
176
+ ##
177
+ # Fetch a ConnectAppInstance
178
+ # @return [ConnectAppInstance] Fetched ConnectAppInstance
179
+ def fetch
180
+ params = Twilio::Values.of({})
181
+
182
+ payload = @version.fetch(
183
+ 'GET',
184
+ @uri,
185
+ params,
186
+ )
187
+
188
+ ConnectAppInstance.new(
189
+ @version,
190
+ payload,
191
+ account_sid: @solution[:account_sid],
192
+ sid: @solution[:sid],
193
+ )
194
+ end
195
+
196
+ ##
197
+ # Update the ConnectAppInstance
198
+ # @param [String] authorize_redirect_url The URL the user's browser will redirect
199
+ # to after Twilio authenticates the user and obtains authorization for this
200
+ # Connect App.
201
+ # @param [String] company_name The company name set for this Connect App.
202
+ # @param [String] deauthorize_callback_method The HTTP method to be used when
203
+ # making a request to the `DeauthorizeCallbackUrl`.
204
+ # @param [String] deauthorize_callback_url The URL to which Twilio will send a
205
+ # request when a user de-authorizes this Connect App.
206
+ # @param [String] description A more detailed human readable description of the
207
+ # Connect App.
208
+ # @param [String] friendly_name A human readable name for the Connect App.
209
+ # @param [String] homepage_url The public URL where users can obtain more
210
+ # information about this Connect App.
211
+ # @param [connect_app.Permission] permissions The set of permissions that your
212
+ # ConnectApp requests.
213
+ # @return [ConnectAppInstance] Updated ConnectAppInstance
214
+ def update(authorize_redirect_url: :unset, company_name: :unset, deauthorize_callback_method: :unset, deauthorize_callback_url: :unset, description: :unset, friendly_name: :unset, homepage_url: :unset, permissions: :unset)
215
+ data = Twilio::Values.of({
216
+ 'AuthorizeRedirectUrl' => authorize_redirect_url,
217
+ 'CompanyName' => company_name,
218
+ 'DeauthorizeCallbackMethod' => deauthorize_callback_method,
219
+ 'DeauthorizeCallbackUrl' => deauthorize_callback_url,
220
+ 'Description' => description,
221
+ 'FriendlyName' => friendly_name,
222
+ 'HomepageUrl' => homepage_url,
223
+ 'Permissions' => permissions,
224
+ })
225
+
226
+ payload = @version.update(
227
+ 'POST',
228
+ @uri,
229
+ data: data,
230
+ )
231
+
232
+ ConnectAppInstance.new(
233
+ @version,
234
+ payload,
235
+ account_sid: @solution[:account_sid],
236
+ sid: @solution[:sid],
237
+ )
238
+ end
239
+
240
+ ##
241
+ # Provide a user friendly representation
242
+ def to_s
243
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
244
+ "#<Twilio.Api.V2010.ConnectAppContext #{context}>"
245
+ end
246
+ end
247
+
248
+ class ConnectAppInstance < InstanceResource
249
+ ##
250
+ # Initialize the ConnectAppInstance
251
+ # @param [Version] version Version that contains the resource
252
+ # @param [Hash] payload payload that contains response from Twilio
253
+ # @param [String] account_sid The unique id of the Account that created this
254
+ # ConnectApp.
255
+ # @param [String] sid The connect-app Sid that uniquely identifies this resource
256
+ # @return [ConnectAppInstance] ConnectAppInstance
257
+ def initialize(version, payload, account_sid: nil, sid: nil)
258
+ super(version)
259
+
260
+ # Marshaled Properties
261
+ @properties = {
262
+ 'account_sid' => payload['account_sid'],
263
+ 'authorize_redirect_url' => payload['authorize_redirect_url'],
264
+ 'company_name' => payload['company_name'],
265
+ 'deauthorize_callback_method' => payload['deauthorize_callback_method'],
266
+ 'deauthorize_callback_url' => payload['deauthorize_callback_url'],
267
+ 'description' => payload['description'],
268
+ 'friendly_name' => payload['friendly_name'],
269
+ 'homepage_url' => payload['homepage_url'],
270
+ 'permissions' => payload['permissions'],
271
+ 'sid' => payload['sid'],
272
+ 'uri' => payload['uri'],
273
+ }
274
+
275
+ # Context
276
+ @instance_context = nil
277
+ @params = {
278
+ 'account_sid' => account_sid,
279
+ 'sid' => sid || @properties['sid'],
280
+ }
281
+ end
282
+
283
+ ##
284
+ # Generate an instance context for the instance, the context is capable of
285
+ # performing various actions. All instance actions are proxied to the context
286
+ # @return [ConnectAppContext] ConnectAppContext for this ConnectAppInstance
287
+ def context
288
+ unless @instance_context
289
+ @instance_context = ConnectAppContext.new(
290
+ @version,
291
+ @params['account_sid'],
292
+ @params['sid'],
293
+ )
294
+ end
295
+ @instance_context
296
+ end
297
+
298
+ ##
299
+ # @return [String] The unique sid that identifies this account
300
+ def account_sid
301
+ @properties['account_sid']
302
+ end
303
+
304
+ ##
305
+ # @return [String] URIL Twilio sends requests when users authorize
306
+ def authorize_redirect_url
307
+ @properties['authorize_redirect_url']
308
+ end
309
+
310
+ ##
311
+ # @return [String] The company name set for this Connect App.
312
+ def company_name
313
+ @properties['company_name']
314
+ end
315
+
316
+ ##
317
+ # @return [String] HTTP method Twilio WIll use making requests to the url
318
+ def deauthorize_callback_method
319
+ @properties['deauthorize_callback_method']
320
+ end
321
+
322
+ ##
323
+ # @return [String] URL Twilio will send a request when a user de-authorizes this app
324
+ def deauthorize_callback_url
325
+ @properties['deauthorize_callback_url']
326
+ end
327
+
328
+ ##
329
+ # @return [String] A more detailed human readable description
330
+ def description
331
+ @properties['description']
332
+ end
333
+
334
+ ##
335
+ # @return [String] A human readable name for the Connect App.
336
+ def friendly_name
337
+ @properties['friendly_name']
338
+ end
339
+
340
+ ##
341
+ # @return [String] The URL users can obtain more information
342
+ def homepage_url
343
+ @properties['homepage_url']
344
+ end
345
+
346
+ ##
347
+ # @return [connect_app.Permission] The set of permissions that your ConnectApp requests.
348
+ def permissions
349
+ @properties['permissions']
350
+ end
351
+
352
+ ##
353
+ # @return [String] A string that uniquely identifies this connect-apps
354
+ def sid
355
+ @properties['sid']
356
+ end
357
+
358
+ ##
359
+ # @return [String] The URI for this resource
360
+ def uri
361
+ @properties['uri']
362
+ end
363
+
364
+ ##
365
+ # Fetch a ConnectAppInstance
366
+ # @return [ConnectAppInstance] Fetched ConnectAppInstance
367
+ def fetch
368
+ context.fetch
369
+ end
370
+
371
+ ##
372
+ # Update the ConnectAppInstance
373
+ # @param [String] authorize_redirect_url The URL the user's browser will redirect
374
+ # to after Twilio authenticates the user and obtains authorization for this
375
+ # Connect App.
376
+ # @param [String] company_name The company name set for this Connect App.
377
+ # @param [String] deauthorize_callback_method The HTTP method to be used when
378
+ # making a request to the `DeauthorizeCallbackUrl`.
379
+ # @param [String] deauthorize_callback_url The URL to which Twilio will send a
380
+ # request when a user de-authorizes this Connect App.
381
+ # @param [String] description A more detailed human readable description of the
382
+ # Connect App.
383
+ # @param [String] friendly_name A human readable name for the Connect App.
384
+ # @param [String] homepage_url The public URL where users can obtain more
385
+ # information about this Connect App.
386
+ # @param [connect_app.Permission] permissions The set of permissions that your
387
+ # ConnectApp requests.
388
+ # @return [ConnectAppInstance] Updated ConnectAppInstance
389
+ def update(authorize_redirect_url: :unset, company_name: :unset, deauthorize_callback_method: :unset, deauthorize_callback_url: :unset, description: :unset, friendly_name: :unset, homepage_url: :unset, permissions: :unset)
390
+ context.update(
391
+ authorize_redirect_url: authorize_redirect_url,
392
+ company_name: company_name,
393
+ deauthorize_callback_method: deauthorize_callback_method,
394
+ deauthorize_callback_url: deauthorize_callback_url,
395
+ description: description,
396
+ friendly_name: friendly_name,
397
+ homepage_url: homepage_url,
398
+ permissions: permissions,
399
+ )
400
+ end
401
+
402
+ ##
403
+ # Provide a user friendly representation
404
+ def to_s
405
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
406
+ "<Twilio.Api.V2010.ConnectAppInstance #{values}>"
407
+ end
408
+ end
409
+ end
410
+ end
411
+ end
412
+ end
413
+ end
@@ -0,0 +1,823 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Api < Domain
10
+ class V2010 < Version
11
+ class AccountContext < InstanceContext
12
+ class IncomingPhoneNumberList < ListResource
13
+ ##
14
+ # Initialize the IncomingPhoneNumberList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account responsible for this
17
+ # phone number.
18
+ # @return [IncomingPhoneNumberList] IncomingPhoneNumberList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {
24
+ account_sid: account_sid
25
+ }
26
+ @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers.json"
27
+
28
+ # Components
29
+ @local = nil
30
+ @mobile = nil
31
+ @toll_free = nil
32
+ end
33
+
34
+ ##
35
+ # Lists IncomingPhoneNumberInstance records from the API as a list.
36
+ # Unlike stream(), this operation is eager and will load `limit` records into
37
+ # memory before returning.
38
+ # @param [Boolean] beta Include phone numbers new to the Twilio platform
39
+ # @param [String] friendly_name Only show the incoming phone number resources with
40
+ # friendly names that exactly match this name
41
+ # @param [String] phone_number Only show the incoming phone number resources that
42
+ # match this pattern
43
+ # @param [String] origin The origin
44
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
45
+ # guarantees to never return more than limit. Default is no limit
46
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
47
+ # the default value of 50 records. If no page_size is defined
48
+ # but a limit is defined, stream() will attempt to read the
49
+ # limit with the most efficient page size, i.e. min(limit, 1000)
50
+ # @return [Array] Array of up to limit results
51
+ def list(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil)
52
+ self.stream(
53
+ beta: beta,
54
+ friendly_name: friendly_name,
55
+ phone_number: phone_number,
56
+ origin: origin,
57
+ limit: limit,
58
+ page_size: page_size
59
+ ).entries
60
+ end
61
+
62
+ ##
63
+ # Streams IncomingPhoneNumberInstance records from the API as an Enumerable.
64
+ # This operation lazily loads records as efficiently as possible until the limit
65
+ # is reached.
66
+ # @param [Boolean] beta Include phone numbers new to the Twilio platform
67
+ # @param [String] friendly_name Only show the incoming phone number resources with
68
+ # friendly names that exactly match this name
69
+ # @param [String] phone_number Only show the incoming phone number resources that
70
+ # match this pattern
71
+ # @param [String] origin The origin
72
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
73
+ # guarantees to never return more than limit. Default is no limit
74
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
75
+ # the default value of 50 records. If no page_size is defined
76
+ # but a limit is defined, stream() will attempt to read the
77
+ # limit with the most efficient page size, i.e. min(limit, 1000)
78
+ # @return [Enumerable] Enumerable that will yield up to limit results
79
+ def stream(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil)
80
+ limits = @version.read_limits(limit, page_size)
81
+
82
+ page = self.page(
83
+ beta: beta,
84
+ friendly_name: friendly_name,
85
+ phone_number: phone_number,
86
+ origin: origin,
87
+ page_size: limits[:page_size],
88
+ )
89
+
90
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
91
+ end
92
+
93
+ ##
94
+ # When passed a block, yields IncomingPhoneNumberInstance records from the API.
95
+ # This operation lazily loads records as efficiently as possible until the limit
96
+ # is reached.
97
+ def each
98
+ limits = @version.read_limits
99
+
100
+ page = self.page(
101
+ page_size: limits[:page_size],
102
+ )
103
+
104
+ @version.stream(page,
105
+ limit: limits[:limit],
106
+ page_limit: limits[:page_limit]).each {|x| yield x}
107
+ end
108
+
109
+ ##
110
+ # Retrieve a single page of IncomingPhoneNumberInstance records from the API.
111
+ # Request is executed immediately.
112
+ # @param [Boolean] beta Include phone numbers new to the Twilio platform
113
+ # @param [String] friendly_name Only show the incoming phone number resources with
114
+ # friendly names that exactly match this name
115
+ # @param [String] phone_number Only show the incoming phone number resources that
116
+ # match this pattern
117
+ # @param [String] origin The origin
118
+ # @param [String] page_token PageToken provided by the API
119
+ # @param [Integer] page_number Page Number, this value is simply for client state
120
+ # @param [Integer] page_size Number of records to return, defaults to 50
121
+ # @return [Page] Page of IncomingPhoneNumberInstance
122
+ def page(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
123
+ params = Twilio::Values.of({
124
+ 'Beta' => beta,
125
+ 'FriendlyName' => friendly_name,
126
+ 'PhoneNumber' => phone_number,
127
+ 'Origin' => origin,
128
+ 'PageToken' => page_token,
129
+ 'Page' => page_number,
130
+ 'PageSize' => page_size,
131
+ })
132
+ response = @version.page(
133
+ 'GET',
134
+ @uri,
135
+ params
136
+ )
137
+ IncomingPhoneNumberPage.new(@version, response, @solution)
138
+ end
139
+
140
+ ##
141
+ # Retrieve a single page of IncomingPhoneNumberInstance records from the API.
142
+ # Request is executed immediately.
143
+ # @param [String] target_url API-generated URL for the requested results page
144
+ # @return [Page] Page of IncomingPhoneNumberInstance
145
+ def get_page(target_url)
146
+ response = @version.domain.request(
147
+ 'GET',
148
+ target_url
149
+ )
150
+ IncomingPhoneNumberPage.new(@version, response, @solution)
151
+ end
152
+
153
+ ##
154
+ # Retrieve a single page of IncomingPhoneNumberInstance records from the API.
155
+ # Request is executed immediately.
156
+ # @param [String] api_version Calls to this phone number will start a new TwiML
157
+ # session with this API version.
158
+ # @param [String] friendly_name A human readable descriptive text for this
159
+ # resource, up to 64 characters long. By default, the `FriendlyName` is a nicely
160
+ # formatted version of the phone number.
161
+ # @param [String] sms_application_sid The 34 character sid of the application
162
+ # Twilio should use to handle SMSs sent to this number. If a `SmsApplicationSid`
163
+ # is present, Twilio will ignore all of the SMS urls above and use those set on
164
+ # the application.
165
+ # @param [String] sms_fallback_method The HTTP method Twilio will use when
166
+ # requesting the above URL. Either `GET` or `POST`.
167
+ # @param [String] sms_fallback_url The URL that Twilio will request if an error
168
+ # occurs retrieving or executing the TwiML from `SmsUrl`.
169
+ # @param [String] sms_method The HTTP method Twilio will use when making requests
170
+ # to the `SmsUrl`. Either `GET` or `POST`.
171
+ # @param [String] sms_url The URL Twilio will request when receiving an incoming
172
+ # SMS message to this number.
173
+ # @param [String] status_callback The URL that Twilio will request to pass status
174
+ # parameters (such as call ended) to your application.
175
+ # @param [String] status_callback_method The HTTP method Twilio will use to make
176
+ # requests to the `StatusCallback` URL. Either `GET` or `POST`.
177
+ # @param [String] voice_application_sid The 34 character sid of the application
178
+ # Twilio should use to handle phone calls to this number. If a
179
+ # `VoiceApplicationSid` is present, Twilio will ignore all of the voice urls above
180
+ # and use those set on the application. Setting a `VoiceApplicationSid` will
181
+ # automatically delete your `TrunkSid` and vice versa.
182
+ # @param [Boolean] voice_caller_id_lookup Look up the caller's caller-ID name from
183
+ # the CNAM database ($0.01 per look up). Either `true` or `false`.
184
+ # @param [String] voice_fallback_method The HTTP method Twilio will use when
185
+ # requesting the `VoiceFallbackUrl`. Either `GET` or `POST`.
186
+ # @param [String] voice_fallback_url The URL that Twilio will request if an error
187
+ # occurs retrieving or executing the TwiML requested by `Url`.
188
+ # @param [String] voice_method The HTTP method Twilio will use when requesting the
189
+ # above `Url`. Either `GET` or `POST`.
190
+ # @param [String] voice_url The URL Twilio will request when this phone number
191
+ # receives a call. The VoiceURL will no longer be used if a `VoiceApplicationSid`
192
+ # or a `TrunkSid` is set.
193
+ # @param [incoming_phone_number.EmergencyStatus] emergency_status The
194
+ # emergency_status
195
+ # @param [String] emergency_address_sid The emergency_address_sid
196
+ # @param [String] trunk_sid The 34 character sid of the Trunk Twilio should use to
197
+ # handle phone calls to this number. If a `TrunkSid` is present, Twilio will
198
+ # ignore all of the voice urls and voice applications above and use those set on
199
+ # the Trunk. Setting a `TrunkSid` will automatically delete your
200
+ # `VoiceApplicationSid` and vice versa.
201
+ # @param [String] phone_number The phone number to purchase. e.g., +16175551212
202
+ # (E.164 format)
203
+ # @param [String] area_code The desired area code for the new phone number. Any
204
+ # three digit US or Canada rea code is valid
205
+ # @return [IncomingPhoneNumberInstance] Newly created IncomingPhoneNumberInstance
206
+ def create(api_version: :unset, friendly_name: :unset, sms_application_sid: :unset, sms_fallback_method: :unset, sms_fallback_url: :unset, sms_method: :unset, sms_url: :unset, status_callback: :unset, status_callback_method: :unset, voice_application_sid: :unset, voice_caller_id_lookup: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_url: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset, phone_number: :unset, area_code: :unset)
207
+ data = Twilio::Values.of({
208
+ 'PhoneNumber' => phone_number,
209
+ 'AreaCode' => area_code,
210
+ 'ApiVersion' => api_version,
211
+ 'FriendlyName' => friendly_name,
212
+ 'SmsApplicationSid' => sms_application_sid,
213
+ 'SmsFallbackMethod' => sms_fallback_method,
214
+ 'SmsFallbackUrl' => sms_fallback_url,
215
+ 'SmsMethod' => sms_method,
216
+ 'SmsUrl' => sms_url,
217
+ 'StatusCallback' => status_callback,
218
+ 'StatusCallbackMethod' => status_callback_method,
219
+ 'VoiceApplicationSid' => voice_application_sid,
220
+ 'VoiceCallerIdLookup' => voice_caller_id_lookup,
221
+ 'VoiceFallbackMethod' => voice_fallback_method,
222
+ 'VoiceFallbackUrl' => voice_fallback_url,
223
+ 'VoiceMethod' => voice_method,
224
+ 'VoiceUrl' => voice_url,
225
+ 'EmergencyStatus' => emergency_status,
226
+ 'EmergencyAddressSid' => emergency_address_sid,
227
+ 'TrunkSid' => trunk_sid,
228
+ })
229
+
230
+ payload = @version.create(
231
+ 'POST',
232
+ @uri,
233
+ data: data
234
+ )
235
+
236
+ IncomingPhoneNumberInstance.new(
237
+ @version,
238
+ payload,
239
+ account_sid: @solution[:account_sid],
240
+ )
241
+ end
242
+
243
+ ##
244
+ # Access the local
245
+ # @return [LocalList]
246
+ # @return [LocalContext]
247
+ def local
248
+ @local ||= LocalList.new(
249
+ @version,
250
+ account_sid: @solution[:account_sid],
251
+ )
252
+ end
253
+
254
+ ##
255
+ # Access the mobile
256
+ # @return [MobileList]
257
+ # @return [MobileContext]
258
+ def mobile
259
+ @mobile ||= MobileList.new(
260
+ @version,
261
+ account_sid: @solution[:account_sid],
262
+ )
263
+ end
264
+
265
+ ##
266
+ # Access the toll_free
267
+ # @return [TollFreeList]
268
+ # @return [TollFreeContext]
269
+ def toll_free
270
+ @toll_free ||= TollFreeList.new(
271
+ @version,
272
+ account_sid: @solution[:account_sid],
273
+ )
274
+ end
275
+
276
+ ##
277
+ # Provide a user friendly representation
278
+ def to_s
279
+ '#<Twilio.Api.V2010.IncomingPhoneNumberList>'
280
+ end
281
+ end
282
+
283
+ class IncomingPhoneNumberPage < Page
284
+ ##
285
+ # Initialize the IncomingPhoneNumberPage
286
+ # @param [Version] version Version that contains the resource
287
+ # @param [Response] response Response from the API
288
+ # @param [Hash] solution Path solution for the resource
289
+ # @return [IncomingPhoneNumberPage] IncomingPhoneNumberPage
290
+ def initialize(version, response, solution)
291
+ super(version, response)
292
+
293
+ # Path Solution
294
+ @solution = solution
295
+ end
296
+
297
+ ##
298
+ # Build an instance of IncomingPhoneNumberInstance
299
+ # @param [Hash] payload Payload response from the API
300
+ # @return [IncomingPhoneNumberInstance] IncomingPhoneNumberInstance
301
+ def get_instance(payload)
302
+ IncomingPhoneNumberInstance.new(
303
+ @version,
304
+ payload,
305
+ account_sid: @solution[:account_sid],
306
+ )
307
+ end
308
+
309
+ ##
310
+ # Provide a user friendly representation
311
+ def to_s
312
+ '<Twilio.Api.V2010.IncomingPhoneNumberPage>'
313
+ end
314
+ end
315
+
316
+ class IncomingPhoneNumberContext < InstanceContext
317
+ ##
318
+ # Initialize the IncomingPhoneNumberContext
319
+ # @param [Version] version Version that contains the resource
320
+ # @param [String] account_sid The account_sid
321
+ # @param [String] sid The incoming-phone-number Sid that uniquely identifies this
322
+ # resource
323
+ # @return [IncomingPhoneNumberContext] IncomingPhoneNumberContext
324
+ def initialize(version, account_sid, sid)
325
+ super(version)
326
+
327
+ # Path Solution
328
+ @solution = {
329
+ account_sid: account_sid,
330
+ sid: sid,
331
+ }
332
+ @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers/#{@solution[:sid]}.json"
333
+
334
+ # Dependents
335
+ @assigned_add_ons = nil
336
+ end
337
+
338
+ ##
339
+ # Update the IncomingPhoneNumberInstance
340
+ # @param [String] api_version Calls to this phone number will start a new TwiML
341
+ # session with this API version.
342
+ # @param [String] friendly_name A human readable descriptive text for this
343
+ # resource, up to 64 characters long. By default, the `FriendlyName` is a nicely
344
+ # formatted version of the phone number.
345
+ # @param [String] sms_application_sid The 34 character sid of the application
346
+ # Twilio should use to handle SMSs sent to this number. If a `SmsApplicationSid`
347
+ # is present, Twilio will ignore all of the SMS urls above and use those set on
348
+ # the application.
349
+ # @param [String] sms_fallback_method The HTTP method Twilio will use when
350
+ # requesting the above URL. Either `GET` or `POST`.
351
+ # @param [String] sms_fallback_url The URL that Twilio will request if an error
352
+ # occurs retrieving or executing the TwiML from `SmsUrl`.
353
+ # @param [String] sms_method The HTTP method Twilio will use when making requests
354
+ # to the `SmsUrl`. Either `GET` or `POST`.
355
+ # @param [String] sms_url The URL Twilio will request when receiving an incoming
356
+ # SMS message to this number.
357
+ # @param [String] status_callback The URL that Twilio will request to pass status
358
+ # parameters (such as call ended) to your application.
359
+ # @param [String] status_callback_method The HTTP method Twilio will use to make
360
+ # requests to the `StatusCallback` URL. Either `GET` or `POST`.
361
+ # @param [String] voice_application_sid The 34 character sid of the application
362
+ # Twilio should use to handle phone calls to this number. If a
363
+ # `VoiceApplicationSid` is present, Twilio will ignore all of the voice urls above
364
+ # and use those set on the application. Setting a `VoiceApplicationSid` will
365
+ # automatically delete your `TrunkSid` and vice versa.
366
+ # @param [Boolean] voice_caller_id_lookup Look up the caller's caller-ID name from
367
+ # the CNAM database ($0.01 per look up). Either `true` or `false`.
368
+ # @param [String] voice_fallback_method The HTTP method Twilio will use when
369
+ # requesting the `VoiceFallbackUrl`. Either `GET` or `POST`.
370
+ # @param [String] voice_fallback_url The URL that Twilio will request if an error
371
+ # occurs retrieving or executing the TwiML requested by `Url`.
372
+ # @param [String] voice_method The HTTP method Twilio will use when requesting the
373
+ # above `Url`. Either `GET` or `POST`.
374
+ # @param [String] voice_url The URL Twilio will request when this phone number
375
+ # receives a call. The VoiceURL will no longer be used if a `VoiceApplicationSid`
376
+ # or a `TrunkSid` is set.
377
+ # @param [incoming_phone_number.EmergencyStatus] emergency_status The
378
+ # emergency_status
379
+ # @param [String] emergency_address_sid The emergency_address_sid
380
+ # @param [String] trunk_sid The 34 character sid of the Trunk Twilio should use to
381
+ # handle phone calls to this number. If a `TrunkSid` is present, Twilio will
382
+ # ignore all of the voice urls and voice applications above and use those set on
383
+ # the Trunk. Setting a `TrunkSid` will automatically delete your
384
+ # `VoiceApplicationSid` and vice versa.
385
+ # @return [IncomingPhoneNumberInstance] Updated IncomingPhoneNumberInstance
386
+ def update(api_version: :unset, friendly_name: :unset, sms_application_sid: :unset, sms_fallback_method: :unset, sms_fallback_url: :unset, sms_method: :unset, sms_url: :unset, status_callback: :unset, status_callback_method: :unset, voice_application_sid: :unset, voice_caller_id_lookup: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_url: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset)
387
+ data = Twilio::Values.of({
388
+ 'ApiVersion' => api_version,
389
+ 'FriendlyName' => friendly_name,
390
+ 'SmsApplicationSid' => sms_application_sid,
391
+ 'SmsFallbackMethod' => sms_fallback_method,
392
+ 'SmsFallbackUrl' => sms_fallback_url,
393
+ 'SmsMethod' => sms_method,
394
+ 'SmsUrl' => sms_url,
395
+ 'StatusCallback' => status_callback,
396
+ 'StatusCallbackMethod' => status_callback_method,
397
+ 'VoiceApplicationSid' => voice_application_sid,
398
+ 'VoiceCallerIdLookup' => voice_caller_id_lookup,
399
+ 'VoiceFallbackMethod' => voice_fallback_method,
400
+ 'VoiceFallbackUrl' => voice_fallback_url,
401
+ 'VoiceMethod' => voice_method,
402
+ 'VoiceUrl' => voice_url,
403
+ 'EmergencyStatus' => emergency_status,
404
+ 'EmergencyAddressSid' => emergency_address_sid,
405
+ 'TrunkSid' => trunk_sid,
406
+ })
407
+
408
+ payload = @version.update(
409
+ 'POST',
410
+ @uri,
411
+ data: data,
412
+ )
413
+
414
+ IncomingPhoneNumberInstance.new(
415
+ @version,
416
+ payload,
417
+ account_sid: @solution[:account_sid],
418
+ sid: @solution[:sid],
419
+ )
420
+ end
421
+
422
+ ##
423
+ # Fetch a IncomingPhoneNumberInstance
424
+ # @return [IncomingPhoneNumberInstance] Fetched IncomingPhoneNumberInstance
425
+ def fetch
426
+ params = Twilio::Values.of({})
427
+
428
+ payload = @version.fetch(
429
+ 'GET',
430
+ @uri,
431
+ params,
432
+ )
433
+
434
+ IncomingPhoneNumberInstance.new(
435
+ @version,
436
+ payload,
437
+ account_sid: @solution[:account_sid],
438
+ sid: @solution[:sid],
439
+ )
440
+ end
441
+
442
+ ##
443
+ # Deletes the IncomingPhoneNumberInstance
444
+ # @return [Boolean] true if delete succeeds, true otherwise
445
+ def delete
446
+ @version.delete('delete', @uri)
447
+ end
448
+
449
+ ##
450
+ # Access the assigned_add_ons
451
+ # @return [AssignedAddOnList]
452
+ # @return [AssignedAddOnContext] if sid was passed.
453
+ def assigned_add_ons(sid=:unset)
454
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
455
+
456
+ if sid != :unset
457
+ return AssignedAddOnContext.new(
458
+ @version,
459
+ @solution[:account_sid],
460
+ @solution[:sid],
461
+ sid,
462
+ )
463
+ end
464
+
465
+ unless @assigned_add_ons
466
+ @assigned_add_ons = AssignedAddOnList.new(
467
+ @version,
468
+ account_sid: @solution[:account_sid],
469
+ resource_sid: @solution[:sid],
470
+ )
471
+ end
472
+
473
+ @assigned_add_ons
474
+ end
475
+
476
+ ##
477
+ # Provide a user friendly representation
478
+ def to_s
479
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
480
+ "#<Twilio.Api.V2010.IncomingPhoneNumberContext #{context}>"
481
+ end
482
+ end
483
+
484
+ class IncomingPhoneNumberInstance < InstanceResource
485
+ ##
486
+ # Initialize the IncomingPhoneNumberInstance
487
+ # @param [Version] version Version that contains the resource
488
+ # @param [Hash] payload payload that contains response from Twilio
489
+ # @param [String] account_sid The unique id of the Account responsible for this
490
+ # phone number.
491
+ # @param [String] sid The incoming-phone-number Sid that uniquely identifies this
492
+ # resource
493
+ # @return [IncomingPhoneNumberInstance] IncomingPhoneNumberInstance
494
+ def initialize(version, payload, account_sid: nil, sid: nil)
495
+ super(version)
496
+
497
+ # Marshaled Properties
498
+ @properties = {
499
+ 'account_sid' => payload['account_sid'],
500
+ 'address_requirements' => payload['address_requirements'],
501
+ 'api_version' => payload['api_version'],
502
+ 'beta' => payload['beta'],
503
+ 'capabilities' => payload['capabilities'],
504
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
505
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
506
+ 'friendly_name' => payload['friendly_name'],
507
+ 'phone_number' => payload['phone_number'],
508
+ 'origin' => payload['origin'],
509
+ 'sid' => payload['sid'],
510
+ 'sms_application_sid' => payload['sms_application_sid'],
511
+ 'sms_fallback_method' => payload['sms_fallback_method'],
512
+ 'sms_fallback_url' => payload['sms_fallback_url'],
513
+ 'sms_method' => payload['sms_method'],
514
+ 'sms_url' => payload['sms_url'],
515
+ 'status_callback' => payload['status_callback'],
516
+ 'status_callback_method' => payload['status_callback_method'],
517
+ 'trunk_sid' => payload['trunk_sid'],
518
+ 'uri' => payload['uri'],
519
+ 'voice_application_sid' => payload['voice_application_sid'],
520
+ 'voice_caller_id_lookup' => payload['voice_caller_id_lookup'],
521
+ 'voice_fallback_method' => payload['voice_fallback_method'],
522
+ 'voice_fallback_url' => payload['voice_fallback_url'],
523
+ 'voice_method' => payload['voice_method'],
524
+ 'voice_url' => payload['voice_url'],
525
+ 'emergency_status' => payload['emergency_status'],
526
+ 'emergency_address_sid' => payload['emergency_address_sid'],
527
+ }
528
+
529
+ # Context
530
+ @instance_context = nil
531
+ @params = {
532
+ 'account_sid' => account_sid,
533
+ 'sid' => sid || @properties['sid'],
534
+ }
535
+ end
536
+
537
+ ##
538
+ # Generate an instance context for the instance, the context is capable of
539
+ # performing various actions. All instance actions are proxied to the context
540
+ # @return [IncomingPhoneNumberContext] IncomingPhoneNumberContext for this IncomingPhoneNumberInstance
541
+ def context
542
+ unless @instance_context
543
+ @instance_context = IncomingPhoneNumberContext.new(
544
+ @version,
545
+ @params['account_sid'],
546
+ @params['sid'],
547
+ )
548
+ end
549
+ @instance_context
550
+ end
551
+
552
+ ##
553
+ # @return [String] The unique sid that identifies this account
554
+ def account_sid
555
+ @properties['account_sid']
556
+ end
557
+
558
+ ##
559
+ # @return [toll_free.AddressRequirement] Indicates if the customer requires an address
560
+ def address_requirements
561
+ @properties['address_requirements']
562
+ end
563
+
564
+ ##
565
+ # @return [String] The Twilio REST API version to use
566
+ def api_version
567
+ @properties['api_version']
568
+ end
569
+
570
+ ##
571
+ # @return [Boolean] Indicates if the phone number is a beta number
572
+ def beta
573
+ @properties['beta']
574
+ end
575
+
576
+ ##
577
+ # @return [String] Indicate if a phone can receive calls or messages
578
+ def capabilities
579
+ @properties['capabilities']
580
+ end
581
+
582
+ ##
583
+ # @return [Time] The date this resource was created
584
+ def date_created
585
+ @properties['date_created']
586
+ end
587
+
588
+ ##
589
+ # @return [Time] The date this resource was last updated
590
+ def date_updated
591
+ @properties['date_updated']
592
+ end
593
+
594
+ ##
595
+ # @return [String] A human readable description of this resouce
596
+ def friendly_name
597
+ @properties['friendly_name']
598
+ end
599
+
600
+ ##
601
+ # @return [String] The incoming phone number
602
+ def phone_number
603
+ @properties['phone_number']
604
+ end
605
+
606
+ ##
607
+ # @return [String] The origin
608
+ def origin
609
+ @properties['origin']
610
+ end
611
+
612
+ ##
613
+ # @return [String] A string that uniquely identifies this resource
614
+ def sid
615
+ @properties['sid']
616
+ end
617
+
618
+ ##
619
+ # @return [String] Unique string that identifies the application
620
+ def sms_application_sid
621
+ @properties['sms_application_sid']
622
+ end
623
+
624
+ ##
625
+ # @return [String] HTTP method used with sms fallback url
626
+ def sms_fallback_method
627
+ @properties['sms_fallback_method']
628
+ end
629
+
630
+ ##
631
+ # @return [String] URL Twilio will request if an error occurs in executing TwiML
632
+ def sms_fallback_url
633
+ @properties['sms_fallback_url']
634
+ end
635
+
636
+ ##
637
+ # @return [String] HTTP method to use with sms url
638
+ def sms_method
639
+ @properties['sms_method']
640
+ end
641
+
642
+ ##
643
+ # @return [String] URL Twilio will request when receiving an SMS
644
+ def sms_url
645
+ @properties['sms_url']
646
+ end
647
+
648
+ ##
649
+ # @return [String] URL Twilio will use to pass status parameters
650
+ def status_callback
651
+ @properties['status_callback']
652
+ end
653
+
654
+ ##
655
+ # @return [String] HTTP method twilio will use with status callback
656
+ def status_callback_method
657
+ @properties['status_callback_method']
658
+ end
659
+
660
+ ##
661
+ # @return [String] Unique string to identify the trunk
662
+ def trunk_sid
663
+ @properties['trunk_sid']
664
+ end
665
+
666
+ ##
667
+ # @return [String] The URI for this resource
668
+ def uri
669
+ @properties['uri']
670
+ end
671
+
672
+ ##
673
+ # @return [String] The unique sid of the application to handle this number
674
+ def voice_application_sid
675
+ @properties['voice_application_sid']
676
+ end
677
+
678
+ ##
679
+ # @return [Boolean] Look up the caller's caller-ID
680
+ def voice_caller_id_lookup
681
+ @properties['voice_caller_id_lookup']
682
+ end
683
+
684
+ ##
685
+ # @return [String] HTTP method used with fallback_url
686
+ def voice_fallback_method
687
+ @properties['voice_fallback_method']
688
+ end
689
+
690
+ ##
691
+ # @return [String] URL Twilio will request when an error occurs in TwiML
692
+ def voice_fallback_url
693
+ @properties['voice_fallback_url']
694
+ end
695
+
696
+ ##
697
+ # @return [String] HTTP method used with the voice url
698
+ def voice_method
699
+ @properties['voice_method']
700
+ end
701
+
702
+ ##
703
+ # @return [String] URL Twilio will request when receiving a call
704
+ def voice_url
705
+ @properties['voice_url']
706
+ end
707
+
708
+ ##
709
+ # @return [incoming_phone_number.EmergencyStatus] The emergency_status
710
+ def emergency_status
711
+ @properties['emergency_status']
712
+ end
713
+
714
+ ##
715
+ # @return [String] The emergency_address_sid
716
+ def emergency_address_sid
717
+ @properties['emergency_address_sid']
718
+ end
719
+
720
+ ##
721
+ # Update the IncomingPhoneNumberInstance
722
+ # @param [String] api_version Calls to this phone number will start a new TwiML
723
+ # session with this API version.
724
+ # @param [String] friendly_name A human readable descriptive text for this
725
+ # resource, up to 64 characters long. By default, the `FriendlyName` is a nicely
726
+ # formatted version of the phone number.
727
+ # @param [String] sms_application_sid The 34 character sid of the application
728
+ # Twilio should use to handle SMSs sent to this number. If a `SmsApplicationSid`
729
+ # is present, Twilio will ignore all of the SMS urls above and use those set on
730
+ # the application.
731
+ # @param [String] sms_fallback_method The HTTP method Twilio will use when
732
+ # requesting the above URL. Either `GET` or `POST`.
733
+ # @param [String] sms_fallback_url The URL that Twilio will request if an error
734
+ # occurs retrieving or executing the TwiML from `SmsUrl`.
735
+ # @param [String] sms_method The HTTP method Twilio will use when making requests
736
+ # to the `SmsUrl`. Either `GET` or `POST`.
737
+ # @param [String] sms_url The URL Twilio will request when receiving an incoming
738
+ # SMS message to this number.
739
+ # @param [String] status_callback The URL that Twilio will request to pass status
740
+ # parameters (such as call ended) to your application.
741
+ # @param [String] status_callback_method The HTTP method Twilio will use to make
742
+ # requests to the `StatusCallback` URL. Either `GET` or `POST`.
743
+ # @param [String] voice_application_sid The 34 character sid of the application
744
+ # Twilio should use to handle phone calls to this number. If a
745
+ # `VoiceApplicationSid` is present, Twilio will ignore all of the voice urls above
746
+ # and use those set on the application. Setting a `VoiceApplicationSid` will
747
+ # automatically delete your `TrunkSid` and vice versa.
748
+ # @param [Boolean] voice_caller_id_lookup Look up the caller's caller-ID name from
749
+ # the CNAM database ($0.01 per look up). Either `true` or `false`.
750
+ # @param [String] voice_fallback_method The HTTP method Twilio will use when
751
+ # requesting the `VoiceFallbackUrl`. Either `GET` or `POST`.
752
+ # @param [String] voice_fallback_url The URL that Twilio will request if an error
753
+ # occurs retrieving or executing the TwiML requested by `Url`.
754
+ # @param [String] voice_method The HTTP method Twilio will use when requesting the
755
+ # above `Url`. Either `GET` or `POST`.
756
+ # @param [String] voice_url The URL Twilio will request when this phone number
757
+ # receives a call. The VoiceURL will no longer be used if a `VoiceApplicationSid`
758
+ # or a `TrunkSid` is set.
759
+ # @param [incoming_phone_number.EmergencyStatus] emergency_status The
760
+ # emergency_status
761
+ # @param [String] emergency_address_sid The emergency_address_sid
762
+ # @param [String] trunk_sid The 34 character sid of the Trunk Twilio should use to
763
+ # handle phone calls to this number. If a `TrunkSid` is present, Twilio will
764
+ # ignore all of the voice urls and voice applications above and use those set on
765
+ # the Trunk. Setting a `TrunkSid` will automatically delete your
766
+ # `VoiceApplicationSid` and vice versa.
767
+ # @return [IncomingPhoneNumberInstance] Updated IncomingPhoneNumberInstance
768
+ def update(api_version: :unset, friendly_name: :unset, sms_application_sid: :unset, sms_fallback_method: :unset, sms_fallback_url: :unset, sms_method: :unset, sms_url: :unset, status_callback: :unset, status_callback_method: :unset, voice_application_sid: :unset, voice_caller_id_lookup: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_url: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset)
769
+ context.update(
770
+ api_version: api_version,
771
+ friendly_name: friendly_name,
772
+ sms_application_sid: sms_application_sid,
773
+ sms_fallback_method: sms_fallback_method,
774
+ sms_fallback_url: sms_fallback_url,
775
+ sms_method: sms_method,
776
+ sms_url: sms_url,
777
+ status_callback: status_callback,
778
+ status_callback_method: status_callback_method,
779
+ voice_application_sid: voice_application_sid,
780
+ voice_caller_id_lookup: voice_caller_id_lookup,
781
+ voice_fallback_method: voice_fallback_method,
782
+ voice_fallback_url: voice_fallback_url,
783
+ voice_method: voice_method,
784
+ voice_url: voice_url,
785
+ emergency_status: emergency_status,
786
+ emergency_address_sid: emergency_address_sid,
787
+ trunk_sid: trunk_sid,
788
+ )
789
+ end
790
+
791
+ ##
792
+ # Fetch a IncomingPhoneNumberInstance
793
+ # @return [IncomingPhoneNumberInstance] Fetched IncomingPhoneNumberInstance
794
+ def fetch
795
+ context.fetch
796
+ end
797
+
798
+ ##
799
+ # Deletes the IncomingPhoneNumberInstance
800
+ # @return [Boolean] true if delete succeeds, true otherwise
801
+ def delete
802
+ context.delete
803
+ end
804
+
805
+ ##
806
+ # Access the assigned_add_ons
807
+ # @return [assigned_add_ons] assigned_add_ons
808
+ def assigned_add_ons
809
+ context.assigned_add_ons
810
+ end
811
+
812
+ ##
813
+ # Provide a user friendly representation
814
+ def to_s
815
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
816
+ "<Twilio.Api.V2010.IncomingPhoneNumberInstance #{values}>"
817
+ end
818
+ end
819
+ end
820
+ end
821
+ end
822
+ end
823
+ end