twilio-ruby 5.77.0 → 7.3.3

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