twilio-ruby 5.31.1 → 5.46.1

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