twilio-ruby 5.5.1 → 5.58.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (811) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +5 -0
  4. data/.rubocop.yml +22 -3
  5. data/.rubocop_todo.yml +86 -75
  6. data/.travis.yml +51 -16
  7. data/CHANGES.md +2000 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/CONTRIBUTING.md +4 -2
  10. data/Dockerfile +9 -0
  11. data/Gemfile +1 -8
  12. data/ISSUE_TEMPLATE.md +17 -13
  13. data/{LICENSE.md → LICENSE} +2 -2
  14. data/Makefile +18 -14
  15. data/PULL_REQUEST_TEMPLATE.md +31 -0
  16. data/README.md +121 -53
  17. data/Rakefile +0 -54
  18. data/VERSIONS.md +9 -10
  19. data/examples/examples.rb +1 -1
  20. data/examples/print_call_log.rb +1 -1
  21. data/githooks/pre-commit +0 -0
  22. data/lib/rack/twilio_webhook_authentication.rb +2 -0
  23. data/lib/twilio-ruby/framework/request.rb +2 -0
  24. data/lib/twilio-ruby/framework/response.rb +2 -0
  25. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +3 -1
  26. data/lib/twilio-ruby/framework/rest/error.rb +51 -0
  27. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +2 -0
  28. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +2 -0
  29. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +3 -1
  30. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +2 -0
  31. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +10 -21
  32. data/lib/twilio-ruby/framework/serialize.rb +2 -0
  33. data/lib/twilio-ruby/framework/twilio_response.rb +2 -0
  34. data/lib/twilio-ruby/framework/values.rb +2 -0
  35. data/lib/twilio-ruby/http/http_client.rb +32 -15
  36. data/lib/twilio-ruby/http.rb +5 -0
  37. data/lib/twilio-ruby/jwt/access_token.rb +12 -3
  38. data/lib/twilio-ruby/jwt/client_capability.rb +3 -1
  39. data/lib/twilio-ruby/jwt/jwt.rb +8 -0
  40. data/lib/twilio-ruby/jwt/task_router.rb +4 -2
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +57 -56
  43. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +56 -62
  44. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +11 -8
  45. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  46. data/lib/twilio-ruby/rest/accounts/v1.rb +16 -0
  47. data/lib/twilio-ruby/rest/accounts.rb +14 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +43 -37
  49. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +124 -93
  50. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +181 -176
  51. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +40 -35
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +189 -85
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +189 -85
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +189 -85
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +129 -26
  60. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +80 -63
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +65 -55
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +76 -69
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +184 -63
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +461 -261
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +341 -117
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +154 -79
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +97 -70
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +51 -42
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +58 -57
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +176 -79
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +175 -79
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +175 -79
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +318 -259
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +46 -43
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +27 -20
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +54 -46
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +218 -156
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +15 -17
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +15 -17
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +58 -54
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +64 -61
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +59 -42
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +98 -91
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +58 -49
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +52 -44
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +58 -43
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +110 -70
  92. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +88 -78
  93. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +40 -33
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +63 -57
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +49 -51
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +59 -55
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +58 -55
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +220 -103
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +101 -63
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +45 -51
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +15 -11
  108. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +20 -21
  109. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +50 -43
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +82 -33
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +82 -33
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +82 -33
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +82 -33
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +82 -33
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +82 -33
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +82 -33
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +82 -33
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +85 -54
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +117 -104
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +8 -5
  121. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +43 -32
  122. data/lib/twilio-ruby/rest/api/v2010/account.rb +114 -92
  123. data/lib/twilio-ruby/rest/api/v2010.rb +11 -4
  124. data/lib/twilio-ruby/rest/api.rb +39 -26
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
  128. data/lib/twilio-ruby/rest/{preview/understand/service/intent.rb → autopilot/v1/assistant/field_type.rb} +145 -148
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
  141. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  148. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  149. data/lib/twilio-ruby/rest/chat/v1/credential.rb +101 -70
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +82 -54
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +100 -65
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +89 -69
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +96 -77
  154. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +74 -62
  155. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +25 -19
  156. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +85 -71
  157. data/lib/twilio-ruby/rest/chat/v1/service.rb +355 -342
  158. data/lib/twilio-ruby/rest/chat/v1.rb +16 -10
  159. data/lib/twilio-ruby/rest/chat/v2/credential.rb +99 -70
  160. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +83 -50
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +77 -54
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +175 -79
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +150 -85
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +178 -91
  166. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +76 -62
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +77 -46
  168. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +206 -22
  169. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +112 -77
  170. data/lib/twilio-ruby/rest/chat/v2/service.rb +251 -166
  171. data/lib/twilio-ruby/rest/chat/v2.rb +14 -10
  172. data/lib/twilio-ruby/rest/chat.rb +6 -2
  173. data/lib/twilio-ruby/rest/client.rb +216 -43
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  196. data/lib/twilio-ruby/rest/{preview/proxy → conversations/v1}/service.rb +165 -170
  197. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  199. data/lib/twilio-ruby/rest/conversations/v1.rb +126 -0
  200. data/lib/twilio-ruby/rest/conversations.rb +95 -0
  201. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  202. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  203. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  204. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  207. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  208. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  209. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  210. data/lib/twilio-ruby/rest/events.rb +72 -0
  211. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +43 -42
  212. data/lib/twilio-ruby/rest/fax/v1/fax.rb +128 -114
  213. data/lib/twilio-ruby/rest/fax/v1.rb +9 -5
  214. data/lib/twilio-ruby/rest/fax.rb +4 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1.rb +83 -0
  220. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  221. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  222. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  223. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  224. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  225. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  226. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
  227. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  228. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  229. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  230. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  231. data/lib/twilio-ruby/rest/insights/v1.rb +67 -0
  232. data/lib/twilio-ruby/rest/insights.rb +60 -0
  233. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +33 -41
  234. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +30 -34
  235. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +32 -40
  236. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +30 -38
  237. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +40 -48
  238. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -47
  239. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +7 -7
  240. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +34 -42
  241. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +45 -147
  242. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +16 -12
  243. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +33 -41
  244. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +40 -34
  245. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +30 -34
  246. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +64 -44
  247. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +52 -41
  248. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
  249. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +90 -53
  250. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -47
  251. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +28 -27
  252. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +167 -12
  253. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +59 -48
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +51 -55
  255. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +16 -12
  256. data/lib/twilio-ruby/rest/ip_messaging.rb +6 -4
  257. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +70 -35
  258. data/lib/twilio-ruby/rest/lookups/v1.rb +10 -5
  259. data/lib/twilio-ruby/rest/lookups.rb +5 -1
  260. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +388 -0
  261. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  262. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  263. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +58 -49
  264. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +58 -50
  265. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +54 -51
  266. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  267. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  268. data/lib/twilio-ruby/rest/messaging/v1/service.rb +261 -117
  269. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  270. data/lib/twilio-ruby/rest/messaging/v1.rb +45 -5
  271. data/lib/twilio-ruby/rest/messaging.rb +30 -1
  272. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +82 -66
  273. data/lib/twilio-ruby/rest/monitor/v1/event.rb +84 -56
  274. data/lib/twilio-ruby/rest/monitor/v1.rb +14 -10
  275. data/lib/twilio-ruby/rest/monitor.rb +6 -2
  276. data/lib/twilio-ruby/rest/notify/v1/credential.rb +98 -70
  277. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +113 -72
  278. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +129 -50
  279. data/lib/twilio-ruby/rest/notify/v1/service.rb +191 -163
  280. data/lib/twilio-ruby/rest/notify/v1.rb +16 -10
  281. data/lib/twilio-ruby/rest/notify.rb +6 -2
  282. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  283. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  284. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +517 -0
  285. data/lib/twilio-ruby/rest/{preview/proxy/service/phone_number.rb → numbers/v2/regulatory_compliance/end_user.rb} +143 -125
  286. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  287. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  288. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
  289. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  290. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  291. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  292. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  293. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +101 -16
  294. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
  295. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
  296. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +72 -22
  297. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +43 -34
  298. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +16 -10
  299. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +35 -43
  300. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +36 -44
  301. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +33 -41
  302. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +36 -44
  303. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +43 -51
  304. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +7 -4
  305. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
  306. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +122 -72
  307. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +154 -72
  308. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +12 -8
  309. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +33 -29
  310. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +33 -34
  311. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +39 -39
  312. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +65 -74
  313. data/lib/twilio-ruby/rest/preview/marketplace.rb +14 -12
  314. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +26 -29
  315. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +42 -47
  316. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +42 -43
  317. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +26 -29
  318. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +34 -38
  319. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +43 -44
  320. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +26 -29
  321. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +34 -38
  322. data/lib/twilio-ruby/rest/preview/sync/service.rb +39 -47
  323. data/lib/twilio-ruby/rest/preview/sync.rb +7 -4
  324. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  325. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  326. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  327. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  328. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  329. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  330. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  331. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  332. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  333. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type/field_value.rb +77 -66
  334. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type.rb +79 -71
  335. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/model_build.rb +88 -66
  336. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/query.rb +105 -90
  337. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  338. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/field.rb +75 -73
  339. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/sample.rb +114 -93
  340. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  341. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  342. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  343. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  344. data/lib/twilio-ruby/rest/preview/understand.rb +13 -9
  345. data/lib/twilio-ruby/rest/preview/wireless/command.rb +25 -29
  346. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +37 -45
  347. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +19 -14
  348. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +24 -27
  349. data/lib/twilio-ruby/rest/preview/wireless.rb +17 -12
  350. data/lib/twilio-ruby/rest/preview.rb +53 -34
  351. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +35 -30
  352. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +9 -5
  353. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +34 -29
  354. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +9 -5
  355. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +35 -30
  356. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +27 -24
  357. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +12 -8
  358. data/lib/twilio-ruby/rest/pricing/v1.rb +2 -0
  359. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  360. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  361. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  362. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  363. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  364. data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
  365. data/lib/twilio-ruby/rest/pricing.rb +30 -2
  366. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +116 -57
  367. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +64 -96
  368. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +67 -60
  369. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +83 -118
  370. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +138 -127
  371. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +87 -53
  372. data/lib/twilio-ruby/rest/proxy/v1/service.rb +183 -101
  373. data/lib/twilio-ruby/rest/proxy/v1.rb +9 -5
  374. data/lib/twilio-ruby/rest/proxy.rb +4 -1
  375. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  376. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  378. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  379. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  380. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  381. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  382. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  383. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  384. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  385. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  386. data/lib/twilio-ruby/rest/{preview/understand → serverless/v1}/service.rb +172 -179
  387. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  388. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  389. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  390. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  391. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement/step.rb +69 -51
  392. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement.rb +94 -77
  393. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  394. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  395. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  396. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  397. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow.rb +73 -61
  398. data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
  399. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  400. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  401. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  402. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  403. data/lib/twilio-ruby/rest/{preview/proxy/service/short_code.rb → studio/v2/flow/flow_revision.rb} +116 -129
  404. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  405. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  406. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  407. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  408. data/lib/twilio-ruby/rest/studio.rb +60 -0
  409. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  410. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +494 -0
  411. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  412. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  413. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  414. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → supersim/v1/sim/billing_period.rb} +66 -58
  415. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +443 -0
  416. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  417. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  418. data/lib/twilio-ruby/rest/supersim/v1.rb +131 -0
  419. data/lib/twilio-ruby/rest/supersim.rb +97 -0
  420. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +66 -72
  421. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +83 -78
  422. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +159 -87
  423. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +65 -72
  424. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +89 -78
  425. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +169 -89
  426. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +63 -72
  427. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +88 -78
  428. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +21 -24
  429. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +79 -74
  430. data/lib/twilio-ruby/rest/sync/v1/service.rb +159 -85
  431. data/lib/twilio-ruby/rest/sync/v1.rb +8 -5
  432. data/lib/twilio-ruby/rest/sync.rb +4 -1
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +105 -66
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +139 -70
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +317 -156
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +227 -113
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +121 -31
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +82 -46
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +66 -30
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +60 -31
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +64 -32
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +137 -92
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +313 -156
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +62 -56
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +59 -29
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +61 -36
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +36 -24
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +59 -34
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +158 -100
  450. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +84 -47
  451. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +49 -27
  452. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +68 -31
  453. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +130 -84
  454. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +85 -46
  455. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +44 -28
  456. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +61 -30
  457. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +163 -98
  458. data/lib/twilio-ruby/rest/taskrouter/v1.rb +8 -5
  459. data/lib/twilio-ruby/rest/taskrouter.rb +4 -1
  460. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +57 -48
  461. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +49 -48
  462. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +97 -71
  463. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +75 -68
  464. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  465. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +185 -89
  466. data/lib/twilio-ruby/rest/trunking/v1.rb +9 -5
  467. data/lib/twilio-ruby/rest/trunking.rb +4 -1
  468. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  469. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  470. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  471. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  472. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  473. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  474. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  475. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  476. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  477. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  478. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  479. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  480. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  481. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  482. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  483. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  484. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  486. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +533 -0
  487. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +455 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  489. data/lib/twilio-ruby/rest/{notify/v1/service/user.rb → verify/v2/service/entity.rb} +153 -143
  490. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  491. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  492. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  493. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
  494. data/lib/twilio-ruby/rest/{preview/acc_security → verify/v2}/service/verification_check.rb +62 -37
  495. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  496. data/lib/twilio-ruby/rest/verify/v2/service.rb +761 -0
  497. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  498. data/lib/twilio-ruby/rest/verify/v2/verification_template.rb +206 -0
  499. data/lib/twilio-ruby/rest/verify/v2.rb +85 -0
  500. data/lib/twilio-ruby/rest/verify.rb +71 -0
  501. data/lib/twilio-ruby/rest/video/v1/composition.rb +496 -0
  502. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
  503. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  504. data/lib/twilio-ruby/rest/video/v1/recording.rb +101 -59
  505. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  506. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +97 -56
  507. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +43 -34
  508. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  509. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  510. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +136 -60
  511. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  512. data/lib/twilio-ruby/rest/video/v1/room.rb +139 -86
  513. data/lib/twilio-ruby/rest/video/v1.rb +60 -10
  514. data/lib/twilio-ruby/rest/video.rb +36 -2
  515. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  516. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  517. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  518. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  519. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  520. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  521. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  522. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
  523. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  524. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  525. data/lib/twilio-ruby/rest/voice/v1.rb +103 -0
  526. data/lib/twilio-ruby/rest/voice.rb +80 -0
  527. data/lib/twilio-ruby/rest/wireless/v1/command.rb +133 -69
  528. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +98 -85
  529. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +40 -43
  530. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +46 -30
  531. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +210 -110
  532. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  533. data/lib/twilio-ruby/rest/wireless/v1.rb +27 -15
  534. data/lib/twilio-ruby/rest/wireless.rb +14 -3
  535. data/lib/twilio-ruby/rest.rb +13 -0
  536. data/lib/twilio-ruby/security/request_validator.rb +104 -8
  537. data/lib/twilio-ruby/twiml/fax_response.rb +7 -2
  538. data/lib/twilio-ruby/twiml/messaging_response.rb +5 -2
  539. data/lib/twilio-ruby/twiml/twiml.rb +63 -12
  540. data/lib/twilio-ruby/twiml/voice_response.rb +720 -49
  541. data/lib/twilio-ruby/util/configuration.rb +24 -5
  542. data/lib/twilio-ruby/util.rb +2 -0
  543. data/lib/twilio-ruby/version.rb +1 -1
  544. data/lib/twilio-ruby.rb +10 -24
  545. data/sonar-project.properties +13 -0
  546. data/twilio-ruby.gemspec +15 -10
  547. metadata +368 -556
  548. data/lib/twilio-ruby/framework/error.rb +0 -33
  549. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -260
  550. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -431
  551. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -183
  552. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -386
  553. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -41
  554. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -435
  555. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -453
  556. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -512
  557. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -495
  558. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  559. data/lib/twilio-ruby/rest/preview/studio.rb +0 -41
  560. data/spec/framework/request_spec.rb +0 -36
  561. data/spec/framework/serialize_spec.rb +0 -80
  562. data/spec/holodeck/holodeck.rb +0 -61
  563. data/spec/holodeck/hologram.rb +0 -4
  564. data/spec/http/http_client_spec.rb +0 -122
  565. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -224
  566. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -224
  567. data/spec/integration/accounts/v1/credential_spec.rb +0 -10
  568. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -105
  569. data/spec/integration/api/v2010/account/address_spec.rb +0 -267
  570. data/spec/integration/api/v2010/account/application_spec.rb +0 -284
  571. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  572. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -101
  573. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -100
  574. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -100
  575. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  576. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -137
  577. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  578. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -179
  579. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -186
  580. data/spec/integration/api/v2010/account/call_spec.rb +0 -312
  581. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -280
  582. data/spec/integration/api/v2010/account/conference_spec.rb +0 -174
  583. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -177
  584. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  585. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -221
  586. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -183
  587. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -183
  588. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -183
  589. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -339
  590. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  591. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  592. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -162
  593. data/spec/integration/api/v2010/account/message_spec.rb +0 -293
  594. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  595. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  596. data/spec/integration/api/v2010/account/notification_spec.rb +0 -172
  597. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -193
  598. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -167
  599. data/spec/integration/api/v2010/account/queue_spec.rb +0 -240
  600. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  601. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  602. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -174
  603. data/spec/integration/api/v2010/account/recording_spec.rb +0 -179
  604. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -180
  605. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  606. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -254
  607. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -242
  608. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -208
  609. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -218
  610. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -285
  611. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  612. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -252
  613. data/spec/integration/api/v2010/account/sip_spec.rb +0 -10
  614. data/spec/integration/api/v2010/account/token_spec.rb +0 -56
  615. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -167
  616. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -111
  617. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -111
  618. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -111
  619. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -111
  620. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -111
  621. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -111
  622. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -111
  623. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -111
  624. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -108
  625. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -283
  626. data/spec/integration/api/v2010/account/usage_spec.rb +0 -10
  627. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -46
  628. data/spec/integration/api/v2010/account_spec.rb +0 -254
  629. data/spec/integration/chat/v1/credential_spec.rb +0 -221
  630. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -208
  631. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -282
  632. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -292
  633. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  634. data/spec/integration/chat/v1/service/role_spec.rb +0 -261
  635. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  636. data/spec/integration/chat/v1/service/user_spec.rb +0 -264
  637. data/spec/integration/chat/v1/service_spec.rb +0 -297
  638. data/spec/integration/chat/v2/credential_spec.rb +0 -221
  639. data/spec/integration/chat/v2/service/binding_spec.rb +0 -175
  640. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -208
  641. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -255
  642. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -403
  643. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  644. data/spec/integration/chat/v2/service/role_spec.rb +0 -261
  645. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -178
  646. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  647. data/spec/integration/chat/v2/service/user_spec.rb +0 -268
  648. data/spec/integration/chat/v2/service_spec.rb +0 -351
  649. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  650. data/spec/integration/fax/v1/fax_spec.rb +0 -269
  651. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -221
  652. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -208
  653. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -282
  654. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -292
  655. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -275
  656. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -261
  657. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  658. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -264
  659. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -297
  660. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -221
  661. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -175
  662. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -208
  663. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -255
  664. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -403
  665. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  666. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -261
  667. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -178
  668. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  669. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -268
  670. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -351
  671. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -60
  672. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -168
  673. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -199
  674. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -171
  675. data/spec/integration/messaging/v1/service_spec.rb +0 -261
  676. data/spec/integration/monitor/v1/alert_spec.rb +0 -161
  677. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  678. data/spec/integration/notify/v1/credential_spec.rb +0 -221
  679. data/spec/integration/notify/v1/service/binding_spec.rb +0 -223
  680. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  681. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  682. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -116
  683. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -266
  684. data/spec/integration/notify/v1/service/user_spec.rb +0 -211
  685. data/spec/integration/notify/v1/service_spec.rb +0 -280
  686. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -50
  687. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -50
  688. data/spec/integration/preview/acc_security/service_spec.rb +0 -183
  689. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  690. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  691. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  692. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -236
  693. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -231
  694. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -247
  695. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -235
  696. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -244
  697. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -211
  698. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -307
  699. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  700. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  701. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  702. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  703. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -171
  704. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  705. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  706. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -224
  707. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  708. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -171
  709. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  710. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -96
  711. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -171
  712. data/spec/integration/preview/studio/flow_spec.rb +0 -115
  713. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -202
  714. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  715. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -252
  716. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -202
  717. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  718. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -252
  719. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -202
  720. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  721. data/spec/integration/preview/sync/service_spec.rb +0 -244
  722. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +0 -205
  723. data/spec/integration/preview/understand/service/field_type_spec.rb +0 -244
  724. data/spec/integration/preview/understand/service/intent/field_spec.rb +0 -205
  725. data/spec/integration/preview/understand/service/intent/sample_spec.rb +0 -247
  726. data/spec/integration/preview/understand/service/intent_spec.rb +0 -252
  727. data/spec/integration/preview/understand/service/model_build_spec.rb +0 -231
  728. data/spec/integration/preview/understand/service/query_spec.rb +0 -300
  729. data/spec/integration/preview/understand/service_spec.rb +0 -256
  730. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  731. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  732. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  733. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  734. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  735. data/spec/integration/pricing/v1/messaging_spec.rb +0 -10
  736. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  737. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -10
  738. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -266
  739. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -54
  740. data/spec/integration/pricing/v1/voice_spec.rb +0 -10
  741. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -182
  742. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -134
  743. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -164
  744. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -227
  745. data/spec/integration/proxy/v1/service/session_spec.rb +0 -228
  746. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -180
  747. data/spec/integration/proxy/v1/service_spec.rb +0 -213
  748. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -202
  749. data/spec/integration/sync/v1/service/document_spec.rb +0 -255
  750. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -255
  751. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -202
  752. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -255
  753. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -255
  754. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -202
  755. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -255
  756. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -45
  757. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -247
  758. data/spec/integration/sync/v1/service_spec.rb +0 -252
  759. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -234
  760. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -157
  761. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -192
  762. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  763. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -94
  764. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -79
  765. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -106
  766. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -144
  767. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -296
  768. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -324
  769. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  770. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  771. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -90
  772. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -87
  773. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -68
  774. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -114
  775. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -292
  776. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -95
  777. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -55
  778. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -69
  779. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -270
  780. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -92
  781. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -70
  782. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -103
  783. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -293
  784. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -190
  785. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -190
  786. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -250
  787. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -265
  788. data/spec/integration/trunking/v1/trunk_spec.rb +0 -276
  789. data/spec/integration/video/v1/recording_spec.rb +0 -169
  790. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  791. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  792. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -182
  793. data/spec/integration/video/v1/room_spec.rb +0 -255
  794. data/spec/integration/wireless/v1/command_spec.rb +0 -164
  795. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  796. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -85
  797. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  798. data/spec/integration/wireless/v1/sim_spec.rb +0 -214
  799. data/spec/jwt/access_token_spec.rb +0 -149
  800. data/spec/jwt/client_capability_spec.rb +0 -104
  801. data/spec/jwt/task_router_spec.rb +0 -172
  802. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  803. data/spec/rest/client_spec.rb +0 -49
  804. data/spec/security/request_validator_spec.rb +0 -113
  805. data/spec/spec_helper.rb +0 -32
  806. data/spec/support/fakeweb.rb +0 -2
  807. data/spec/twilio_spec.rb +0 -15
  808. data/spec/twiml/messaging_response_spec.rb +0 -95
  809. data/spec/twiml/voice_response_spec.rb +0 -479
  810. data/spec/util/configuration_spec.rb +0 -15
  811. data/spec/util/url_encode_spec.rb +0 -12
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -14,10 +16,10 @@ module Twilio
14
16
  ##
