twilio-ruby 4.13.0 → 5.40.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 (1049) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +6 -0
  4. data/.rubocop.yml +59 -0
  5. data/.rubocop_todo.yml +198 -0
  6. data/.travis.yml +32 -19
  7. data/AUTHORS.md +46 -32
  8. data/CHANGES.md +1723 -62
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +161 -0
  11. data/Dockerfile +9 -0
  12. data/Gemfile +0 -8
  13. data/ISSUE_TEMPLATE.md +30 -0
  14. data/LICENSE.md +12 -12
  15. data/Makefile +25 -7
  16. data/PULL_REQUEST_TEMPLATE.md +31 -0
  17. data/README.md +110 -151
  18. data/UPGRADE.md +30 -0
  19. data/VERSIONS.md +35 -0
  20. data/examples/examples.rb +46 -57
  21. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  22. data/githooks/pre-commit +1 -0
  23. data/lib/rack/twilio_webhook_authentication.rb +7 -6
  24. data/lib/twilio-ruby/framework/domain.rb +36 -0
  25. data/lib/twilio-ruby/framework/error.rb +51 -0
  26. data/lib/twilio-ruby/framework/helper.rb +11 -0
  27. data/lib/twilio-ruby/framework/obsolete_client.rb +12 -0
  28. data/lib/twilio-ruby/framework/page.rb +103 -0
  29. data/lib/twilio-ruby/framework/request.rb +41 -0
  30. data/lib/twilio-ruby/framework/resource.rb +23 -0
  31. data/lib/twilio-ruby/framework/response.rb +18 -0
  32. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  33. data/lib/twilio-ruby/framework/twilio_response.rb +19 -0
  34. data/lib/twilio-ruby/framework/values.rb +9 -0
  35. data/lib/twilio-ruby/framework/version.rb +157 -0
  36. data/lib/twilio-ruby/http/http_client.rb +63 -0
  37. data/lib/twilio-ruby/jwt/access_token.rb +267 -0
  38. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  39. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  40. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  41. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +339 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +339 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -0
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +35 -0
  45. data/lib/twilio-ruby/rest/accounts.rb +38 -10
  46. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +521 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +593 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +327 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +491 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +491 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +491 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +491 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +491 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +491 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +491 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +464 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +301 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +314 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +428 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +369 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +510 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +912 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +712 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +500 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +414 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +367 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +554 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +553 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +553 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +903 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +309 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +171 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +361 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +612 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +145 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +145 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +406 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +365 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +349 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +397 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +387 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +398 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +383 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +493 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +415 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +313 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +387 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +386 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +355 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +657 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +432 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +387 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +157 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +161 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +357 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +351 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +351 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +351 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +351 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +351 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +351 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +351 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +351 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +423 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +494 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +120 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +168 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account.rb +953 -0
  120. data/lib/twilio-ruby/rest/api/v2010.rb +153 -0
  121. data/lib/twilio-ruby/rest/api.rb +247 -0
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +395 -0
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +418 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +462 -0
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +449 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1.rb +51 -0
  138. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +308 -0
  140. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +291 -0
  141. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +247 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +248 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +232 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1.rb +58 -0
  145. data/lib/twilio-ruby/rest/bulkexports.rb +54 -0
  146. data/lib/twilio-ruby/rest/chat/v1/credential.rb +413 -0
  147. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +402 -0
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +451 -0
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -0
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +522 -0
  151. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +374 -0
  152. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -0
  153. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +447 -0
  154. data/lib/twilio-ruby/rest/chat/v1/service.rb +904 -0
  155. data/lib/twilio-ruby/rest/chat/v1.rb +60 -0
  156. data/lib/twilio-ruby/rest/chat/v2/credential.rb +411 -0
  157. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -0
  158. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +397 -0
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +538 -0
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +544 -0
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +475 -0
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -0
  163. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +376 -0
  164. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +392 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +424 -0
  166. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +498 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service.rb +788 -0
  168. data/lib/twilio-ruby/rest/chat/v2.rb +58 -0
  169. data/lib/twilio-ruby/rest/chat.rb +63 -0
  170. data/lib/twilio-ruby/rest/client.rb +519 -152
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +348 -0
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +500 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +474 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +415 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +544 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +262 -0
  177. data/lib/twilio-ruby/rest/conversations/v1.rb +51 -0
  178. data/lib/twilio-ruby/rest/conversations.rb +53 -0
  179. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  180. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +118 -0
  181. data/lib/twilio-ruby/rest/events/v1/sink.rb +379 -0
  182. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +322 -0
  183. data/lib/twilio-ruby/rest/events/v1/subscription.rb +358 -0
  184. data/lib/twilio-ruby/rest/events/v1.rb +58 -0
  185. data/lib/twilio-ruby/rest/events.rb +54 -0
  186. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +314 -0
  187. data/lib/twilio-ruby/rest/fax/v1/fax.rb +535 -0
  188. data/lib/twilio-ruby/rest/fax/v1.rb +44 -0
  189. data/lib/twilio-ruby/rest/fax.rb +47 -0
  190. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +448 -0
  192. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +547 -0
  193. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1.rb +80 -0
  195. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  196. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  197. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  198. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +301 -0
  199. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  200. data/lib/twilio-ruby/rest/insights/v1.rb +43 -0
  201. data/lib/twilio-ruby/rest/insights.rb +46 -0
  202. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +413 -0
  203. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +402 -0
  204. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +451 -0
  205. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +448 -0
  206. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +522 -0
  207. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +374 -0
  208. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +246 -0
  209. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +447 -0
  210. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +904 -0
  211. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +60 -0
  212. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +411 -0
  213. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +377 -0
  214. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +397 -0
  215. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +538 -0
  216. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +544 -0
  217. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +475 -0
  218. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +612 -0
  219. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +376 -0
  220. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +392 -0
  221. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +424 -0
  222. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +498 -0
  223. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +788 -0
  224. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -0
  225. data/lib/twilio-ruby/rest/ip_messaging.rb +63 -0
  226. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -0
  227. data/lib/twilio-ruby/rest/lookups/v1.rb +45 -0
  228. data/lib/twilio-ruby/rest/lookups.rb +48 -0
  229. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +342 -0
  230. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +348 -0
  231. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +343 -0
  232. data/lib/twilio-ruby/rest/messaging/v1/service.rb +652 -0
  233. data/lib/twilio-ruby/rest/messaging/v1.rb +43 -0
  234. data/lib/twilio-ruby/rest/messaging.rb +47 -0
  235. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +405 -0
  236. data/lib/twilio-ruby/rest/monitor/v1/event.rb +400 -0
  237. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -0
  238. data/lib/twilio-ruby/rest/monitor.rb +56 -0
  239. data/lib/twilio-ruby/rest/notify/v1/credential.rb +412 -0
  240. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +458 -0
  241. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +361 -0
  242. data/lib/twilio-ruby/rest/notify/v1/service.rb +632 -0
  243. data/lib/twilio-ruby/rest/notify/v1.rb +60 -0
  244. data/lib/twilio-ruby/rest/notify.rb +56 -0
  245. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  246. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  247. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +512 -0
  248. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +344 -0
  249. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  250. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  251. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +357 -0
  252. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  253. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  254. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  255. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  256. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +308 -0
  257. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +291 -0
  258. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +247 -0
  259. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +248 -0
  260. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +232 -0
  261. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +58 -0
  262. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +382 -0
  263. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +365 -0
  264. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +425 -0
  265. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +376 -0
  266. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +469 -0
  267. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +44 -0
  268. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +400 -0
  269. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +451 -0
  270. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -0
  271. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +60 -0
  272. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +305 -0
  273. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +319 -0
  274. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  275. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +408 -0
  276. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  277. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +385 -0
  278. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +410 -0
  279. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +418 -0
  280. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +385 -0
  281. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +405 -0
  282. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +415 -0
  283. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +385 -0
  284. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +405 -0
  285. data/lib/twilio-ruby/rest/preview/sync/service.rb +462 -0
  286. data/lib/twilio-ruby/rest/preview/sync.rb +43 -0
  287. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +243 -0
  288. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  289. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +189 -0
  290. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +260 -0
  291. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +233 -0
  292. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +260 -0
  293. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +111 -0
  294. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +239 -0
  295. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  296. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  297. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +342 -0
  298. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +79 -0
  299. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  300. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  301. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  302. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +386 -0
  303. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +407 -0
  304. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +380 -0
  305. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +437 -0
  306. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  307. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  308. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +428 -0
  309. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  310. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  311. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  312. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  313. data/lib/twilio-ruby/rest/preview/understand.rb +44 -0
  314. data/lib/twilio-ruby/rest/preview/wireless/command.rb +374 -0
  315. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +408 -0
  316. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -0
  317. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +533 -0
  318. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -0
  319. data/lib/twilio-ruby/rest/preview.rb +229 -0
  320. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +282 -0
  321. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +127 -0
  322. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +275 -0
  323. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +127 -0
  324. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +282 -0
  325. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +204 -0
  326. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +143 -0
  327. data/lib/twilio-ruby/rest/pricing/v1.rb +49 -0
  328. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  329. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  330. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  331. data/lib/twilio-ruby/rest/pricing/v2.rb +35 -0
  332. data/lib/twilio-ruby/rest/pricing.rb +59 -2
  333. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +408 -0
  334. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +429 -0
  335. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +458 -0
  336. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +467 -0
  337. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +551 -0
  338. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +377 -0
  339. data/lib/twilio-ruby/rest/proxy/v1/service.rb +606 -0
  340. data/lib/twilio-ruby/rest/proxy/v1.rb +44 -0
  341. data/lib/twilio-ruby/rest/proxy.rb +47 -0
  342. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  343. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  344. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +356 -0
  345. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  346. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  347. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  348. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +456 -0
  349. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  350. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  351. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  352. data/lib/twilio-ruby/rest/serverless/v1/service.rb +496 -0
  353. data/lib/twilio-ruby/rest/serverless/v1.rb +43 -0
  354. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  355. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  356. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  357. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +366 -0
  358. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +401 -0
  359. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  360. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  361. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  362. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  363. data/lib/twilio-ruby/rest/studio/v1/flow.rb +365 -0
  364. data/lib/twilio-ruby/rest/studio/v1.rb +43 -0
  365. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +219 -0
  366. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +236 -0
  367. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +380 -0
  368. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +457 -0
  369. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +335 -0
  370. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +205 -0
  371. data/lib/twilio-ruby/rest/studio/v2/flow.rb +490 -0
  372. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +122 -0
  373. data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
  374. data/lib/twilio-ruby/rest/studio.rb +60 -0
  375. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  376. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +421 -0
  377. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  378. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  379. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  380. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +388 -0
  381. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  382. data/lib/twilio-ruby/rest/supersim/v1.rb +110 -0
  383. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  384. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +390 -0
  385. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +447 -0
  386. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +508 -0
  387. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +389 -0
  388. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +464 -0
  389. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +515 -0
  390. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +387 -0
  391. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +463 -0
  392. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +145 -0
  393. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +421 -0
  394. data/lib/twilio-ruby/rest/sync/v1/service.rb +585 -0
  395. data/lib/twilio-ruby/rest/sync/v1.rb +43 -0
  396. data/lib/twilio-ruby/rest/sync.rb +47 -0
  397. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +394 -0
  398. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +471 -0
  399. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +739 -0
  400. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +641 -0
  401. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +389 -0
  402. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +377 -0
  403. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +287 -0
  404. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +265 -0
  405. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +285 -0
  406. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +573 -0
  407. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +735 -0
  408. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +399 -0
  409. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +250 -0
  410. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +277 -0
  411. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +204 -0
  412. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +245 -0
  413. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +629 -0
  414. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +385 -0
  415. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -0
  416. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +273 -0
  417. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +517 -0
  418. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +361 -0
  419. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -0
  420. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -0
  421. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +725 -0
  422. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -0
  423. data/lib/twilio-ruby/rest/taskrouter.rb +47 -0
  424. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +327 -0
  425. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +323 -0
  426. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +426 -0
  427. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +457 -0
  428. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +609 -0
  429. data/lib/twilio-ruby/rest/trunking/v1.rb +44 -0
  430. data/lib/twilio-ruby/rest/trunking.rb +47 -0
  431. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  432. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  433. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +485 -0
  434. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +466 -0
  435. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +413 -0
  436. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  437. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  438. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  439. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +354 -0
  440. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +205 -0
  441. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +408 -0
  442. data/lib/twilio-ruby/rest/verify/v2/service.rb +682 -0
  443. data/lib/twilio-ruby/rest/verify/v2.rb +60 -0
  444. data/lib/twilio-ruby/rest/verify.rb +56 -0
  445. data/lib/twilio-ruby/rest/video/v1/composition.rb +499 -0
  446. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +656 -0
  447. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  448. data/lib/twilio-ruby/rest/video/v1/recording.rb +415 -0
  449. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  450. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +406 -0
  451. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +335 -0
  452. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  453. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  454. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +483 -0
  455. data/lib/twilio-ruby/rest/video/v1/room.rb +527 -0
  456. data/lib/twilio-ruby/rest/video/v1.rb +102 -0
  457. data/lib/twilio-ruby/rest/video.rb +86 -0
  458. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  459. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  460. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  461. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  462. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  463. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  464. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  465. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +132 -0
  466. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  467. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  468. data/lib/twilio-ruby/rest/voice/v1.rb +99 -0
  469. data/lib/twilio-ruby/rest/voice.rb +80 -0
  470. data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -0
  471. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +445 -0
  472. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +291 -0
  473. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
  474. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +667 -0
  475. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  476. data/lib/twilio-ruby/rest/wireless/v1.rb +80 -0
  477. data/lib/twilio-ruby/rest/wireless.rb +71 -0
  478. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  479. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  480. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  481. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  482. data/lib/twilio-ruby/twiml/voice_response.rb +1174 -0
  483. data/lib/twilio-ruby/util/configuration.rb +23 -1
  484. data/lib/twilio-ruby/util.rb +5 -1
  485. data/lib/twilio-ruby/version.rb +1 -1
  486. data/lib/twilio-ruby.rb +28 -104
  487. data/spec/framework/request_spec.rb +36 -0
  488. data/spec/framework/serialize_spec.rb +80 -0
  489. data/spec/framework/version_spec.rb +166 -0
  490. data/spec/holodeck/holodeck.rb +66 -0
  491. data/spec/holodeck/hologram.rb +4 -0
  492. data/spec/http/http_client_spec.rb +122 -0
  493. data/spec/integration/accounts/v1/credential/aws_spec.rb +222 -0
  494. data/spec/integration/accounts/v1/credential/public_key_spec.rb +222 -0
  495. data/spec/integration/accounts/v1/credential_spec.rb +12 -0
  496. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +106 -0
  497. data/spec/integration/api/v2010/account/address_spec.rb +269 -0
  498. data/spec/integration/api/v2010/account/application_spec.rb +274 -0
  499. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  500. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +102 -0
  501. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +102 -0
  502. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +101 -0
  503. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +102 -0
  504. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +102 -0
  505. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +101 -0
  506. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +102 -0
  507. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  508. data/spec/integration/api/v2010/account/balance_spec.rb +44 -0
  509. data/spec/integration/api/v2010/account/call/feedback_spec.rb +138 -0
  510. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  511. data/spec/integration/api/v2010/account/call/notification_spec.rb +143 -0
  512. data/spec/integration/api/v2010/account/call/payment_spec.rb +135 -0
  513. data/spec/integration/api/v2010/account/call/recording_spec.rb +283 -0
  514. data/spec/integration/api/v2010/account/call_spec.rb +650 -0
  515. data/spec/integration/api/v2010/account/conference/participant_spec.rb +708 -0
  516. data/spec/integration/api/v2010/account/conference/recording_spec.rb +234 -0
  517. data/spec/integration/api/v2010/account/conference_spec.rb +458 -0
  518. data/spec/integration/api/v2010/account/connect_app_spec.rb +197 -0
  519. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  520. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +220 -0
  521. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +189 -0
  522. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +189 -0
  523. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +189 -0
  524. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +370 -0
  525. data/spec/integration/api/v2010/account/key_spec.rb +176 -0
  526. data/spec/integration/api/v2010/account/message/feedback_spec.rb +49 -0
  527. data/spec/integration/api/v2010/account/message/media_spec.rb +161 -0
  528. data/spec/integration/api/v2010/account/message_spec.rb +507 -0
  529. data/spec/integration/api/v2010/account/new_key_spec.rb +46 -0
  530. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +46 -0
  531. data/spec/integration/api/v2010/account/notification_spec.rb +138 -0
  532. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +185 -0
  533. data/spec/integration/api/v2010/account/queue/member_spec.rb +208 -0
  534. data/spec/integration/api/v2010/account/queue_spec.rb +244 -0
  535. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +174 -0
  536. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +165 -0
  537. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +173 -0
  538. data/spec/integration/api/v2010/account/recording_spec.rb +184 -0
  539. data/spec/integration/api/v2010/account/short_code_spec.rb +179 -0
  540. data/spec/integration/api/v2010/account/signing_key_spec.rb +176 -0
  541. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +252 -0
  542. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +241 -0
  543. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +217 -0
  544. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +217 -0
  545. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +12 -0
  546. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +217 -0
  547. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +12 -0
  548. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +12 -0
  549. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +207 -0
  550. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +217 -0
  551. data/spec/integration/api/v2010/account/sip/domain_spec.rb +303 -0
  552. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +254 -0
  553. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +251 -0
  554. data/spec/integration/api/v2010/account/sip_spec.rb +12 -0
  555. data/spec/integration/api/v2010/account/token_spec.rb +71 -0
  556. data/spec/integration/api/v2010/account/transcription_spec.rb +166 -0
  557. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +113 -0
  558. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +113 -0
  559. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +113 -0
  560. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +113 -0
  561. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +113 -0
  562. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +113 -0
  563. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +113 -0
  564. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +113 -0
  565. data/spec/integration/api/v2010/account/usage/record_spec.rb +110 -0
  566. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +281 -0
  567. data/spec/integration/api/v2010/account/usage_spec.rb +12 -0
  568. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  569. data/spec/integration/api/v2010/account_spec.rb +327 -0
  570. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +79 -0
  571. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +46 -0
  572. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +207 -0
  573. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +242 -0
  574. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +236 -0
  575. data/spec/integration/autopilot/v1/assistant/query_spec.rb +290 -0
  576. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +79 -0
  577. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +204 -0
  578. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +249 -0
  579. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +85 -0
  580. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +49 -0
  581. data/spec/integration/autopilot/v1/assistant/task_spec.rb +258 -0
  582. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +242 -0
  583. data/spec/integration/autopilot/v1/assistant_spec.rb +277 -0
  584. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +53 -0
  585. data/spec/integration/bulkexports/v1/export/day_spec.rb +115 -0
  586. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +127 -0
  587. data/spec/integration/bulkexports/v1/export/job_spec.rb +78 -0
  588. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +77 -0
  589. data/spec/integration/bulkexports/v1/export_spec.rb +44 -0
  590. data/spec/integration/chat/v1/credential_spec.rb +219 -0
  591. data/spec/integration/chat/v1/service/channel/invite_spec.rb +207 -0
  592. data/spec/integration/chat/v1/service/channel/member_spec.rb +280 -0
  593. data/spec/integration/chat/v1/service/channel/message_spec.rb +290 -0
  594. data/spec/integration/chat/v1/service/channel_spec.rb +272 -0
  595. data/spec/integration/chat/v1/service/role_spec.rb +260 -0
  596. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +93 -0
  597. data/spec/integration/chat/v1/service/user_spec.rb +262 -0
  598. data/spec/integration/chat/v1/service_spec.rb +295 -0
  599. data/spec/integration/chat/v2/credential_spec.rb +219 -0
  600. data/spec/integration/chat/v2/service/binding_spec.rb +174 -0
  601. data/spec/integration/chat/v2/service/channel/invite_spec.rb +207 -0
  602. data/spec/integration/chat/v2/service/channel/member_spec.rb +263 -0
  603. data/spec/integration/chat/v2/service/channel/message_spec.rb +406 -0
  604. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +303 -0
  605. data/spec/integration/chat/v2/service/channel_spec.rb +282 -0
  606. data/spec/integration/chat/v2/service/role_spec.rb +260 -0
  607. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +177 -0
  608. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +247 -0
  609. data/spec/integration/chat/v2/service/user_spec.rb +270 -0
  610. data/spec/integration/chat/v2/service_spec.rb +350 -0
  611. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +132 -0
  612. data/spec/integration/conversations/v1/conversation/message_spec.rb +409 -0
  613. data/spec/integration/conversations/v1/conversation/participant_spec.rb +382 -0
  614. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +282 -0
  615. data/spec/integration/conversations/v1/conversation_spec.rb +273 -0
  616. data/spec/integration/conversations/v1/webhook_spec.rb +86 -0
  617. data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
  618. data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
  619. data/spec/integration/events/v1/sink_spec.rb +217 -0
  620. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +212 -0
  621. data/spec/integration/events/v1/subscription_spec.rb +205 -0
  622. data/spec/integration/fax/v1/fax/fax_media_spec.rb +125 -0
  623. data/spec/integration/fax/v1/fax_spec.rb +267 -0
  624. data/spec/integration/flex_api/v1/channel_spec.rb +188 -0
  625. data/spec/integration/flex_api/v1/configuration_spec.rb +554 -0
  626. data/spec/integration/flex_api/v1/flex_flow_spec.rb +259 -0
  627. data/spec/integration/flex_api/v1/web_channel_spec.rb +216 -0
  628. data/spec/integration/insights/v1/call/event_spec.rb +166 -0
  629. data/spec/integration/insights/v1/call/metric_spec.rb +154 -0
  630. data/spec/integration/insights/v1/call/summary_spec.rb +62 -0
  631. data/spec/integration/insights/v1/call_spec.rb +46 -0
  632. data/spec/integration/ip_messaging/v1/credential_spec.rb +219 -0
  633. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +207 -0
  634. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +280 -0
  635. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +290 -0
  636. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +272 -0
  637. data/spec/integration/ip_messaging/v1/service/role_spec.rb +260 -0
  638. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +93 -0
  639. data/spec/integration/ip_messaging/v1/service/user_spec.rb +262 -0
  640. data/spec/integration/ip_messaging/v1/service_spec.rb +295 -0
  641. data/spec/integration/ip_messaging/v2/credential_spec.rb +219 -0
  642. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +174 -0
  643. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +207 -0
  644. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +263 -0
  645. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +406 -0
  646. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +303 -0
  647. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +282 -0
  648. data/spec/integration/ip_messaging/v2/service/role_spec.rb +260 -0
  649. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +177 -0
  650. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +247 -0
  651. data/spec/integration/ip_messaging/v2/service/user_spec.rb +270 -0
  652. data/spec/integration/ip_messaging/v2/service_spec.rb +350 -0
  653. data/spec/integration/lookups/v1/phone_number_spec.rb +336 -0
  654. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +173 -0
  655. data/spec/integration/messaging/v1/service/phone_number_spec.rb +198 -0
  656. data/spec/integration/messaging/v1/service/short_code_spec.rb +176 -0
  657. data/spec/integration/messaging/v1/service_spec.rb +267 -0
  658. data/spec/integration/monitor/v1/alert_spec.rb +138 -0
  659. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  660. data/spec/integration/notify/v1/credential_spec.rb +219 -0
  661. data/spec/integration/notify/v1/service/binding_spec.rb +222 -0
  662. data/spec/integration/notify/v1/service/notification_spec.rb +98 -0
  663. data/spec/integration/notify/v1/service_spec.rb +289 -0
  664. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +620 -0
  665. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +195 -0
  666. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +258 -0
  667. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +211 -0
  668. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +141 -0
  669. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +181 -0
  670. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +223 -0
  671. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +131 -0
  672. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
  673. data/spec/integration/preview/bulk_exports/export/day_spec.rb +115 -0
  674. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +127 -0
  675. data/spec/integration/preview/bulk_exports/export/job_spec.rb +78 -0
  676. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +77 -0
  677. data/spec/integration/preview/bulk_exports/export_spec.rb +44 -0
  678. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +234 -0
  679. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +228 -0
  680. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +244 -0
  681. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +232 -0
  682. data/spec/integration/preview/deployed_devices/fleet_spec.rb +241 -0
  683. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +110 -0
  684. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +224 -0
  685. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +389 -0
  686. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  687. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  688. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +162 -0
  689. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +250 -0
  690. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +201 -0
  691. data/spec/integration/preview/sync/service/document_spec.rb +254 -0
  692. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +255 -0
  693. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +201 -0
  694. data/spec/integration/preview/sync/service/sync_list_spec.rb +205 -0
  695. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +255 -0
  696. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +201 -0
  697. data/spec/integration/preview/sync/service/sync_map_spec.rb +205 -0
  698. data/spec/integration/preview/sync/service_spec.rb +241 -0
  699. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +59 -0
  700. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +45 -0
  701. data/spec/integration/preview/trusted_comms/business/brand/branded_channel/channel_spec.rb +54 -0
  702. data/spec/integration/preview/trusted_comms/business/brand/branded_channel_spec.rb +51 -0
  703. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +48 -0
  704. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +56 -0
  705. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +12 -0
  706. data/spec/integration/preview/trusted_comms/business_spec.rb +46 -0
  707. data/spec/integration/preview/trusted_comms/cps_spec.rb +44 -0
  708. data/spec/integration/preview/trusted_comms/current_call_spec.rb +58 -0
  709. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +59 -0
  710. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +79 -0
  711. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +79 -0
  712. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +46 -0
  713. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +207 -0
  714. data/spec/integration/preview/understand/assistant/field_type_spec.rb +242 -0
  715. data/spec/integration/preview/understand/assistant/model_build_spec.rb +236 -0
  716. data/spec/integration/preview/understand/assistant/query_spec.rb +302 -0
  717. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +79 -0
  718. data/spec/integration/preview/understand/assistant/task/field_spec.rb +204 -0
  719. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +249 -0
  720. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +85 -0
  721. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +49 -0
  722. data/spec/integration/preview/understand/assistant/task_spec.rb +258 -0
  723. data/spec/integration/preview/understand/assistant_spec.rb +269 -0
  724. data/spec/integration/preview/wireless/command_spec.rb +167 -0
  725. data/spec/integration/preview/wireless/rate_plan_spec.rb +257 -0
  726. data/spec/integration/preview/wireless/sim/usage_spec.rb +50 -0
  727. data/spec/integration/preview/wireless/sim_spec.rb +207 -0
  728. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  729. data/spec/integration/pricing/v1/messaging_spec.rb +12 -0
  730. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  731. data/spec/integration/pricing/v1/phone_number_spec.rb +12 -0
  732. data/spec/integration/pricing/v1/voice/country_spec.rb +138 -0
  733. data/spec/integration/pricing/v1/voice/number_spec.rb +55 -0
  734. data/spec/integration/pricing/v1/voice_spec.rb +12 -0
  735. data/spec/integration/pricing/v2/voice/country_spec.rb +179 -0
  736. data/spec/integration/pricing/v2/voice/number_spec.rb +61 -0
  737. data/spec/integration/pricing/v2/voice_spec.rb +12 -0
  738. data/spec/integration/proxy/v1/service/phone_number_spec.rb +231 -0
  739. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +133 -0
  740. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +163 -0
  741. data/spec/integration/proxy/v1/service/session/participant_spec.rb +240 -0
  742. data/spec/integration/proxy/v1/service/session_spec.rb +225 -0
  743. data/spec/integration/proxy/v1/service/short_code_spec.rb +225 -0
  744. data/spec/integration/proxy/v1/service_spec.rb +214 -0
  745. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +93 -0
  746. data/spec/integration/serverless/v1/service/asset_spec.rb +202 -0
  747. data/spec/integration/serverless/v1/service/build_spec.rb +208 -0
  748. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +133 -0
  749. data/spec/integration/serverless/v1/service/environment/log_spec.rb +97 -0
  750. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +207 -0
  751. data/spec/integration/serverless/v1/service/environment_spec.rb +170 -0
  752. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +51 -0
  753. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +96 -0
  754. data/spec/integration/serverless/v1/service/function_spec.rb +202 -0
  755. data/spec/integration/serverless/v1/service_spec.rb +205 -0
  756. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +50 -0
  757. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +53 -0
  758. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +99 -0
  759. data/spec/integration/studio/v1/flow/engagement_spec.rb +168 -0
  760. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +50 -0
  761. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
  762. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +99 -0
  763. data/spec/integration/studio/v1/flow/execution_spec.rb +214 -0
  764. data/spec/integration/studio/v1/flow_spec.rb +114 -0
  765. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +50 -0
  766. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
  767. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +99 -0
  768. data/spec/integration/studio/v2/flow/execution_spec.rb +211 -0
  769. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +110 -0
  770. data/spec/integration/studio/v2/flow/test_user_spec.rb +85 -0
  771. data/spec/integration/studio/v2/flow_spec.rb +251 -0
  772. data/spec/integration/studio/v2/flow_validate_spec.rb +46 -0
  773. data/spec/integration/supersim/v1/command_spec.rb +184 -0
  774. data/spec/integration/supersim/v1/fleet_spec.rb +214 -0
  775. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +176 -0
  776. data/spec/integration/supersim/v1/network_access_profile_spec.rb +219 -0
  777. data/spec/integration/supersim/v1/network_spec.rb +137 -0
  778. data/spec/integration/supersim/v1/sim_spec.rb +300 -0
  779. data/spec/integration/supersim/v1/usage_record_spec.rb +647 -0
  780. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +201 -0
  781. data/spec/integration/sync/v1/service/document_spec.rb +256 -0
  782. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +257 -0
  783. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +201 -0
  784. data/spec/integration/sync/v1/service/sync_list_spec.rb +252 -0
  785. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
  786. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +201 -0
  787. data/spec/integration/sync/v1/service/sync_map_spec.rb +252 -0
  788. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +47 -0
  789. data/spec/integration/sync/v1/service/sync_stream_spec.rb +244 -0
  790. data/spec/integration/sync/v1/service_spec.rb +261 -0
  791. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +232 -0
  792. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +163 -0
  793. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +222 -0
  794. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +312 -0
  795. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +101 -0
  796. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +83 -0
  797. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +107 -0
  798. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +145 -0
  799. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +290 -0
  800. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +325 -0
  801. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +191 -0
  802. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +185 -0
  803. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +91 -0
  804. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +88 -0
  805. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +69 -0
  806. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +115 -0
  807. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +290 -0
  808. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +96 -0
  809. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +57 -0
  810. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +70 -0
  811. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +266 -0
  812. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +93 -0
  813. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +72 -0
  814. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +104 -0
  815. data/spec/integration/taskrouter/v1/workspace_spec.rb +291 -0
  816. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +189 -0
  817. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +189 -0
  818. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +248 -0
  819. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +264 -0
  820. data/spec/integration/trunking/v1/trunk_spec.rb +277 -0
  821. data/spec/integration/verify/v2/form_spec.rb +47 -0
  822. data/spec/integration/verify/v2/service/access_token_spec.rb +44 -0
  823. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +252 -0
  824. data/spec/integration/verify/v2/service/entity/factor_spec.rb +292 -0
  825. data/spec/integration/verify/v2/service/entity_spec.rb +209 -0
  826. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +228 -0
  827. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +245 -0
  828. data/spec/integration/verify/v2/service/rate_limit_spec.rb +217 -0
  829. data/spec/integration/verify/v2/service/verification_check_spec.rb +80 -0
  830. data/spec/integration/verify/v2/service/verification_spec.rb +318 -0
  831. data/spec/integration/verify/v2/service/webhook_spec.rb +258 -0
  832. data/spec/integration/verify/v2/service_spec.rb +275 -0
  833. data/spec/integration/video/v1/composition_hook_spec.rb +407 -0
  834. data/spec/integration/video/v1/composition_settings_spec.rb +85 -0
  835. data/spec/integration/video/v1/composition_spec.rb +347 -0
  836. data/spec/integration/video/v1/recording_settings_spec.rb +85 -0
  837. data/spec/integration/video/v1/recording_spec.rb +176 -0
  838. data/spec/integration/video/v1/room/recording_spec.rb +185 -0
  839. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +94 -0
  840. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +103 -0
  841. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +95 -0
  842. data/spec/integration/video/v1/room/room_participant_spec.rb +187 -0
  843. data/spec/integration/video/v1/room_spec.rb +254 -0
  844. data/spec/integration/voice/v1/byoc_trunk_spec.rb +245 -0
  845. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +242 -0
  846. data/spec/integration/voice/v1/connection_policy_spec.rb +221 -0
  847. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +45 -0
  848. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +60 -0
  849. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +110 -0
  850. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +75 -0
  851. data/spec/integration/voice/v1/dialing_permissions_spec.rb +12 -0
  852. data/spec/integration/voice/v1/ip_record_spec.rb +219 -0
  853. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +216 -0
  854. data/spec/integration/wireless/v1/command_spec.rb +286 -0
  855. data/spec/integration/wireless/v1/rate_plan_spec.rb +277 -0
  856. data/spec/integration/wireless/v1/sim/data_session_spec.rb +88 -0
  857. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +114 -0
  858. data/spec/integration/wireless/v1/sim_spec.rb +325 -0
  859. data/spec/integration/wireless/v1/usage_record_spec.rb +110 -0
  860. data/spec/jwt/access_token_spec.rb +151 -0
  861. data/spec/jwt/client_capability_spec.rb +104 -0
  862. data/spec/jwt/task_router_spec.rb +172 -0
  863. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  864. data/spec/rest/client_spec.rb +189 -233
  865. data/spec/security/request_validator_spec.rb +125 -0
  866. data/spec/spec_helper.rb +24 -1
  867. data/spec/support/fakeweb.rb +1 -1
  868. data/spec/twilio_spec.rb +3 -1
  869. data/spec/twiml/messaging_response_spec.rb +235 -0
  870. data/spec/twiml/voice_response_spec.rb +847 -0
  871. data/spec/util/configuration_spec.rb +18 -0
  872. data/twilio-ruby.gemspec +20 -13
  873. metadata +1386 -252
  874. data/docs/Makefile +0 -130
  875. data/docs/_themes/LICENSE +0 -45
  876. data/docs/_themes/README.rst +0 -25
  877. data/docs/_themes/flask_theme_support.py +0 -86
  878. data/docs/_themes/kr/layout.html +0 -32
  879. data/docs/_themes/kr/relations.html +0 -19
  880. data/docs/_themes/kr/static/flasky.css_t +0 -469
  881. data/docs/_themes/kr/static/small_flask.css +0 -70
  882. data/docs/_themes/kr/theme.conf +0 -7
  883. data/docs/_themes/kr_small/layout.html +0 -22
  884. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  885. data/docs/_themes/kr_small/theme.conf +0 -10
  886. data/docs/changelog.rst +0 -1
  887. data/docs/conf.py +0 -266
  888. data/docs/faq.rst +0 -42
  889. data/docs/getting-started.rst +0 -117
  890. data/docs/index.rst +0 -135
  891. data/docs/make.bat +0 -170
  892. data/docs/src/pip-delete-this-directory.txt +0 -5
  893. data/docs/usage/accounts.rst +0 -89
  894. data/docs/usage/addresses.rst +0 -101
  895. data/docs/usage/applications.rst +0 -108
  896. data/docs/usage/basics.rst +0 -115
  897. data/docs/usage/caller-ids.rst +0 -47
  898. data/docs/usage/conferences.rst +0 -108
  899. data/docs/usage/errors.rst +0 -29
  900. data/docs/usage/lookups.rst +0 -62
  901. data/docs/usage/messages.rst +0 -137
  902. data/docs/usage/notifications.rst +0 -72
  903. data/docs/usage/phone-calls.rst +0 -185
  904. data/docs/usage/phone-numbers.rst +0 -189
  905. data/docs/usage/pricing.rst +0 -169
  906. data/docs/usage/queues.rst +0 -112
  907. data/docs/usage/recordings.rst +0 -98
  908. data/docs/usage/sip.rst +0 -104
  909. data/docs/usage/taskrouter-tokens.rst +0 -98
  910. data/docs/usage/taskrouter.rst +0 -440
  911. data/docs/usage/token-generation.rst +0 -115
  912. data/docs/usage/transcriptions.rst +0 -32
  913. data/docs/usage/twiml.rst +0 -69
  914. data/docs/usage/validation.rst +0 -107
  915. data/examples/taskrouter.examples.rb +0 -86
  916. data/issue_template.md +0 -25
  917. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  918. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  919. data/lib/twilio-ruby/rest/applications.rb +0 -6
  920. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  921. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  922. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  923. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  924. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  925. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  926. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  927. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  928. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  929. data/lib/twilio-ruby/rest/calls.rb +0 -33
  930. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  931. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  932. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  933. data/lib/twilio-ruby/rest/errors.rb +0 -14
  934. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  935. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  936. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  937. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  938. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  939. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  940. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  941. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  942. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  943. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  944. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  945. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  946. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  947. data/lib/twilio-ruby/rest/keys.rb +0 -6
  948. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  949. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  950. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  951. data/lib/twilio-ruby/rest/media.rb +0 -14
  952. data/lib/twilio-ruby/rest/messages.rb +0 -22
  953. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  954. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  955. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  956. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  957. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  958. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  959. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  960. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  961. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  962. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  963. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  964. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  965. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  966. data/lib/twilio-ruby/rest/queues.rb +0 -12
  967. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  968. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  969. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  970. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  971. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  972. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  973. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  974. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  975. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  976. data/lib/twilio-ruby/rest/sip.rb +0 -10
  977. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  978. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  979. data/lib/twilio-ruby/rest/sms.rb +0 -11
  980. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  981. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  982. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  983. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  984. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  985. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  986. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  987. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  988. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  989. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  990. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  991. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  992. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  993. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  994. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  995. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  996. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  997. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  998. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  999. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  1000. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  1001. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  1002. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  1003. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  1004. data/lib/twilio-ruby/rest/usage.rb +0 -10
  1005. data/lib/twilio-ruby/rest/utils.rb +0 -49
  1006. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  1007. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  1008. data/lib/twilio-ruby/task_router.rb +0 -0
  1009. data/lib/twilio-ruby/twiml/response.rb +0 -16
  1010. data/lib/twilio-ruby/util/access_token.rb +0 -158
  1011. data/lib/twilio-ruby/util/capability.rb +0 -64
  1012. data/lib/twilio-ruby/util/client_config.rb +0 -29
  1013. data/lib/twilio-ruby/util/request_validator.rb +0 -37
  1014. data/spec/rest/account_spec.rb +0 -89
  1015. data/spec/rest/address_spec.rb +0 -11
  1016. data/spec/rest/call_feedback_spec.rb +0 -12
  1017. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  1018. data/spec/rest/call_spec.rb +0 -22
  1019. data/spec/rest/conference_spec.rb +0 -11
  1020. data/spec/rest/instance_resource_spec.rb +0 -15
  1021. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  1022. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  1023. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  1024. data/spec/rest/key_spec.rb +0 -11
  1025. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  1026. data/spec/rest/message_spec.rb +0 -12
  1027. data/spec/rest/monitor_client_spec.rb +0 -17
  1028. data/spec/rest/numbers_spec.rb +0 -58
  1029. data/spec/rest/pricing_client_spec.rb +0 -60
  1030. data/spec/rest/queue_spec.rb +0 -11
  1031. data/spec/rest/recording_spec.rb +0 -11
  1032. data/spec/rest/sms/message_spec.rb +0 -37
  1033. data/spec/rest/sms/messages_spec.rb +0 -31
  1034. data/spec/rest/task_router/reservation_spec.rb +0 -14
  1035. data/spec/rest/task_router/statistics_spec.rb +0 -37
  1036. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  1037. data/spec/rest/token_spec.rb +0 -7
  1038. data/spec/rest/trunking/trunk_spec.rb +0 -36
  1039. data/spec/rest/utils_spec.rb +0 -45
  1040. data/spec/task_router/workflow_builder_spec.rb +0 -501
  1041. data/spec/task_router_deprecated_spec.rb +0 -139
  1042. data/spec/task_router_spec.rb +0 -110
  1043. data/spec/task_router_taskqueue_spec.rb +0 -111
  1044. data/spec/task_router_worker_spec.rb +0 -146
  1045. data/spec/task_router_workspace_spec.rb +0 -110
  1046. data/spec/util/access_token_spec.rb +0 -161
  1047. data/spec/util/capability_spec.rb +0 -186
  1048. data/spec/util/client_config_spec.rb +0 -21
  1049. data/spec/util/request_validator_spec.rb +0 -113
