twilio-ruby 5.15.1 → 5.58.1

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 (848) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +5 -0
  4. data/.rubocop.yml +22 -6
  5. data/.rubocop_todo.yml +86 -75
  6. data/.travis.yml +45 -19
  7. data/CHANGES.md +1553 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/CONTRIBUTING.md +4 -2
  10. data/Dockerfile +2 -2
  11. data/Gemfile +1 -9
  12. data/ISSUE_TEMPLATE.md +17 -13
  13. data/{LICENSE.md → LICENSE} +2 -2
  14. data/Makefile +6 -15
  15. data/PULL_REQUEST_TEMPLATE.md +30 -3
  16. data/README.md +120 -54
  17. data/Rakefile +0 -54
  18. data/VERSIONS.md +9 -10
  19. data/examples/examples.rb +1 -1
  20. data/githooks/pre-commit +0 -0
  21. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  22. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
  23. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  24. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  25. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  26. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  27. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  28. data/lib/twilio-ruby/http/http_client.rb +29 -14
  29. data/lib/twilio-ruby/http.rb +5 -0
  30. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  31. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  32. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  33. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +45 -46
  35. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
  36. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -4
  37. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  38. data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
  39. data/lib/twilio-ruby/rest/accounts.rb +13 -1
  40. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
  41. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +115 -121
  42. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +162 -181
  43. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +169 -178
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +187 -85
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +166 -172
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +187 -85
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +187 -85
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +166 -172
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +187 -85
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
  52. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +75 -70
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +59 -59
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +118 -103
  59. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +433 -313
  60. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +335 -201
  61. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +80 -79
  62. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +98 -81
  63. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
  64. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
  65. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
  66. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +172 -127
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +171 -127
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +171 -127
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +304 -289
  70. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
  71. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
  72. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +51 -47
  73. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +203 -203
  74. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
  75. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
  76. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
  77. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
  78. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +53 -38
  79. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +79 -78
  80. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
  81. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
  82. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +54 -41
  83. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +70 -61
  84. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +69 -70
  85. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +45 -51
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +27 -36
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -49
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -49
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -13
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -49
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -11
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -9
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +47 -47
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +46 -47
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +179 -95
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +64 -52
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +31 -39
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +5 -4
  100. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
  101. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +43 -40
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +70 -50
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +70 -50
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +70 -53
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +70 -50
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +70 -50
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +70 -50
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +70 -50
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +70 -50
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +67 -53
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
  113. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
  114. data/lib/twilio-ruby/rest/api/v2010/account.rb +38 -28
  115. data/lib/twilio-ruby/rest/api/v2010.rb +10 -5
  116. data/lib/twilio-ruby/rest/api.rb +38 -27
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -59
  120. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -59
  121. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -58
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +113 -87
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -51
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +90 -76
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -30
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +35 -22
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -66
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -88
  131. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -6
  133. data/lib/twilio-ruby/rest/autopilot.rb +8 -2
  134. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  135. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  136. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  137. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  138. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  139. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  140. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  141. data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
  142. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
  143. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
  144. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +81 -73
  145. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +82 -74
  146. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
  147. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
  148. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +74 -81
  149. data/lib/twilio-ruby/rest/chat/v1/service.rb +338 -357
  150. data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
  151. data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
  152. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
  153. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
  154. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +171 -141
  155. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +143 -135
  156. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
  157. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +134 -117
  158. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
  159. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
  160. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +95 -53
  161. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +93 -88
  162. data/lib/twilio-ruby/rest/chat/v2/service.rb +224 -185
  163. data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
  164. data/lib/twilio-ruby/rest/chat.rb +3 -3
  165. data/lib/twilio-ruby/rest/client.rb +196 -69
  166. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  170. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  188. data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
  189. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  191. data/lib/twilio-ruby/rest/conversations/v1.rb +126 -0
  192. data/lib/twilio-ruby/rest/conversations.rb +95 -0
  193. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  195. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  197. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  198. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  199. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  200. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  201. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  202. data/lib/twilio-ruby/rest/events.rb +72 -0
  203. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +35 -36
  204. data/lib/twilio-ruby/rest/fax/v1/fax.rb +113 -108
  205. data/lib/twilio-ruby/rest/fax/v1.rb +8 -6
  206. data/lib/twilio-ruby/rest/fax.rb +3 -2
  207. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -0
  210. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  211. data/lib/twilio-ruby/rest/flex_api/v1.rb +83 -0
  212. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  213. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  214. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  215. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  216. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  217. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  218. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
  219. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  220. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  221. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  222. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  223. data/lib/twilio-ruby/rest/insights/v1.rb +67 -0
  224. data/lib/twilio-ruby/rest/insights.rb +60 -0
  225. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
  226. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
  227. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
  228. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +41 -61
  229. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +50 -69
  230. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
  231. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
  232. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +47 -76
  233. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +69 -203
  234. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
  235. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
  236. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
  237. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
  238. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +95 -141
  239. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +87 -133
  240. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
  241. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +85 -118
  242. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
  243. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
  244. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
  245. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +68 -87
  246. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +76 -126
  247. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
  248. data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
  249. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
  250. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
  251. data/lib/twilio-ruby/rest/lookups.rb +4 -4
  252. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +346 -0
  253. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  254. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  255. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
  256. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
  257. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +44 -44
  258. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +426 -0
  259. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  260. data/lib/twilio-ruby/rest/messaging/v1/service.rb +245 -127
  261. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  262. data/lib/twilio-ruby/rest/messaging/v1.rb +44 -6
  263. data/lib/twilio-ruby/rest/messaging.rb +29 -2
  264. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
  265. data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
  266. data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
  267. data/lib/twilio-ruby/rest/monitor.rb +5 -3
  268. data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
  269. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
  270. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +126 -124
  271. data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
  272. data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
  273. data/lib/twilio-ruby/rest/notify.rb +5 -3
  274. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  275. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  276. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +512 -0
  277. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  278. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  279. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  280. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
  281. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  282. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  283. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  284. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  285. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +97 -14
  286. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
  287. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
  288. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +65 -17
  289. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +35 -28
  290. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +15 -11
  291. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
  292. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
  293. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
  294. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
  295. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
  296. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
  297. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +15 -14
  298. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
  299. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +32 -42
  300. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
  301. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
  302. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
  303. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
  304. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
  305. data/lib/twilio-ruby/rest/preview/marketplace.rb +20 -20
  306. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
  307. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
  308. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +36 -39
  309. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
  310. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
  311. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
  312. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
  313. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
  314. data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
  315. data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
  316. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  317. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  318. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  319. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  320. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  321. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  322. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
  323. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
  324. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
  325. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
  326. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
  327. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
  328. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
  329. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
  330. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
  331. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
  332. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
  333. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +11 -10
  334. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
  335. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
  336. data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
  337. data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
  338. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +25 -35
  339. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
  340. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
  341. data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
  342. data/lib/twilio-ruby/rest/preview.rb +52 -30
  343. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
  344. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
  345. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
  346. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
  347. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
  348. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
  349. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
  350. data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
  351. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  352. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  353. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
  354. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
  355. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
  356. data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
  357. data/lib/twilio-ruby/rest/pricing.rb +20 -1
  358. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +72 -65
  359. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +61 -83
  360. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
  361. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +79 -72
  362. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +127 -107
  363. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
  364. data/lib/twilio-ruby/rest/proxy/v1/service.rb +167 -105
  365. data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
  366. data/lib/twilio-ruby/rest/proxy.rb +3 -2
  367. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  368. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  369. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  370. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  371. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  372. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  373. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  374. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  375. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  376. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  378. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +182 -116
  379. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  380. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  381. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
  382. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
  383. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
  384. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
  385. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
  386. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
  387. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
  388. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +104 -58
  389. data/lib/twilio-ruby/rest/studio/v1/flow.rb +30 -31
  390. data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
  391. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  392. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  393. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  394. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  395. data/lib/twilio-ruby/rest/{preview/authy/service/entity.rb → studio/v2/flow/flow_revision.rb} +118 -117
  396. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  397. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  398. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  399. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  400. data/lib/twilio-ruby/rest/studio.rb +19 -5
  401. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  402. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +494 -0
  403. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  404. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  405. data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → supersim/v1/network_access_profile.rb} +116 -143
  406. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  407. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +443 -0
  408. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  409. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  410. data/lib/twilio-ruby/rest/supersim/v1.rb +131 -0
  411. data/lib/twilio-ruby/rest/supersim.rb +97 -0
  412. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
  413. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
  414. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +155 -107
  415. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
  416. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +77 -73
  417. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +161 -109
  418. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
  419. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +76 -73
  420. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
  421. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
  422. data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
  423. data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
  424. data/lib/twilio-ruby/rest/sync.rb +3 -2
  425. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
  426. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
  427. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +298 -194
  428. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +217 -176
  429. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +114 -26
  430. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +79 -69
  431. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +59 -29
  432. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +119 -122
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -155
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +56 -59
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +43 -39
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +27 -19
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +131 -117
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +70 -59
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +42 -26
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +108 -107
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +59 -54
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +34 -24
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +124 -128
  450. data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
  451. data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
  452. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
  453. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
  454. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +74 -83
  455. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
  456. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  457. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +149 -134
  458. data/lib/twilio-ruby/rest/trunking/v1.rb +8 -6
  459. data/lib/twilio-ruby/rest/trunking.rb +3 -3
  460. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  461. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  462. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  463. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  464. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  465. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  466. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  467. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  468. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  469. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  470. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  471. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  472. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  473. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  474. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  475. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +30 -29
  476. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  477. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +201 -0
  478. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +529 -0
  479. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +108 -129
  480. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  481. data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -43
  482. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  483. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  484. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
  486. data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +59 -36
  487. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service.rb +761 -0
  489. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  490. data/lib/twilio-ruby/rest/verify/v2.rb +78 -0
  491. data/lib/twilio-ruby/rest/verify.rb +28 -9
  492. data/lib/twilio-ruby/rest/video/v1/composition.rb +125 -129
  493. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +260 -229
  494. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
  495. data/lib/twilio-ruby/rest/video/v1/recording.rb +81 -69
  496. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
  497. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +64 -53
  498. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
  499. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  500. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
  501. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +104 -77
  502. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  503. data/lib/twilio-ruby/rest/video/v1/room.rb +118 -85
  504. data/lib/twilio-ruby/rest/video/v1.rb +35 -34
  505. data/lib/twilio-ruby/rest/video.rb +16 -16
  506. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  507. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  508. data/lib/twilio-ruby/rest/{preview/authy/service.rb → voice/v1/connection_policy.rb} +115 -117
  509. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +8 -13
  510. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
  511. data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +59 -58
  512. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  513. data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
  514. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  515. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  516. data/lib/twilio-ruby/rest/voice/v1.rb +73 -5
  517. data/lib/twilio-ruby/rest/voice.rb +40 -4
  518. data/lib/twilio-ruby/rest/wireless/v1/command.rb +86 -67
  519. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +86 -88
  520. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +37 -40
  521. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
  522. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +198 -151
  523. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  524. data/lib/twilio-ruby/rest/wireless/v1.rb +26 -16
  525. data/lib/twilio-ruby/rest/wireless.rb +10 -4
  526. data/lib/twilio-ruby/rest.rb +13 -0
  527. data/lib/twilio-ruby/security/request_validator.rb +64 -11
  528. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  529. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  530. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  531. data/lib/twilio-ruby/twiml/voice_response.rb +278 -34
  532. data/lib/twilio-ruby/util/configuration.rb +22 -5
  533. data/lib/twilio-ruby/version.rb +1 -1
  534. data/lib/twilio-ruby.rb +8 -24
  535. data/sonar-project.properties +13 -0
  536. data/twilio-ruby.gemspec +13 -8
  537. metadata +296 -647
  538. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -405
  539. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  540. data/lib/twilio-ruby/rest/authy.rb +0 -55
  541. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  542. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  543. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  544. data/lib/twilio-ruby/rest/preview/authy.rb +0 -43
  545. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -192
  546. data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
  547. data/spec/framework/request_spec.rb +0 -36
  548. data/spec/framework/serialize_spec.rb +0 -80
  549. data/spec/holodeck/holodeck.rb +0 -61
  550. data/spec/holodeck/hologram.rb +0 -4
  551. data/spec/http/http_client_spec.rb +0 -122
  552. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  553. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  554. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  555. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  556. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  557. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  558. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  559. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  560. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  561. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  562. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  563. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  564. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  565. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  566. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  567. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  568. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  569. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  570. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  571. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  572. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  573. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  574. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  575. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  576. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  577. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  578. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  579. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  580. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  581. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  582. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  583. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  584. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  585. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  586. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  587. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  588. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  589. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  590. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  591. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  592. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  593. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  594. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  595. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  596. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  597. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  598. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  599. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  600. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  601. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  602. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  603. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  604. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  605. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  606. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  607. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  608. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -287
  609. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  610. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  611. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  612. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  613. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  614. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  615. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  616. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  617. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  618. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  619. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  620. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  621. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  622. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  623. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  624. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  625. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  626. data/spec/integration/api/v2010/account_spec.rb +0 -272
  627. data/spec/integration/authy/v1/form_spec.rb +0 -48
  628. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -267
  629. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
  630. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  631. data/spec/integration/authy/v1/service_spec.rb +0 -227
  632. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  633. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  634. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  635. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  636. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  637. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  638. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  639. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  640. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  641. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  642. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  643. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  644. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  645. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  646. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  647. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  648. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  649. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  650. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  651. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  652. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  653. data/spec/integration/chat/v1/service_spec.rb +0 -299
  654. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  655. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  656. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  657. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -257
  658. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  659. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  660. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  661. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  662. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  663. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  664. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  665. data/spec/integration/chat/v2/service_spec.rb +0 -354
  666. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  667. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  668. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  669. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  670. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  671. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  672. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  673. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  674. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  675. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  676. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  677. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  678. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  679. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  680. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -257
  681. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  682. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  683. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  684. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  685. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  686. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  687. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  688. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  689. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  690. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  691. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  692. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  693. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  694. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  695. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  696. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  697. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  698. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  699. data/spec/integration/notify/v1/service_spec.rb +0 -286
  700. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  701. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  702. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  703. data/spec/integration/preview/authy/service/entity_spec.rb +0 -173
  704. data/spec/integration/preview/authy/service_spec.rb +0 -201
  705. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  706. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  707. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  708. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  709. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  710. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  711. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  712. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  713. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  714. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  715. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  716. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  717. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  718. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  719. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  720. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  721. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  722. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  723. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  724. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  725. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  726. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  727. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  728. data/spec/integration/preview/sync/service_spec.rb +0 -246
  729. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  730. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  731. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  732. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  733. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  734. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  735. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  736. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  737. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  738. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  739. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  740. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  741. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  742. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  743. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  744. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  745. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  746. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  747. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  748. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  749. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  750. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  751. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  752. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  753. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  754. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  755. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  756. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  757. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
  758. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  759. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  760. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -181
  761. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  762. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  763. data/spec/integration/proxy/v1/service_spec.rb +0 -215
  764. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  765. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  766. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  767. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  768. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  769. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  770. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  771. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  772. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  773. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  774. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  775. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  776. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  777. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  778. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  779. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  780. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  781. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  782. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  783. data/spec/integration/sync/v1/service_spec.rb +0 -254
  784. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  785. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  786. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  787. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -129
  788. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  789. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  790. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  791. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  792. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  793. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  794. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  795. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  796. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  797. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  798. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  799. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  800. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  801. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  802. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  803. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  804. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  805. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  806. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  807. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  808. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  809. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  810. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  811. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  812. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  813. data/spec/integration/trunking/v1/trunk_spec.rb +0 -282
  814. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
  815. data/spec/integration/verify/v1/service/verification_spec.rb +0 -52
  816. data/spec/integration/verify/v1/service_spec.rb +0 -215
  817. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  818. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  819. data/spec/integration/video/v1/composition_spec.rb +0 -325
  820. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  821. data/spec/integration/video/v1/recording_spec.rb +0 -179
  822. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  823. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  824. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  825. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  826. data/spec/integration/video/v1/room_spec.rb +0 -257
  827. data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
  828. data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
  829. data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
  830. data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
  831. data/spec/integration/wireless/v1/command_spec.rb +0 -263
  832. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  833. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  834. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  835. data/spec/integration/wireless/v1/sim_spec.rb +0 -216
  836. data/spec/jwt/access_token_spec.rb +0 -151
  837. data/spec/jwt/client_capability_spec.rb +0 -104
  838. data/spec/jwt/task_router_spec.rb +0 -172
  839. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  840. data/spec/rest/client_spec.rb +0 -61
  841. data/spec/security/request_validator_spec.rb +0 -86
  842. data/spec/spec_helper.rb +0 -38
  843. data/spec/support/fakeweb.rb +0 -2
  844. data/spec/twilio_spec.rb +0 -15
  845. data/spec/twiml/messaging_response_spec.rb +0 -235
  846. data/spec/twiml/voice_response_spec.rb +0 -847
  847. data/spec/util/configuration_spec.rb +0 -15
  848. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,419 @@
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 Conversations < Domain
12
+ class V1 < Version
13
+ class CredentialList < ListResource
14
+ ##
15
+ # Initialize the CredentialList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [CredentialList] CredentialList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/Credentials"
24
+ end
25
+
26
+ ##
27
+ # Create the CredentialInstance
28
+ # @param [credential.PushType] type The type of push-notification service the
29
+ # credential is for. Can be: `fcm`, `gcm`, or `apn`.
30
+ # @param [String] friendly_name A descriptive string that you create to describe
31
+ # the new resource. It can be up to 64 characters long.
32
+ # @param [String] certificate [APN only] The URL encoded representation of the
33
+ # certificate. For example,
34
+ # `-----BEGIN CERTIFICATE-----
35
+ # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==
36
+ # -----END CERTIFICATE-----`.
37
+ # @param [String] private_key [APN only] The URL encoded representation of the
38
+ # private key. For example,
39
+ # `-----BEGIN RSA PRIVATE KEY-----
40
+ # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...
41
+ # -----END RSA PRIVATE KEY-----`.
42
+ # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
43
+ # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
44
+ # @param [String] api_key [GCM only] The API key for the project that was obtained
45
+ # from the Google Developer console for your GCM Service application credential.
46
+ # @param [String] secret [FCM only] The **Server key** of your project from the
47
+ # Firebase console, found under Settings / Cloud messaging.
48
+ # @return [CredentialInstance] Created CredentialInstance
49
+ def create(type: nil, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
50
+ data = Twilio::Values.of({
51
+ 'Type' => type,
52
+ 'FriendlyName' => friendly_name,
53
+ 'Certificate' => certificate,
54
+ 'PrivateKey' => private_key,
55
+ 'Sandbox' => sandbox,
56
+ 'ApiKey' => api_key,
57
+ 'Secret' => secret,
58
+ })
59
+
60
+ payload = @version.create('POST', @uri, data: data)
61
+
62
+ CredentialInstance.new(@version, payload, )
63
+ end
64
+
65
+ ##
66
+ # Lists CredentialInstance records from the API as a list.
67
+ # Unlike stream(), this operation is eager and will load `limit` records into
68
+ # memory before returning.
69
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
70
+ # guarantees to never return more than limit. Default is no limit
71
+ # @param [Integer] page_size Number of records to fetch per request, when
72
+ # not set will use the default value of 50 records. If no page_size is defined
73
+ # but a limit is defined, stream() will attempt to read the limit with the most
74
+ # efficient page size, i.e. min(limit, 1000)
75
+ # @return [Array] Array of up to limit results
76
+ def list(limit: nil, page_size: nil)
77
+ self.stream(limit: limit, page_size: page_size).entries
78
+ end
79
+
80
+ ##
81
+ # Streams CredentialInstance records from the API as an Enumerable.
82
+ # This operation lazily loads records as efficiently as possible until the limit
83
+ # is reached.
84
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
85
+ # guarantees to never return more than limit. Default is no limit.
86
+ # @param [Integer] page_size Number of records to fetch per request, when
87
+ # not set will use the default value of 50 records. If no page_size is defined
88
+ # but a limit is defined, stream() will attempt to read the limit with the most
89
+ # efficient page size, i.e. min(limit, 1000)
90
+ # @return [Enumerable] Enumerable that will yield up to limit results
91
+ def stream(limit: nil, page_size: nil)
92
+ limits = @version.read_limits(limit, page_size)
93
+
94
+ page = self.page(page_size: limits[:page_size], )
95
+
96
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
97
+ end
98
+
99
+ ##
100
+ # When passed a block, yields CredentialInstance records from the API.
101
+ # This operation lazily loads records as efficiently as possible until the limit
102
+ # is reached.
103
+ def each
104
+ limits = @version.read_limits
105
+
106
+ page = self.page(page_size: limits[:page_size], )
107
+
108
+ @version.stream(page,
109
+ limit: limits[:limit],
110
+ page_limit: limits[:page_limit]).each {|x| yield x}
111
+ end
112
+
113
+ ##
114
+ # Retrieve a single page of CredentialInstance records from the API.
115
+ # Request is executed immediately.
116
+ # @param [String] page_token PageToken provided by the API
117
+ # @param [Integer] page_number Page Number, this value is simply for client state
118
+ # @param [Integer] page_size Number of records to return, defaults to 50
119
+ # @return [Page] Page of CredentialInstance
120
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
121
+ params = Twilio::Values.of({
122
+ 'PageToken' => page_token,
123
+ 'Page' => page_number,
124
+ 'PageSize' => page_size,
125
+ })
126
+
127
+ response = @version.page('GET', @uri, params: params)
128
+
129
+ CredentialPage.new(@version, response, @solution)
130
+ end
131
+
132
+ ##
133
+ # Retrieve a single page of CredentialInstance records from the API.
134
+ # Request is executed immediately.
135
+ # @param [String] target_url API-generated URL for the requested results page
136
+ # @return [Page] Page of CredentialInstance
137
+ def get_page(target_url)
138
+ response = @version.domain.request(
139
+ 'GET',
140
+ target_url
141
+ )
142
+ CredentialPage.new(@version, response, @solution)
143
+ end
144
+
145
+ ##
146
+ # Provide a user friendly representation
147
+ def to_s
148
+ '#<Twilio.Conversations.V1.CredentialList>'
149
+ end
150
+ end
151
+
152
+ class CredentialPage < Page
153
+ ##
154
+ # Initialize the CredentialPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [CredentialPage] CredentialPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+ # Path Solution
163
+ @solution = solution
164
+ end
165
+
166
+ ##
167
+ # Build an instance of CredentialInstance
168
+ # @param [Hash] payload Payload response from the API
169
+ # @return [CredentialInstance] CredentialInstance
170
+ def get_instance(payload)
171
+ CredentialInstance.new(@version, payload, )
172
+ end
173
+
174
+ ##
175
+ # Provide a user friendly representation
176
+ def to_s
177
+ '<Twilio.Conversations.V1.CredentialPage>'
178
+ end
179
+ end
180
+
181
+ class CredentialContext < InstanceContext
182
+ ##
183
+ # Initialize the CredentialContext
184
+ # @param [Version] version Version that contains the resource
185
+ # @param [String] sid A 34 character string that uniquely identifies this
186
+ # resource.
187
+ # @return [CredentialContext] CredentialContext
188
+ def initialize(version, sid)
189
+ super(version)
190
+
191
+ # Path Solution
192
+ @solution = {sid: sid, }
193
+ @uri = "/Credentials/#{@solution[:sid]}"
194
+ end
195
+
196
+ ##
197
+ # Update the CredentialInstance
198
+ # @param [credential.PushType] type The type of push-notification service the
199
+ # credential is for. Can be: `fcm`, `gcm`, or `apn`.
200
+ # @param [String] friendly_name A descriptive string that you create to describe
201
+ # the new resource. It can be up to 64 characters long.
202
+ # @param [String] certificate [APN only] The URL encoded representation of the
203
+ # certificate. For example,
204
+ # `-----BEGIN CERTIFICATE-----
205
+ # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==
206
+ # -----END CERTIFICATE-----`.
207
+ # @param [String] private_key [APN only] The URL encoded representation of the
208
+ # private key. For example,
209
+ # `-----BEGIN RSA PRIVATE KEY-----
210
+ # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...
211
+ # -----END RSA PRIVATE KEY-----`.
212
+ # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
213
+ # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
214
+ # @param [String] api_key [GCM only] The API key for the project that was obtained
215
+ # from the Google Developer console for your GCM Service application credential.
216
+ # @param [String] secret [FCM only] The **Server key** of your project from the
217
+ # Firebase console, found under Settings / Cloud messaging.
218
+ # @return [CredentialInstance] Updated CredentialInstance
219
+ def update(type: :unset, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
220
+ data = Twilio::Values.of({
221
+ 'Type' => type,
222
+ 'FriendlyName' => friendly_name,
223
+ 'Certificate' => certificate,
224
+ 'PrivateKey' => private_key,
225
+ 'Sandbox' => sandbox,
226
+ 'ApiKey' => api_key,
227
+ 'Secret' => secret,
228
+ })
229
+
230
+ payload = @version.update('POST', @uri, data: data)
231
+
232
+ CredentialInstance.new(@version, payload, sid: @solution[:sid], )
233
+ end
234
+
235
+ ##
236
+ # Delete the CredentialInstance
237
+ # @return [Boolean] true if delete succeeds, false otherwise
238
+ def delete
239
+ @version.delete('DELETE', @uri)
240
+ end
241
+
242
+ ##
243
+ # Fetch the CredentialInstance
244
+ # @return [CredentialInstance] Fetched CredentialInstance
245
+ def fetch
246
+ payload = @version.fetch('GET', @uri)
247
+
248
+ CredentialInstance.new(@version, payload, sid: @solution[:sid], )
249
+ end
250
+
251
+ ##
252
+ # Provide a user friendly representation
253
+ def to_s
254
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
255
+ "#<Twilio.Conversations.V1.CredentialContext #{context}>"
256
+ end
257
+
258
+ ##
259
+ # Provide a detailed, user friendly representation
260
+ def inspect
261
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
262
+ "#<Twilio.Conversations.V1.CredentialContext #{context}>"
263
+ end
264
+ end
265
+
266
+ class CredentialInstance < InstanceResource
267
+ ##
268
+ # Initialize the CredentialInstance
269
+ # @param [Version] version Version that contains the resource
270
+ # @param [Hash] payload payload that contains response from Twilio
271
+ # @param [String] sid A 34 character string that uniquely identifies this
272
+ # resource.
273
+ # @return [CredentialInstance] CredentialInstance
274
+ def initialize(version, payload, sid: nil)
275
+ super(version)
276
+
277
+ # Marshaled Properties
278
+ @properties = {
279
+ 'sid' => payload['sid'],
280
+ 'account_sid' => payload['account_sid'],
281
+ 'friendly_name' => payload['friendly_name'],
282
+ 'type' => payload['type'],
283
+ 'sandbox' => payload['sandbox'],
284
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
285
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
286
+ 'url' => payload['url'],
287
+ }
288
+
289
+ # Context
290
+ @instance_context = nil
291
+ @params = {'sid' => sid || @properties['sid'], }
292
+ end
293
+
294
+ ##
295
+ # Generate an instance context for the instance, the context is capable of
296
+ # performing various actions. All instance actions are proxied to the context
297
+ # @return [CredentialContext] CredentialContext for this CredentialInstance
298
+ def context
299
+ unless @instance_context
300
+ @instance_context = CredentialContext.new(@version, @params['sid'], )
301
+ end
302
+ @instance_context
303
+ end
304
+
305
+ ##
306
+ # @return [String] A 34 character string that uniquely identifies this resource.
307
+ def sid
308
+ @properties['sid']
309
+ end
310
+
311
+ ##
312
+ # @return [String] The unique ID of the Account responsible for this credential.
313
+ def account_sid
314
+ @properties['account_sid']
315
+ end
316
+
317
+ ##
318
+ # @return [String] The human-readable name of this credential.
319
+ def friendly_name
320
+ @properties['friendly_name']
321
+ end
322
+
323
+ ##
324
+ # @return [credential.PushType] The type of push-notification service the credential is for.
325
+ def type
326
+ @properties['type']
327
+ end
328
+
329
+ ##
330
+ # @return [String] [APN only] Whether to send the credential to sandbox APNs.
331
+ def sandbox
332
+ @properties['sandbox']
333
+ end
334
+
335
+ ##
336
+ # @return [Time] The date that this resource was created.
337
+ def date_created
338
+ @properties['date_created']
339
+ end
340
+
341
+ ##
342
+ # @return [Time] The date that this resource was last updated.
343
+ def date_updated
344
+ @properties['date_updated']
345
+ end
346
+
347
+ ##
348
+ # @return [String] An absolute URL for this credential.
349
+ def url
350
+ @properties['url']
351
+ end
352
+
353
+ ##
354
+ # Update the CredentialInstance
355
+ # @param [credential.PushType] type The type of push-notification service the
356
+ # credential is for. Can be: `fcm`, `gcm`, or `apn`.
357
+ # @param [String] friendly_name A descriptive string that you create to describe
358
+ # the new resource. It can be up to 64 characters long.
359
+ # @param [String] certificate [APN only] The URL encoded representation of the
360
+ # certificate. For example,
361
+ # `-----BEGIN CERTIFICATE-----
362
+ # MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==
363
+ # -----END CERTIFICATE-----`.
364
+ # @param [String] private_key [APN only] The URL encoded representation of the
365
+ # private key. For example,
366
+ # `-----BEGIN RSA PRIVATE KEY-----
367
+ # MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...
368
+ # -----END RSA PRIVATE KEY-----`.
369
+ # @param [Boolean] sandbox [APN only] Whether to send the credential to sandbox
370
+ # APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
371
+ # @param [String] api_key [GCM only] The API key for the project that was obtained
372
+ # from the Google Developer console for your GCM Service application credential.
373
+ # @param [String] secret [FCM only] The **Server key** of your project from the
374
+ # Firebase console, found under Settings / Cloud messaging.
375
+ # @return [CredentialInstance] Updated CredentialInstance
376
+ def update(type: :unset, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
377
+ context.update(
378
+ type: type,
379
+ friendly_name: friendly_name,
380
+ certificate: certificate,
381
+ private_key: private_key,
382
+ sandbox: sandbox,
383
+ api_key: api_key,
384
+ secret: secret,
385
+ )
386
+ end
387
+
388
+ ##
389
+ # Delete the CredentialInstance
390
+ # @return [Boolean] true if delete succeeds, false otherwise
391
+ def delete
392
+ context.delete
393
+ end
394
+
395
+ ##
396
+ # Fetch the CredentialInstance
397
+ # @return [CredentialInstance] Fetched CredentialInstance
398
+ def fetch
399
+ context.fetch
400
+ end
401
+
402
+ ##
403
+ # Provide a user friendly representation
404
+ def to_s
405
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
406
+ "<Twilio.Conversations.V1.CredentialInstance #{values}>"
407
+ end
408
+
409
+ ##
410
+ # Provide a detailed, user friendly representation
411
+ def inspect
412
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
413
+ "<Twilio.Conversations.V1.CredentialInstance #{values}>"
414
+ end
415
+ end
416
+ end
417
+ end
418
+ end
419
+ end
@@ -0,0 +1,312 @@
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 Conversations < Domain
12
+ class V1 < Version
13
+ class ParticipantConversationList < ListResource
14
+ ##
15
+ # Initialize the ParticipantConversationList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [ParticipantConversationList] ParticipantConversationList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/ParticipantConversations"
24
+ end
25
+
26
+ ##
27
+ # Lists ParticipantConversationInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [String] identity A unique string identifier for the conversation
31
+ # participant as {Conversation
32
+ # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
33
+ # parameter is non-null if (and only if) the participant is using the
34
+ # Conversations SDK to communicate. Limited to 256 characters.
35
+ # @param [String] address A unique string identifier for the conversation
36
+ # participant who's not a Conversation User. This parameter could be found in
37
+ # messaging_binding.address field of Participant resource. It should be
38
+ # url-encoded.
39
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
40
+ # guarantees to never return more than limit. Default is no limit
41
+ # @param [Integer] page_size Number of records to fetch per request, when
42
+ # not set will use the default value of 50 records. If no page_size is defined
43
+ # but a limit is defined, stream() will attempt to read the limit with the most
44
+ # efficient page size, i.e. min(limit, 1000)
45
+ # @return [Array] Array of up to limit results
46
+ def list(identity: :unset, address: :unset, limit: nil, page_size: nil)
47
+ self.stream(identity: identity, address: address, limit: limit, page_size: page_size).entries
48
+ end
49
+
50
+ ##
51
+ # Streams ParticipantConversationInstance records from the API as an Enumerable.
52
+ # This operation lazily loads records as efficiently as possible until the limit
53
+ # is reached.
54
+ # @param [String] identity A unique string identifier for the conversation
55
+ # participant as {Conversation
56
+ # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
57
+ # parameter is non-null if (and only if) the participant is using the
58
+ # Conversations SDK to communicate. Limited to 256 characters.
59
+ # @param [String] address A unique string identifier for the conversation
60
+ # participant who's not a Conversation User. This parameter could be found in
61
+ # messaging_binding.address field of Participant resource. It should be
62
+ # url-encoded.
63
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
64
+ # guarantees to never return more than limit. Default is no limit.
65
+ # @param [Integer] page_size Number of records to fetch per request, when
66
+ # not set will use the default value of 50 records. If no page_size is defined
67
+ # but a limit is defined, stream() will attempt to read the limit with the most
68
+ # efficient page size, i.e. min(limit, 1000)
69
+ # @return [Enumerable] Enumerable that will yield up to limit results
70
+ def stream(identity: :unset, address: :unset, limit: nil, page_size: nil)
71
+ limits = @version.read_limits(limit, page_size)
72
+
73
+ page = self.page(identity: identity, address: address, page_size: limits[:page_size], )
74
+
75
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
76
+ end
77
+
78
+ ##
79
+ # When passed a block, yields ParticipantConversationInstance records from the API.
80
+ # This operation lazily loads records as efficiently as possible until the limit
81
+ # is reached.
82
+ def each
83
+ limits = @version.read_limits
84
+
85
+ page = self.page(page_size: limits[:page_size], )
86
+
87
+ @version.stream(page,
88
+ limit: limits[:limit],
89
+ page_limit: limits[:page_limit]).each {|x| yield x}
90
+ end
91
+
92
+ ##
93
+ # Retrieve a single page of ParticipantConversationInstance records from the API.
94
+ # Request is executed immediately.
95
+ # @param [String] identity A unique string identifier for the conversation
96
+ # participant as {Conversation
97
+ # User}[https://www.twilio.com/docs/conversations/api/user-resource]. This
98
+ # parameter is non-null if (and only if) the participant is using the
99
+ # Conversations SDK to communicate. Limited to 256 characters.
100
+ # @param [String] address A unique string identifier for the conversation
101
+ # participant who's not a Conversation User. This parameter could be found in
102
+ # messaging_binding.address field of Participant resource. It should be
103
+ # url-encoded.
104
+ # @param [String] page_token PageToken provided by the API
105
+ # @param [Integer] page_number Page Number, this value is simply for client state
106
+ # @param [Integer] page_size Number of records to return, defaults to 50
107
+ # @return [Page] Page of ParticipantConversationInstance
108
+ def page(identity: :unset, address: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
109
+ params = Twilio::Values.of({
110
+ 'Identity' => identity,
111
+ 'Address' => address,
112
+ 'PageToken' => page_token,
113
+ 'Page' => page_number,
114
+ 'PageSize' => page_size,
115
+ })
116
+
117
+ response = @version.page('GET', @uri, params: params)
118
+
119
+ ParticipantConversationPage.new(@version, response, @solution)
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of ParticipantConversationInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [String] target_url API-generated URL for the requested results page
126
+ # @return [Page] Page of ParticipantConversationInstance
127
+ def get_page(target_url)
128
+ response = @version.domain.request(
129
+ 'GET',
130
+ target_url
131
+ )
132
+ ParticipantConversationPage.new(@version, response, @solution)
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ '#<Twilio.Conversations.V1.ParticipantConversationList>'
139
+ end
140
+ end
141
+
142
+ class ParticipantConversationPage < Page
143
+ ##
144
+ # Initialize the ParticipantConversationPage
145
+ # @param [Version] version Version that contains the resource
146
+ # @param [Response] response Response from the API
147
+ # @param [Hash] solution Path solution for the resource
148
+ # @return [ParticipantConversationPage] ParticipantConversationPage
149
+ def initialize(version, response, solution)
150
+ super(version, response)
151
+
152
+ # Path Solution
153
+ @solution = solution
154
+ end
155
+
156
+ ##
157
+ # Build an instance of ParticipantConversationInstance
158
+ # @param [Hash] payload Payload response from the API
159
+ # @return [ParticipantConversationInstance] ParticipantConversationInstance
160
+ def get_instance(payload)
161
+ ParticipantConversationInstance.new(@version, payload, )
162
+ end
163
+
164
+ ##
165
+ # Provide a user friendly representation
166
+ def to_s
167
+ '<Twilio.Conversations.V1.ParticipantConversationPage>'
168
+ end
169
+ end
170
+
171
+ class ParticipantConversationInstance < InstanceResource
172
+ ##
173
+ # Initialize the ParticipantConversationInstance
174
+ # @param [Version] version Version that contains the resource
175
+ # @param [Hash] payload payload that contains response from Twilio
176
+ # @return [ParticipantConversationInstance] ParticipantConversationInstance
177
+ def initialize(version, payload)
178
+ super(version)
179
+
180
+ # Marshaled Properties
181
+ @properties = {
182
+ 'account_sid' => payload['account_sid'],
183
+ 'chat_service_sid' => payload['chat_service_sid'],
184
+ 'participant_sid' => payload['participant_sid'],
185
+ 'participant_user_sid' => payload['participant_user_sid'],
186
+ 'participant_identity' => payload['participant_identity'],
187
+ 'participant_messaging_binding' => payload['participant_messaging_binding'],
188
+ 'conversation_sid' => payload['conversation_sid'],
189
+ 'conversation_unique_name' => payload['conversation_unique_name'],
190
+ 'conversation_friendly_name' => payload['conversation_friendly_name'],
191
+ 'conversation_attributes' => payload['conversation_attributes'],
192
+ 'conversation_date_created' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_created']),
193
+ 'conversation_date_updated' => Twilio.deserialize_iso8601_datetime(payload['conversation_date_updated']),
194
+ 'conversation_created_by' => payload['conversation_created_by'],
195
+ 'conversation_state' => payload['conversation_state'],
196
+ 'conversation_timers' => payload['conversation_timers'],
197
+ 'links' => payload['links'],
198
+ }
199
+ end
200
+
201
+ ##
202
+ # @return [String] The unique ID of the Account responsible for this conversation.
203
+ def account_sid
204
+ @properties['account_sid']
205
+ end
206
+
207
+ ##
208
+ # @return [String] The unique ID of the Conversation Service this conversation belongs to.
209
+ def chat_service_sid
210
+ @properties['chat_service_sid']
211
+ end
212
+
213
+ ##
214
+ # @return [String] The unique ID of the Participant.
215
+ def participant_sid
216
+ @properties['participant_sid']
217
+ end
218
+
219
+ ##
220
+ # @return [String] The unique ID for the conversation participant as Conversation User.
221
+ def participant_user_sid
222
+ @properties['participant_user_sid']
223
+ end
224
+
225
+ ##
226
+ # @return [String] A unique string identifier for the conversation participant as Conversation User.
227
+ def participant_identity
228
+ @properties['participant_identity']
229
+ end
230
+
231
+ ##
232
+ # @return [Hash] Information about how this participant exchanges messages with the conversation.
233
+ def participant_messaging_binding
234
+ @properties['participant_messaging_binding']
235
+ end
236
+
237
+ ##
238
+ # @return [String] The unique ID of the Conversation this Participant belongs to.
239
+ def conversation_sid
240
+ @properties['conversation_sid']
241
+ end
242
+
243
+ ##
244
+ # @return [String] An application-defined string that uniquely identifies the Conversation resource
245
+ def conversation_unique_name
246
+ @properties['conversation_unique_name']
247
+ end
248
+
249
+ ##
250
+ # @return [String] The human-readable name of this conversation.
251
+ def conversation_friendly_name
252
+ @properties['conversation_friendly_name']
253
+ end
254
+
255
+ ##
256
+ # @return [String] An optional string metadata field you can use to store any data you wish.
257
+ def conversation_attributes
258
+ @properties['conversation_attributes']
259
+ end
260
+
261
+ ##
262
+ # @return [Time] The date that this conversation was created.
263
+ def conversation_date_created
264
+ @properties['conversation_date_created']
265
+ end
266
+
267
+ ##
268
+ # @return [Time] The date that this conversation was last updated.
269
+ def conversation_date_updated
270
+ @properties['conversation_date_updated']
271
+ end
272
+
273
+ ##
274
+ # @return [String] Creator of this conversation.
275
+ def conversation_created_by
276
+ @properties['conversation_created_by']
277
+ end
278
+
279
+ ##
280
+ # @return [participant_conversation.State] The current state of this User Conversation
281
+ def conversation_state
282
+ @properties['conversation_state']
283
+ end
284
+
285
+ ##
286
+ # @return [Hash] Timer date values for this conversation.
287
+ def conversation_timers
288
+ @properties['conversation_timers']
289
+ end
290
+
291
+ ##
292
+ # @return [String] Absolute URLs to access the participant and conversation of this Participant Conversation.
293
+ def links
294
+ @properties['links']
295
+ end
296
+
297
+ ##
298
+ # Provide a user friendly representation
299
+ def to_s
300
+ "<Twilio.Conversations.V1.ParticipantConversationInstance>"
301
+ end
302
+
303
+ ##
304
+ # Provide a detailed, user friendly representation
305
+ def inspect
306
+ "<Twilio.Conversations.V1.ParticipantConversationInstance>"
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end