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