15
17
  # Initialize the ParticipantList
16
18
  # @param [Version] version Version that contains the resource
17
- # @param [String] account_sid The unique id of the Account that created this
18
- # conference
19
- # @param [String] conference_sid A 34 character string that identifies the
20
- # conference this participant is in
19
+ # @param [String] account_sid The SID of the
20
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
21
+ # Participant resource.
22
+ # @param [String] conference_sid The SID of the conference the participant is in.
21
23
  # @return [ParticipantList] ParticipantList
22
24
  def initialize(version, account_sid: nil, conference_sid: nil)
23
25
  super(version)
@@ -28,49 +30,154 @@ module Twilio
28
30
  end
29
31
 
30
32
  ##
31
- # Retrieve a single page of ParticipantInstance records from the API.
32
- # Request is executed immediately.
33
- # @param [String] from The from
34
- # @param [String] to The to
35
- # @param [String] status_callback The status_callback
36
- # @param [String] status_callback_method The status_callback_method
37
- # @param [String] status_callback_event The status_callback_event
38
- # @param [String] timeout The timeout
39
- # @param [Boolean] record The record
40
- # @param [Boolean] muted The muted
41
- # @param [String] beep The beep
42
- # @param [Boolean] start_conference_on_enter The start_conference_on_enter
43
- # @param [Boolean] end_conference_on_exit The end_conference_on_exit
44
- # @param [String] wait_url The wait_url
45
- # @param [String] wait_method The wait_method
46
- # @param [Boolean] early_media The early_media
47
- # @param [String] max_participants The max_participants
48
- # @param [String] conference_record The conference_record
49
- # @param [String] conference_trim The conference_trim
50
- # @param [String] conference_status_callback The conference_status_callback
51
- # @param [String] conference_status_callback_method The
52
- # conference_status_callback_method
53
- # @param [String] conference_status_callback_event The
54
- # conference_status_callback_event
55
- # @param [String] recording_channels The recording_channels
56
- # @param [String] recording_status_callback The recording_status_callback
57
- # @param [String] recording_status_callback_method The
58
- # recording_status_callback_method
59
- # @param [String] sip_auth_username The sip_auth_username
60
- # @param [String] sip_auth_password The sip_auth_password
61
- # @param [String] region The region
62
- # @param [String] conference_recording_status_callback The
63
- # conference_recording_status_callback
64
- # @param [String] conference_recording_status_callback_method The
65
- # conference_recording_status_callback_method
66
- # @return [ParticipantInstance] Newly created ParticipantInstance
67
- def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset)
33
+ # Create the ParticipantInstance
34
+ # @param [String] from The phone number, Client identifier, or username portion of
35
+ # SIP address that made this call. Phone numbers are in
36
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
37
+ # +16175551212). Client identifiers are formatted `client:name`. If using a phone
38
+ # number, it must be a Twilio number or a Verified {outgoing caller
39
+ # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
40
+ # If the `to` parameter is a phone number, `from` must also be a phone number. If
41
+ # `to` is sip address, this value of `from` should be a username portion to be
42
+ # used to populate the P-Asserted-Identity header that is passed to the SIP
43
+ # endpoint.
44
+ # @param [String] to The phone number, SIP address, or Client identifier that
45
+ # received this call. Phone numbers are in
46
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
47
+ # +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client
48
+ # identifiers are formatted `client:name`. {Custom
49
+ # parameters}[https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters]
50
+ # may also be specified.
51
+ # @param [String] status_callback The URL we should call using the
52
+ # `status_callback_method` to send status information to your application.
53
+ # @param [String] status_callback_method The HTTP method we should use to call
54
+ # `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
55
+ # @param [Array[String]] status_callback_event The conference state changes that
56
+ # should generate a call to `status_callback`. Can be: `initiated`, `ringing`,
57
+ # `answered`, and `completed`. Separate multiple values with a space. The default
58
+ # value is `completed`.
59
+ # @param [String] label A label for this participant. If one is supplied, it may
60
+ # subsequently be used to fetch, update or delete the participant.
61
+ # @param [String] timeout The number of seconds that we should allow the phone to
62
+ # ring before assuming there is no answer. Can be an integer between `5` and
63
+ # `600`, inclusive. The default value is `60`. We always add a 5-second timeout
64
+ # buffer to outgoing calls, so value of 10 would result in an actual timeout that
65
+ # was closer to 15 seconds.
66
+ # @param [Boolean] record Whether to record the participant and their conferences,
67
+ # including the time between conferences. Can be `true` or `false` and the default
68
+ # is `false`.
69
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be
70
+ # `true` or `false` and the default is `false`.
71
+ # @param [String] beep Whether to play a notification beep to the conference when
72
+ # the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The
73
+ # default value is `true`.
74
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when
75
+ # the participant joins, if it has not already started. Can be: `true` or `false`
76
+ # and the default is `true`. If `false` and the conference has not started, the
77
+ # participant is muted and hears background music until another participant starts
78
+ # the conference.
79
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
80
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
81
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
82
+ # music to play while participants are waiting for the conference to start. The
83
+ # default value is the URL of our standard hold music. {Learn more about hold
84
+ # music}[https://www.twilio.com/labs/twimlets/holdmusic].
85
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
86
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
87
+ # file, this should be `GET` so that we can cache the file.
88
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the
89
+ # outbound call, including ringing or disconnect messages. Can be: `true` or
90
+ # `false` and defaults to `true`.
91
+ # @param [String] max_participants The maximum number of participants in the
92
+ # conference. Can be a positive integer from `2` to `250`. The default value is
93
+ # `250`.
94
+ # @param [String] conference_record Whether to record the conference the
95
+ # participant is joining. Can be: `true`, `false`, `record-from-start`, and
96
+ # `do-not-record`. The default value is `false`.
97
+ # @param [String] conference_trim Whether to trim leading and trailing silence
98
+ # from your recorded conference audio files. Can be: `trim-silence` or
99
+ # `do-not-trim` and defaults to `trim-silence`.
100
+ # @param [String] conference_status_callback The URL we should call using the
101
+ # `conference_status_callback_method` when the conference events in
102
+ # `conference_status_callback_event` occur. Only the value set by the first
103
+ # participant to join the conference is used. Subsequent
104
+ # `conference_status_callback` values are ignored.
105
+ # @param [String] conference_status_callback_method The HTTP method we should use
106
+ # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
107
+ # `POST`.
108
+ # @param [Array[String]] conference_status_callback_event The conference state
109
+ # changes that should generate a call to `conference_status_callback`. Can be:
110
+ # `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and
111
+ # `announcement`. Separate multiple values with a space. Defaults to `start end`.
112
+ # @param [String] recording_channels The recording channels for the final
113
+ # recording. Can be: `mono` or `dual` and the default is `mono`.
114
+ # @param [String] recording_status_callback The URL that we should call using the
115
+ # `recording_status_callback_method` when the recording status changes.
116
+ # @param [String] recording_status_callback_method The HTTP method we should use
117
+ # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
118
+ # to `POST`.
119
+ # @param [String] sip_auth_username The SIP username used for authentication.
120
+ # @param [String] sip_auth_password The SIP password for authentication.
121
+ # @param [String] region The
122
+ # {region}[https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls]
123
+ # where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`,
124
+ # `br1`, `au1`, or `jp1`.
125
+ # @param [String] conference_recording_status_callback The URL we should call
126
+ # using the `conference_recording_status_callback_method` when the conference
127
+ # recording is available.
128
+ # @param [String] conference_recording_status_callback_method The HTTP method we
129
+ # should use to call `conference_recording_status_callback`. Can be: `GET` or
130
+ # `POST` and defaults to `POST`.
131
+ # @param [Array[String]] recording_status_callback_event The recording state
132
+ # changes that should generate a call to `recording_status_callback`. Can be:
133
+ # `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`,
134
+ # and `absent`. Separate multiple values with a space, ex: `'in-progress completed
135
+ # failed'`.
136
+ # @param [Array[String]] conference_recording_status_callback_event The conference
137
+ # recording state changes that generate a call to
138
+ # `conference_recording_status_callback`. Can be: `in-progress`, `completed`,
139
+ # `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress
140
+ # completed failed'`
141
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
142
+ # be: `true` or `false`. If not present, defaults to `false` unless
143
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
144
+ # @param [String] call_sid_to_coach The SID of the participant who is being
145
+ # `coached`. The participant being coached is the only participant who can hear
146
+ # the participant who is `coaching`.
147
+ # @param [String] jitter_buffer_size Jitter buffer size for the connecting
148
+ # participant. Twilio will use this setting to apply Jitter Buffer before
149
+ # participant's audio is mixed into the conference. Can be: `off`, `small`,
150
+ # `medium`, and `large`. Default to `large`.
151
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
152
+ # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
153
+ # it will otherwise be ignored. (Beta)
154
+ # @param [String] caller_id The phone number, Client identifier, or username
155
+ # portion of SIP address that made this call. Phone numbers are in
156
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
157
+ # +16175551212). Client identifiers are formatted `client:name`. If using a phone
158
+ # number, it must be a Twilio number or a Verified {outgoing caller
159
+ # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
160
+ # If the `to` parameter is a phone number, `callerId` must also be a phone number.
161
+ # If `to` is sip address, this value of `callerId` should be a username portion to
162
+ # be used to populate the From header that is passed to the SIP endpoint.
163
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify
164
+ # the purpose of the call that is presented on the called party's phone. (Branded
165
+ # Calls Beta)
166
+ # @param [String] recording_track The audio track to record for the call. Can be:
167
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
168
+ # audio that is received by Twilio. `outbound` records the audio that is sent from
169
+ # Twilio. `both` records the audio that is received and sent by Twilio.
170
+ # @param [String] time_limit The maximum duration of the call in seconds.
171
+ # Constraints depend on account and configuration.
172
+ # @return [ParticipantInstance] Created ParticipantInstance
173
+ def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, time_limit: :unset)
68
174
  data = Twilio::Values.of({
69
175
  'From' => from,
70
176
  'To' => to,
71
177
  'StatusCallback' => status_callback,
72
178
  'StatusCallbackMethod' => status_callback_method,
73
179
  'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
180
+ 'Label' => label,
74
181
  'Timeout' => timeout,
75
182
  'Record' => record,
76
183
  'Muted' => muted,
@@ -94,13 +201,19 @@ module Twilio
94
201
  'Region' => region,
95
202
  'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
96
203
  'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
204
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
205
+ 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
206
+ 'Coaching' => coaching,
207
+ 'CallSidToCoach' => call_sid_to_coach,
208
+ 'JitterBufferSize' => jitter_buffer_size,
209
+ 'Byoc' => byoc,
210
+ 'CallerId' => caller_id,
211
+ 'CallReason' => call_reason,
212
+ 'RecordingTrack' => recording_track,
213
+ 'TimeLimit' => time_limit,
97
214
  })