@@ -0,0 +1,551 @@
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 Proxy < Domain
12
+ class V1 < Version
13
+ class ServiceContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class SessionList < ListResource
17
+ ##
18
+ # Initialize the SessionList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] service_sid The SID of the
21
+ # [Service](https://www.twilio.com/docs/proxy/api/service) the session is
22
+ # associated with.
23
+ # @return [SessionList] SessionList
24
+ def initialize(version, service_sid: nil)
25
+ super(version)
26
+
27
+ # Path Solution
28
+ @solution = {service_sid: service_sid}
29
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions"
30
+ end
31
+
32
+ ##
33
+ # Lists SessionInstance records from the API as a list.
34
+ # Unlike stream(), this operation is eager and will load `limit` records into
35
+ # memory before returning.
36
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
37
+ # guarantees to never return more than limit. Default is no limit
38
+ # @param [Integer] page_size Number of records to fetch per request, when
39
+ # not set will use the default value of 50 records. If no page_size is defined
40
+ # but a limit is defined, stream() will attempt to read the limit with the most
41
+ # efficient page size, i.e. min(limit, 1000)
42
+ # @return [Array] Array of up to limit results
43
+ def list(limit: nil, page_size: nil)
44
+ self.stream(limit: limit, page_size: page_size).entries
45
+ end
46
+
47
+ ##
48
+ # Streams SessionInstance 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
54
+ # not set will use the default value of 50 records. If no page_size is defined
55
+ # but a limit is defined, stream() will attempt to read the limit with the most
56
+ # 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(page_size: limits[:page_size], )
62
+
63
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
64
+ end
65
+
66
+ ##
67
+ # When passed a block, yields SessionInstance records from the API.
68
+ # This operation lazily loads records as efficiently as possible until the limit
69
+ # is reached.
70
+ def each
71
+ limits = @version.read_limits
72
+
73
+ page = self.page(page_size: limits[:page_size], )
74
+
75
+ @version.stream(page,
76
+ limit: limits[:limit],
77
+ page_limit: limits[:page_limit]).each {|x| yield x}
78
+ end
79
+
80
+ ##
81
+ # Retrieve a single page of SessionInstance records from the API.
82
+ # Request is executed immediately.
83
+ # @param [String] page_token PageToken provided by the API
84
+ # @param [Integer] page_number Page Number, this value is simply for client state
85
+ # @param [Integer] page_size Number of records to return, defaults to 50
86
+ # @return [Page] Page of SessionInstance
87
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
88
+ params = Twilio::Values.of({
89
+ 'PageToken' => page_token,
90
+ 'Page' => page_number,
91
+ 'PageSize' => page_size,
92
+ })
93
+
94
+ response = @version.page('GET', @uri, params: params)
95
+
96
+ SessionPage.new(@version, response, @solution)
97
+ end
98
+
99
+ ##
100
+ # Retrieve a single page of SessionInstance records from the API.
101
+ # Request is executed immediately.
102
+ # @param [String] target_url API-generated URL for the requested results page
103
+ # @return [Page] Page of SessionInstance
104
+ def get_page(target_url)
105
+ response = @version.domain.request(
106
+ 'GET',
107
+ target_url
108
+ )
109
+ SessionPage.new(@version, response, @solution)
110
+ end
111
+
112
+ ##
113
+ # Create the SessionInstance
114
+ # @param [String] unique_name An application-defined string that uniquely
115
+ # identifies the resource. This value must be 191 characters or fewer in length
116
+ # and be unique. **This value should not have PII.**
117
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
118
+ # date when the Session should expire. If this is value is present, it overrides
119
+ # the `ttl` value.
120
+ # @param [String] ttl The time, in seconds, when the session will expire. The time
121
+ # is measured from the last Session create or the Session's last Interaction.
122
+ # @param [session.Mode] mode The Mode of the Session. Can be: `message-only`,
123
+ # `voice-only`, or `voice-and-message` and the default value is
124
+ # `voice-and-message`.
125
+ # @param [session.Status] status The initial status of the Session. Can be:
126
+ # `open`, `in-progress`, `closed`, `failed`, or `unknown`. The default is `open`
127
+ # on create.
128
+ # @param [Hash] participants The Participant objects to include in the new
129
+ # session.
130
+ # @param [Boolean] fail_on_participant_conflict [Experimental] Setting to true
131
+ # enables early opt-in to allowing Proxy to reject a Session create (with
132
+ # Participants) request that could cause the same Identifier/ProxyIdentifier pair
133
+ # to be active in multiple Sessions. Depending on the context, this could be a 409
134
+ # error (Twilio error code 80623) or a 400 error (Twilio error code 80604). If not
135
+ # provided, or if set to false, requests will be allowed to succeed and a Debugger
136
+ # notification (80802) will be emitted. Having multiple, active Participants with
137
+ # the same Identifier/ProxyIdentifier pair causes calls and messages from affected
138
+ # Participants to be routed incorrectly. Please note, in a future release, the
139
+ # default behavior will be to reject the request as described unless an exception
140
+ # has been requested.
141
+ # @return [SessionInstance] Created SessionInstance
142
+ def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset, fail_on_participant_conflict: :unset)
143
+ data = Twilio::Values.of({
144
+ 'UniqueName' => unique_name,
145
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
146
+ 'Ttl' => ttl,
147
+ 'Mode' => mode,
148
+ 'Status' => status,
149
+ 'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
150
+ 'FailOnParticipantConflict' => fail_on_participant_conflict,
151
+ })
152
+
153
+ payload = @version.create('POST', @uri, data: data)
154
+
155
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
156
+ end
157
+
158
+ ##
159
+ # Provide a user friendly representation
160
+ def to_s
161
+ '#<Twilio.Proxy.V1.SessionList>'
162
+ end
163
+ end
164
+
165
+ ##
166
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
167
+ class SessionPage < Page
168
+ ##
169
+ # Initialize the SessionPage
170
+ # @param [Version] version Version that contains the resource
171
+ # @param [Response] response Response from the API
172
+ # @param [Hash] solution Path solution for the resource
173
+ # @return [SessionPage] SessionPage
174
+ def initialize(version, response, solution)
175
+ super(version, response)
176
+
177
+ # Path Solution
178
+ @solution = solution
179
+ end
180
+
181
+ ##
182
+ # Build an instance of SessionInstance
183
+ # @param [Hash] payload Payload response from the API
184
+ # @return [SessionInstance] SessionInstance
185
+ def get_instance(payload)
186
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
187
+ end
188
+
189
+ ##
190
+ # Provide a user friendly representation
191
+ def to_s
192
+ '<Twilio.Proxy.V1.SessionPage>'
193
+ end
194
+ end
195
+
196
+ ##
197
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
198
+ class SessionContext < InstanceContext
199
+ ##
200
+ # Initialize the SessionContext
201
+ # @param [Version] version Version that contains the resource
202
+ # @param [String] service_sid The SID of the parent
203
+ # [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to
204
+ # fetch.
205
+ # @param [String] sid The Twilio-provided string that uniquely identifies the
206
+ # Session resource to fetch.
207
+ # @return [SessionContext] SessionContext
208
+ def initialize(version, service_sid, sid)
209
+ super(version)
210
+
211
+ # Path Solution
212
+ @solution = {service_sid: service_sid, sid: sid, }
213
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
214
+
215
+ # Dependents
216
+ @interactions = nil
217
+ @participants = nil
218
+ end
219
+
220
+ ##
221
+ # Fetch the SessionInstance
222
+ # @return [SessionInstance] Fetched SessionInstance
223
+ def fetch
224
+ payload = @version.fetch('GET', @uri)
225
+
226
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
227
+ end
228
+
229
+ ##
230
+ # Delete the SessionInstance
231
+ # @return [Boolean] true if delete succeeds, false otherwise
232
+ def delete
233
+ @version.delete('DELETE', @uri)
234
+ end
235
+
236
+ ##
237
+ # Update the SessionInstance
238
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
239
+ # date when the Session should expire. If this is value is present, it overrides
240
+ # the `ttl` value.
241
+ # @param [String] ttl The time, in seconds, when the session will expire. The time
242
+ # is measured from the last Session create or the Session's last Interaction.
243
+ # @param [session.Status] status The new status of the resource. Can be:
244
+ # `in-progress` to re-open a session or `closed` to close a session.
245
+ # @param [Boolean] fail_on_participant_conflict [Experimental] Setting to true
246
+ # enables early opt-in to allowing Proxy to return a 400 error (Twilio error code
247
+ # 80604) when a request to set a Session to in-progress would cause Participants
248
+ # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
249
+ # If not provided, or if set to false, requests will be allowed to succeed, and a
250
+ # Debugger notification (80801) will be emitted. Having multiple, active
251
+ # Participants with the same Identifier/ProxyIdentifier pair causes calls and
252
+ # messages from affected Participants to be routed incorrectly. Please note, in a
253
+ # future release, the default behavior will be to reject the request with a 400
254
+ # error unless an exception has been requested.
255
+ # @return [SessionInstance] Updated SessionInstance
256
+ def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
257
+ data = Twilio::Values.of({
258
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
259
+ 'Ttl' => ttl,
260
+ 'Status' => status,
261
+ 'FailOnParticipantConflict' => fail_on_participant_conflict,
262
+ })
263
+
264
+ payload = @version.update('POST', @uri, data: data)
265
+
266
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
267
+ end
268
+
269
+ ##
270
+ # Access the interactions
271
+ # @return [InteractionList]
272
+ # @return [InteractionContext] if sid was passed.
273
+ def interactions(sid=:unset)
274
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
275
+
276
+ if sid != :unset
277
+ return InteractionContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
278
+ end
279
+
280
+ unless @interactions
281
+ @interactions = InteractionList.new(
282
+ @version,
283
+ service_sid: @solution[:service_sid],
284
+ session_sid: @solution[:sid],
285
+ )
286
+ end
287
+
288
+ @interactions
289
+ end
290
+
291
+ ##
292
+ # Access the participants
293
+ # @return [ParticipantList]
294
+ # @return [ParticipantContext] if sid was passed.
295
+ def participants(sid=:unset)
296
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
297
+
298
+ if sid != :unset
299
+ return ParticipantContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
300
+ end
301
+
302
+ unless @participants
303
+ @participants = ParticipantList.new(
304
+ @version,
305
+ service_sid: @solution[:service_sid],
306
+ session_sid: @solution[:sid],
307
+ )
308
+ end
309
+
310
+ @participants
311
+ end
312
+
313
+ ##
314
+ # Provide a user friendly representation
315
+ def to_s
316
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
317
+ "#<Twilio.Proxy.V1.SessionContext #{context}>"
318
+ end
319
+
320
+ ##
321
+ # Provide a detailed, user friendly representation
322
+ def inspect
323
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
324
+ "#<Twilio.Proxy.V1.SessionContext #{context}>"
325
+ end
326
+ end
327
+
328
+ ##
329
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
330
+ class SessionInstance < InstanceResource
331
+ ##
332
+ # Initialize the SessionInstance
333
+ # @param [Version] version Version that contains the resource
334
+ # @param [Hash] payload payload that contains response from Twilio
335
+ # @param [String] service_sid The SID of the
336
+ # [Service](https://www.twilio.com/docs/proxy/api/service) the session is
337
+ # associated with.
338
+ # @param [String] sid The Twilio-provided string that uniquely identifies the
339
+ # Session resource to fetch.
340
+ # @return [SessionInstance] SessionInstance
341
+ def initialize(version, payload, service_sid: nil, sid: nil)
342
+ super(version)
343
+
344
+ # Marshaled Properties
345
+ @properties = {
346
+ 'sid' => payload['sid'],
347
+ 'service_sid' => payload['service_sid'],
348
+ 'account_sid' => payload['account_sid'],
349
+ 'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
350
+ 'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
351
+ 'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
352
+ 'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
353
+ 'unique_name' => payload['unique_name'],
354
+ 'status' => payload['status'],
355
+ 'closed_reason' => payload['closed_reason'],
356
+ 'ttl' => payload['ttl'].to_i,
357
+ 'mode' => payload['mode'],
358
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
359
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
360
+ 'url' => payload['url'],
361
+ 'links' => payload['links'],
362
+ }
363
+
364
+ # Context
365
+ @instance_context = nil
366
+ @params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
367
+ end
368
+
369
+ ##
370
+ # Generate an instance context for the instance, the context is capable of
371
+ # performing various actions. All instance actions are proxied to the context
372
+ # @return [SessionContext] SessionContext for this SessionInstance
373
+ def context
374
+ unless @instance_context
375
+ @instance_context = SessionContext.new(@version, @params['service_sid'], @params['sid'], )
376
+ end
377
+ @instance_context
378
+ end
379
+
380
+ ##
381
+ # @return [String] The unique string that identifies the resource
382
+ def sid
383
+ @properties['sid']
384
+ end
385
+
386
+ ##
387
+ # @return [String] The SID of the resource's parent Service
388
+ def service_sid
389
+ @properties['service_sid']
390
+ end
391
+
392
+ ##
393
+ # @return [String] The SID of the Account that created the resource
394
+ def account_sid
395
+ @properties['account_sid']
396
+ end
397
+
398
+ ##
399
+ # @return [Time] The ISO 8601 date when the Session started
400
+ def date_started
401
+ @properties['date_started']
402
+ end
403
+
404
+ ##
405
+ # @return [Time] The ISO 8601 date when the Session ended
406
+ def date_ended
407
+ @properties['date_ended']
408
+ end
409
+
410
+ ##
411
+ # @return [Time] The ISO 8601 date when the Session last had an interaction
412
+ def date_last_interaction
413
+ @properties['date_last_interaction']
414
+ end
415
+
416
+ ##
417
+ # @return [Time] The ISO 8601 date when the Session should expire
418
+ def date_expiry
419
+ @properties['date_expiry']
420
+ end
421
+
422
+ ##
423
+ # @return [String] An application-defined string that uniquely identifies the resource
424
+ def unique_name
425
+ @properties['unique_name']
426
+ end
427
+
428
+ ##
429
+ # @return [session.Status] The status of the Session
430
+ def status
431
+ @properties['status']
432
+ end
433
+
434
+ ##
435
+ # @return [String] The reason the Session ended
436
+ def closed_reason
437
+ @properties['closed_reason']
438
+ end
439
+
440
+ ##
441
+ # @return [String] When the session will expire
442
+ def ttl
443
+ @properties['ttl']
444
+ end
445
+
446
+ ##
447
+ # @return [session.Mode] The Mode of the Session
448
+ def mode
449
+ @properties['mode']
450
+ end
451
+
452
+ ##
453
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
454
+ def date_created
455
+ @properties['date_created']
456
+ end
457
+
458
+ ##
459
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
460
+ def date_updated
461
+ @properties['date_updated']
462
+ end
463
+
464
+ ##
465
+ # @return [String] The absolute URL of the Session resource
466
+ def url
467
+ @properties['url']
468
+ end
469
+
470
+ ##
471
+ # @return [String] The URLs of resources related to the Session
472
+ def links
473
+ @properties['links']
474
+ end
475
+
476
+ ##
477
+ # Fetch the SessionInstance
478
+ # @return [SessionInstance] Fetched SessionInstance
479
+ def fetch
480
+ context.fetch
481
+ end
482
+
483
+ ##
484
+ # Delete the SessionInstance
485
+ # @return [Boolean] true if delete succeeds, false otherwise
486
+ def delete
487
+ context.delete
488
+ end
489
+
490
+ ##
491
+ # Update the SessionInstance
492
+ # @param [Time] date_expiry The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
493
+ # date when the Session should expire. If this is value is present, it overrides
494
+ # the `ttl` value.
495
+ # @param [String] ttl The time, in seconds, when the session will expire. The time
496
+ # is measured from the last Session create or the Session's last Interaction.
497
+ # @param [session.Status] status The new status of the resource. Can be:
498
+ # `in-progress` to re-open a session or `closed` to close a session.
499
+ # @param [Boolean] fail_on_participant_conflict [Experimental] Setting to true
500
+ # enables early opt-in to allowing Proxy to return a 400 error (Twilio error code
501
+ # 80604) when a request to set a Session to in-progress would cause Participants
502
+ # with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions.
503
+ # If not provided, or if set to false, requests will be allowed to succeed, and a
504
+ # Debugger notification (80801) will be emitted. Having multiple, active
505
+ # Participants with the same Identifier/ProxyIdentifier pair causes calls and
506
+ # messages from affected Participants to be routed incorrectly. Please note, in a
507
+ # future release, the default behavior will be to reject the request with a 400
508
+ # error unless an exception has been requested.
509
+ # @return [SessionInstance] Updated SessionInstance
510
+ def update(date_expiry: :unset, ttl: :unset, status: :unset, fail_on_participant_conflict: :unset)
511
+ context.update(
512
+ date_expiry: date_expiry,
513
+ ttl: ttl,
514
+ status: status,
515
+ fail_on_participant_conflict: fail_on_participant_conflict,
516
+ )
517
+ end
518
+
519
+ ##
520
+ # Access the interactions
521
+ # @return [interactions] interactions
522
+ def interactions
523
+ context.interactions
524
+ end
525
+
526
+ ##
527
+ # Access the participants
528
+ # @return [participants] participants
529
+ def participants
530
+ context.participants
531
+ end
532
+
533
+ ##
534
+ # Provide a user friendly representation
535
+ def to_s
536
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
537
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
538
+ end
539
+
540
+ ##
541
+ # Provide a detailed, user friendly representation
542
+ def inspect
543
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
544
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
545
+ end
546
+ end
547
+ end
548
+ end
549
+ end
550
+ end
551
+ end