twilio-ruby 5.45.0 → 5.60.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 (691) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop_todo.yml +7 -7
  4. data/.travis.yml +41 -28
  5. data/CHANGES.md +456 -0
  6. data/Gemfile +1 -0
  7. data/LICENSE +1 -1
  8. data/README.md +29 -6
  9. data/examples/examples.rb +1 -1
  10. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  11. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  12. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  13. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  14. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  15. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  17. data/lib/twilio-ruby/http/http_client.rb +15 -3
  18. data/lib/twilio-ruby/http.rb +5 -0
  19. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +40 -40
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  25. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +57 -16
  27. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +23 -19
  28. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +7 -7
  35. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  37. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  40. data/lib/twilio-ruby/rest/api.rb +1 -1
  41. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  42. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -12
  43. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +20 -10
  44. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +20 -12
  45. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -12
  46. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -11
  47. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  48. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  49. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  50. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  51. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  52. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  53. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  54. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  55. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  56. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  57. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  58. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  59. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  60. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  61. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  62. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  63. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  64. data/lib/twilio-ruby/rest/client.rb +22 -1
  65. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  66. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  67. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  68. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  69. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  70. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  71. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  72. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  73. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  74. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  75. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  76. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  77. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  78. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  79. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  80. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  81. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  82. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +52 -1
  83. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  84. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/user.rb +43 -1
  86. data/lib/twilio-ruby/rest/conversations/v1.rb +32 -20
  87. data/lib/twilio-ruby/rest/conversations.rb +6 -0
  88. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  89. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +41 -41
  90. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  91. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  92. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  93. data/lib/twilio-ruby/rest/events/v1/sink.rb +49 -11
  94. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  95. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  96. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  97. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  98. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  99. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +25 -4
  100. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +101 -83
  101. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  102. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -13
  103. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  104. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  105. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  106. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  107. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  108. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  109. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  110. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  111. data/lib/twilio-ruby/rest/insights/v1.rb +18 -9
  112. data/lib/twilio-ruby/rest/insights.rb +7 -1
  113. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  114. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  118. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  119. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  120. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  121. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  122. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  123. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  124. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  127. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  128. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  129. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  130. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +384 -0
  131. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  132. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +390 -0
  133. data/lib/twilio-ruby/rest/media/v1.rb +60 -0
  134. data/lib/twilio-ruby/rest/media.rb +56 -0
  135. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +272 -0
  136. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +424 -0
  137. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  138. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  139. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  140. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  141. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  142. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  143. data/lib/twilio-ruby/rest/messaging/v1/service.rb +144 -26
  144. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  145. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -4
  146. data/lib/twilio-ruby/rest/messaging.rb +20 -0
  147. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  148. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  149. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  150. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  151. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +188 -0
  152. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  153. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  154. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -14
  155. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  156. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  157. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  158. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  159. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  160. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  161. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  162. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +14 -10
  163. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  164. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  165. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  166. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  167. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  168. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  169. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  170. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  171. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  172. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  173. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  174. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  175. data/lib/twilio-ruby/rest/preview.rb +4 -2
  176. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  177. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  178. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  179. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  180. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  181. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  182. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  183. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  184. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  185. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  186. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  187. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  188. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  189. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  190. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  191. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  192. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  193. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  194. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  195. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  196. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  197. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  198. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -9
  199. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  200. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  201. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  202. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  203. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  204. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  205. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  206. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  207. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  208. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  209. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  210. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +49 -4
  211. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  212. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  213. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  214. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  216. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +25 -52
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +46 -76
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +18 -40
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +47 -79
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +18 -40
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  224. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +14 -38
  225. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  226. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +17 -13
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +48 -24
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +17 -13
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +37 -28
  237. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +20 -4
  239. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  240. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  244. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  245. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  246. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  249. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  250. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  251. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  252. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  253. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  254. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  255. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  256. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +91 -18
  257. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +47 -56
  258. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  259. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -3
  260. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -6
  261. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +34 -15
  262. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  263. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  264. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  265. data/lib/twilio-ruby/rest/verify/v2.rb +33 -8
  266. data/lib/twilio-ruby/rest/verify.rb +15 -0
  267. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -23
  268. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -34
  269. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  270. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  271. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -7
  272. data/lib/twilio-ruby/rest/video/v1/room.rb +25 -4
  273. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  274. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  275. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  276. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  277. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  278. data/lib/twilio-ruby/rest.rb +13 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +39 -8
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/lib/twilio-ruby.rb +5 -15
  282. data/sonar-project.properties +13 -0
  283. data/twilio-ruby.gemspec +1 -1
  284. metadata +60 -826
  285. data/spec/framework/request_spec.rb +0 -36
  286. data/spec/framework/serialize_spec.rb +0 -80
  287. data/spec/framework/version_spec.rb +0 -219
  288. data/spec/holodeck/holodeck.rb +0 -66
  289. data/spec/holodeck/hologram.rb +0 -4
  290. data/spec/http/http_client_spec.rb +0 -122
  291. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  292. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  293. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  294. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  295. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  296. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  297. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  298. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  299. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  300. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  301. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  302. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  303. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  304. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  305. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  306. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  307. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  308. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  309. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  310. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  311. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  312. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  313. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  314. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  315. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  316. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  317. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  318. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  319. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  320. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  321. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  322. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  323. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  324. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  325. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  326. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  327. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  328. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  329. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  330. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  331. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  332. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  333. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  334. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  335. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  336. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  337. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  338. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  339. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  340. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  341. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  342. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  343. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  344. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  345. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  346. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  347. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  348. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  349. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  350. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  351. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  352. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  353. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  354. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  355. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  356. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  357. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  358. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  359. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  360. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  361. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  362. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  363. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  364. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  365. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  366. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  367. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  368. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  369. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  370. data/spec/integration/api/v2010/account_spec.rb +0 -327
  371. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  372. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  373. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  374. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  375. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  376. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  377. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  378. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  379. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  380. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  381. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  382. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  383. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  384. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  385. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  386. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  387. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  388. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  389. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  390. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  391. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  392. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  393. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  394. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  395. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  396. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  397. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  398. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  399. data/spec/integration/chat/v1/service_spec.rb +0 -295
  400. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  401. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  402. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  403. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  404. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  405. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  406. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  407. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  408. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  409. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  410. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  411. data/spec/integration/chat/v2/service_spec.rb +0 -350
  412. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  413. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  414. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  415. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  416. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -382
  417. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  418. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  419. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  420. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  421. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  422. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  423. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -87
  424. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  425. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  426. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -407
  427. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  428. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  429. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  430. data/spec/integration/conversations/v1/service/user_spec.rb +0 -236
  431. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  432. data/spec/integration/conversations/v1/user_spec.rb +0 -226
  433. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  434. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  435. data/spec/integration/events/v1/schema_spec.rb +0 -46
  436. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  437. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  438. data/spec/integration/events/v1/sink_spec.rb +0 -217
  439. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  440. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  441. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  442. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  443. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  444. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  445. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  446. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  447. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  448. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  449. data/spec/integration/insights/v1/call/summary_spec.rb +0 -63
  450. data/spec/integration/insights/v1/call_spec.rb +0 -46
  451. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  452. data/spec/integration/insights/v1/room_spec.rb +0 -164
  453. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  454. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  455. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  456. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  457. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  458. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  459. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  460. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  461. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  462. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  463. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  464. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  465. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  466. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  467. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  468. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  469. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  470. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  471. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  472. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  473. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  474. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  475. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  476. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  477. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  478. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  479. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  480. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  481. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  482. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  483. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  484. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  485. data/spec/integration/notify/v1/service_spec.rb +0 -289
  486. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  487. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  488. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  489. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  490. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  491. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  492. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  493. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  494. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  495. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  496. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  497. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  498. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  499. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  500. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  501. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  502. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  503. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  504. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  505. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  506. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  507. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  508. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  509. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  510. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  511. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  512. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  513. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  514. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  515. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  516. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  517. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  518. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  519. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  520. data/spec/integration/preview/sync/service_spec.rb +0 -241
  521. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  522. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  523. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  524. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  525. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  526. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  527. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  528. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  529. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  530. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  531. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  532. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  533. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  534. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  535. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  536. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  537. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  538. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  539. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  540. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  541. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  542. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  543. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  544. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  545. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  546. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  547. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  548. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  549. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  550. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  551. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  552. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  553. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  554. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  555. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  556. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  557. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  558. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  559. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  560. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  561. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  562. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  563. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  564. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  565. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  566. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  567. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  568. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  569. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  570. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  571. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  572. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  573. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  574. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  575. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  576. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  577. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  578. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  579. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  580. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  581. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  582. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  583. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  584. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  585. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  586. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  587. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  588. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  589. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  590. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  591. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  592. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  593. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  594. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  595. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  596. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  597. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  598. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  599. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  600. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  601. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  602. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  603. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  604. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  605. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  606. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  607. data/spec/integration/sync/v1/service_spec.rb +0 -261
  608. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  609. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  610. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  611. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  612. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  613. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  614. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  615. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  616. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  617. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  618. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  619. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  620. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  621. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  622. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  623. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  624. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  625. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  626. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  627. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  628. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  629. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  630. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  631. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  632. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  633. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  634. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  635. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  636. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  637. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  638. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  639. data/spec/integration/verify/v2/form_spec.rb +0 -47
  640. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  641. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  642. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  643. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  644. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  645. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  646. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  647. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  648. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  649. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  650. data/spec/integration/verify/v2/service_spec.rb +0 -279
  651. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  652. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  653. data/spec/integration/video/v1/composition_spec.rb +0 -347
  654. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  655. data/spec/integration/video/v1/recording_spec.rb +0 -176
  656. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  657. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  658. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  659. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  660. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  661. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  662. data/spec/integration/video/v1/room_spec.rb +0 -296
  663. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  664. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  665. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  666. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  667. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  668. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  669. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  670. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  671. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  672. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  673. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  674. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  675. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  676. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  677. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  678. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  679. data/spec/jwt/access_token_spec.rb +0 -159
  680. data/spec/jwt/client_capability_spec.rb +0 -104
  681. data/spec/jwt/task_router_spec.rb +0 -172
  682. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  683. data/spec/rest/client_spec.rb +0 -255
  684. data/spec/security/request_validator_spec.rb +0 -125
  685. data/spec/spec_helper.rb +0 -38
  686. data/spec/support/fakeweb.rb +0 -2
  687. data/spec/twilio_spec.rb +0 -17
  688. data/spec/twiml/messaging_response_spec.rb +0 -235
  689. data/spec/twiml/voice_response_spec.rb +0 -847
  690. data/spec/util/configuration_spec.rb +0 -33
  691. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,150 @@
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 Messaging < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
+ class ExternalCampaignList < ListResource
16
+ ##
17
+ # Initialize the ExternalCampaignList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [ExternalCampaignList] ExternalCampaignList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Services/PreregisteredUsa2p"
26
+ end
27
+
28
+ ##
29
+ # Create the ExternalCampaignInstance
30
+ # @param [String] campaign_id ID of the preregistered campaign.
31
+ # @param [String] messaging_service_sid The SID of the {Messaging
32
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
33
+ # is associated with.
34
+ # @return [ExternalCampaignInstance] Created ExternalCampaignInstance
35
+ def create(campaign_id: nil, messaging_service_sid: nil)
36
+ data = Twilio::Values.of({
37
+ 'CampaignId' => campaign_id,
38
+ 'MessagingServiceSid' => messaging_service_sid,
39
+ })
40
+
41
+ payload = @version.create('POST', @uri, data: data)
42
+
43
+ ExternalCampaignInstance.new(@version, payload, )
44
+ end
45
+
46
+ ##
47
+ # Provide a user friendly representation
48
+ def to_s
49
+ '#<Twilio.Messaging.V1.ExternalCampaignList>'
50
+ end
51
+ end
52
+
53
+ ##
54
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
55
+ class ExternalCampaignPage < Page
56
+ ##
57
+ # Initialize the ExternalCampaignPage
58
+ # @param [Version] version Version that contains the resource
59
+ # @param [Response] response Response from the API
60
+ # @param [Hash] solution Path solution for the resource
61
+ # @return [ExternalCampaignPage] ExternalCampaignPage
62
+ def initialize(version, response, solution)
63
+ super(version, response)
64
+
65
+ # Path Solution
66
+ @solution = solution
67
+ end
68
+
69
+ ##
70
+ # Build an instance of ExternalCampaignInstance
71
+ # @param [Hash] payload Payload response from the API
72
+ # @return [ExternalCampaignInstance] ExternalCampaignInstance
73
+ def get_instance(payload)
74
+ ExternalCampaignInstance.new(@version, payload, )
75
+ end
76
+
77
+ ##
78
+ # Provide a user friendly representation
79
+ def to_s
80
+ '<Twilio.Messaging.V1.ExternalCampaignPage>'
81
+ end
82
+ end
83
+
84
+ ##
85
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
86
+ class ExternalCampaignInstance < InstanceResource
87
+ ##
88
+ # Initialize the ExternalCampaignInstance
89
+ # @param [Version] version Version that contains the resource
90
+ # @param [Hash] payload payload that contains response from Twilio
91
+ # @return [ExternalCampaignInstance] ExternalCampaignInstance
92
+ def initialize(version, payload)
93
+ super(version)
94
+
95
+ # Marshaled Properties
96
+ @properties = {
97
+ 'sid' => payload['sid'],
98
+ 'account_sid' => payload['account_sid'],
99
+ 'campaign_id' => payload['campaign_id'],
100
+ 'messaging_service_sid' => payload['messaging_service_sid'],
101
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
102
+ }
103
+ end
104
+
105
+ ##
106
+ # @return [String] The unique string that identifies a US A2P Compliance resource
107
+ def sid
108
+ @properties['sid']
109
+ end
110
+
111
+ ##
112
+ # @return [String] The SID of the Account that created the resource
113
+ def account_sid
114
+ @properties['account_sid']
115
+ end
116
+
117
+ ##
118
+ # @return [String] ID of the preregistered campaign.
119
+ def campaign_id
120
+ @properties['campaign_id']
121
+ end
122
+
123
+ ##
124
+ # @return [String] The SID of the Messaging Service the resource is associated with
125
+ def messaging_service_sid
126
+ @properties['messaging_service_sid']
127
+ end
128
+
129
+ ##
130
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
131
+ def date_created
132
+ @properties['date_created']
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ "<Twilio.Messaging.V1.ExternalCampaignInstance>"
139
+ end
140
+
141
+ ##
142
+ # Provide a detailed, user friendly representation
143
+ def inspect
144
+ "<Twilio.Messaging.V1.ExternalCampaignInstance>"
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
@@ -296,7 +296,7 @@ module Twilio
296
296
  end