98
215
 
99
- payload = @version.create(
100
- 'POST',
101
- @uri,
102
- data: data
103
- )
216
+ payload = @version.create('POST', @uri, data: data)
104
217
 
105
218
  ParticipantInstance.new(
106
219
  @version,
@@ -114,8 +227,12 @@ module Twilio
114
227
  # Lists ParticipantInstance records from the API as a list.
115
228
  # Unlike stream(), this operation is eager and will load `limit` records into
116
229
  # memory before returning.
117
- # @param [Boolean] muted Only show participants that are muted or unmuted
118
- # @param [Boolean] hold The hold
230
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
231
+ # be: `true` or `false`.
232
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
233
+ # be: `true` or `false`.
234
+ # @param [Boolean] coaching Whether to return only participants who are coaching
235
+ # another call. Can be: `true` or `false`.
119
236
  # @param [Integer] limit Upper limit for the number of records to return. stream()
120
237
  # guarantees to never return more than limit. Default is no limit
121
238
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -123,16 +240,26 @@ module Twilio
123
240
  # but a limit is defined, stream() will attempt to read the limit with the most
124
241
  # efficient page size, i.e. min(limit, 1000)
125
242
  # @return [Array] Array of up to limit results
126
- def list(muted: :unset, hold: :unset, limit: nil, page_size: nil)
127
- self.stream(muted: muted, hold: hold, limit: limit, page_size: page_size).entries
243
+ def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
244
+ self.stream(
245
+ muted: muted,
246
+ hold: hold,
247
+ coaching: coaching,
248
+ limit: limit,
249
+ page_size: page_size
250
+ ).entries
128
251
  end
129
252
 
130
253
  ##
131
254
  # Streams ParticipantInstance records from the API as an Enumerable.
132
255
  # This operation lazily loads records as efficiently as possible until the limit
133
256
  # is reached.
134
- # @param [Boolean] muted Only show participants that are muted or unmuted
135
- # @param [Boolean] hold The hold
257
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
258
+ # be: `true` or `false`.
259
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
260
+ # be: `true` or `false`.
261
+ # @param [Boolean] coaching Whether to return only participants who are coaching
262
+ # another call. Can be: `true` or `false`.
136
263
  # @param [Integer] limit Upper limit for the number of records to return. stream()
137
264
  # guarantees to never return more than limit. Default is no limit.
138
265
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -140,10 +267,10 @@ module Twilio
140
267
  # but a limit is defined, stream() will attempt to read the limit with the most
141
268
  # efficient page size, i.e. min(limit, 1000)
142
269
  # @return [Enumerable] Enumerable that will yield up to limit results
143
- def stream(muted: :unset, hold: :unset, limit: nil, page_size: nil)
270
+ def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
144
271
  limits = @version.read_limits(limit, page_size)
145
272
 
146
- page = self.page(muted: muted, hold: hold, page_size: limits[:page_size])
273
+ page = self.page(muted: muted, hold: hold, coaching: coaching, page_size: limits[:page_size], )
147
274
 
148
275
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
149
276
  end
@@ -155,7 +282,7 @@ module Twilio
155
282
  def each
156
283
  limits = @version.read_limits
157
284
 
158
- page = self.page(page_size: limits[:page_size])
285
+ page = self.page(page_size: limits[:page_size], )
159
286
 
160
287
  @version.stream(page,
161
288
  limit: limits[:limit],
@@ -165,25 +292,28 @@ module Twilio
165
292
  ##
166
293
  # Retrieve a single page of ParticipantInstance records from the API.
167
294
  # Request is executed immediately.
168
- # @param [Boolean] muted Only show participants that are muted or unmuted
169
- # @param [Boolean] hold The hold
295
+ # @param [Boolean] muted Whether to return only participants that are muted. Can
296
+ # be: `true` or `false`.
297
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can
298
+ # be: `true` or `false`.
299
+ # @param [Boolean] coaching Whether to return only participants who are coaching
300
+ # another call. Can be: `true` or `false`.
170
301
  # @param [String] page_token PageToken provided by the API
171
302
  # @param [Integer] page_number Page Number, this value is simply for client state
172
303
  # @param [Integer] page_size Number of records to return, defaults to 50
173
304
  # @return [Page] Page of ParticipantInstance
174
- def page(muted: :unset, hold: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
305
+ def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
175
306
  params = Twilio::Values.of({
176
307
  'Muted' => muted,
177
308
  'Hold' => hold,
309
+ 'Coaching' => coaching,
178
310
  'PageToken' => page_token,
179
311
  'Page' => page_number,
180
312
  'PageSize' => page_size,
181
313
  })
182
- response = @version.page(
183
- 'GET',
184
- @uri,
185
- params
186
- )
314
+
315
+ response = @version.page('GET', @uri, params: params)
316
+
187
317
  ParticipantPage.new(@version, response, @solution)
188
318
  end
189
319
 
@@ -245,30 +375,29 @@ module Twilio
245
375
  ##
246
376
  # Initialize the ParticipantContext
247
377
  # @param [Version] version Version that contains the resource
248
- # @param [String] account_sid The account_sid
249
- # @param [String] conference_sid The string that uniquely identifies the
250
- # conference this participant is in
251
- # @param [String] call_sid The call_sid
378
+ # @param [String] account_sid The SID of the
379
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
380
+ # Participant resource to fetch.
381
+ # @param [String] conference_sid The SID of the conference with the participant to
382
+ # fetch.
383
+ # @param [String] call_sid The
384
+ # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
385
+ # participant to fetch. Non URL safe characters in a label must be percent
386
+ # encoded, for example, a space character is represented as %20.
252
387
  # @return [ParticipantContext] ParticipantContext
253
388
  def initialize(version, account_sid, conference_sid, call_sid)
254
389
  super(version)
255
390
 
256
391
  # Path Solution
257
- @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid}
392
+ @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
258
393
  @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
259
394
  end
260
395
 
261
396
  ##
262
- # Fetch a ParticipantInstance
397
+ # Fetch the ParticipantInstance
263
398
  # @return [ParticipantInstance] Fetched ParticipantInstance
264
399
  def fetch
265
- params = Twilio::Values.of({})
266
-
267
- payload = @version.fetch(
268
- 'GET',
269
- @uri,
270
- params,
271
- )
400
+ payload = @version.fetch('GET', @uri)
272
401
 
273
402
  ParticipantInstance.new(
274
403
  @version,
@@ -281,14 +410,42 @@ module Twilio
281
410
 
282
411
  ##
283
412
  # Update the ParticipantInstance
284
- # @param [Boolean] muted Indicates if the participant should be muted
285
- # @param [Boolean] hold The hold
286
- # @param [String] hold_url The hold_url
287
- # @param [String] hold_method The hold_method
288
- # @param [String] announce_url The announce_url
289
- # @param [String] announce_method The announce_method
413
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
414
+ # `false`. `true` will mute the participant, and `false` will un-mute them.
415
+ # Anything value other than `true` or `false` is interpreted as `false`.
416
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
417
+ # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
418
+ # the conference.
419
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
420
+ # plays when the participant is on hold. The URL may return an MP3 file, a WAV
421
+ # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
422
+ # commands.
423
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`.
424
+ # Can be: `GET` or `POST` and the default is `GET`.
425
+ # @param [String] announce_url The URL we call using the `announce_method` for an
426
+ # announcement to the participant. The URL must return an MP3 file, a WAV file, or
427
+ # a TwiML document that contains `<Play>` or `<Say>` commands.
428
+ # @param [String] announce_method The HTTP method we should use to call
429
+ # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
430
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
431
+ # music to play while participants are waiting for the conference to start. The
432
+ # default value is the URL of our standard hold music. {Learn more about hold
433
+ # music}[https://www.twilio.com/labs/twimlets/holdmusic].
434
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
435
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
436
+ # file, this should be `GET` so that we can cache the file.
437
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the
438
+ # conference when the participant exits. Can be: `true` or `false`.
439
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
440
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
441
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
442
+ # be: `true` or `false`. If not present, defaults to `false` unless
443
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
444
+ # @param [String] call_sid_to_coach The SID of the participant who is being
445
+ # `coached`. The participant being coached is the only participant who can hear
446
+ # the participant who is `coaching`.
290
447
  # @return [ParticipantInstance] Updated ParticipantInstance
291
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
448
+ def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
292
449
  data = Twilio::Values.of({
293
450
  'Muted' => muted,
294
451
  'Hold' => hold,
@@ -296,13 +453,15 @@ module Twilio
296
453
  'HoldMethod' => hold_method,
297
454
  'AnnounceUrl' => announce_url,
298
455
  'AnnounceMethod' => announce_method,
456
+ 'WaitUrl' => wait_url,
457
+ 'WaitMethod' => wait_method,
458
+ 'BeepOnExit' => beep_on_exit,
459
+ 'EndConferenceOnExit' => end_conference_on_exit,
460
+ 'Coaching' => coaching,
461
+ 'CallSidToCoach' => call_sid_to_coach,
299
462
  })
300
463
 
301
- payload = @version.update(
302
- 'POST',
303
- @uri,
304
- data: data,
305
- )
464
+ payload = @version.update('POST', @uri, data: data)
306
465
 
307
466
  ParticipantInstance.new(
308
467
  @version,
@@ -314,10 +473,10 @@ module Twilio
314
473
  end
315
474
 
316
475
  ##
317
- # Deletes the ParticipantInstance
318
- # @return [Boolean] true if delete succeeds, true otherwise
476
+ # Delete the ParticipantInstance
477
+ # @return [Boolean] true if delete succeeds, false otherwise
319
478
  def delete
320
- @version.delete('delete', @uri)
479
+ @version.delete('DELETE', @uri)
321
480
  end
322
481
 
323
482
  ##
@@ -326,6 +485,13 @@ module Twilio
326
485
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
327
486
  "#<Twilio.Api.V2010.ParticipantContext #{context}>"
328
487
  end
488
+
489
+ ##
490
+ # Provide a detailed, user friendly representation
491
+ def inspect
492
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
493
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
494
+ end
329
495
  end
330
496
 
331
497
  class ParticipantInstance < InstanceResource
@@ -333,11 +499,14 @@ module Twilio
333
499
  # Initialize the ParticipantInstance
334
500
  # @param [Version] version Version that contains the resource
335
501
  # @param [Hash] payload payload that contains response from Twilio
336
- # @param [String] account_sid The unique id of the Account that created this
337
- # conference
338
- # @param [String] conference_sid A 34 character string that identifies the
339
- # conference this participant is in
340
- # @param [String] call_sid The call_sid
502
+ # @param [String] account_sid The SID of the
503
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
504
+ # Participant resource.
505
+ # @param [String] conference_sid The SID of the conference the participant is in.
506
+ # @param [String] call_sid The
507
+ # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
508
+ # participant to fetch. Non URL safe characters in a label must be percent
509
+ # encoded, for example, a space character is represented as %20.
341
510
  # @return [ParticipantInstance] ParticipantInstance
342
511
  def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
343
512
  super(version)
@@ -346,6 +515,9 @@ module Twilio
346
515
  @properties = {
347
516
  'account_sid' => payload['account_sid'],
348
517
  'call_sid' => payload['call_sid'],
518
+ 'label' => payload['label'],
519
+ 'call_sid_to_coach' => payload['call_sid_to_coach'],
520
+ 'coaching' => payload['coaching'],
349
521
  'conference_sid' => payload['conference_sid'],
350
522
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
351
523
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
@@ -383,73 +555,91 @@ module Twilio
383
555
  end
384
556
 
385
557
  ##
386
- # @return [String] The unique sid that identifies this account
558
+ # @return [String] The SID of the Account that created the resource
387
559
  def account_sid
388
560
  @properties['account_sid']
389
561
  end
390
562
 
391
563
  ##
392
- # @return [String] A string that uniquely identifies this call
564
+ # @return [String] The SID of the Call the resource is associated with
393
565
  def call_sid
394
566
  @properties['call_sid']
395
567
  end
396
568
 
397
569
  ##
398
- # @return [String] A string that uniquely identifies this conference
570
+ # @return [String] The label of this participant
571
+ def label
572
+ @properties['label']
573
+ end
574
+
575
+ ##
576
+ # @return [String] The SID of the participant who is being `coached`
577
+ def call_sid_to_coach
578
+ @properties['call_sid_to_coach']
579
+ end
580
+
581
+ ##
582
+ # @return [Boolean] Indicates if the participant changed to coach
583
+ def coaching
584
+ @properties['coaching']
585
+ end
586
+
587
+ ##
588
+ # @return [String] The SID of the conference the participant is in
399
589
  def conference_sid
400
590
  @properties['conference_sid']
401
591
  end
402
592
 
403
593
  ##
404
- # @return [Time] The date this resource was created
594
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was created
405
595
  def date_created
406
596
  @properties['date_created']
407
597
  end
408
598
 
409
599
  ##
410
- # @return [Time] The date this resource was last updated
600
+ # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
411
601
  def date_updated
412
602
  @properties['date_updated']
413
603
  end
414
604
 
415
605
  ##
416
- # @return [Boolean] Indicates if the endConferenceOnExit was set
606
+ # @return [Boolean] Whether the conference ends when the participant leaves
417
607
  def end_conference_on_exit
418
608
  @properties['end_conference_on_exit']
419
609
  end
420
610
 
421
611
  ##
422
- # @return [Boolean] Indicates if the participant is muted
612
+ # @return [Boolean] Whether the participant is muted
423
613
  def muted
424
614
  @properties['muted']
425
615
  end
426
616
 
427
617
  ##
428
- # @return [Boolean] The hold
618
+ # @return [Boolean] Whether the participant is on hold
429
619
  def hold
430
620
  @properties['hold']
431
621
  end
432
622
 
433
623
  ##
434
- # @return [Boolean] Indicates if the startConferenceOnEnter attribute was set
624
+ # @return [Boolean] Whether the conference starts when the participant joins the conference
435
625
  def start_conference_on_enter
436
626
  @properties['start_conference_on_enter']
437
627
  end
438
628
 
439
629
  ##
440
- # @return [participant.Status] The status
630
+ # @return [participant.Status] The status of the participant's call in a session
441
631
  def status
442
632
  @properties['status']
443
633
  end
444
634
 
445
635
  ##
446
- # @return [String] The URI for this resource
636
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`
447
637
  def uri
448
638
  @properties['uri']
449
639
  end
450
640
 
451
641
  ##
452
- # Fetch a ParticipantInstance
642
+ # Fetch the ParticipantInstance
453
643
  # @return [ParticipantInstance] Fetched ParticipantInstance
454
644
  def fetch
455
645
  context.fetch
@@ -457,14 +647,42 @@ module Twilio
457
647
 
458
648
  ##
459
649
  # Update the ParticipantInstance
460
- # @param [Boolean] muted Indicates if the participant should be muted
461
- # @param [Boolean] hold The hold
462
- # @param [String] hold_url The hold_url
463
- # @param [String] hold_method The hold_method
464
- # @param [String] announce_url The announce_url
465
- # @param [String] announce_method The announce_method
650
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
651
+ # `false`. `true` will mute the participant, and `false` will un-mute them.
652
+ # Anything value other than `true` or `false` is interpreted as `false`.
653
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
654
+ # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
655
+ # the conference.
656
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
657
+ # plays when the participant is on hold. The URL may return an MP3 file, a WAV
658
+ # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
659
+ # commands.
660
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`.
661
+ # Can be: `GET` or `POST` and the default is `GET`.
662
+ # @param [String] announce_url The URL we call using the `announce_method` for an
663
+ # announcement to the participant. The URL must return an MP3 file, a WAV file, or
664
+ # a TwiML document that contains `<Play>` or `<Say>` commands.
665
+ # @param [String] announce_method The HTTP method we should use to call
666
+ # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
667
+ # @param [String] wait_url The URL we should call using the `wait_method` for the
668
+ # music to play while participants are waiting for the conference to start. The
669
+ # default value is the URL of our standard hold music. {Learn more about hold
670
+ # music}[https://www.twilio.com/labs/twimlets/holdmusic].
671
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`.
672
+ # Can be `GET` or `POST` and the default is `POST`. When using a static audio
673
+ # file, this should be `GET` so that we can cache the file.
674
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the
675
+ # conference when the participant exits. Can be: `true` or `false`.
676
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the
677
+ # participant leaves. Can be: `true` or `false` and defaults to `false`.
678
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can
679
+ # be: `true` or `false`. If not present, defaults to `false` unless
680
+ # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
681
+ # @param [String] call_sid_to_coach The SID of the participant who is being
682
+ # `coached`. The participant being coached is the only participant who can hear
683
+ # the participant who is `coaching`.
466
684
  # @return [ParticipantInstance] Updated ParticipantInstance
467
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
685
+ def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
468
686
  context.update(
469
687
  muted: muted,
470
688
  hold: hold,
@@ -472,12 +690,18 @@ module Twilio
472
690
  hold_method: hold_method,
473
691
  announce_url: announce_url,
474
692
  announce_method: announce_method,
693
+ wait_url: wait_url,
694
+ wait_method: wait_method,
695
+ beep_on_exit: beep_on_exit,
696
+ end_conference_on_exit: end_conference_on_exit,
697
+ coaching: coaching,
698
+ call_sid_to_coach: call_sid_to_coach,
475
699
  )
476
700
  end
477
701
 
478
702
  ##
479
- # Deletes the ParticipantInstance
480
- # @return [Boolean] true if delete succeeds, true otherwise
703
+ # Delete the ParticipantInstance
704
+ # @return [Boolean] true if delete succeeds, false otherwise
481
705
  def delete
482
706
  context.delete
483
707
  end