twilio-ruby 5.77.0 → 7.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,788 +1,783 @@
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
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Chat < Domain
12
- class V2 < Version
13
- class ServiceList < ListResource
14
- ##
15
- # Initialize the ServiceList
16
- # @param [Version] version Version that contains the resource
17
- # @return [ServiceList] ServiceList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Services"
24
- end
25
-
26
- ##
27
- # Create the ServiceInstance
28
- # @param [String] friendly_name A descriptive string that you create to describe
29
- # the new resource.
30
- # @return [ServiceInstance] Created ServiceInstance
31
- def create(friendly_name: nil)
32
- data = Twilio::Values.of({'FriendlyName' => friendly_name, })
33
-
34
- payload = @version.create('POST', @uri, data: data)
35
-
36
- ServiceInstance.new(@version, payload, )
37
- end
38
-
39
- ##
40
- # Lists ServiceInstance records from the API as a list.
41
- # Unlike stream(), this operation is eager and will load `limit` records into
42
- # memory before returning.
43
- # @param [Integer] limit Upper limit for the number of records to return. stream()
44
- # guarantees to never return more than limit. Default is no limit
45
- # @param [Integer] page_size Number of records to fetch per request, when
46
- # not set will use the default value of 50 records. If no page_size is defined
47
- # but a limit is defined, stream() will attempt to read the limit with the most
48
- # efficient page size, i.e. min(limit, 1000)
49
- # @return [Array] Array of up to limit results
50
- def list(limit: nil, page_size: nil)
51
- self.stream(limit: limit, page_size: page_size).entries
52
- end
53
-
54
- ##
55
- # Streams ServiceInstance records from the API as an Enumerable.
56
- # This operation lazily loads records as efficiently as possible until the limit
57
- # is reached.
58
- # @param [Integer] limit Upper limit for the number of records to return. stream()
59
- # guarantees to never return more than limit. Default is no limit.
60
- # @param [Integer] page_size Number of records to fetch per request, when
61
- # not set will use the default value of 50 records. If no page_size is defined
62
- # but a limit is defined, stream() will attempt to read the limit with the most
63
- # efficient page size, i.e. min(limit, 1000)
64
- # @return [Enumerable] Enumerable that will yield up to limit results
65
- def stream(limit: nil, page_size: nil)
66
- limits = @version.read_limits(limit, page_size)
67
-
68
- page = self.page(page_size: limits[:page_size], )
69
-
70
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
71
- end
72
-
73
- ##
74
- # When passed a block, yields ServiceInstance records from the API.
75
- # This operation lazily loads records as efficiently as possible until the limit
76
- # is reached.
77
- def each
78
- limits = @version.read_limits
79
-
80
- page = self.page(page_size: limits[:page_size], )
81
-
82
- @version.stream(page,
17
+ module REST
18
+ class Chat < ChatBase
19
+ class V2 < Version
20
+ class ServiceList < ListResource
21
+
22
+ ##
23
+ # Initialize the ServiceList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [ServiceList] ServiceList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/Services"
31
+
32
+ end
33
+ ##
34
+ # Create the ServiceInstance
35
+ # @param [String] friendly_name A descriptive string that you create to describe the new resource.
36
+ # @return [ServiceInstance] Created ServiceInstance
37
+ def create(
38
+ friendly_name: nil
39
+ )
40
+
41
+ data = Twilio::Values.of({
42
+ 'FriendlyName' => friendly_name,
43
+ })
44
+
45
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
46
+
47
+ payload = @version.create('POST', @uri, data: data, headers: headers)
48
+ ServiceInstance.new(
49
+ @version,
50
+ payload,
51
+ )
52
+ end
53
+
54
+
55
+ ##
56
+ # Lists ServiceInstance records from the API as a list.
57
+ # Unlike stream(), this operation is eager and will load `limit` records into
58
+ # memory before returning.
59
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
60
+ # guarantees to never return more than limit. Default is no limit
61
+ # @param [Integer] page_size Number of records to fetch per request, when
62
+ # not set will use the default value of 50 records. If no page_size is defined
63
+ # but a limit is defined, stream() will attempt to read the limit with the most
64
+ # efficient page size, i.e. min(limit, 1000)
65
+ # @return [Array] Array of up to limit results
66
+ def list(limit: nil, page_size: nil)
67
+ self.stream(
68
+ limit: limit,
69
+ page_size: page_size
70
+ ).entries
71
+ end
72
+
73
+ ##
74
+ # Streams Instance records from the API as an Enumerable.
75
+ # This operation lazily loads records as efficiently as possible until the limit
76
+ # is reached.
77
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
78
+ # guarantees to never return more than limit. Default is no limit
79
+ # @param [Integer] page_size Number of records to fetch per request, when
80
+ # not set will use the default value of 50 records. If no page_size is defined
81
+ # but a limit is defined, stream() will attempt to read the limit with the most
82
+ # efficient page size, i.e. min(limit, 1000)
83
+ # @return [Enumerable] Enumerable that will yield up to limit results
84
+ def stream(limit: nil, page_size: nil)
85
+ limits = @version.read_limits(limit, page_size)
86
+
87
+ page = self.page(
88
+ page_size: limits[:page_size], )
89
+
90
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
91
+ end
92
+
93
+ ##
94
+ # When passed a block, yields ServiceInstance records from the API.
95
+ # This operation lazily loads records as efficiently as possible until the limit
96
+ # is reached.
97
+ def each
98
+ limits = @version.read_limits
99
+
100
+ page = self.page(page_size: limits[:page_size], )
101
+
102
+ @version.stream(page,
83
103
  limit: limits[:limit],
84
104
  page_limit: limits[:page_limit]).each {|x| yield x}
85
- end
86
-
87
- ##
88
- # Retrieve a single page of ServiceInstance records from the API.
89
- # Request is executed immediately.
90
- # @param [String] page_token PageToken provided by the API
91
- # @param [Integer] page_number Page Number, this value is simply for client state
92
- # @param [Integer] page_size Number of records to return, defaults to 50
93
- # @return [Page] Page of ServiceInstance
94
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
95
- params = Twilio::Values.of({
96
- 'PageToken' => page_token,
97
- 'Page' => page_number,
98
- 'PageSize' => page_size,
99
- })
100
-
101
- response = @version.page('GET', @uri, params: params)
102
-
103
- ServicePage.new(@version, response, @solution)
104
- end
105
-
106
- ##
107
- # Retrieve a single page of ServiceInstance records from the API.
108
- # Request is executed immediately.
109
- # @param [String] target_url API-generated URL for the requested results page
110
- # @return [Page] Page of ServiceInstance
111
- def get_page(target_url)
112
- response = @version.domain.request(
113
- 'GET',
114
- target_url
115
- )
116
- ServicePage.new(@version, response, @solution)
117
- end
118
-
119
- ##
120
- # Provide a user friendly representation
121
- def to_s
122
- '#<Twilio.Chat.V2.ServiceList>'
123
- end
124
- end
125
-
126
- class ServicePage < Page
127
- ##
128
- # Initialize the ServicePage
129
- # @param [Version] version Version that contains the resource
130
- # @param [Response] response Response from the API
131
- # @param [Hash] solution Path solution for the resource
132
- # @return [ServicePage] ServicePage
133
- def initialize(version, response, solution)
134
- super(version, response)
135
-
136
- # Path Solution
137
- @solution = solution
138
- end
139
-
140
- ##
141
- # Build an instance of ServiceInstance
142
- # @param [Hash] payload Payload response from the API
143
- # @return [ServiceInstance] ServiceInstance
144
- def get_instance(payload)
145
- ServiceInstance.new(@version, payload, )
146
- end
147
-
148
- ##
149
- # Provide a user friendly representation
150
- def to_s
151
- '<Twilio.Chat.V2.ServicePage>'
152
- end
153
- end
154
-
155
- class ServiceContext < InstanceContext
156
- ##
157
- # Initialize the ServiceContext
158
- # @param [Version] version Version that contains the resource
159
- # @param [String] sid The SID of the Service resource to fetch.
160
- # @return [ServiceContext] ServiceContext
161
- def initialize(version, sid)
162
- super(version)
163
-
164
- # Path Solution
165
- @solution = {sid: sid, }
166
- @uri = "/Services/#{@solution[:sid]}"
167
-
168
- # Dependents
169
- @channels = nil
170
- @roles = nil
171
- @users = nil
172
- @bindings = nil
173
- end
174
-
175
- ##
176
- # Fetch the ServiceInstance
177
- # @return [ServiceInstance] Fetched ServiceInstance
178
- def fetch
179
- payload = @version.fetch('GET', @uri)
180
-
181
- ServiceInstance.new(@version, payload, sid: @solution[:sid], )
182
- end
183
-
184
- ##
185
- # Delete the ServiceInstance
186
- # @return [Boolean] true if delete succeeds, false otherwise
187
- def delete
188
- @version.delete('DELETE', @uri)
189
- end
190
-
191
- ##
192
- # Update the ServiceInstance
193
- # @param [String] friendly_name A descriptive string that you create to describe
194
- # the resource.
195
- # @param [String] default_service_role_sid The service role assigned to users when
196
- # they are added to the service. See the {Role
197
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
198
- # about roles.
199
- # @param [String] default_channel_role_sid The channel role assigned to users when
200
- # they are added to a channel. See the {Role
201
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
202
- # about roles.
203
- # @param [String] default_channel_creator_role_sid The channel role assigned to a
204
- # channel creator when they join a new channel. See the {Role
205
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
206
- # about roles.
207
- # @param [Boolean] read_status_enabled Whether to enable the {Message Consumption
208
- # Horizon}[https://www.twilio.com/docs/chat/consumption-horizon] feature. The
209
- # default is `true`.
210
- # @param [Boolean] reachability_enabled Whether to enable the {Reachability
211
- # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] for this
212
- # Service instance. The default is `false`.
213
- # @param [String] typing_indicator_timeout How long in seconds after a `started
214
- # typing` event until clients should assume that user is no longer typing, even if
215
- # no `ended typing` message was received. The default is 5 seconds.
216
- # @param [String] consumption_report_interval DEPRECATED. The interval in seconds
217
- # between consumption reports submission batches from client endpoints.
218
- # @param [Boolean] notifications_new_message_enabled Whether to send a
219
- # notification when a new message is added to a channel. The default is `false`.
220
- # @param [String] notifications_new_message_template The template to use to create
221
- # the notification text displayed when a new message is added to a channel and
222
- # `notifications.new_message.enabled` is `true`.
223
- # @param [String] notifications_new_message_sound The name of the sound to play
224
- # when a new message is added to a channel and `notifications.new_message.enabled`
225
- # is `true`.
226
- # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new
227
- # message badge is enabled. The default is `false`.
228
- # @param [Boolean] notifications_added_to_channel_enabled Whether to send a
229
- # notification when a member is added to a channel. The default is `false`.
230
- # @param [String] notifications_added_to_channel_template The template to use to
231
- # create the notification text displayed when a member is added to a channel and
232
- # `notifications.added_to_channel.enabled` is `true`.
233
- # @param [String] notifications_added_to_channel_sound The name of the sound to
234
- # play when a member is added to a channel and
235
- # `notifications.added_to_channel.enabled` is `true`.
236
- # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a
237
- # notification to a user when they are removed from a channel. The default is
238
- # `false`.
239
- # @param [String] notifications_removed_from_channel_template The template to use
240
- # to create the notification text displayed to a user when they are removed from a
241
- # channel and `notifications.removed_from_channel.enabled` is `true`.
242
- # @param [String] notifications_removed_from_channel_sound The name of the sound
243
- # to play to a user when they are removed from a channel and
244
- # `notifications.removed_from_channel.enabled` is `true`.
245
- # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a
246
- # notification when a user is invited to a channel. The default is `false`.
247
- # @param [String] notifications_invited_to_channel_template The template to use to
248
- # create the notification text displayed when a user is invited to a channel and
249
- # `notifications.invited_to_channel.enabled` is `true`.
250
- # @param [String] notifications_invited_to_channel_sound The name of the sound to
251
- # play when a user is invited to a channel and
252
- # `notifications.invited_to_channel.enabled` is `true`.
253
- # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called
254
- # by using the `webhook_method`. See {Webhook
255
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
256
- # @param [String] post_webhook_url The URL for post-event webhooks, which are
257
- # called by using the `webhook_method`. See {Webhook
258
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
259
- # @param [String] webhook_method The HTTP method to use for calls to the
260
- # `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and
261
- # the default is `POST`. See {Webhook
262
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
263
- # @param [Array[String]] webhook_filters The list of webhook events that are
264
- # enabled for this Service instance. See {Webhook
265
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
266
- # @param [String] limits_channel_members The maximum number of Members that can be
267
- # added to Channels within this Service. Can be up to 1,000.
268
- # @param [String] limits_user_channels The maximum number of Channels Users can be
269
- # a Member of within this Service. Can be up to 1,000.
270
- # @param [String] media_compatibility_message The message to send when a media
271
- # message has no text. Can be used as placeholder message.
272
- # @param [String] pre_webhook_retry_count The number of times to retry a call to
273
- # the `pre_webhook_url` if the request times out (after 5 seconds) or it receives
274
- # a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means
275
- # the call won't be retried.
276
- # @param [String] post_webhook_retry_count The number of times to retry a call to
277
- # the `post_webhook_url` if the request times out (after 5 seconds) or it receives
278
- # a 429, 503, or 504 HTTP response. The default is 0, which means the call won't
279
- # be retried.
280
- # @param [Boolean] notifications_log_enabled Whether to log notifications. The
281
- # default is `false`.
282
- # @return [ServiceInstance] Updated ServiceInstance
283
- def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset, notifications_log_enabled: :unset)
284
- data = Twilio::Values.of({
285
- 'FriendlyName' => friendly_name,
286
- 'DefaultServiceRoleSid' => default_service_role_sid,
287
- 'DefaultChannelRoleSid' => default_channel_role_sid,
288
- 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
289
- 'ReadStatusEnabled' => read_status_enabled,
290
- 'ReachabilityEnabled' => reachability_enabled,
291
- 'TypingIndicatorTimeout' => typing_indicator_timeout,
292
- 'ConsumptionReportInterval' => consumption_report_interval,
293
- 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
294
- 'Notifications.NewMessage.Template' => notifications_new_message_template,
295
- 'Notifications.NewMessage.Sound' => notifications_new_message_sound,
296
- 'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
297
- 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
298
- 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
299
- 'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
300
- 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
301
- 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
302
- 'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
303
- 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
304
- 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
305
- 'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
306
- 'PreWebhookUrl' => pre_webhook_url,
307
- 'PostWebhookUrl' => post_webhook_url,
308
- 'WebhookMethod' => webhook_method,
309
- 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
310
- 'Limits.ChannelMembers' => limits_channel_members,
311
- 'Limits.UserChannels' => limits_user_channels,
312
- 'Media.CompatibilityMessage' => media_compatibility_message,
313
- 'PreWebhookRetryCount' => pre_webhook_retry_count,
314
- 'PostWebhookRetryCount' => post_webhook_retry_count,
315
- 'Notifications.LogEnabled' => notifications_log_enabled,
316
- })
317
-
318
- payload = @version.update('POST', @uri, data: data)
319
-
320
- ServiceInstance.new(@version, payload, sid: @solution[:sid], )
321
- end
322
-
323
- ##
324
- # Access the channels
325
- # @return [ChannelList]
326
- # @return [ChannelContext] if sid was passed.
327
- def channels(sid=:unset)
328
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
329
-
330
- if sid != :unset
331
- return ChannelContext.new(@version, @solution[:sid], sid, )
332
- end
333
-
334
- unless @channels
335
- @channels = ChannelList.new(@version, service_sid: @solution[:sid], )
336
- end
337
-
338
- @channels
339
- end
340
-
341
- ##
342
- # Access the roles
343
- # @return [RoleList]
344
- # @return [RoleContext] if sid was passed.
345
- def roles(sid=:unset)
346
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
347
-
348
- if sid != :unset
349
- return RoleContext.new(@version, @solution[:sid], sid, )
350
- end
351
-
352
- unless @roles
353
- @roles = RoleList.new(@version, service_sid: @solution[:sid], )
354
- end
355
-
356
- @roles
357
- end
358
-
359
- ##
360
- # Access the users
361
- # @return [UserList]
362
- # @return [UserContext] if sid was passed.
363
- def users(sid=:unset)
364
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
365
-
366
- if sid != :unset
367
- return UserContext.new(@version, @solution[:sid], sid, )
368
- end
369
-
370
- unless @users
371
- @users = UserList.new(@version, service_sid: @solution[:sid], )
372
- end
373
-
374
- @users
375
- end
376
-
377
- ##
378
- # Access the bindings
379
- # @return [BindingList]
380
- # @return [BindingContext] if sid was passed.
381
- def bindings(sid=:unset)
382
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
383
-
384
- if sid != :unset
385
- return BindingContext.new(@version, @solution[:sid], sid, )
386
- end
387
-
388
- unless @bindings
389
- @bindings = BindingList.new(@version, service_sid: @solution[:sid], )
390
- end
391
-
392
- @bindings
393
- end
394
-
395
- ##
396
- # Provide a user friendly representation
397
- def to_s
398
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
399
- "#<Twilio.Chat.V2.ServiceContext #{context}>"
400
- end
401
-
402
- ##
403
- # Provide a detailed, user friendly representation
404
- def inspect
405
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
406
- "#<Twilio.Chat.V2.ServiceContext #{context}>"
407
- end
408
- end
105
+ end
106
+
107
+ ##
108
+ # Retrieve a single page of ServiceInstance records from the API.
109
+ # Request is executed immediately.
110
+ # @param [String] page_token PageToken provided by the API
111
+ # @param [Integer] page_number Page Number, this value is simply for client state
112
+ # @param [Integer] page_size Number of records to return, defaults to 50
113
+ # @return [Page] Page of ServiceInstance
114
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
115
+ params = Twilio::Values.of({
116
+ 'PageToken' => page_token,
117
+ 'Page' => page_number,
118
+ 'PageSize' => page_size,
119
+ })
120
+
121
+ response = @version.page('GET', @uri, params: params)
122
+
123
+ ServicePage.new(@version, response, @solution)
124
+ end
125
+
126
+ ##
127
+ # Retrieve a single page of ServiceInstance records from the API.
128
+ # Request is executed immediately.
129
+ # @param [String] target_url API-generated URL for the requested results page
130
+ # @return [Page] Page of ServiceInstance
131
+ def get_page(target_url)
132
+ response = @version.domain.request(
133
+ 'GET',
134
+ target_url
135
+ )
136
+ ServicePage.new(@version, response, @solution)
137
+ end
138
+
139
+
140
+
141
+ # Provide a user friendly representation
142
+ def to_s
143
+ '#<Twilio.Chat.V2.ServiceList>'
144
+ end
145
+ end
146
+
147
+
148
+ class ServiceContext < InstanceContext
149
+ ##
150
+ # Initialize the ServiceContext
151
+ # @param [Version] version Version that contains the resource
152
+ # @param [String] sid The SID of the Service resource to update.
153
+ # @return [ServiceContext] ServiceContext
154
+ def initialize(version, sid)
155
+ super(version)
156
+
157
+ # Path Solution
158
+ @solution = { sid: sid, }
159
+ @uri = "/Services/#{@solution[:sid]}"
160
+
161
+ # Dependents
162
+ @bindings = nil
163
+ @channels = nil
164
+ @roles = nil
165
+ @users = nil
166
+ end
167
+ ##
168
+ # Delete the ServiceInstance
169
+ # @return [Boolean] True if delete succeeds, false otherwise
170
+ def delete
171
+
172
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
173
+
174
+ @version.delete('DELETE', @uri, headers: headers)
175
+ end
176
+
177
+ ##
178
+ # Fetch the ServiceInstance
179
+ # @return [ServiceInstance] Fetched ServiceInstance
180
+ def fetch
181
+
182
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
183
+
184
+ payload = @version.fetch('GET', @uri, headers: headers)
185
+ ServiceInstance.new(
186
+ @version,
187
+ payload,
188
+ sid: @solution[:sid],
189
+ )
190
+ end
191
+
192
+ ##
193
+ # Update the ServiceInstance
194
+ # @param [String] friendly_name A descriptive string that you create to describe the resource.
195
+ # @param [String] default_service_role_sid The service role assigned to users when they are added to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
196
+ # @param [String] default_channel_role_sid The channel role assigned to users when they are added to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
197
+ # @param [String] default_channel_creator_role_sid The channel role assigned to a channel creator when they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
198
+ # @param [Boolean] read_status_enabled Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`.
199
+ # @param [Boolean] reachability_enabled Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`.
200
+ # @param [String] typing_indicator_timeout How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds.
201
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
202
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. The default is `false`.
203
+ # @param [String] notifications_new_message_template The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`.
204
+ # @param [String] notifications_new_message_sound The name of the sound to play when a new message is added to a channel and `notifications.new_message.enabled` is `true`.
205
+ # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new message badge is enabled. The default is `false`.
206
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. The default is `false`.
207
+ # @param [String] notifications_added_to_channel_template The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.
208
+ # @param [String] notifications_added_to_channel_sound The name of the sound to play when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.
209
+ # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a notification to a user when they are removed from a channel. The default is `false`.
210
+ # @param [String] notifications_removed_from_channel_template The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.
211
+ # @param [String] notifications_removed_from_channel_sound The name of the sound to play to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.
212
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. The default is `false`.
213
+ # @param [String] notifications_invited_to_channel_template The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.
214
+ # @param [String] notifications_invited_to_channel_sound The name of the sound to play when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.
215
+ # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
216
+ # @param [String] post_webhook_url The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
217
+ # @param [String] webhook_method The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
218
+ # @param [Array[String]] webhook_filters The list of webhook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
219
+ # @param [String] limits_channel_members The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000.
220
+ # @param [String] limits_user_channels The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000.
221
+ # @param [String] media_compatibility_message The message to send when a media message has no text. Can be used as placeholder message.
222
+ # @param [String] pre_webhook_retry_count The number of times to retry a call to the `pre_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried.
223
+ # @param [String] post_webhook_retry_count The number of times to retry a call to the `post_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried.
224
+ # @param [Boolean] notifications_log_enabled Whether to log notifications. The default is `false`.
225
+ # @return [ServiceInstance] Updated ServiceInstance
226
+ def update(
227
+ friendly_name: :unset,
228
+ default_service_role_sid: :unset,
229
+ default_channel_role_sid: :unset,
230
+ default_channel_creator_role_sid: :unset,
231
+ read_status_enabled: :unset,
232
+ reachability_enabled: :unset,
233
+ typing_indicator_timeout: :unset,
234
+ consumption_report_interval: :unset,
235
+ notifications_new_message_enabled: :unset,
236
+ notifications_new_message_template: :unset,
237
+ notifications_new_message_sound: :unset,
238
+ notifications_new_message_badge_count_enabled: :unset,
239
+ notifications_added_to_channel_enabled: :unset,
240
+ notifications_added_to_channel_template: :unset,
241
+ notifications_added_to_channel_sound: :unset,
242
+ notifications_removed_from_channel_enabled: :unset,
243
+ notifications_removed_from_channel_template: :unset,
244
+ notifications_removed_from_channel_sound: :unset,
245
+ notifications_invited_to_channel_enabled: :unset,
246
+ notifications_invited_to_channel_template: :unset,
247
+ notifications_invited_to_channel_sound: :unset,
248
+ pre_webhook_url: :unset,
249
+ post_webhook_url: :unset,
250
+ webhook_method: :unset,
251
+ webhook_filters: :unset,
252
+ limits_channel_members: :unset,
253
+ limits_user_channels: :unset,
254
+ media_compatibility_message: :unset,
255
+ pre_webhook_retry_count: :unset,
256
+ post_webhook_retry_count: :unset,
257
+ notifications_log_enabled: :unset
258
+ )
259
+
260
+ data = Twilio::Values.of({
261
+ 'FriendlyName' => friendly_name,
262
+ 'DefaultServiceRoleSid' => default_service_role_sid,
263
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
264
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
265
+ 'ReadStatusEnabled' => read_status_enabled,
266
+ 'ReachabilityEnabled' => reachability_enabled,
267
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
268
+ 'ConsumptionReportInterval' => consumption_report_interval,
269
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
270
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
271
+ 'Notifications.NewMessage.Sound' => notifications_new_message_sound,
272
+ 'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
273
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
274
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
275
+ 'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
276
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
277
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
278
+ 'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
279
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
280
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
281
+ 'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
282
+ 'PreWebhookUrl' => pre_webhook_url,
283
+ 'PostWebhookUrl' => post_webhook_url,
284
+ 'WebhookMethod' => webhook_method,
285
+ 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
286
+ 'Limits.ChannelMembers' => limits_channel_members,
287
+ 'Limits.UserChannels' => limits_user_channels,
288
+ 'Media.CompatibilityMessage' => media_compatibility_message,
289
+ 'PreWebhookRetryCount' => pre_webhook_retry_count,
290
+ 'PostWebhookRetryCount' => post_webhook_retry_count,
291
+ 'Notifications.LogEnabled' => notifications_log_enabled,
292
+ })
293
+
294
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
295
+
296
+ payload = @version.update('POST', @uri, data: data, headers: headers)
297
+ ServiceInstance.new(
298
+ @version,
299
+ payload,
300
+ sid: @solution[:sid],
301
+ )
302
+ end
303
+
304
+ ##
305
+ # Access the bindings
306
+ # @return [BindingList]
307
+ # @return [BindingContext] if sid was passed.
308
+ def bindings(sid=:unset)
309
+
310
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
311
+
312
+ if sid != :unset
313
+ return BindingContext.new(@version, @solution[:sid],sid )
314
+ end
315
+
316
+ unless @bindings
317
+ @bindings = BindingList.new(
318
+ @version, service_sid: @solution[:sid], )
319
+ end
320
+
321
+ @bindings
322
+ end
323
+ ##
324
+ # Access the channels
325
+ # @return [ChannelList]
326
+ # @return [ChannelContext] if sid was passed.
327
+ def channels(sid=:unset)
328
+
329
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
330
+
331
+ if sid != :unset
332
+ return ChannelContext.new(@version, @solution[:sid],sid )
333
+ end
334
+
335
+ unless @channels
336
+ @channels = ChannelList.new(
337
+ @version, service_sid: @solution[:sid], )
338
+ end
339
+
340
+ @channels
341
+ end
342
+ ##
343
+ # Access the roles
344
+ # @return [RoleList]
345
+ # @return [RoleContext] if sid was passed.
346
+ def roles(sid=:unset)
347
+
348
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
349
+
350
+ if sid != :unset
351
+ return RoleContext.new(@version, @solution[:sid],sid )
352
+ end
353
+
354
+ unless @roles
355
+ @roles = RoleList.new(
356
+ @version, service_sid: @solution[:sid], )
357
+ end
358
+
359
+ @roles
360
+ end
361
+ ##
362
+ # Access the users
363
+ # @return [UserList]
364
+ # @return [UserContext] if sid was passed.
365
+ def users(sid=:unset)
366
+
367
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
368
+
369
+ if sid != :unset
370
+ return UserContext.new(@version, @solution[:sid],sid )
371
+ end
372
+
373
+ unless @users
374
+ @users = UserList.new(
375
+ @version, service_sid: @solution[:sid], )
376
+ end
377
+
378
+ @users
379
+ end
380
+
381
+ ##
382
+ # Provide a user friendly representation
383
+ def to_s
384
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
385
+ "#<Twilio.Chat.V2.ServiceContext #{context}>"
386
+ end
387
+
388
+ ##
389
+ # Provide a detailed, user friendly representation
390
+ def inspect
391
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
392
+ "#<Twilio.Chat.V2.ServiceContext #{context}>"
393
+ end
394
+ end
395
+
396
+ class ServicePage < Page
397
+ ##
398
+ # Initialize the ServicePage
399
+ # @param [Version] version Version that contains the resource
400
+ # @param [Response] response Response from the API
401
+ # @param [Hash] solution Path solution for the resource
402
+ # @return [ServicePage] ServicePage
403
+ def initialize(version, response, solution)
404
+ super(version, response)
405
+
406
+ # Path Solution
407
+ @solution = solution
408
+ end
409
+
410
+ ##
411
+ # Build an instance of ServiceInstance
412
+ # @param [Hash] payload Payload response from the API
413
+ # @return [ServiceInstance] ServiceInstance
414
+ def get_instance(payload)
415
+ ServiceInstance.new(@version, payload)
416
+ end
417
+
418
+ ##
419
+ # Provide a user friendly representation
420
+ def to_s
421
+ '<Twilio.Chat.V2.ServicePage>'
422
+ end
423
+ end
424
+ class ServiceInstance < InstanceResource
425
+ ##
426
+ # Initialize the ServiceInstance
427
+ # @param [Version] version Version that contains the resource
428
+ # @param [Hash] payload payload that contains response from Twilio
429
+ # @param [String] account_sid The SID of the
430
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Service
431
+ # resource.
432
+ # @param [String] sid The SID of the Call resource to fetch.
433
+ # @return [ServiceInstance] ServiceInstance
434
+ def initialize(version, payload , sid: nil)
435
+ super(version)
436
+
437
+ # Marshaled Properties
438
+ @properties = {
439
+ 'sid' => payload['sid'],
440
+ 'account_sid' => payload['account_sid'],
441
+ 'friendly_name' => payload['friendly_name'],
442
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
443
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
444
+ 'default_service_role_sid' => payload['default_service_role_sid'],
445
+ 'default_channel_role_sid' => payload['default_channel_role_sid'],
446
+ 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
447
+ 'read_status_enabled' => payload['read_status_enabled'],
448
+ 'reachability_enabled' => payload['reachability_enabled'],
449
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
450
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
451
+ 'limits' => payload['limits'],
452
+ 'pre_webhook_url' => payload['pre_webhook_url'],
453
+ 'post_webhook_url' => payload['post_webhook_url'],
454
+ 'webhook_method' => payload['webhook_method'],
455
+ 'webhook_filters' => payload['webhook_filters'],
456
+ 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
457
+ 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
458
+ 'notifications' => payload['notifications'],
459
+ 'media' => payload['media'],
460
+ 'url' => payload['url'],
461
+ 'links' => payload['links'],
462
+ }
463
+
464
+ # Context
465
+ @instance_context = nil
466
+ @params = { 'sid' => sid || @properties['sid'] , }
467
+ end
468
+
469
+ ##
470
+ # Generate an instance context for the instance, the context is capable of
471
+ # performing various actions. All instance actions are proxied to the context
472
+ # @return [ServiceContext] CallContext for this CallInstance
473
+ def context
474
+ unless @instance_context
475
+ @instance_context = ServiceContext.new(@version , @params['sid'])
476
+ end
477
+ @instance_context
478
+ end
479
+
480
+ ##
481
+ # @return [String] The unique string that we created to identify the Service resource.
482
+ def sid
483
+ @properties['sid']
484
+ end
485
+
486
+ ##
487
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Service resource.
488
+ def account_sid
489
+ @properties['account_sid']
490
+ end
491
+
492
+ ##
493
+ # @return [String] The string that you assigned to describe the resource.
494
+ def friendly_name
495
+ @properties['friendly_name']
496
+ end
497
+
498
+ ##
499
+ # @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.
500
+ def date_created
501
+ @properties['date_created']
502
+ end
503
+
504
+ ##
505
+ # @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.
506
+ def date_updated
507
+ @properties['date_updated']
508
+ end
509
+
510
+ ##
511
+ # @return [String] The service role assigned to users when they are added to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
512
+ def default_service_role_sid
513
+ @properties['default_service_role_sid']
514
+ end
515
+
516
+ ##
517
+ # @return [String] The channel role assigned to users when they are added to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
518
+ def default_channel_role_sid
519
+ @properties['default_channel_role_sid']
520
+ end
521
+
522
+ ##
523
+ # @return [String] The channel role assigned to a channel creator when they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
524
+ def default_channel_creator_role_sid
525
+ @properties['default_channel_creator_role_sid']
526
+ end
527
+
528
+ ##
529
+ # @return [Boolean] Whether the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is `true`.
530
+ def read_status_enabled
531
+ @properties['read_status_enabled']
532
+ end
533
+
534
+ ##
535
+ # @return [Boolean] Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is `false`.
536
+ def reachability_enabled
537
+ @properties['reachability_enabled']
538
+ end
539
+
540
+ ##
541
+ # @return [String] How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds.
542
+ def typing_indicator_timeout
543
+ @properties['typing_indicator_timeout']
544
+ end
545
+
546
+ ##
547
+ # @return [String] DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
548
+ def consumption_report_interval
549
+ @properties['consumption_report_interval']
550
+ end
551
+
552
+ ##
553
+ # @return [Hash] An object that describes the limits of the service instance. The `limits` object contains `channel_members` to describe the members/channel limit and `user_channels` to describe the channels/user limit. `channel_members` can be 1,000 or less, with a default of 250. `user_channels` can be 1,000 or less, with a default value of 100.
554
+ def limits
555
+ @properties['limits']
556
+ end
557
+
558
+ ##
559
+ # @return [String] The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
560
+ def pre_webhook_url
561
+ @properties['pre_webhook_url']
562
+ end
563
+
564
+ ##
565
+ # @return [String] The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
566
+ def post_webhook_url
567
+ @properties['post_webhook_url']
568
+ end
569
+
570
+ ##
571
+ # @return [String] The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
572
+ def webhook_method
573
+ @properties['webhook_method']
574
+ end
575
+
576
+ ##
577
+ # @return [Array<String>] The list of webhook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
578
+ def webhook_filters
579
+ @properties['webhook_filters']
580
+ end
581
+
582
+ ##
583
+ # @return [String] The number of times to retry a call to the `pre_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried.
584
+ def pre_webhook_retry_count
585
+ @properties['pre_webhook_retry_count']
586
+ end
587
+
588
+ ##
589
+ # @return [String] The number of times to retry a call to the `post_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried.
590
+ def post_webhook_retry_count
591
+ @properties['post_webhook_retry_count']
592
+ end
593
+
594
+ ##
595
+ # @return [Hash] The notification configuration for the Service instance. See [Push Notification Configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more info.
596
+ def notifications
597
+ @properties['notifications']
598
+ end
599
+
600
+ ##
601
+ # @return [Hash] An object that describes the properties of media that the service supports. The object contains the `size_limit_mb` property, which describes the size of the largest media file in MB; and the `compatibility_message` property, which contains the message text to send when a media message does not have any text.
602
+ def media
603
+ @properties['media']
604
+ end
605
+
606
+ ##
607
+ # @return [String] The absolute URL of the Service resource.
608
+ def url
609
+ @properties['url']
610
+ end
611
+
612
+ ##
613
+ # @return [Hash] The absolute URLs of the Service's [Channels](https://www.twilio.com/docs/chat/channels), [Roles](https://www.twilio.com/docs/chat/rest/role-resource), [Bindings](https://www.twilio.com/docs/chat/rest/binding-resource), and [Users](https://www.twilio.com/docs/chat/rest/user-resource).
614
+ def links
615
+ @properties['links']
616
+ end
617
+
618
+ ##
619
+ # Delete the ServiceInstance
620
+ # @return [Boolean] True if delete succeeds, false otherwise
621
+ def delete
622
+
623
+ context.delete
624
+ end
625
+
626
+ ##
627
+ # Fetch the ServiceInstance
628
+ # @return [ServiceInstance] Fetched ServiceInstance
629
+ def fetch
630
+
631
+ context.fetch
632
+ end
633
+
634
+ ##
635
+ # Update the ServiceInstance
636
+ # @param [String] friendly_name A descriptive string that you create to describe the resource.
637
+ # @param [String] default_service_role_sid The service role assigned to users when they are added to the service. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
638
+ # @param [String] default_channel_role_sid The channel role assigned to users when they are added to a channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
639
+ # @param [String] default_channel_creator_role_sid The channel role assigned to a channel creator when they join a new channel. See the [Role resource](https://www.twilio.com/docs/chat/rest/role-resource) for more info about roles.
640
+ # @param [Boolean] read_status_enabled Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`.
641
+ # @param [Boolean] reachability_enabled Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`.
642
+ # @param [String] typing_indicator_timeout How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds.
643
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
644
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. The default is `false`.
645
+ # @param [String] notifications_new_message_template The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`.
646
+ # @param [String] notifications_new_message_sound The name of the sound to play when a new message is added to a channel and `notifications.new_message.enabled` is `true`.
647
+ # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new message badge is enabled. The default is `false`.
648
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. The default is `false`.
649
+ # @param [String] notifications_added_to_channel_template The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.
650
+ # @param [String] notifications_added_to_channel_sound The name of the sound to play when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`.
651
+ # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a notification to a user when they are removed from a channel. The default is `false`.
652
+ # @param [String] notifications_removed_from_channel_template The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.
653
+ # @param [String] notifications_removed_from_channel_sound The name of the sound to play to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`.
654
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. The default is `false`.
655
+ # @param [String] notifications_invited_to_channel_template The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.
656
+ # @param [String] notifications_invited_to_channel_sound The name of the sound to play when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`.
657
+ # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
658
+ # @param [String] post_webhook_url The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
659
+ # @param [String] webhook_method The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
660
+ # @param [Array[String]] webhook_filters The list of webhook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details.
661
+ # @param [String] limits_channel_members The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000.
662
+ # @param [String] limits_user_channels The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000.
663
+ # @param [String] media_compatibility_message The message to send when a media message has no text. Can be used as placeholder message.
664
+ # @param [String] pre_webhook_retry_count The number of times to retry a call to the `pre_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried.
665
+ # @param [String] post_webhook_retry_count The number of times to retry a call to the `post_webhook_url` if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried.
666
+ # @param [Boolean] notifications_log_enabled Whether to log notifications. The default is `false`.
667
+ # @return [ServiceInstance] Updated ServiceInstance
668
+ def update(
669
+ friendly_name: :unset,
670
+ default_service_role_sid: :unset,
671
+ default_channel_role_sid: :unset,
672
+ default_channel_creator_role_sid: :unset,
673
+ read_status_enabled: :unset,
674
+ reachability_enabled: :unset,
675
+ typing_indicator_timeout: :unset,
676
+ consumption_report_interval: :unset,
677
+ notifications_new_message_enabled: :unset,
678
+ notifications_new_message_template: :unset,
679
+ notifications_new_message_sound: :unset,
680
+ notifications_new_message_badge_count_enabled: :unset,
681
+ notifications_added_to_channel_enabled: :unset,
682
+ notifications_added_to_channel_template: :unset,
683
+ notifications_added_to_channel_sound: :unset,
684
+ notifications_removed_from_channel_enabled: :unset,
685
+ notifications_removed_from_channel_template: :unset,
686
+ notifications_removed_from_channel_sound: :unset,
687
+ notifications_invited_to_channel_enabled: :unset,
688
+ notifications_invited_to_channel_template: :unset,
689
+ notifications_invited_to_channel_sound: :unset,
690
+ pre_webhook_url: :unset,
691
+ post_webhook_url: :unset,
692
+ webhook_method: :unset,
693
+ webhook_filters: :unset,
694
+ limits_channel_members: :unset,
695
+ limits_user_channels: :unset,
696
+ media_compatibility_message: :unset,
697
+ pre_webhook_retry_count: :unset,
698
+ post_webhook_retry_count: :unset,
699
+ notifications_log_enabled: :unset
700
+ )
701
+
702
+ context.update(
703
+ friendly_name: friendly_name,
704
+ default_service_role_sid: default_service_role_sid,
705
+ default_channel_role_sid: default_channel_role_sid,
706
+ default_channel_creator_role_sid: default_channel_creator_role_sid,
707
+ read_status_enabled: read_status_enabled,
708
+ reachability_enabled: reachability_enabled,
709
+ typing_indicator_timeout: typing_indicator_timeout,
710
+ consumption_report_interval: consumption_report_interval,
711
+ notifications_new_message_enabled: notifications_new_message_enabled,
712
+ notifications_new_message_template: notifications_new_message_template,
713
+ notifications_new_message_sound: notifications_new_message_sound,
714
+ notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
715
+ notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
716
+ notifications_added_to_channel_template: notifications_added_to_channel_template,
717
+ notifications_added_to_channel_sound: notifications_added_to_channel_sound,
718
+ notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
719
+ notifications_removed_from_channel_template: notifications_removed_from_channel_template,
720
+ notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
721
+ notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
722
+ notifications_invited_to_channel_template: notifications_invited_to_channel_template,
723
+ notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
724
+ pre_webhook_url: pre_webhook_url,
725
+ post_webhook_url: post_webhook_url,
726
+ webhook_method: webhook_method,
727
+ webhook_filters: webhook_filters,
728
+ limits_channel_members: limits_channel_members,
729
+ limits_user_channels: limits_user_channels,
730
+ media_compatibility_message: media_compatibility_message,
731
+ pre_webhook_retry_count: pre_webhook_retry_count,
732
+ post_webhook_retry_count: post_webhook_retry_count,
733
+ notifications_log_enabled: notifications_log_enabled,
734
+ )
735
+ end
736
+
737
+ ##
738
+ # Access the bindings
739
+ # @return [bindings] bindings
740
+ def bindings
741
+ context.bindings
742
+ end
743
+
744
+ ##
745
+ # Access the channels
746
+ # @return [channels] channels
747
+ def channels
748
+ context.channels
749
+ end
750
+
751
+ ##
752
+ # Access the roles
753
+ # @return [roles] roles
754
+ def roles
755
+ context.roles
756
+ end
757
+
758
+ ##
759
+ # Access the users
760
+ # @return [users] users
761
+ def users
762
+ context.users
763
+ end
764
+
765
+ ##
766
+ # Provide a user friendly representation
767
+ def to_s
768
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
769
+ "<Twilio.Chat.V2.ServiceInstance #{values}>"
770
+ end
771
+
772
+ ##
773
+ # Provide a detailed, user friendly representation
774
+ def inspect
775
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
776
+ "<Twilio.Chat.V2.ServiceInstance #{values}>"
777
+ end
778
+ end
409
779
 
