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,294 @@
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 Bulkexports < Domain
12
+ class V1 < Version
13
+ class ExportContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class DayList < ListResource
17
+ ##
18
+ # Initialize the DayList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] resource_type The type of communication – Messages, Calls,
21
+ # Conferences, and Participants
22
+ # @return [DayList] DayList
23
+ def initialize(version, resource_type: nil)
24
+ super(version)
25
+
26
+ # Path Solution
27
+ @solution = {resource_type: resource_type}
28
+ @uri = "/Exports/#{@solution[:resource_type]}/Days"
29
+ end
30
+
31
+ ##
32
+ # Lists DayInstance records from the API as a list.
33
+ # Unlike stream(), this operation is eager and will load `limit` records into
34
+ # memory before returning.
35
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
36
+ # guarantees to never return more than limit. Default is no limit
37
+ # @param [Integer] page_size Number of records to fetch per request, when
38
+ # not set will use the default value of 50 records. If no page_size is defined
39
+ # but a limit is defined, stream() will attempt to read the limit with the most
40
+ # efficient page size, i.e. min(limit, 1000)
41
+ # @return [Array] Array of up to limit results
42
+ def list(limit: nil, page_size: nil)
43
+ self.stream(limit: limit, page_size: page_size).entries
44
+ end
45
+
46
+ ##
47
+ # Streams DayInstance records from the API as an Enumerable.
48
+ # This operation lazily loads records as efficiently as possible until the limit
49
+ # is reached.
50
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
51
+ # guarantees to never return more than limit. Default is no limit.
52
+ # @param [Integer] page_size Number of records to fetch per request, when
53
+ # not set will use the default value of 50 records. If no page_size is defined
54
+ # but a limit is defined, stream() will attempt to read the limit with the most
55
+ # efficient page size, i.e. min(limit, 1000)
56
+ # @return [Enumerable] Enumerable that will yield up to limit results
57
+ def stream(limit: nil, page_size: nil)
58
+ limits = @version.read_limits(limit, page_size)
59
+
60
+ page = self.page(page_size: limits[:page_size], )
61
+
62
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
63
+ end
64
+
65
+ ##
66
+ # When passed a block, yields DayInstance records from the API.
67
+ # This operation lazily loads records as efficiently as possible until the limit
68
+ # is reached.
69
+ def each
70
+ limits = @version.read_limits
71
+
72
+ page = self.page(page_size: limits[:page_size], )
73
+
74
+ @version.stream(page,
75
+ limit: limits[:limit],
76
+ page_limit: limits[:page_limit]).each {|x| yield x}
77
+ end
78
+
79
+ ##
80
+ # Retrieve a single page of DayInstance records from the API.
81
+ # Request is executed immediately.
82
+ # @param [String] page_token PageToken provided by the API
83
+ # @param [Integer] page_number Page Number, this value is simply for client state
84
+ # @param [Integer] page_size Number of records to return, defaults to 50
85
+ # @return [Page] Page of DayInstance
86
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
87
+ params = Twilio::Values.of({
88
+ 'PageToken' => page_token,
89
+ 'Page' => page_number,
90
+ 'PageSize' => page_size,
91
+ })
92
+
93
+ response = @version.page('GET', @uri, params: params)
94
+
95
+ DayPage.new(@version, response, @solution)
96
+ end
97
+
98
+ ##
99
+ # Retrieve a single page of DayInstance records from the API.
100
+ # Request is executed immediately.
101
+ # @param [String] target_url API-generated URL for the requested results page
102
+ # @return [Page] Page of DayInstance
103
+ def get_page(target_url)
104
+ response = @version.domain.request(
105
+ 'GET',
106
+ target_url
107
+ )
108
+ DayPage.new(@version, response, @solution)
109
+ end
110
+
111
+ ##
112
+ # Provide a user friendly representation
113
+ def to_s
114
+ '#<Twilio.Bulkexports.V1.DayList>'
115
+ end
116
+ end
117
+
118
+ ##
119
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
120
+ class DayPage < Page
121
+ ##
122
+ # Initialize the DayPage
123
+ # @param [Version] version Version that contains the resource
124
+ # @param [Response] response Response from the API
125
+ # @param [Hash] solution Path solution for the resource
126
+ # @return [DayPage] DayPage
127
+ def initialize(version, response, solution)
128
+ super(version, response)
129
+
130
+ # Path Solution
131
+ @solution = solution
132
+ end
133
+
134
+ ##
135
+ # Build an instance of DayInstance
136
+ # @param [Hash] payload Payload response from the API
137
+ # @return [DayInstance] DayInstance
138
+ def get_instance(payload)
139
+ DayInstance.new(@version, payload, resource_type: @solution[:resource_type], )
140
+ end
141
+
142
+ ##
143
+ # Provide a user friendly representation
144
+ def to_s
145
+ '<Twilio.Bulkexports.V1.DayPage>'
146
+ end
147
+ end
148
+
149
+ ##
150
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
151
+ class DayContext < InstanceContext
152
+ ##
153
+ # Initialize the DayContext
154
+ # @param [Version] version Version that contains the resource
155
+ # @param [String] resource_type The type of communication – Messages, Calls,
156
+ # Conferences, and Participants
157
+ # @param [String] day The ISO 8601 format date of the resources in the file, for a
158
+ # UTC day
159
+ # @return [DayContext] DayContext
160
+ def initialize(version, resource_type, day)
161
+ super(version)
162
+
163
+ # Path Solution
164
+ @solution = {resource_type: resource_type, day: day, }
165
+ @uri = "/Exports/#{@solution[:resource_type]}/Days/#{@solution[:day]}"
166
+ end
167
+
168
+ ##
169
+ # Fetch the DayInstance
170
+ # @return [DayInstance] Fetched DayInstance
171
+ def fetch
172
+ payload = @version.fetch('GET', @uri)
173
+
174
+ DayInstance.new(@version, payload, resource_type: @solution[:resource_type], day: @solution[:day], )
175
+ end
176
+
177
+ ##
178
+ # Provide a user friendly representation
179
+ def to_s
180
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
181
+ "#<Twilio.Bulkexports.V1.DayContext #{context}>"
182
+ end
183
+
184
+ ##
185
+ # Provide a detailed, user friendly representation
186
+ def inspect
187
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
188
+ "#<Twilio.Bulkexports.V1.DayContext #{context}>"
189
+ end
190
+ end
191
+
192
+ ##
193
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
194
+ class DayInstance < InstanceResource
195
+ ##
196
+ # Initialize the DayInstance
197
+ # @param [Version] version Version that contains the resource
198
+ # @param [Hash] payload payload that contains response from Twilio
199
+ # @param [String] resource_type The type of communication – Messages, Calls,
200
+ # Conferences, and Participants
201
+ # @param [String] day The ISO 8601 format date of the resources in the file, for a
202
+ # UTC day
203
+ # @return [DayInstance] DayInstance
204
+ def initialize(version, payload, resource_type: nil, day: nil)
205
+ super(version)
206
+
207
+ # Marshaled Properties
208
+ @properties = {
209
+ 'redirect_to' => payload['redirect_to'],
210
+ 'day' => payload['day'],
211
+ 'size' => payload['size'].to_i,
212
+ 'create_date' => payload['create_date'],
213
+ 'friendly_name' => payload['friendly_name'],
214
+ 'resource_type' => payload['resource_type'],
215
+ }
216
+
217
+ # Context
218
+ @instance_context = nil
219
+ @params = {'resource_type' => resource_type, 'day' => day || @properties['day'], }
220
+ end
221
+
222
+ ##
223
+ # Generate an instance context for the instance, the context is capable of
224
+ # performing various actions. All instance actions are proxied to the context
225
+ # @return [DayContext] DayContext for this DayInstance
226
+ def context
227
+ unless @instance_context
228
+ @instance_context = DayContext.new(@version, @params['resource_type'], @params['day'], )
229
+ end
230
+ @instance_context
231
+ end
232
+
233
+ ##
234
+ # @return [String] The redirect_to
235
+ def redirect_to
236
+ @properties['redirect_to']
237
+ end
238
+
239
+ ##
240
+ # @return [String] The date of the data in the file
241
+ def day
242
+ @properties['day']
243
+ end
244
+
245
+ ##
246
+ # @return [String] Size of the file in bytes
247
+ def size
248
+ @properties['size']
249
+ end
250
+
251
+ ##
252
+ # @return [String] The date when resource is created
253
+ def create_date
254
+ @properties['create_date']
255
+ end
256
+
257
+ ##
258
+ # @return [String] The friendly name specified when creating the job
259
+ def friendly_name
260
+ @properties['friendly_name']
261
+ end
262
+
263
+ ##
264
+ # @return [String] The type of communication – Messages, Calls, Conferences, and Participants
265
+ def resource_type
266
+ @properties['resource_type']
267
+ end
268
+
269
+ ##
270
+ # Fetch the DayInstance
271
+ # @return [DayInstance] Fetched DayInstance
272
+ def fetch
273
+ context.fetch
274
+ end
275
+
276
+ ##
277
+ # Provide a user friendly representation
278
+ def to_s
279
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
280
+ "<Twilio.Bulkexports.V1.DayInstance #{values}>"
281
+ end
282
+
283
+ ##
284
+ # Provide a detailed, user friendly representation
285
+ def inspect
286
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
287
+ "<Twilio.Bulkexports.V1.DayInstance #{values}>"
288
+ end
289
+ end
290
+ end
291
+ end
292
+ end
293
+ end
294
+ end
@@ -0,0 +1,278 @@
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 Bulkexports < Domain
12
+ class V1 < Version
13
+ class ExportContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class ExportCustomJobList < ListResource
17
+ ##
18
+ # Initialize the ExportCustomJobList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] resource_type The type of communication – Messages, Calls,
21
+ # Conferences, and Participants
22
+ # @return [ExportCustomJobList] ExportCustomJobList
23
+ def initialize(version, resource_type: nil)
24
+ super(version)
25
+
26
+ # Path Solution
27
+ @solution = {resource_type: resource_type}
28
+ @uri = "/Exports/#{@solution[:resource_type]}/Jobs"
29
+ end
30
+
31
+ ##
32
+ # Lists ExportCustomJobInstance records from the API as a list.
33
+ # Unlike stream(), this operation is eager and will load `limit` records into
34
+ # memory before returning.
35
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
36
+ # guarantees to never return more than limit. Default is no limit
37
+ # @param [Integer] page_size Number of records to fetch per request, when
38
+ # not set will use the default value of 50 records. If no page_size is defined
39
+ # but a limit is defined, stream() will attempt to read the limit with the most
40
+ # efficient page size, i.e. min(limit, 1000)
41
+ # @return [Array] Array of up to limit results
42
+ def list(limit: nil, page_size: nil)
43
+ self.stream(limit: limit, page_size: page_size).entries
44
+ end
45
+
46
+ ##
47
+ # Streams ExportCustomJobInstance records from the API as an Enumerable.
48
+ # This operation lazily loads records as efficiently as possible until the limit
49
+ # is reached.
50
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
51
+ # guarantees to never return more than limit. Default is no limit.
52
+ # @param [Integer] page_size Number of records to fetch per request, when
53
+ # not set will use the default value of 50 records. If no page_size is defined
54
+ # but a limit is defined, stream() will attempt to read the limit with the most
55
+ # efficient page size, i.e. min(limit, 1000)
56
+ # @return [Enumerable] Enumerable that will yield up to limit results
57
+ def stream(limit: nil, page_size: nil)
58
+ limits = @version.read_limits(limit, page_size)
59
+
60
+ page = self.page(page_size: limits[:page_size], )
61
+
62
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
63
+ end
64
+
65
+ ##
66
+ # When passed a block, yields ExportCustomJobInstance records from the API.
67
+ # This operation lazily loads records as efficiently as possible until the limit
68
+ # is reached.
69
+ def each
70
+ limits = @version.read_limits
71
+
72
+ page = self.page(page_size: limits[:page_size], )
73
+
74
+ @version.stream(page,
75
+ limit: limits[:limit],
76
+ page_limit: limits[:page_limit]).each {|x| yield x}
77
+ end
78
+
79
+ ##
80
+ # Retrieve a single page of ExportCustomJobInstance records from the API.
81
+ # Request is executed immediately.
82
+ # @param [String] page_token PageToken provided by the API
83
+ # @param [Integer] page_number Page Number, this value is simply for client state
84
+ # @param [Integer] page_size Number of records to return, defaults to 50
85
+ # @return [Page] Page of ExportCustomJobInstance
86
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
87
+ params = Twilio::Values.of({
88
+ 'PageToken' => page_token,
89
+ 'Page' => page_number,
90
+ 'PageSize' => page_size,
91
+ })
92
+
93
+ response = @version.page('GET', @uri, params: params)
94
+
95
+ ExportCustomJobPage.new(@version, response, @solution)
96
+ end
97
+
98
+ ##
99
+ # Retrieve a single page of ExportCustomJobInstance records from the API.
100
+ # Request is executed immediately.
101
+ # @param [String] target_url API-generated URL for the requested results page
102
+ # @return [Page] Page of ExportCustomJobInstance
103
+ def get_page(target_url)
104
+ response = @version.domain.request(
105
+ 'GET',
106
+ target_url
107
+ )
108
+ ExportCustomJobPage.new(@version, response, @solution)
109
+ end
110
+
111
+ ##
112
+ # Create the ExportCustomJobInstance
113
+ # @param [String] start_day The start day for the custom export specified as a
114
+ # string in the format of yyyy-mm-dd
115
+ # @param [String] end_day The end day for the custom export specified as a string
116
+ # in the format of yyyy-mm-dd. End day is inclusive and must be 2 days earlier
117
+ # than the current UTC day.
118
+ # @param [String] friendly_name The friendly name specified when creating the job
119
+ # @param [String] webhook_url The optional webhook url called on completion of the
120
+ # job. If this is supplied, `WebhookMethod` must also be supplied. If you set
121
+ # neither webhook nor email, you will have to check your job's status manually.
122
+ # @param [String] webhook_method This is the method used to call the webhook on
123
+ # completion of the job. If this is supplied, `WebhookUrl` must also be supplied.
124
+ # @param [String] email The optional email to send the completion notification to.
125
+ # You can set both webhook, and email, or one or the other. If you set neither,
126
+ # the job will run but you will have to query to determine your job's status.
127
+ # @return [ExportCustomJobInstance] Created ExportCustomJobInstance
128
+ def create(start_day: nil, end_day: nil, friendly_name: nil, webhook_url: :unset, webhook_method: :unset, email: :unset)
129
+ data = Twilio::Values.of({
130
+ 'StartDay' => start_day,
131
+ 'EndDay' => end_day,
132
+ 'FriendlyName' => friendly_name,
133
+ 'WebhookUrl' => webhook_url,
134
+ 'WebhookMethod' => webhook_method,
135
+ 'Email' => email,
136
+ })
137
+
138
+ payload = @version.create('POST', @uri, data: data)
139
+
140
+ ExportCustomJobInstance.new(@version, payload, resource_type: @solution[:resource_type], )
141
+ end
142
+
143
+ ##
144
+ # Provide a user friendly representation
145
+ def to_s
146
+ '#<Twilio.Bulkexports.V1.ExportCustomJobList>'
147
+ end
148
+ end
149
+
150
+ ##
151
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
152
+ class ExportCustomJobPage < Page
153
+ ##
154
+ # Initialize the ExportCustomJobPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [ExportCustomJobPage] ExportCustomJobPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+ # Path Solution
163
+ @solution = solution
164
+ end
165
+
166
+ ##
167
+ # Build an instance of ExportCustomJobInstance
168
+ # @param [Hash] payload Payload response from the API
169
+ # @return [ExportCustomJobInstance] ExportCustomJobInstance
170
+ def get_instance(payload)
171
+ ExportCustomJobInstance.new(@version, payload, resource_type: @solution[:resource_type], )
172
+ end
173
+
174
+ ##
175
+ # Provide a user friendly representation
176
+ def to_s
177
+ '<Twilio.Bulkexports.V1.ExportCustomJobPage>'
178
+ end
179
+ end
180
+
181
+ ##
182
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
183
+ class ExportCustomJobInstance < InstanceResource
184
+ ##
185
+ # Initialize the ExportCustomJobInstance
186
+ # @param [Version] version Version that contains the resource
187
+ # @param [Hash] payload payload that contains response from Twilio
188
+ # @param [String] resource_type The type of communication – Messages, Calls,
189
+ # Conferences, and Participants
190
+ # @return [ExportCustomJobInstance] ExportCustomJobInstance
191
+ def initialize(version, payload, resource_type: nil)
192
+ super(version)
193
+
194
+ # Marshaled Properties
195
+ @properties = {
196
+ 'friendly_name' => payload['friendly_name'],
197
+ 'resource_type' => payload['resource_type'],
198
+ 'start_day' => payload['start_day'],
199
+ 'end_day' => payload['end_day'],
200
+ 'webhook_url' => payload['webhook_url'],
201
+ 'webhook_method' => payload['webhook_method'],
202
+ 'email' => payload['email'],
203
+ 'job_sid' => payload['job_sid'],
204
+ 'details' => payload['details'],
205
+ }
206
+ end
207
+
208
+ ##
209
+ # @return [String] The friendly name specified when creating the job
210
+ def friendly_name
211
+ @properties['friendly_name']
212
+ end
213
+
214
+ ##
215
+ # @return [String] The type of communication – Messages, Calls, Conferences, and Participants
216
+ def resource_type
217
+ @properties['resource_type']
218
+ end
219
+
220
+ ##
221
+ # @return [String] The start day for the custom export specified as a string in the format of yyyy-MM-dd
222
+ def start_day
223
+ @properties['start_day']
224
+ end
225
+
226
+ ##
227
+ # @return [String] The end day for the custom export specified as a string in the format of yyyy-MM-dd. This will be the last day exported. For instance, to export a single day, choose the same day for start and end day. To export the first 4 days of July, you would set the start date to 2020-07-01 and the end date to 2020-07-04. The end date must be the UTC day before yesterday.
228
+ def end_day
229
+ @properties['end_day']
230
+ end
231
+
232
+ ##
233
+ # @return [String] The optional webhook url called on completion
234
+ def webhook_url
235
+ @properties['webhook_url']
236
+ end
237
+
238
+ ##
239
+ # @return [String] This is the method used to call the webhook
240
+ def webhook_method
241
+ @properties['webhook_method']
242
+ end
243
+
244
+ ##
245
+ # @return [String] The optional email to send the completion notification to
246
+ def email
247
+ @properties['email']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The unique job_sid returned when the custom export was created. This can be used to look up the status of the job.
252
+ def job_sid
253
+ @properties['job_sid']
254
+ end
255
+
256
+ ##
257
+ # @return [Hash] The details of a job state which is an object that contains a status string, a day count integer, and list of days in the job
258
+ def details
259
+ @properties['details']
260
+ end
261
+
262
+ ##
263
+ # Provide a user friendly representation
264
+ def to_s
265
+ "<Twilio.Bulkexports.V1.ExportCustomJobInstance>"
266
+ end
267
+
268
+ ##
269
+ # Provide a detailed, user friendly representation
270
+ def inspect
271
+ "<Twilio.Bulkexports.V1.ExportCustomJobInstance>"
272
+ end
273
+ end
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end