twilio-ruby 5.19.0 → 5.77.0

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