410
- class ServiceInstance < InstanceResource
411
- ##
412
- # Initialize the ServiceInstance
413
- # @param [Version] version Version that contains the resource
414
- # @param [Hash] payload payload that contains response from Twilio
415
- # @param [String] sid The SID of the Service resource to fetch.
416
- # @return [ServiceInstance] ServiceInstance
417
- def initialize(version, payload, sid: nil)
418
- super(version)
419
-
420
- # Marshaled Properties
421
- @properties = {
422
- 'sid' => payload['sid'],
423
- 'account_sid' => payload['account_sid'],
424
- 'friendly_name' => payload['friendly_name'],
425
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
426
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
427
- 'default_service_role_sid' => payload['default_service_role_sid'],
428
- 'default_channel_role_sid' => payload['default_channel_role_sid'],
429
- 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
430
- 'read_status_enabled' => payload['read_status_enabled'],
431
- 'reachability_enabled' => payload['reachability_enabled'],
432
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
433
- 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
434
- 'limits' => payload['limits'],
435
- 'pre_webhook_url' => payload['pre_webhook_url'],
436
- 'post_webhook_url' => payload['post_webhook_url'],
437
- 'webhook_method' => payload['webhook_method'],
438
- 'webhook_filters' => payload['webhook_filters'],
439
- 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
440
- 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
441
- 'notifications' => payload['notifications'],
442
- 'media' => payload['media'],
443
- 'url' => payload['url'],
444
- 'links' => payload['links'],
445
- }
446
-
447
- # Context
448
- @instance_context = nil
449
- @params = {'sid' => sid || @properties['sid'], }
450
- end
451
-
452
- ##
453
- # Generate an instance context for the instance, the context is capable of
454
- # performing various actions. All instance actions are proxied to the context
455
- # @return [ServiceContext] ServiceContext for this ServiceInstance
456
- def context
457
- unless @instance_context
458
- @instance_context = ServiceContext.new(@version, @params['sid'], )
459
780
  end
