twilio-ruby 5.77.0 → 6.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,612 +1,630 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Chat
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Chat < Domain
12
- class V2 < Version
13
- class ServiceContext < InstanceContext
14
- class ChannelList < ListResource
15
- ##
16
- # Initialize the ChannelList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] service_sid The SID of the
19
- # {Service}[https://www.twilio.com/docs/chat/rest/service-resource] the Channel
20
- # resource is associated with.
21
- # @return [ChannelList] ChannelList
22
- def initialize(version, service_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {service_sid: service_sid}
27
- @uri = "/Services/#{@solution[:service_sid]}/Channels"
28
- end
29
-
30
- ##
31
- # Create the ChannelInstance
32
- # @param [String] friendly_name A descriptive string that you create to describe
33
- # the new resource. It can be up to 64 characters long.
34
- # @param [String] unique_name An application-defined string that uniquely
35
- # identifies the resource. It can be used to address the resource in place of the
36
- # Channel resource's `sid` in the URL. This value must be 64 characters or less in
37
- # length and be unique within the Service.
38
- # @param [String] attributes A valid JSON string that contains
39
- # application-specific data.
40
- # @param [channel.ChannelType] type The visibility of the channel. Can be:
41
- # `public` or `private` and defaults to `public`.
42
- # @param [Time] date_created The date, specified in {ISO
43
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
44
- # as the date it was created. The default value is the current time set by the
45
- # Chat service. Note that this should only be used in cases where a Channel is
46
- # being recreated from a backup/separate source.
47
- # @param [Time] date_updated The date, specified in {ISO
48
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
49
- # as the date it was last updated. The default value is `null`. Note that this
50
- # parameter should only be used in cases where a Channel is being recreated from a
51
- # backup/separate source and where a Message was previously updated.
52
- # @param [String] created_by The `identity` of the User that created the channel.
53
- # Default is: `system`.
54
- # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
55
- # X-Twilio-Webhook-Enabled HTTP request header
56
- # @return [ChannelInstance] Created ChannelInstance
57
- def create(friendly_name: :unset, unique_name: :unset, attributes: :unset, type: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
58
- data = Twilio::Values.of({
59
- 'FriendlyName' => friendly_name,
60
- 'UniqueName' => unique_name,
61
- 'Attributes' => attributes,
62
- 'Type' => type,
63
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
64
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
65
- 'CreatedBy' => created_by,
66
- })
67
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
68
-
69
- payload = @version.create('POST', @uri, data: data, headers: headers)
70
-
71
- ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], )
72
- end
73
-
74
- ##
75
- # Lists ChannelInstance records from the API as a list.
76
- # Unlike stream(), this operation is eager and will load `limit` records into
77
- # memory before returning.
78
- # @param [Array[channel.ChannelType]] type The visibility of the Channels to read.
79
- # Can be: `public` or `private` and defaults to `public`.
80
- # @param [Integer] limit Upper limit for the number of records to return. stream()
81
- # guarantees to never return more than limit. Default is no limit
82
- # @param [Integer] page_size Number of records to fetch per request, when
83
- # not set will use the default value of 50 records. If no page_size is defined
84
- # but a limit is defined, stream() will attempt to read the limit with the most
85
- # efficient page size, i.e. min(limit, 1000)
86
- # @return [Array] Array of up to limit results
87
- def list(type: :unset, limit: nil, page_size: nil)
88
- self.stream(type: type, limit: limit, page_size: page_size).entries
89
- end
90
-
91
- ##
92
- # Streams ChannelInstance records from the API as an Enumerable.
93
- # This operation lazily loads records as efficiently as possible until the limit
94
- # is reached.
95
- # @param [Array[channel.ChannelType]] type The visibility of the Channels to read.
96
- # Can be: `public` or `private` and defaults to `public`.
97
- # @param [Integer] limit Upper limit for the number of records to return. stream()
98
- # guarantees to never return more than limit. Default is no limit.
99
- # @param [Integer] page_size Number of records to fetch per request, when
100
- # not set will use the default value of 50 records. If no page_size is defined
101
- # but a limit is defined, stream() will attempt to read the limit with the most
102
- # efficient page size, i.e. min(limit, 1000)
103
- # @return [Enumerable] Enumerable that will yield up to limit results
104
- def stream(type: :unset, limit: nil, page_size: nil)
105
- limits = @version.read_limits(limit, page_size)
106
-
107
- page = self.page(type: type, page_size: limits[:page_size], )
108
-
109
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
110
- end
111
-
112
- ##
113
- # When passed a block, yields ChannelInstance records from the API.
114
- # This operation lazily loads records as efficiently as possible until the limit
115
- # is reached.
116
- def each
117
- limits = @version.read_limits
118
-
119
- page = self.page(page_size: limits[:page_size], )
120
-
121
- @version.stream(page,
122
- limit: limits[:limit],
123
- page_limit: limits[:page_limit]).each {|x| yield x}
124
- end
125
-
126
- ##
127
- # Retrieve a single page of ChannelInstance records from the API.
128
- # Request is executed immediately.
129
- # @param [Array[channel.ChannelType]] type The visibility of the Channels to read.
130
- # Can be: `public` or `private` and defaults to `public`.
131
- # @param [String] page_token PageToken provided by the API
132
- # @param [Integer] page_number Page Number, this value is simply for client state
133
- # @param [Integer] page_size Number of records to return, defaults to 50
134
- # @return [Page] Page of ChannelInstance
135
- def page(type: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
136
- params = Twilio::Values.of({
137
- 'Type' => Twilio.serialize_list(type) { |e| e },
138
- 'PageToken' => page_token,
139
- 'Page' => page_number,
140
- 'PageSize' => page_size,
141
- })
142
-
143
- response = @version.page('GET', @uri, params: params)
144
-
145
- ChannelPage.new(@version, response, @solution)
146
- end
147
-
148
- ##
149
- # Retrieve a single page of ChannelInstance records from the API.
150
- # Request is executed immediately.
151
- # @param [String] target_url API-generated URL for the requested results page
152
- # @return [Page] Page of ChannelInstance
153
- def get_page(target_url)
154
- response = @version.domain.request(
155
- 'GET',
156
- target_url
157
- )
158
- ChannelPage.new(@version, response, @solution)
159
- end
160
-
161
- ##
162
- # Provide a user friendly representation
163
- def to_s
164
- '#<Twilio.Chat.V2.ChannelList>'
165
- end
166
- end
167
-
168
- class ChannelPage < Page
169
- ##
170
- # Initialize the ChannelPage
171
- # @param [Version] version Version that contains the resource
172
- # @param [Response] response Response from the API
173
- # @param [Hash] solution Path solution for the resource
174
- # @return [ChannelPage] ChannelPage
175
- def initialize(version, response, solution)
176
- super(version, response)
177
-
178
- # Path Solution
179
- @solution = solution
180
- end
181
-
182
- ##
183
- # Build an instance of ChannelInstance
184
- # @param [Hash] payload Payload response from the API
185
- # @return [ChannelInstance] ChannelInstance
186
- def get_instance(payload)
187
- ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], )
188
- end
189
-
190
- ##
191
- # Provide a user friendly representation
192
- def to_s
193
- '<Twilio.Chat.V2.ChannelPage>'
194
- end
195
- end
196
-
197
- class ChannelContext < InstanceContext
198
- ##
199
- # Initialize the ChannelContext
200
- # @param [Version] version Version that contains the resource
201
- # @param [String] service_sid The SID of the
202
- # {Service}[https://www.twilio.com/docs/chat/rest/service-resource] to fetch the
203
- # Channel resource from.
204
- # @param [String] sid The SID of the Channel resource to fetch. This value can be
205
- # either the `sid` or the `unique_name` of the Channel resource to fetch.
206
- # @return [ChannelContext] ChannelContext
207
- def initialize(version, service_sid, sid)
208
- super(version)
209
-
210
- # Path Solution
211
- @solution = {service_sid: service_sid, sid: sid, }
212
- @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:sid]}"
213
-
214
- # Dependents
215
- @members = nil
216
- @messages = nil
217
- @invites = nil
218
- @webhooks = nil
219
- end
220
-
221
- ##
222
- # Fetch the ChannelInstance
223
- # @return [ChannelInstance] Fetched ChannelInstance
224
- def fetch
225
- payload = @version.fetch('GET', @uri)
226
-
227
- ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
228
- end
229
-
230
- ##
231
- # Delete the ChannelInstance
232
- # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
233
- # X-Twilio-Webhook-Enabled HTTP request header
234
- # @return [Boolean] true if delete succeeds, false otherwise
235
- def delete(x_twilio_webhook_enabled: :unset)
236
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
237
-
238
- @version.delete('DELETE', @uri, headers: headers)
239
- end
240
-
241
- ##
242
- # Update the ChannelInstance
243
- # @param [String] friendly_name A descriptive string that you create to describe
244
- # the resource. It can be up to 256 characters long.
245
- # @param [String] unique_name An application-defined string that uniquely
246
- # identifies the resource. It can be used to address the resource in place of the
247
- # resource's `sid` in the URL. This value must be 256 characters or less in length
248
- # and unique within the Service.
249
- # @param [String] attributes A valid JSON string that contains
250
- # application-specific data.
251
- # @param [Time] date_created The date, specified in {ISO
252
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
253
- # as the date it was created. The default value is the current time set by the
254
- # Chat service. Note that this should only be used in cases where a Channel is
255
- # being recreated from a backup/separate source.
256
- # @param [Time] date_updated The date, specified in {ISO
257
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
258
- # as the date it was last updated.
259
- # @param [String] created_by The `identity` of the User that created the channel.
260
- # Default is: `system`.
261
- # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
262
- # X-Twilio-Webhook-Enabled HTTP request header
263
- # @return [ChannelInstance] Updated ChannelInstance
264
- def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
265
- data = Twilio::Values.of({
266
- 'FriendlyName' => friendly_name,
267
- 'UniqueName' => unique_name,
268
- 'Attributes' => attributes,
269
- 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
270
- 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
271
- 'CreatedBy' => created_by,
272
- })
273
- headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
274
-
275
- payload = @version.update('POST', @uri, data: data, headers: headers)
276
-
277
- ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
278
- end
279
-
280
- ##
281
- # Access the members
282
- # @return [MemberList]
283
- # @return [MemberContext] if sid was passed.
284
- def members(sid=:unset)
285
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
286
-
287
- if sid != :unset
288
- return MemberContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
289
- end
290
-
291
- unless @members
292
- @members = MemberList.new(
293
- @version,
294
- service_sid: @solution[:service_sid],
295
- channel_sid: @solution[:sid],
296
- )
297
- end
298
-
299
- @members
300
- end
301
-
302
- ##
303
- # Access the messages
304
- # @return [MessageList]
305
- # @return [MessageContext] if sid was passed.
306
- def messages(sid=:unset)
307
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
308
-
309
- if sid != :unset
310
- return MessageContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
311
- end
312
-
313
- unless @messages
314
- @messages = MessageList.new(
315
- @version,
316
- service_sid: @solution[:service_sid],
317
- channel_sid: @solution[:sid],
318
- )
319
- end
320
-
321
- @messages
322
- end
323
-
324
- ##
325
- # Access the invites
326
- # @return [InviteList]
327
- # @return [InviteContext] if sid was passed.
328
- def invites(sid=:unset)
329
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
330
-
331
- if sid != :unset
332
- return InviteContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
333
- end
334
-
335
- unless @invites
336
- @invites = InviteList.new(
337
- @version,
338
- service_sid: @solution[:service_sid],
339
- channel_sid: @solution[:sid],
340
- )
341
- end
342
-
343
- @invites
344
- end
345
-
346
- ##
347
- # Access the webhooks
348
- # @return [WebhookList]
349
- # @return [WebhookContext] if sid was passed.
350
- def webhooks(sid=:unset)
351
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
352
-
353
- if sid != :unset
354
- return WebhookContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
355
- end
356
-
357
- unless @webhooks
358
- @webhooks = WebhookList.new(
359
- @version,
360
- service_sid: @solution[:service_sid],
361
- channel_sid: @solution[:sid],
362
- )
363
- end
364
-
365
- @webhooks
366
- end
367
-
368
- ##
369
- # Provide a user friendly representation
370
- def to_s
371
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
372
- "#<Twilio.Chat.V2.ChannelContext #{context}>"
373
- end
374
-
375
- ##
376
- # Provide a detailed, user friendly representation
377
- def inspect
378
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
379
- "#<Twilio.Chat.V2.ChannelContext #{context}>"
380
- end
381
- end
382
-
383
- class ChannelInstance < InstanceResource
384
- ##
385
- # Initialize the ChannelInstance
386
- # @param [Version] version Version that contains the resource
387
- # @param [Hash] payload payload that contains response from Twilio
388
- # @param [String] service_sid The SID of the
389
- # {Service}[https://www.twilio.com/docs/chat/rest/service-resource] the Channel
390
- # resource is associated with.
391
- # @param [String] sid The SID of the Channel resource to fetch. This value can be
392
- # either the `sid` or the `unique_name` of the Channel resource to fetch.
393
- # @return [ChannelInstance] ChannelInstance
394
- def initialize(version, payload, service_sid: nil, sid: nil)
395
- super(version)
396
-
397
- # Marshaled Properties
398
- @properties = {
399
- 'sid' => payload['sid'],
400
- 'account_sid' => payload['account_sid'],
401
- 'service_sid' => payload['service_sid'],
402
- 'friendly_name' => payload['friendly_name'],
403
- 'unique_name' => payload['unique_name'],
404
- 'attributes' => payload['attributes'],
405
- 'type' => payload['type'],
406
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
407
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
408
- 'created_by' => payload['created_by'],
409
- 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
410
- 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
411
- 'url' => payload['url'],
412
- 'links' => payload['links'],
413
- }
414
-
415
- # Context
416
- @instance_context = nil
417
- @params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
418
- end
419
-
420
- ##
421
- # Generate an instance context for the instance, the context is capable of
422
- # performing various actions. All instance actions are proxied to the context
423
- # @return [ChannelContext] ChannelContext for this ChannelInstance
424
- def context
425
- unless @instance_context
426
- @instance_context = ChannelContext.new(@version, @params['service_sid'], @params['sid'], )
427
- end
428
- @instance_context
429
- end
430
-
431
- ##
432
- # @return [String] The unique string that identifies the resource
433
- def sid
434
- @properties['sid']
435
- end
436
-
437
- ##
438
- # @return [String] The SID of the Account that created the resource
439
- def account_sid
440
- @properties['account_sid']
441
- end
442
-
443
- ##
444
- # @return [String] The SID of the Service that the resource is associated with
445
- def service_sid
446
- @properties['service_sid']
447
- end
448
-
449
- ##
450
- # @return [String] The string that you assigned to describe the resource
451
- def friendly_name
452
- @properties['friendly_name']
453
- end
454
-
455
- ##
456
- # @return [String] An application-defined string that uniquely identifies the resource
457
- def unique_name
458
- @properties['unique_name']
459
- end
460
-
461
- ##
462
- # @return [String] The JSON string that stores application-specific data
463
- def attributes
464
- @properties['attributes']
465
- end
466
-
467
- ##
468
- # @return [channel.ChannelType] The visibility of the channel. Can be: `public` or `private`
469
- def type
470
- @properties['type']
471
- end
472
-
473
- ##
474
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
475
- def date_created
476
- @properties['date_created']
477
- end
478
-
479
- ##
480
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
481
- def date_updated
482
- @properties['date_updated']
483
- end
484
-
485
- ##
486
- # @return [String] The identity of the User that created the channel
487
- def created_by
488
- @properties['created_by']
489
- end
490
-
491
- ##
492
- # @return [String] The number of Members in the Channel
493
- def members_count
494
- @properties['members_count']
495
- end
496
-
497
- ##
498
- # @return [String] The number of Messages that have been passed in the Channel
499
- def messages_count
500
- @properties['messages_count']
501
- end
502
-
503
- ##
504
- # @return [String] The absolute URL of the Channel resource
505
- def url
506
- @properties['url']
507
- end
508
-
509
- ##
510
- # @return [String] Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel
511
- def links
512
- @properties['links']
513
- end
514
-
515
- ##
516
- # Fetch the ChannelInstance
517
- # @return [ChannelInstance] Fetched ChannelInstance
518
- def fetch
519
- context.fetch
520
- end
521
-
522
- ##
523
- # Delete the ChannelInstance
524
- # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
525
- # X-Twilio-Webhook-Enabled HTTP request header
526
- # @return [Boolean] true if delete succeeds, false otherwise
527
- def delete(x_twilio_webhook_enabled: :unset)
528
- context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
529
- end
530
-
531
- ##
532
- # Update the ChannelInstance
533
- # @param [String] friendly_name A descriptive string that you create to describe
534
- # the resource. It can be up to 256 characters long.
535
- # @param [String] unique_name An application-defined string that uniquely
536
- # identifies the resource. It can be used to address the resource in place of the
537
- # resource's `sid` in the URL. This value must be 256 characters or less in length
538
- # and unique within the Service.
539
- # @param [String] attributes A valid JSON string that contains
540
- # application-specific data.
541
- # @param [Time] date_created The date, specified in {ISO
542
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
543
- # as the date it was created. The default value is the current time set by the
544
- # Chat service. Note that this should only be used in cases where a Channel is
545
- # being recreated from a backup/separate source.
546
- # @param [Time] date_updated The date, specified in {ISO
547
- # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format, to assign to the resource
548
- # as the date it was last updated.
549
- # @param [String] created_by The `identity` of the User that created the channel.
550
- # Default is: `system`.
551
- # @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
552
- # X-Twilio-Webhook-Enabled HTTP request header
553
- # @return [ChannelInstance] Updated ChannelInstance
554
- def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
555
- context.update(
556
- friendly_name: friendly_name,
557
- unique_name: unique_name,
558
- attributes: attributes,
559
- date_created: date_created,
560
- date_updated: date_updated,
561
- created_by: created_by,
562
- x_twilio_webhook_enabled: x_twilio_webhook_enabled,
563
- )
564
- end
565
-
566
- ##
567
- # Access the members
568
- # @return [members] members
569
- def members
570
- context.members
571
- end
572
-
573
- ##
574
- # Access the messages
575
- # @return [messages] messages
576
- def messages
577
- context.messages
578
- end
579
-
580
- ##
581
- # Access the invites
582
- # @return [invites] invites
583
- def invites
584
- context.invites
585
- end
586
-
587
- ##
588
- # Access the webhooks
589
- # @return [webhooks] webhooks
590
- def webhooks
591
- context.webhooks
592
- end
593
14
 