297
297
 
298
298
  ##
299
- # @return [String] An array of values that describe whether the number can receive calls or messages
299
+ # @return [Array[String]] An array of values that describe whether the number can receive calls or messages
300
300
  def capabilities
301
301
  @properties['capabilities']
302
302
  end
@@ -302,7 +302,7 @@ module Twilio
302
302
  end
303
303
 
304
304
  ##
305
- # @return [String] An array of values that describe whether the number can receive calls or messages
305
+ # @return [Array[String]] An array of values that describe whether the number can receive calls or messages
306
306
  def capabilities
307
307
  @properties['capabilities']
308
308
  end
@@ -297,7 +297,7 @@ module Twilio
297
297
  end
298
298
 
299
299
  ##
300
- # @return [String] An array of values that describe whether the number can receive calls or messages
300
+ # @return [Array[String]] An array of values that describe whether the number can receive calls or messages
301
301
  def capabilities
302
302
  @properties['capabilities']
303
303
  end
@@ -0,0 +1,433 @@
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 Messaging < 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 UsAppToPersonList < ListResource
17
+ ##
18
+ # Initialize the UsAppToPersonList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] messaging_service_sid The SID of the {Messaging
21
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
22
+ # is associated with.
23
+ # @return [UsAppToPersonList] UsAppToPersonList
24
+ def initialize(version, messaging_service_sid: nil)
25
+ super(version)
26
+
27
+ # Path Solution
28
+ @solution = {messaging_service_sid: messaging_service_sid}
29
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p"
30
+ end
31
+
32
+ ##
33
+ # Create the UsAppToPersonInstance
34
+ # @param [String] brand_registration_sid A2P Brand Registration SID
35
+ # @param [String] description A short description of what this SMS campaign does.
36
+ # @param [Array[String]] message_samples Message samples, at least 2 and up to 5
37
+ # sample messages, <=1024 chars each.
38
+ # @param [String] us_app_to_person_usecase A2P Campaign Use Case. Examples: [ 2FA,
39
+ # EMERGENCY, MARKETING..]
40
+ # @param [Boolean] has_embedded_links Indicates that this SMS campaign will send
41
+ # messages that contain links.
42
+ # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
43
+ # messages that contain phone numbers.
44
+ # @return [UsAppToPersonInstance] Created UsAppToPersonInstance
45
+ def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil)
46
+ data = Twilio::Values.of({
47
+ 'BrandRegistrationSid' => brand_registration_sid,
48
+ 'Description' => description,
49
+ 'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
50
+ 'UsAppToPersonUsecase' => us_app_to_person_usecase,
51
+ 'HasEmbeddedLinks' => has_embedded_links,
52
+ 'HasEmbeddedPhone' => has_embedded_phone,
53
+ })
54
+
55
+ payload = @version.create('POST', @uri, data: data)
56
+
57
+ UsAppToPersonInstance.new(
58
+ @version,
59
+ payload,
60
+ messaging_service_sid: @solution[:messaging_service_sid],
61
+ )
62
+ end
63
+
64
+ ##
65
+ # Lists UsAppToPersonInstance records from the API as a list.
66
+ # Unlike stream(), this operation is eager and will load `limit` records into
67
+ # memory before returning.
68
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
69
+ # guarantees to never return more than limit. Default is no limit
70
+ # @param [Integer] page_size Number of records to fetch per request, when
71
+ # not set will use the default value of 50 records. If no page_size is defined
72
+ # but a limit is defined, stream() will attempt to read the limit with the most
73
+ # efficient page size, i.e. min(limit, 1000)
74
+ # @return [Array] Array of up to limit results
75
+ def list(limit: nil, page_size: nil)
76
+ self.stream(limit: limit, page_size: page_size).entries
77
+ end
78
+
79
+ ##
80
+ # Streams UsAppToPersonInstance records from the API as an Enumerable.
81
+ # This operation lazily loads records as efficiently as possible until the limit
82
+ # is reached.
83
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
84
+ # guarantees to never return more than limit. Default is no limit.
85
+ # @param [Integer] page_size Number of records to fetch per request, when
86
+ # not set will use the default value of 50 records. If no page_size is defined
87
+ # but a limit is defined, stream() will attempt to read the limit with the most
88
+ # efficient page size, i.e. min(limit, 1000)
89
+ # @return [Enumerable] Enumerable that will yield up to limit results
90
+ def stream(limit: nil, page_size: nil)
91
+ limits = @version.read_limits(limit, page_size)
92
+
93
+ page = self.page(page_size: limits[:page_size], )
94
+
95
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
96
+ end
97
+
98
+ ##
99
+ # When passed a block, yields UsAppToPersonInstance records from the API.
100
+ # This operation lazily loads records as efficiently as possible until the limit
101
+ # is reached.
102
+ def each
103
+ limits = @version.read_limits
104
+
105
+ page = self.page(page_size: limits[:page_size], )
106
+
107
+ @version.stream(page,
108
+ limit: limits[:limit],
109
+ page_limit: limits[:page_limit]).each {|x| yield x}
110
+ end
111
+
112
+ ##
113
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
114
+ # Request is executed immediately.
115
+ # @param [String] page_token PageToken provided by the API
116
+ # @param [Integer] page_number Page Number, this value is simply for client state
117
+ # @param [Integer] page_size Number of records to return, defaults to 50
118
+ # @return [Page] Page of UsAppToPersonInstance
119
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
120
+ params = Twilio::Values.of({
121
+ 'PageToken' => page_token,
122
+ 'Page' => page_number,
123
+ 'PageSize' => page_size,
124
+ })
125
+
126
+ response = @version.page('GET', @uri, params: params)
127
+
128
+ UsAppToPersonPage.new(@version, response, @solution)
129
+ end
130
+
131
+ ##
132
+ # Retrieve a single page of UsAppToPersonInstance records from the API.
133
+ # Request is executed immediately.
134
+ # @param [String] target_url API-generated URL for the requested results page
135
+ # @return [Page] Page of UsAppToPersonInstance
136
+ def get_page(target_url)
137
+ response = @version.domain.request(
138
+ 'GET',
139
+ target_url
140
+ )
141
+ UsAppToPersonPage.new(@version, response, @solution)
142
+ end
143
+
144
+ ##
145
+ # Provide a user friendly representation
146
+ def to_s
147
+ '#<Twilio.Messaging.V1.UsAppToPersonList>'
148
+ end
149
+ end
150
+
151
+ ##
152
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
153
+ class UsAppToPersonPage < Page
154
+ ##
155
+ # Initialize the UsAppToPersonPage
156
+ # @param [Version] version Version that contains the resource
157
+ # @param [Response] response Response from the API
158
+ # @param [Hash] solution Path solution for the resource
159
+ # @return [UsAppToPersonPage] UsAppToPersonPage
160
+ def initialize(version, response, solution)
161
+ super(version, response)
162
+
163
+ # Path Solution
164
+ @solution = solution
165
+ end
166
+
167
+ ##
168
+ # Build an instance of UsAppToPersonInstance
169
+ # @param [Hash] payload Payload response from the API
170
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
171
+ def get_instance(payload)
172
+ UsAppToPersonInstance.new(
173
+ @version,
174
+ payload,
175
+ messaging_service_sid: @solution[:messaging_service_sid],
176
+ )
177
+ end
178
+
179
+ ##
180
+ # Provide a user friendly representation
181
+ def to_s
182
+ '<Twilio.Messaging.V1.UsAppToPersonPage>'
183
+ end
184
+ end
185
+
186
+ ##
187
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
188
+ class UsAppToPersonContext < InstanceContext
189
+ ##
190
+ # Initialize the UsAppToPersonContext
191
+ # @param [Version] version Version that contains the resource
192
+ # @param [String] messaging_service_sid The SID of the {Messaging
193
+ # Service}[https://www.twilio.com/docs/messaging/services/api] to fetch the
194
+ # resource from.
195
+ # @param [String] sid The SID of the US A2P Compliance resource to fetch
196
+ # `QE2c6890da8086d771620e9b13fadeba0b`.
197
+ # @return [UsAppToPersonContext] UsAppToPersonContext
198
+ def initialize(version, messaging_service_sid, sid)
199
+ super(version)
200
+
201
+ # Path Solution
202
+ @solution = {messaging_service_sid: messaging_service_sid, sid: sid, }
203
+ @uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p/#{@solution[:sid]}"
204
+ end
205
+
206
+ ##
207
+ # Delete the UsAppToPersonInstance
208
+ # @return [Boolean] true if delete succeeds, false otherwise
209
+ def delete
210
+ @version.delete('DELETE', @uri)
211
+ end
212
+
213
+ ##
214
+ # Fetch the UsAppToPersonInstance
215
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
216
+ def fetch
217
+ payload = @version.fetch('GET', @uri)
218
+
219
+ UsAppToPersonInstance.new(
220
+ @version,
221
+ payload,
222
+ messaging_service_sid: @solution[:messaging_service_sid],
223
+ sid: @solution[:sid],
224
+ )
225
+ end
226
+
227
+ ##
228
+ # Provide a user friendly representation
229
+ def to_s
230
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
231
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
232
+ end
233
+
234
+ ##
235
+ # Provide a detailed, user friendly representation
236
+ def inspect
237
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
238
+ "#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
239
+ end
240
+ end
241
+
242
+ ##
243
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
244
+ class UsAppToPersonInstance < InstanceResource
245
+ ##
246
+ # Initialize the UsAppToPersonInstance
247
+ # @param [Version] version Version that contains the resource
248
+ # @param [Hash] payload payload that contains response from Twilio
249
+ # @param [String] messaging_service_sid The SID of the {Messaging
250
+ # Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
251
+ # is associated with.
252
+ # @param [String] sid The SID of the US A2P Compliance resource to fetch
253
+ # `QE2c6890da8086d771620e9b13fadeba0b`.
254
+ # @return [UsAppToPersonInstance] UsAppToPersonInstance
255
+ def initialize(version, payload, messaging_service_sid: nil, sid: nil)
256
+ super(version)
257
+
258
+ # Marshaled Properties
259
+ @properties = {
260
+ 'sid' => payload['sid'],
261
+ 'account_sid' => payload['account_sid'],
262
+ 'brand_registration_sid' => payload['brand_registration_sid'],
263
+ 'messaging_service_sid' => payload['messaging_service_sid'],
264
+ 'description' => payload['description'],
265
+ 'message_samples' => payload['message_samples'],
266
+ 'us_app_to_person_usecase' => payload['us_app_to_person_usecase'],
267
+ 'has_embedded_links' => payload['has_embedded_links'],
268
+ 'has_embedded_phone' => payload['has_embedded_phone'],
269
+ 'campaign_status' => payload['campaign_status'],
270
+ 'campaign_id' => payload['campaign_id'],
271
+ 'is_externally_registered' => payload['is_externally_registered'],
272
+ 'rate_limits' => payload['rate_limits'],
273
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
274
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
275
+ 'url' => payload['url'],
276
+ 'mock' => payload['mock'],
277
+ }
278
+
279
+ # Context
280
+ @instance_context = nil
281
+ @params = {'messaging_service_sid' => messaging_service_sid, 'sid' => sid || @properties['sid'], }
282
+ end
283
+
284
+ ##
285
+ # Generate an instance context for the instance, the context is capable of
286
+ # performing various actions. All instance actions are proxied to the context
287
+ # @return [UsAppToPersonContext] UsAppToPersonContext for this UsAppToPersonInstance
288
+ def context
289
+ unless @instance_context
290
+ @instance_context = UsAppToPersonContext.new(
291
+ @version,
292
+ @params['messaging_service_sid'],
293
+ @params['sid'],
294
+ )
295
+ end
296
+ @instance_context
297
+ end
298
+
299
+ ##
300
+ # @return [String] The unique string that identifies a US A2P Compliance resource
301
+ def sid
302
+ @properties['sid']
303
+ end
304
+
305
+ ##
306
+ # @return [String] The SID of the Account that created the resource
307
+ def account_sid
308
+ @properties['account_sid']
309
+ end
310
+
311
+ ##
312
+ # @return [String] A2P Brand Registration SID
313
+ def brand_registration_sid
314
+ @properties['brand_registration_sid']
315
+ end
316
+
317
+ ##
318
+ # @return [String] The SID of the Messaging Service the resource is associated with
319
+ def messaging_service_sid
320
+ @properties['messaging_service_sid']
321
+ end
322
+
323
+ ##
324
+ # @return [String] A short description of what this SMS campaign does
325
+ def description
326
+ @properties['description']
327
+ end
328
+
329
+ ##
330
+ # @return [Array[String]] Message samples
331
+ def message_samples
332
+ @properties['message_samples']
333
+ end
334
+
335
+ ##
336
+ # @return [String] A2P Campaign Use Case.
337
+ def us_app_to_person_usecase
338
+ @properties['us_app_to_person_usecase']
339
+ end
340
+
341
+ ##
342
+ # @return [Boolean] Indicate that this SMS campaign will send messages that contain links
343
+ def has_embedded_links
344
+ @properties['has_embedded_links']
345
+ end
346
+
347
+ ##
348
+ # @return [Boolean] Indicates that this SMS campaign will send messages that contain phone numbers
349
+ def has_embedded_phone
350
+ @properties['has_embedded_phone']
351
+ end
352
+
353
+ ##
354
+ # @return [String] Campaign status
355
+ def campaign_status
356
+ @properties['campaign_status']
357
+ end
358
+
359
+ ##
360
+ # @return [String] The Campaign Registry (TCR) Campaign ID.
361
+ def campaign_id
362
+ @properties['campaign_id']
363
+ end
364
+
365
+ ##
366
+ # @return [Boolean] Indicates whether the campaign was registered externally or not
367
+ def is_externally_registered
368
+ @properties['is_externally_registered']
369
+ end
370
+
371
+ ##
372
+ # @return [Hash] Rate limit and/or classification set by each carrier
373
+ def rate_limits
374
+ @properties['rate_limits']
375
+ end
376
+
377
+ ##
378
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
379
+ def date_created
380
+ @properties['date_created']
381
+ end
382
+
383
+ ##
384
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
385
+ def date_updated
386
+ @properties['date_updated']
387
+ end
388
+
389
+ ##
390
+ # @return [String] The absolute URL of the US App to Person resource
391
+ def url
392
+ @properties['url']
393
+ end
394
+
395
+ ##
396
+ # @return [Boolean] A boolean that specifies whether campaign is a mock or not.
397
+ def mock
398
+ @properties['mock']
399
+ end
400
+
401
+ ##
402
+ # Delete the UsAppToPersonInstance
403
+ # @return [Boolean] true if delete succeeds, false otherwise
404
+ def delete
405
+ context.delete
406
+ end
407
+
408
+ ##
409
+ # Fetch the UsAppToPersonInstance
410
+ # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
411
+ def fetch
412
+ context.fetch
413
+ end
414
+
415
+ ##
416
+ # Provide a user friendly representation
417
+ def to_s
418
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
419
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
420
+ end
421
+
422
+ ##
423
+ # Provide a detailed, user friendly representation
424
+ def inspect
425
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
426
+ "<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
427
+ end
428
+ end
429
+ end
430
+ end
431
+ end
432
+ end
433
+ end