460
- @instance_context
461
- end
462
-
463
- ##
464
- # @return [String] The unique string that identifies the resource
465
- def sid
466
- @properties['sid']
467
- end
468
-
469
- ##
470
- # @return [String] The SID of the Account that created the resource
471
- def account_sid
472
- @properties['account_sid']
473
- end
474
-
475
- ##
476
- # @return [String] The string that you assigned to describe the resource
477
- def friendly_name
478
- @properties['friendly_name']
479
- end
480
-
481
- ##
482
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
483
- def date_created
484
- @properties['date_created']
485
- end
486
-
487
- ##
488
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
489
- def date_updated
490
- @properties['date_updated']
491
- end
492
-
493
- ##
494
- # @return [String] The service role assigned to users when they are added to the service
495
- def default_service_role_sid
496
- @properties['default_service_role_sid']
497
- end
498
-
499
- ##
500
- # @return [String] The channel role assigned to users when they are added to a channel
501
- def default_channel_role_sid
502
- @properties['default_channel_role_sid']
503
- end
504
-
505
- ##
506
- # @return [String] The channel role assigned to a channel creator when they join a new channel
507
- def default_channel_creator_role_sid
508
- @properties['default_channel_creator_role_sid']
509
- end
510
-
511
- ##
512
- # @return [Boolean] Whether the Message Consumption Horizon feature is enabled
513
- def read_status_enabled
514
- @properties['read_status_enabled']
515
- end
516
-
517
- ##
518
- # @return [Boolean] Whether the Reachability Indicator feature is enabled for this Service instance
519
- def reachability_enabled
520
- @properties['reachability_enabled']
521
- end
522
-
523
- ##
524
- # @return [String] How long in seconds to wait before assuming the user is no longer typing
525
- def typing_indicator_timeout
526
- @properties['typing_indicator_timeout']
527
- end
528
-
529
- ##
530
- # @return [String] DEPRECATED
531
- def consumption_report_interval
532
- @properties['consumption_report_interval']
533
- end
534
-
535
- ##
536
- # @return [Hash] An object that describes the limits of the service instance
537
- def limits
538
- @properties['limits']
539
- end
540
-
541
- ##
542
- # @return [String] The webhook URL for pre-event webhooks
543
- def pre_webhook_url
544
- @properties['pre_webhook_url']
545
- end
546
-
547
- ##
548
- # @return [String] The URL for post-event webhooks
549
- def post_webhook_url
550
- @properties['post_webhook_url']
551
- end
552
-
553
- ##
554
- # @return [String] The HTTP method to use for both PRE and POST webhooks
555
- def webhook_method
556
- @properties['webhook_method']
557
- end
558
-
559
- ##
560
- # @return [Array[String]] The list of webhook events that are enabled for this Service instance
561
- def webhook_filters
562
- @properties['webhook_filters']
563
- end
564
-
565
- ##
566
- # @return [String] Count of times webhook will be retried in case of timeout or 429/503/504 HTTP responses
567
- def pre_webhook_retry_count
568
- @properties['pre_webhook_retry_count']
569
- end
570
-
571
- ##
572
- # @return [String] The number of times calls to the `post_webhook_url` will be retried
573
- def post_webhook_retry_count
574
- @properties['post_webhook_retry_count']
575
- end
576
-
577
- ##
578
- # @return [Hash] The notification configuration for the Service instance
579
- def notifications
580
- @properties['notifications']
581
- end
582
-
583
- ##
584
- # @return [Hash] The properties of the media that the service supports
585
- def media
586
- @properties['media']
587
- end
588
-
589
- ##
590
- # @return [String] The absolute URL of the Service resource
591
- def url
592
- @properties['url']
593
- end
594
-
595
- ##
596
- # @return [String] The absolute URLs of the Service's Channels, Roles, and Users
597
- def links
598
- @properties['links']
599
- end
600
-
601
- ##
602
- # Fetch the ServiceInstance
603
- # @return [ServiceInstance] Fetched ServiceInstance
604
- def fetch
605
- context.fetch
606
- end
607
-
608
- ##
609
- # Delete the ServiceInstance
610
- # @return [Boolean] true if delete succeeds, false otherwise
611
- def delete
612
- context.delete
613
- end
614
-
615
- ##
616
- # Update the ServiceInstance
617
- # @param [String] friendly_name A descriptive string that you create to describe
618
- # the resource.
619
- # @param [String] default_service_role_sid The service role assigned to users when
620
- # they are added to the service. See the {Role
621
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
622
- # about roles.
623
- # @param [String] default_channel_role_sid The channel role assigned to users when
624
- # they are added to a channel. See the {Role
625
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
626
- # about roles.
627
- # @param [String] default_channel_creator_role_sid The channel role assigned to a
628
- # channel creator when they join a new channel. See the {Role
629
- # resource}[https://www.twilio.com/docs/chat/rest/role-resource] for more info
630
- # about roles.
631
- # @param [Boolean] read_status_enabled Whether to enable the {Message Consumption
632
- # Horizon}[https://www.twilio.com/docs/chat/consumption-horizon] feature. The
633
- # default is `true`.
634
- # @param [Boolean] reachability_enabled Whether to enable the {Reachability
635
- # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] for this
636
- # Service instance. The default is `false`.
637
- # @param [String] typing_indicator_timeout How long in seconds after a `started
638
- # typing` event until clients should assume that user is no longer typing, even if
639
- # no `ended typing` message was received. The default is 5 seconds.
640
- # @param [String] consumption_report_interval DEPRECATED. The interval in seconds
641
- # between consumption reports submission batches from client endpoints.
642
- # @param [Boolean] notifications_new_message_enabled Whether to send a
643
- # notification when a new message is added to a channel. The default is `false`.
644
- # @param [String] notifications_new_message_template The template to use to create
645
- # the notification text displayed when a new message is added to a channel and
646
- # `notifications.new_message.enabled` is `true`.
647
- # @param [String] notifications_new_message_sound The name of the sound to play
648
- # when a new message is added to a channel and `notifications.new_message.enabled`
649
- # is `true`.
650
- # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new
651
- # message badge is enabled. The default is `false`.
652
- # @param [Boolean] notifications_added_to_channel_enabled Whether to send a
653
- # notification when a member is added to a channel. The default is `false`.
654
- # @param [String] notifications_added_to_channel_template The template to use to
655
- # create the notification text displayed when a member is added to a channel and
656
- # `notifications.added_to_channel.enabled` is `true`.
657
- # @param [String] notifications_added_to_channel_sound The name of the sound to
658
- # play when a member is added to a channel and
659
- # `notifications.added_to_channel.enabled` is `true`.
660
- # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a
661
- # notification to a user when they are removed from a channel. The default is
662
- # `false`.
663
- # @param [String] notifications_removed_from_channel_template The template to use
664
- # to create the notification text displayed to a user when they are removed from a
665
- # channel and `notifications.removed_from_channel.enabled` is `true`.
666
- # @param [String] notifications_removed_from_channel_sound The name of the sound
667
- # to play to a user when they are removed from a channel and
668
- # `notifications.removed_from_channel.enabled` is `true`.
669
- # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a
670
- # notification when a user is invited to a channel. The default is `false`.
671
- # @param [String] notifications_invited_to_channel_template The template to use to
672
- # create the notification text displayed when a user is invited to a channel and
673
- # `notifications.invited_to_channel.enabled` is `true`.
674
- # @param [String] notifications_invited_to_channel_sound The name of the sound to
675
- # play when a user is invited to a channel and
676
- # `notifications.invited_to_channel.enabled` is `true`.
677
- # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called
678
- # by using the `webhook_method`. See {Webhook
679
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
680
- # @param [String] post_webhook_url The URL for post-event webhooks, which are
681
- # called by using the `webhook_method`. See {Webhook
682
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
683
- # @param [String] webhook_method The HTTP method to use for calls to the
684
- # `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and
685
- # the default is `POST`. See {Webhook
686
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
687
- # @param [Array[String]] webhook_filters The list of webhook events that are
688
- # enabled for this Service instance. See {Webhook
689
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
690
- # @param [String] limits_channel_members The maximum number of Members that can be
691
- # added to Channels within this Service. Can be up to 1,000.
692
- # @param [String] limits_user_channels The maximum number of Channels Users can be
693
- # a Member of within this Service. Can be up to 1,000.
694
- # @param [String] media_compatibility_message The message to send when a media
695
- # message has no text. Can be used as placeholder message.
696
- # @param [String] pre_webhook_retry_count The number of times to retry a call to
697
- # the `pre_webhook_url` if the request times out (after 5 seconds) or it receives
698
- # a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means
699
- # the call won't be retried.
700
- # @param [String] post_webhook_retry_count The number of times to retry a call to
701
- # the `post_webhook_url` if the request times out (after 5 seconds) or it receives
702
- # a 429, 503, or 504 HTTP response. The default is 0, which means the call won't
703
- # be retried.
704
- # @param [Boolean] notifications_log_enabled Whether to log notifications. The
705
- # default is `false`.
706
- # @return [ServiceInstance] Updated ServiceInstance
707
- def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset, notifications_log_enabled: :unset)
708
- context.update(
709
- friendly_name: friendly_name,
710
- default_service_role_sid: default_service_role_sid,
711
- default_channel_role_sid: default_channel_role_sid,
712
- default_channel_creator_role_sid: default_channel_creator_role_sid,
713
- read_status_enabled: read_status_enabled,
714
- reachability_enabled: reachability_enabled,
715
- typing_indicator_timeout: typing_indicator_timeout,
716
- consumption_report_interval: consumption_report_interval,
717
- notifications_new_message_enabled: notifications_new_message_enabled,
718
- notifications_new_message_template: notifications_new_message_template,
719
- notifications_new_message_sound: notifications_new_message_sound,
720
- notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
721
- notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
722
- notifications_added_to_channel_template: notifications_added_to_channel_template,
723
- notifications_added_to_channel_sound: notifications_added_to_channel_sound,
724
- notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
725
- notifications_removed_from_channel_template: notifications_removed_from_channel_template,
726
- notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
727
- notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
728
- notifications_invited_to_channel_template: notifications_invited_to_channel_template,
729
- notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
730
- pre_webhook_url: pre_webhook_url,
731
- post_webhook_url: post_webhook_url,
732
- webhook_method: webhook_method,
733
- webhook_filters: webhook_filters,
734
- limits_channel_members: limits_channel_members,
735
- limits_user_channels: limits_user_channels,
736
- media_compatibility_message: media_compatibility_message,
737
- pre_webhook_retry_count: pre_webhook_retry_count,
738
- post_webhook_retry_count: post_webhook_retry_count,
739
- notifications_log_enabled: notifications_log_enabled,
740
- )
741
- end
742
-
743
- ##
744
- # Access the channels
745
- # @return [channels] channels
746
- def channels
747
- context.channels
748
- end
749
-
750
- ##
751
- # Access the roles
752
- # @return [roles] roles
753
- def roles
754
- context.roles
755
- end
756
-
757
- ##
758
- # Access the users
759
- # @return [users] users
760
- def users
761
- context.users
762
- end
763
-
764
- ##
765
- # Access the bindings
766
- # @return [bindings] bindings
767
- def bindings
768
- context.bindings
769
- end
770
-
771
- ##
772
- # Provide a user friendly representation
773
- def to_s
774
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
775
- "<Twilio.Chat.V2.ServiceInstance #{values}>"
776
- end
777
-
778
- ##
779
- # Provide a detailed, user friendly representation
780
- def inspect
781
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
782
- "<Twilio.Chat.V2.ServiceInstance #{values}>"
783
- end
784
781
  end
785
- end
786
782
  end
787
- end
788
- end
783
+ end