594
- ##
595
- # Provide a user friendly representation
596
- def to_s
597
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
598
- "<Twilio.Chat.V2.ChannelInstance #{values}>"
599
- end
600
15
 
601
- ##
602
- # Provide a detailed, user friendly representation
603
- def inspect
604
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
605
- "<Twilio.Chat.V2.ChannelInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Chat < ChatBase
19
+ class V2 < Version
20
+ class ServiceContext < InstanceContext
21
+
22
+ class ChannelList < ListResource
23
+ ##
24
+ # Initialize the ChannelList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [ChannelList] ChannelList
27
+ def initialize(version, service_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { service_sid: service_sid }
31
+ @uri = "/Services/#{@solution[:service_sid]}/Channels"
32
+
33
+ end
34
+ ##
35
+ # Create the ChannelInstance
36
+ # @param [String] friendly_name A descriptive string that you create to describe the new resource. It can be up to 64 characters long.
37
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the Channel resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service.
38
+ # @param [String] attributes A valid JSON string that contains application-specific data.
39
+ # @param [ChannelType] type
40
+ # @param [Time] date_created The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source.
41
+ # @param [Time] date_updated The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. The default value is `null`. Note that this parameter should only be used in cases where a Channel is being recreated from a backup/separate source and where a Message was previously updated.
42
+ # @param [String] created_by The `identity` of the User that created the channel. Default is: `system`.
43
+ # @param [ChannelEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
44
+ # @return [ChannelInstance] Created ChannelInstance
45
+ def create(
46
+ friendly_name: :unset,
47
+ unique_name: :unset,
48
+ attributes: :unset,
49
+ type: :unset,
50
+ date_created: :unset,
51
+ date_updated: :unset,
52
+ created_by: :unset,
53
+ x_twilio_webhook_enabled: :unset
54
+ )
55
+
56
+ data = Twilio::Values.of({
57
+ 'FriendlyName' => friendly_name,
58
+ 'UniqueName' => unique_name,
59
+ 'Attributes' => attributes,
60
+ 'Type' => type,
61
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
62
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
63
+ 'CreatedBy' => created_by,
64
+ })
65
+
66
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
67
+ payload = @version.create('POST', @uri, data: data, headers: headers)
68
+ ChannelInstance.new(
69
+ @version,
70
+ payload,
71
+ service_sid: @solution[:service_sid],
72
+ )
73
+ end
74
+
75
+
76
+ ##
77
+ # Lists ChannelInstance records from the API as a list.
78
+ # Unlike stream(), this operation is eager and will load `limit` records into
79
+ # memory before returning.
80
+ # @param [Array[ChannelType]] type The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.
81
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
82
+ # guarantees to never return more than limit. Default is no limit
83
+ # @param [Integer] page_size Number of records to fetch per request, when
84
+ # not set will use the default value of 50 records. If no page_size is defined
85
+ # but a limit is defined, stream() will attempt to read the limit with the most
86
+ # efficient page size, i.e. min(limit, 1000)
87
+ # @return [Array] Array of up to limit results
88
+ def list(type: :unset, limit: nil, page_size: nil)
89
+ self.stream(
90
+ type: type,
91
+ limit: limit,
92
+ page_size: page_size
93
+ ).entries
94
+ end
95
+
96
+ ##
97
+ # Streams Instance records from the API as an Enumerable.
98
+ # This operation lazily loads records as efficiently as possible until the limit
99
+ # is reached.
100
+ # @param [Array[ChannelType]] type The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.
101
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
102
+ # guarantees to never return more than limit. Default is no limit
103
+ # @param [Integer] page_size Number of records to fetch per request, when
104
+ # not set will use the default value of 50 records. If no page_size is defined
105
+ # but a limit is defined, stream() will attempt to read the limit with the most
106
+ # efficient page size, i.e. min(limit, 1000)
107
+ # @return [Enumerable] Enumerable that will yield up to limit results
108
+ def stream(type: :unset, limit: nil, page_size: nil)
109
+ limits = @version.read_limits(limit, page_size)
110
+
111
+ page = self.page(
112
+ type: type,
113
+ page_size: limits[:page_size], )
114
+
115
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
116
+ end
117
+
118
+ ##
119
+ # When passed a block, yields ChannelInstance records from the API.
120
+ # This operation lazily loads records as efficiently as possible until the limit
121
+ # is reached.
122
+ def each
123
+ limits = @version.read_limits
124
+
125
+ page = self.page(page_size: limits[:page_size], )
126
+
127
+ @version.stream(page,
128
+ limit: limits[:limit],
129
+ page_limit: limits[:page_limit]).each {|x| yield x}
130
+ end
131
+
132
+ ##
133
+ # Retrieve a single page of ChannelInstance records from the API.
134
+ # Request is executed immediately.
135
+ # @param [Array[ChannelType]] type The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.
136
+ # @param [String] page_token PageToken provided by the API
137
+ # @param [Integer] page_number Page Number, this value is simply for client state
138
+ # @param [Integer] page_size Number of records to return, defaults to 50
139
+ # @return [Page] Page of ChannelInstance
140
+ def page(type: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
141
+ params = Twilio::Values.of({
142
+
143
+ 'Type' => Twilio.serialize_list(type),
144
+
145
+ 'PageToken' => page_token,
146
+ 'Page' => page_number,
147
+ 'PageSize' => page_size,
148
+ })
149
+
150
+ response = @version.page('GET', @uri, params: params)
151
+
152
+ ChannelPage.new(@version, response, @solution)
153
+ end
154
+
155
+ ##
156
+ # Retrieve a single page of ChannelInstance records from the API.
157
+ # Request is executed immediately.
158
+ # @param [String] target_url API-generated URL for the requested results page
159
+ # @return [Page] Page of ChannelInstance
160
+ def get_page(target_url)
161
+ response = @version.domain.request(
162
+ 'GET',
163
+ target_url
164
+ )
165
+ ChannelPage.new(@version, response, @solution)
166
+ end
167
+
168
+
169
+
170
+ # Provide a user friendly representation
171
+ def to_s
172
+ '#<Twilio.Chat.V2.ChannelList>'
173
+ end
174
+ end
175
+
176
+
177
+ class ChannelContext < InstanceContext
178
+ ##
179
+ # Initialize the ChannelContext
180
+ # @param [Version] version Version that contains the resource
181
+ # @param [String] service_sid The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) to update the Channel resource in.
182
+ # @param [String] sid The SID of the Channel resource to update. This value can be either the `sid` or the `unique_name` of the Channel resource to update.
183
+ # @return [ChannelContext] ChannelContext
184
+ def initialize(version, service_sid, sid)
185
+ super(version)
186
+
187
+ # Path Solution
188
+ @solution = { service_sid: service_sid, sid: sid, }
189
+ @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:sid]}"
190
+
191
+ # Dependents
192
+ @webhooks = nil
193
+ @members = nil
194
+ @messages = nil
195
+ @invites = nil
196
+ end
197
+ ##
198
+ # Delete the ChannelInstance
199
+ # @param [ChannelEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
200
+ # @return [Boolean] True if delete succeeds, false otherwise
201
+ def delete(
202
+ x_twilio_webhook_enabled: :unset
203
+ )
204
+
205
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
206
+ @version.delete('DELETE', @uri, headers: headers)
207
+ end
208
+
209
+ ##
210
+ # Fetch the ChannelInstance
211
+ # @return [ChannelInstance] Fetched ChannelInstance
212
+ def fetch
213
+
214
+ payload = @version.fetch('GET', @uri)
215
+ ChannelInstance.new(
216
+ @version,
217
+ payload,
218
+ service_sid: @solution[:service_sid],
219
+ sid: @solution[:sid],
220
+ )
221
+ end
222
+
223
+ ##
224
+ # Update the ChannelInstance
225
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 256 characters long.
226
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 256 characters or less in length and unique within the Service.
227
+ # @param [String] attributes A valid JSON string that contains application-specific data.
228
+ # @param [Time] date_created The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source.
229
+ # @param [Time] date_updated The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.
230
+ # @param [String] created_by The `identity` of the User that created the channel. Default is: `system`.
231
+ # @param [ChannelEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
232
+ # @return [ChannelInstance] Updated ChannelInstance
233
+ def update(
234
+ friendly_name: :unset,
235
+ unique_name: :unset,
236
+ attributes: :unset,
237
+ date_created: :unset,
238
+ date_updated: :unset,
239
+ created_by: :unset,
240
+ x_twilio_webhook_enabled: :unset
241
+ )
242
+
243
+ data = Twilio::Values.of({
244
+ 'FriendlyName' => friendly_name,
245
+ 'UniqueName' => unique_name,
246
+ 'Attributes' => attributes,
247
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
248
+ 'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
249
+ 'CreatedBy' => created_by,
250
+ })
251
+
252
+ headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
253
+ payload = @version.update('POST', @uri, data: data, headers: headers)
254
+ ChannelInstance.new(
255
+ @version,
256
+ payload,
257
+ service_sid: @solution[:service_sid],
258
+ sid: @solution[:sid],
259
+ )
260
+ end
261
+
262
+ ##
263
+ # Access the webhooks
264
+ # @return [WebhookList]
265
+ # @return [WebhookContext] if sid was passed.
266
+ def webhooks(sid=:unset)
267
+
268
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
269
+
270
+ if sid != :unset
271
+ return WebhookContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
272
+ end
273
+
274
+ unless @webhooks
275
+ @webhooks = WebhookList.new(
276
+ @version,
277
+ service_sid: @solution[:service_sid],
278
+ channel_sid: @solution[:sid]
279
+
280
+ )
281
+ end
282
+
283
+ @webhooks
284
+ end
285
+ ##
286
+ # Access the members
287
+ # @return [MemberList]
288
+ # @return [MemberContext] if sid was passed.
289
+ def members(sid=:unset)
290
+
291
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
292
+
293
+ if sid != :unset
294
+ return MemberContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
295
+ end
296
+
297
+ unless @members
298
+ @members = MemberList.new(
299
+ @version,
300
+ service_sid: @solution[:service_sid],
301
+ channel_sid: @solution[:sid]
302
+
303
+ )
304
+ end
305
+
306
+ @members
307
+ end
308
+ ##
309
+ # Access the messages
310
+ # @return [MessageList]
311
+ # @return [MessageContext] if sid was passed.
312
+ def messages(sid=:unset)
313
+
314
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
315
+
316
+ if sid != :unset
317
+ return MessageContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
318
+ end
319
+
320
+ unless @messages
321
+ @messages = MessageList.new(
322
+ @version,
323
+ service_sid: @solution[:service_sid],
324
+ channel_sid: @solution[:sid]
325
+
326
+ )
327
+ end
328
+
329
+ @messages
330
+ end
331
+ ##
332
+ # Access the invites
333
+ # @return [InviteList]
334
+ # @return [InviteContext] if sid was passed.
335
+ def invites(sid=:unset)
336
+
337
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
338
+
339
+ if sid != :unset
340
+ return InviteContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
341
+ end
342
+
343
+ unless @invites
344
+ @invites = InviteList.new(
345
+ @version,
346
+ service_sid: @solution[:service_sid],
347
+ channel_sid: @solution[:sid]
348
+
349
+ )
350
+ end
351
+
352
+ @invites
353
+ end
354
+
355
+ ##
356
+ # Provide a user friendly representation
357
+ def to_s
358
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
359
+ "#<Twilio.Chat.V2.ChannelContext #{context}>"
360
+ end
361
+
362
+ ##
363
+ # Provide a detailed, user friendly representation
364
+ def inspect
365
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
366
+ "#<Twilio.Chat.V2.ChannelContext #{context}>"
367
+ end
368
+ end
369
+
370
+ class ChannelPage < Page
371
+ ##
372
+ # Initialize the ChannelPage
373
+ # @param [Version] version Version that contains the resource
374
+ # @param [Response] response Response from the API
375
+ # @param [Hash] solution Path solution for the resource
376
+ # @return [ChannelPage] ChannelPage
377
+ def initialize(version, response, solution)
378
+ super(version, response)
379
+
380
+ # Path Solution
381
+ @solution = solution
382
+ end
383
+
384
+ ##
385
+ # Build an instance of ChannelInstance
386
+ # @param [Hash] payload Payload response from the API
387
+ # @return [ChannelInstance] ChannelInstance
388
+ def get_instance(payload)
389
+ ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid])
390
+ end
391
+
392
+ ##
393
+ # Provide a user friendly representation
394
+ def to_s
395
+ '<Twilio.Chat.V2.ChannelPage>'
396
+ end
397
+ end
398
+ class ChannelInstance < InstanceResource
399
+ ##
400
+ # Initialize the ChannelInstance
401
+ # @param [Version] version Version that contains the resource
402
+ # @param [Hash] payload payload that contains response from Twilio
403
+ # @param [String] account_sid The SID of the
404
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Channel
405
+ # resource.
406
+ # @param [String] sid The SID of the Call resource to fetch.
407
+ # @return [ChannelInstance] ChannelInstance
408
+ def initialize(version, payload , service_sid: nil, sid: nil)
409
+ super(version)
410
+
411
+ # Marshaled Properties
412
+ @properties = {
413
+ 'sid' => payload['sid'],
414
+ 'account_sid' => payload['account_sid'],
415
+ 'service_sid' => payload['service_sid'],
416
+ 'friendly_name' => payload['friendly_name'],
417
+ 'unique_name' => payload['unique_name'],
418
+ 'attributes' => payload['attributes'],
419
+ 'type' => payload['type'],
420
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
421
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
422
+ 'created_by' => payload['created_by'],
423
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
424
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
425
+ 'url' => payload['url'],
426
+ 'links' => payload['links'],
427
+ }
428
+
429
+ # Context
430
+ @instance_context = nil
431
+ @params = { 'service_sid' => service_sid || @properties['service_sid'] ,'sid' => sid || @properties['sid'] , }
432
+ end
433
+
434
+ ##
435
+ # Generate an instance context for the instance, the context is capable of
436
+ # performing various actions. All instance actions are proxied to the context
437
+ # @return [ChannelContext] CallContext for this CallInstance
438
+ def context
439
+ unless @instance_context
440
+ @instance_context = ChannelContext.new(@version , @params['service_sid'], @params['sid'])
441
+ end
442
+ @instance_context
443
+ end
444
+
445
+ ##
446
+ # @return [String] The unique string that we created to identify the Channel resource.
447
+ def sid
448
+ @properties['sid']
449
+ end
450
+
451
+ ##
452
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Channel resource.
453
+ def account_sid
454
+ @properties['account_sid']
455
+ end
456
+
457
+ ##
458
+ # @return [String] The SID of the [Service](https://www.twilio.com/docs/chat/rest/service-resource) the Channel resource is associated with.
459
+ def service_sid
460
+ @properties['service_sid']
461
+ end
462
+
463
+ ##
464
+ # @return [String] The string that you assigned to describe the resource.
465
+ def friendly_name
466
+ @properties['friendly_name']
467
+ end
468
+
469
+ ##
470
+ # @return [String] An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
471
+ def unique_name
472
+ @properties['unique_name']
473
+ end
474
+
475
+ ##
476
+ # @return [String] The JSON string that stores application-specific data. If attributes have not been set, `{}` is returned.
477
+ def attributes
478
+ @properties['attributes']
479
+ end
480
+
481
+ ##
482
+ # @return [ChannelType]
483
+ def type
484
+ @properties['type']
485
+ end
486
+
487
+ ##
488
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
489
+ def date_created
490
+ @properties['date_created']
491
+ end
492
+
493
+ ##
494
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
495
+ def date_updated
496
+ @properties['date_updated']
497
+ end
498
+
499
+ ##
500
+ # @return [String] The `identity` of the User that created the channel. If the Channel was created by using the API, the value is `system`.
501
+ def created_by
502
+ @properties['created_by']
503
+ end
504
+
505
+ ##
506
+ # @return [String] The number of Members in the Channel.
507
+ def members_count
508
+ @properties['members_count']
509
+ end
510
+
511
+ ##
512
+ # @return [String] The number of Messages that have been passed in the Channel.
513
+ def messages_count
514
+ @properties['messages_count']
515
+ end
516
+
517
+ ##
518
+ # @return [String] The absolute URL of the Channel resource.
519
+ def url
520
+ @properties['url']
521
+ end
522
+
523
+ ##
524
+ # @return [Hash] The absolute URLs of the [Members](https://www.twilio.com/docs/chat/rest/member-resource), [Messages](https://www.twilio.com/docs/chat/rest/message-resource), [Invites](https://www.twilio.com/docs/chat/rest/invite-resource), Webhooks and, if it exists, the last [Message](https://www.twilio.com/docs/chat/rest/message-resource) for the Channel.
525
+ def links
526
+ @properties['links']
527
+ end
528
+
529
+ ##
530
+ # Delete the ChannelInstance
531
+ # @param [ChannelEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
532
+ # @return [Boolean] True if delete succeeds, false otherwise
533
+ def delete(
534
+ x_twilio_webhook_enabled: :unset
535
+ )
536
+
537
+ context.delete(
538
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
539
+ )
540
+ end
541
+
542
+ ##
543
+ # Fetch the ChannelInstance
544
+ # @return [ChannelInstance] Fetched ChannelInstance
545
+ def fetch
546
+
547
+ context.fetch
548
+ end
549
+
550
+ ##
551
+ # Update the ChannelInstance
552
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 256 characters long.
553
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 256 characters or less in length and unique within the Service.
554
+ # @param [String] attributes A valid JSON string that contains application-specific data.
555
+ # @param [Time] date_created The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default value is the current time set by the Chat service. Note that this should only be used in cases where a Channel is being recreated from a backup/separate source.
556
+ # @param [Time] date_updated The date, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated.
557
+ # @param [String] created_by The `identity` of the User that created the channel. Default is: `system`.
558
+ # @param [ChannelEnumWebhookEnabledType] x_twilio_webhook_enabled The X-Twilio-Webhook-Enabled HTTP request header
559
+ # @return [ChannelInstance] Updated ChannelInstance
560
+ def update(
561
+ friendly_name: :unset,
562
+ unique_name: :unset,
563
+ attributes: :unset,
564
+ date_created: :unset,
565
+ date_updated: :unset,
566
+ created_by: :unset,
567
+ x_twilio_webhook_enabled: :unset
568
+ )
569
+
570
+ context.update(
571
+ friendly_name: friendly_name,
572
+ unique_name: unique_name,
573
+ attributes: attributes,
574
+ date_created: date_created,
575
+ date_updated: date_updated,
576
+ created_by: created_by,
577
+ x_twilio_webhook_enabled: x_twilio_webhook_enabled,
578
+ )
579
+ end
580
+
581
+ ##
582
+ # Access the webhooks
583
+ # @return [webhooks] webhooks
584
+ def webhooks
585
+ context.webhooks
586
+ end
587
+
588
+ ##
589
+ # Access the members
590
+ # @return [members] members
591
+ def members
592
+ context.members
593
+ end
594
+
595
+ ##
596
+ # Access the messages
597
+ # @return [messages] messages
598
+ def messages
599
+ context.messages
600
+ end
601
+
602
+ ##
603
+ # Access the invites
604
+ # @return [invites] invites
605
+ def invites
606
+ context.invites
607
+ end
608
+
609
+ ##
610
+ # Provide a user friendly representation
611
+ def to_s
612
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
613
+ "<Twilio.Chat.V2.ChannelInstance #{values}>"
614
+ end
615
+
616
+ ##
617
+ # Provide a detailed, user friendly representation
618
+ def inspect
619
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
620
+ "<Twilio.Chat.V2.ChannelInstance #{values}>"
621
+ end
622
+ end
623
+
624
+ end
606
625
  end
607
- end
608
626
  end
609
- end
610
627
  end
611
- end
612
- end
628
+ end
629
+
630
+