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,904 +1,880 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
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.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Chat < Domain
12
- class V1 < 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 resource. It can be up to 64 characters long.
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 V1 < 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 resource. It can be up to 64 characters long.
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.V1.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.V1.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 Twilio-provided string that uniquely identifies the
160
- # Service resource to fetch.
161
- # @return [ServiceContext] ServiceContext
162
- def initialize(version, sid)
163
- super(version)
164
-
165
- # Path Solution
166
- @solution = {sid: sid, }
167
- @uri = "/Services/#{@solution[:sid]}"
168
-
169
- # Dependents
170
- @channels = nil
171
- @roles = nil
172
- @users = 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. It can be up to 64 characters long.
195
- # @param [String] default_service_role_sid The service role assigned to users when
196
- # they are added to the service. See the {Roles
197
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
198
- # @param [String] default_channel_role_sid The channel role assigned to users when
199
- # they are added to a channel. See the {Roles
200
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
201
- # @param [String] default_channel_creator_role_sid The channel role assigned to a
202
- # channel creator when they join a new channel. See the {Roles
203
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
204
- # @param [Boolean] read_status_enabled Whether to enable the {Message Consumption
205
- # Horizon}[https://www.twilio.com/docs/chat/consumption-horizon] feature. The
206
- # default is `true`.
207
- # @param [Boolean] reachability_enabled Whether to enable the {Reachability
208
- # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] for this
209
- # Service instance. The default is `false`.
210
- # @param [String] typing_indicator_timeout How long in seconds after a `started
211
- # typing` event until clients should assume that user is no longer typing, even if
212
- # no `ended typing` message was received. The default is 5 seconds.
213
- # @param [String] consumption_report_interval DEPRECATED. The interval in seconds
214
- # between consumption reports submission batches from client endpoints.
215
- # @param [Boolean] notifications_new_message_enabled Whether to send a
216
- # notification when a new message is added to a channel. Can be: `true` or `false`
217
- # and the default is `false`.
218
- # @param [String] notifications_new_message_template The template to use to create
219
- # the notification text displayed when a new message is added to a channel and
220
- # `notifications.new_message.enabled` is `true`.
221
- # @param [Boolean] notifications_added_to_channel_enabled Whether to send a
222
- # notification when a member is added to a channel. Can be: `true` or `false` and
223
- # the default is `false`.
224
- # @param [String] notifications_added_to_channel_template The template to use to
225
- # create the notification text displayed when a member is added to a channel and
226
- # `notifications.added_to_channel.enabled` is `true`.
227
- # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a
228
- # notification to a user when they are removed from a channel. Can be: `true` or
229
- # `false` and the default is `false`.
230
- # @param [String] notifications_removed_from_channel_template The template to use
231
- # to create the notification text displayed to a user when they are removed from a
232
- # channel and `notifications.removed_from_channel.enabled` is `true`.
233
- # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a
234
- # notification when a user is invited to a channel. Can be: `true` or `false` and
235
- # the default is `false`.
236
- # @param [String] notifications_invited_to_channel_template The template to use to
237
- # create the notification text displayed when a user is invited to a channel and
238
- # `notifications.invited_to_channel.enabled` is `true`.
239
- # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called
240
- # by using the `webhook_method`. See {Webhook
241
- # Events}[https://www.twilio.com/docs/api/chat/webhooks] for more details.
242
- # @param [String] post_webhook_url The URL for post-event webhooks, which are
243
- # called by using the `webhook_method`. See {Webhook
244
- # Events}[https://www.twilio.com/docs/api/chat/webhooks] for more details.
245
- # @param [String] webhook_method The HTTP method to use for calls to the
246
- # `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and
247
- # the default is `POST`. See {Webhook
248
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
249
- # @param [Array[String]] webhook_filters The list of WebHook events that are
250
- # enabled for this Service instance. See {Webhook
251
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
252
- # @param [String] webhooks_on_message_send_url The URL of the webhook to call in
253
- # response to the `on_message_send` event using the
254
- # `webhooks.on_message_send.method` HTTP method.
255
- # @param [String] webhooks_on_message_send_method The HTTP method to use when
256
- # calling the `webhooks.on_message_send.url`.
257
- # @param [String] webhooks_on_message_update_url The URL of the webhook to call in
258
- # response to the `on_message_update` event using the
259
- # `webhooks.on_message_update.method` HTTP method.
260
- # @param [String] webhooks_on_message_update_method The HTTP method to use when
261
- # calling the `webhooks.on_message_update.url`.
262
- # @param [String] webhooks_on_message_remove_url The URL of the webhook to call in
263
- # response to the `on_message_remove` event using the
264
- # `webhooks.on_message_remove.method` HTTP method.
265
- # @param [String] webhooks_on_message_remove_method The HTTP method to use when
266
- # calling the `webhooks.on_message_remove.url`.
267
- # @param [String] webhooks_on_channel_add_url The URL of the webhook to call in
268
- # response to the `on_channel_add` event using the
269
- # `webhooks.on_channel_add.method` HTTP method.
270
- # @param [String] webhooks_on_channel_add_method The HTTP method to use when
271
- # calling the `webhooks.on_channel_add.url`.
272
- # @param [String] webhooks_on_channel_destroy_url The URL of the webhook to call
273
- # in response to the `on_channel_destroy` event using the
274
- # `webhooks.on_channel_destroy.method` HTTP method.
275
- # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when
276
- # calling the `webhooks.on_channel_destroy.url`.
277
- # @param [String] webhooks_on_channel_update_url The URL of the webhook to call in
278
- # response to the `on_channel_update` event using the
279
- # `webhooks.on_channel_update.method` HTTP method.
280
- # @param [String] webhooks_on_channel_update_method The HTTP method to use when
281
- # calling the `webhooks.on_channel_update.url`.
282
- # @param [String] webhooks_on_member_add_url The URL of the webhook to call in
283
- # response to the `on_member_add` event using the `webhooks.on_member_add.method`
284
- # HTTP method.
285
- # @param [String] webhooks_on_member_add_method The HTTP method to use when
286
- # calling the `webhooks.on_member_add.url`.
287
- # @param [String] webhooks_on_member_remove_url The URL of the webhook to call in
288
- # response to the `on_member_remove` event using the
289
- # `webhooks.on_member_remove.method` HTTP method.
290
- # @param [String] webhooks_on_member_remove_method The HTTP method to use when
291
- # calling the `webhooks.on_member_remove.url`.
292
- # @param [String] webhooks_on_message_sent_url The URL of the webhook to call in
293
- # response to the `on_message_sent` event using the
294
- # `webhooks.on_message_sent.method` HTTP method.
295
- # @param [String] webhooks_on_message_sent_method The URL of the webhook to call
296
- # in response to the `on_message_sent` event`.
297
- # @param [String] webhooks_on_message_updated_url The URL of the webhook to call
298
- # in response to the `on_message_updated` event using the
299
- # `webhooks.on_message_updated.method` HTTP method.
300
- # @param [String] webhooks_on_message_updated_method The HTTP method to use when
301
- # calling the `webhooks.on_message_updated.url`.
302
- # @param [String] webhooks_on_message_removed_url The URL of the webhook to call
303
- # in response to the `on_message_removed` event using the
304
- # `webhooks.on_message_removed.method` HTTP method.
305
- # @param [String] webhooks_on_message_removed_method The HTTP method to use when
306
- # calling the `webhooks.on_message_removed.url`.
307
- # @param [String] webhooks_on_channel_added_url The URL of the webhook to call in
308
- # response to the `on_channel_added` event using the
309
- # `webhooks.on_channel_added.method` HTTP method.
310
- # @param [String] webhooks_on_channel_added_method The URL of the webhook to call
311
- # in response to the `on_channel_added` event`.
312
- # @param [String] webhooks_on_channel_destroyed_url The URL of the webhook to call
313
- # in response to the `on_channel_added` event using the
314
- # `webhooks.on_channel_destroyed.method` HTTP method.
315
- # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when
316
- # calling the `webhooks.on_channel_destroyed.url`.
317
- # @param [String] webhooks_on_channel_updated_url The URL of the webhook to call
318
- # in response to the `on_channel_updated` event using the
319
- # `webhooks.on_channel_updated.method` HTTP method.
320
- # @param [String] webhooks_on_channel_updated_method The HTTP method to use when
321
- # calling the `webhooks.on_channel_updated.url`.
322
- # @param [String] webhooks_on_member_added_url The URL of the webhook to call in
323
- # response to the `on_channel_updated` event using the
324
- # `webhooks.on_channel_updated.method` HTTP method.
325
- # @param [String] webhooks_on_member_added_method The HTTP method to use when
326
- # calling the `webhooks.on_channel_updated.url`.
327
- # @param [String] webhooks_on_member_removed_url The URL of the webhook to call in
328
- # response to the `on_member_removed` event using the
329
- # `webhooks.on_member_removed.method` HTTP method.
330
- # @param [String] webhooks_on_member_removed_method The HTTP method to use when
331
- # calling the `webhooks.on_member_removed.url`.
332
- # @param [String] limits_channel_members The maximum number of Members that can be
333
- # added to Channels within this Service. Can be up to 1,000.
334
- # @param [String] limits_user_channels The maximum number of Channels Users can be
335
- # a Member of within this Service. Can be up to 1,000.
336
- # @return [ServiceInstance] Updated ServiceInstance
337
- 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_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, webhooks_on_message_send_url: :unset, webhooks_on_message_send_method: :unset, webhooks_on_message_update_url: :unset, webhooks_on_message_update_method: :unset, webhooks_on_message_remove_url: :unset, webhooks_on_message_remove_method: :unset, webhooks_on_channel_add_url: :unset, webhooks_on_channel_add_method: :unset, webhooks_on_channel_destroy_url: :unset, webhooks_on_channel_destroy_method: :unset, webhooks_on_channel_update_url: :unset, webhooks_on_channel_update_method: :unset, webhooks_on_member_add_url: :unset, webhooks_on_member_add_method: :unset, webhooks_on_member_remove_url: :unset, webhooks_on_member_remove_method: :unset, webhooks_on_message_sent_url: :unset, webhooks_on_message_sent_method: :unset, webhooks_on_message_updated_url: :unset, webhooks_on_message_updated_method: :unset, webhooks_on_message_removed_url: :unset, webhooks_on_message_removed_method: :unset, webhooks_on_channel_added_url: :unset, webhooks_on_channel_added_method: :unset, webhooks_on_channel_destroyed_url: :unset, webhooks_on_channel_destroyed_method: :unset, webhooks_on_channel_updated_url: :unset, webhooks_on_channel_updated_method: :unset, webhooks_on_member_added_url: :unset, webhooks_on_member_added_method: :unset, webhooks_on_member_removed_url: :unset, webhooks_on_member_removed_method: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
338
- data = Twilio::Values.of({
339
- 'FriendlyName' => friendly_name,
340
- 'DefaultServiceRoleSid' => default_service_role_sid,
341
- 'DefaultChannelRoleSid' => default_channel_role_sid,
342
- 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
343
- 'ReadStatusEnabled' => read_status_enabled,
344
- 'ReachabilityEnabled' => reachability_enabled,
345
- 'TypingIndicatorTimeout' => typing_indicator_timeout,
346
- 'ConsumptionReportInterval' => consumption_report_interval,
347
- 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
348
- 'Notifications.NewMessage.Template' => notifications_new_message_template,
349
- 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
350
- 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
351
- 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
352
- 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
353
- 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
354
- 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
355
- 'PreWebhookUrl' => pre_webhook_url,
356
- 'PostWebhookUrl' => post_webhook_url,
357
- 'WebhookMethod' => webhook_method,
358
- 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
359
- 'Webhooks.OnMessageSend.Url' => webhooks_on_message_send_url,
360
- 'Webhooks.OnMessageSend.Method' => webhooks_on_message_send_method,
361
- 'Webhooks.OnMessageUpdate.Url' => webhooks_on_message_update_url,
362
- 'Webhooks.OnMessageUpdate.Method' => webhooks_on_message_update_method,
363
- 'Webhooks.OnMessageRemove.Url' => webhooks_on_message_remove_url,
364
- 'Webhooks.OnMessageRemove.Method' => webhooks_on_message_remove_method,
365
- 'Webhooks.OnChannelAdd.Url' => webhooks_on_channel_add_url,
366
- 'Webhooks.OnChannelAdd.Method' => webhooks_on_channel_add_method,
367
- 'Webhooks.OnChannelDestroy.Url' => webhooks_on_channel_destroy_url,
368
- 'Webhooks.OnChannelDestroy.Method' => webhooks_on_channel_destroy_method,
369
- 'Webhooks.OnChannelUpdate.Url' => webhooks_on_channel_update_url,
370
- 'Webhooks.OnChannelUpdate.Method' => webhooks_on_channel_update_method,
371
- 'Webhooks.OnMemberAdd.Url' => webhooks_on_member_add_url,
372
- 'Webhooks.OnMemberAdd.Method' => webhooks_on_member_add_method,
373
- 'Webhooks.OnMemberRemove.Url' => webhooks_on_member_remove_url,
374
- 'Webhooks.OnMemberRemove.Method' => webhooks_on_member_remove_method,
375
- 'Webhooks.OnMessageSent.Url' => webhooks_on_message_sent_url,
376
- 'Webhooks.OnMessageSent.Method' => webhooks_on_message_sent_method,
377
- 'Webhooks.OnMessageUpdated.Url' => webhooks_on_message_updated_url,
378
- 'Webhooks.OnMessageUpdated.Method' => webhooks_on_message_updated_method,
379
- 'Webhooks.OnMessageRemoved.Url' => webhooks_on_message_removed_url,
380
- 'Webhooks.OnMessageRemoved.Method' => webhooks_on_message_removed_method,
381
- 'Webhooks.OnChannelAdded.Url' => webhooks_on_channel_added_url,
382
- 'Webhooks.OnChannelAdded.Method' => webhooks_on_channel_added_method,
383
- 'Webhooks.OnChannelDestroyed.Url' => webhooks_on_channel_destroyed_url,
384
- 'Webhooks.OnChannelDestroyed.Method' => webhooks_on_channel_destroyed_method,
385
- 'Webhooks.OnChannelUpdated.Url' => webhooks_on_channel_updated_url,
386
- 'Webhooks.OnChannelUpdated.Method' => webhooks_on_channel_updated_method,
387
- 'Webhooks.OnMemberAdded.Url' => webhooks_on_member_added_url,
388
- 'Webhooks.OnMemberAdded.Method' => webhooks_on_member_added_method,
389
- 'Webhooks.OnMemberRemoved.Url' => webhooks_on_member_removed_url,
390
- 'Webhooks.OnMemberRemoved.Method' => webhooks_on_member_removed_method,
391
- 'Limits.ChannelMembers' => limits_channel_members,
392
- 'Limits.UserChannels' => limits_user_channels,
393
- })
394
-
395
- payload = @version.update('POST', @uri, data: data)
396
-
397
- ServiceInstance.new(@version, payload, sid: @solution[:sid], )
398
- end
399
-
400
- ##
401
- # Access the channels
402
- # @return [ChannelList]
403
- # @return [ChannelContext] if sid was passed.
404
- def channels(sid=:unset)
405
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
406
-
407
- if sid != :unset
408
- return ChannelContext.new(@version, @solution[:sid], sid, )
409
- end
410
-
411
- unless @channels
412
- @channels = ChannelList.new(@version, service_sid: @solution[:sid], )
413
- end
414
-
415
- @channels
416
- end
417
-
418
- ##
419
- # Access the roles
420
- # @return [RoleList]
421
- # @return [RoleContext] if sid was passed.
422
- def roles(sid=:unset)
423
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
424
-
425
- if sid != :unset
426
- return RoleContext.new(@version, @solution[:sid], sid, )
427
- end
428
-
429
- unless @roles
430
- @roles = RoleList.new(@version, service_sid: @solution[:sid], )
431
- end
432
-
433
- @roles
434
- end
435
-
436
- ##
437
- # Access the users
438
- # @return [UserList]
439
- # @return [UserContext] if sid was passed.
440
- def users(sid=:unset)
441
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
442
-
443
- if sid != :unset
444
- return UserContext.new(@version, @solution[:sid], sid, )
445
- end
446
-
447
- unless @users
448
- @users = UserList.new(@version, service_sid: @solution[:sid], )
449
- end
450
-
451
- @users
452
- end
453
-
454
- ##
455
- # Provide a user friendly representation
456
- def to_s
457
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
458
- "#<Twilio.Chat.V1.ServiceContext #{context}>"
459
- end
460
-
461
- ##
462
- # Provide a detailed, user friendly representation
463
- def inspect
464
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
465
- "#<Twilio.Chat.V1.ServiceContext #{context}>"
466
- end
467
- 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.V1.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 Twilio-provided string that uniquely identifies 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
+ @channels = nil
163
+ @roles = nil
164
+ @users = nil
165
+ end
166
+ ##
167
+ # Delete the ServiceInstance
168
+ # @return [Boolean] True if delete succeeds, false otherwise
169
+ def delete
170
+
171
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
172
+
173
+ @version.delete('DELETE', @uri, headers: headers)
174
+ end
175
+
176
+ ##
177
+ # Fetch the ServiceInstance
178
+ # @return [ServiceInstance] Fetched ServiceInstance
179
+ def fetch
180
+
181
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
182
+
183
+ payload = @version.fetch('GET', @uri, headers: headers)
184
+ ServiceInstance.new(
185
+ @version,
186
+ payload,
187
+ sid: @solution[:sid],
188
+ )
189
+ end
190
+
191
+ ##
192
+ # Update the ServiceInstance
193
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
194
+ # @param [String] default_service_role_sid The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
195
+ # @param [String] default_channel_role_sid The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
196
+ # @param [String] default_channel_creator_role_sid The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
197
+ # @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`.
198
+ # @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`.
199
+ # @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.
200
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
201
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default is `false`.
202
+ # @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`.
203
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. Can be: `true` or `false` and the default is `false`.
204
+ # @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`.
205
+ # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the default is `false`.
206
+ # @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`.
207
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. Can be: `true` or `false` and the default is `false`.
208
+ # @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`.
209
+ # @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/api/chat/webhooks) for more details.
210
+ # @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/api/chat/webhooks) for more details.
211
+ # @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.
212
+ # @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.
213
+ # @param [String] webhooks_on_message_send_url The URL of the webhook to call in response to the `on_message_send` event using the `webhooks.on_message_send.method` HTTP method.
214
+ # @param [String] webhooks_on_message_send_method The HTTP method to use when calling the `webhooks.on_message_send.url`.
215
+ # @param [String] webhooks_on_message_update_url The URL of the webhook to call in response to the `on_message_update` event using the `webhooks.on_message_update.method` HTTP method.
216
+ # @param [String] webhooks_on_message_update_method The HTTP method to use when calling the `webhooks.on_message_update.url`.
217
+ # @param [String] webhooks_on_message_remove_url The URL of the webhook to call in response to the `on_message_remove` event using the `webhooks.on_message_remove.method` HTTP method.
218
+ # @param [String] webhooks_on_message_remove_method The HTTP method to use when calling the `webhooks.on_message_remove.url`.
219
+ # @param [String] webhooks_on_channel_add_url The URL of the webhook to call in response to the `on_channel_add` event using the `webhooks.on_channel_add.method` HTTP method.
220
+ # @param [String] webhooks_on_channel_add_method The HTTP method to use when calling the `webhooks.on_channel_add.url`.
221
+ # @param [String] webhooks_on_channel_destroy_url The URL of the webhook to call in response to the `on_channel_destroy` event using the `webhooks.on_channel_destroy.method` HTTP method.
222
+ # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when calling the `webhooks.on_channel_destroy.url`.
223
+ # @param [String] webhooks_on_channel_update_url The URL of the webhook to call in response to the `on_channel_update` event using the `webhooks.on_channel_update.method` HTTP method.
224
+ # @param [String] webhooks_on_channel_update_method The HTTP method to use when calling the `webhooks.on_channel_update.url`.
225
+ # @param [String] webhooks_on_member_add_url The URL of the webhook to call in response to the `on_member_add` event using the `webhooks.on_member_add.method` HTTP method.
226
+ # @param [String] webhooks_on_member_add_method The HTTP method to use when calling the `webhooks.on_member_add.url`.
227
+ # @param [String] webhooks_on_member_remove_url The URL of the webhook to call in response to the `on_member_remove` event using the `webhooks.on_member_remove.method` HTTP method.
228
+ # @param [String] webhooks_on_member_remove_method The HTTP method to use when calling the `webhooks.on_member_remove.url`.
229
+ # @param [String] webhooks_on_message_sent_url The URL of the webhook to call in response to the `on_message_sent` event using the `webhooks.on_message_sent.method` HTTP method.
230
+ # @param [String] webhooks_on_message_sent_method The URL of the webhook to call in response to the `on_message_sent` event`.
231
+ # @param [String] webhooks_on_message_updated_url The URL of the webhook to call in response to the `on_message_updated` event using the `webhooks.on_message_updated.method` HTTP method.
232
+ # @param [String] webhooks_on_message_updated_method The HTTP method to use when calling the `webhooks.on_message_updated.url`.
233
+ # @param [String] webhooks_on_message_removed_url The URL of the webhook to call in response to the `on_message_removed` event using the `webhooks.on_message_removed.method` HTTP method.
234
+ # @param [String] webhooks_on_message_removed_method The HTTP method to use when calling the `webhooks.on_message_removed.url`.
235
+ # @param [String] webhooks_on_channel_added_url The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_added.method` HTTP method.
236
+ # @param [String] webhooks_on_channel_added_method The URL of the webhook to call in response to the `on_channel_added` event`.
237
+ # @param [String] webhooks_on_channel_destroyed_url The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_destroyed.method` HTTP method.
238
+ # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`.
239
+ # @param [String] webhooks_on_channel_updated_url The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.
240
+ # @param [String] webhooks_on_channel_updated_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
241
+ # @param [String] webhooks_on_member_added_url The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.
242
+ # @param [String] webhooks_on_member_added_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
243
+ # @param [String] webhooks_on_member_removed_url The URL of the webhook to call in response to the `on_member_removed` event using the `webhooks.on_member_removed.method` HTTP method.
244
+ # @param [String] webhooks_on_member_removed_method The HTTP method to use when calling the `webhooks.on_member_removed.url`.
245
+ # @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.
246
+ # @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.
247
+ # @return [ServiceInstance] Updated ServiceInstance
248
+ def update(
249
+ friendly_name: :unset,
250
+ default_service_role_sid: :unset,
251
+ default_channel_role_sid: :unset,
252
+ default_channel_creator_role_sid: :unset,
253
+ read_status_enabled: :unset,
254
+ reachability_enabled: :unset,
255
+ typing_indicator_timeout: :unset,
256
+ consumption_report_interval: :unset,
257
+ notifications_new_message_enabled: :unset,
258
+ notifications_new_message_template: :unset,
259
+ notifications_added_to_channel_enabled: :unset,
260
+ notifications_added_to_channel_template: :unset,
261
+ notifications_removed_from_channel_enabled: :unset,
262
+ notifications_removed_from_channel_template: :unset,
263
+ notifications_invited_to_channel_enabled: :unset,
264
+ notifications_invited_to_channel_template: :unset,
265
+ pre_webhook_url: :unset,
266
+ post_webhook_url: :unset,
267
+ webhook_method: :unset,
268
+ webhook_filters: :unset,
269
+ webhooks_on_message_send_url: :unset,
270
+ webhooks_on_message_send_method: :unset,
271
+ webhooks_on_message_update_url: :unset,
272
+ webhooks_on_message_update_method: :unset,
273
+ webhooks_on_message_remove_url: :unset,
274
+ webhooks_on_message_remove_method: :unset,
275
+ webhooks_on_channel_add_url: :unset,
276
+ webhooks_on_channel_add_method: :unset,
277
+ webhooks_on_channel_destroy_url: :unset,
278
+ webhooks_on_channel_destroy_method: :unset,
279
+ webhooks_on_channel_update_url: :unset,
280
+ webhooks_on_channel_update_method: :unset,
281
+ webhooks_on_member_add_url: :unset,
282
+ webhooks_on_member_add_method: :unset,
283
+ webhooks_on_member_remove_url: :unset,
284
+ webhooks_on_member_remove_method: :unset,
285
+ webhooks_on_message_sent_url: :unset,
286
+ webhooks_on_message_sent_method: :unset,
287
+ webhooks_on_message_updated_url: :unset,
288
+ webhooks_on_message_updated_method: :unset,
289
+ webhooks_on_message_removed_url: :unset,
290
+ webhooks_on_message_removed_method: :unset,
291
+ webhooks_on_channel_added_url: :unset,
292
+ webhooks_on_channel_added_method: :unset,
293
+ webhooks_on_channel_destroyed_url: :unset,
294
+ webhooks_on_channel_destroyed_method: :unset,
295
+ webhooks_on_channel_updated_url: :unset,
296
+ webhooks_on_channel_updated_method: :unset,
297
+ webhooks_on_member_added_url: :unset,
298
+ webhooks_on_member_added_method: :unset,
299
+ webhooks_on_member_removed_url: :unset,
300
+ webhooks_on_member_removed_method: :unset,
301
+ limits_channel_members: :unset,
302
+ limits_user_channels: :unset
303
+ )
304
+
305
+ data = Twilio::Values.of({
306
+ 'FriendlyName' => friendly_name,
307
+ 'DefaultServiceRoleSid' => default_service_role_sid,
308
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
309
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
310
+ 'ReadStatusEnabled' => read_status_enabled,
311
+ 'ReachabilityEnabled' => reachability_enabled,
312
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
313
+ 'ConsumptionReportInterval' => consumption_report_interval,
314
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
315
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
316
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
317
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
318
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
319
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
320
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
321
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
322
+ 'PreWebhookUrl' => pre_webhook_url,
323
+ 'PostWebhookUrl' => post_webhook_url,
324
+ 'WebhookMethod' => webhook_method,
325
+ 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
326
+ 'Webhooks.OnMessageSend.Url' => webhooks_on_message_send_url,
327
+ 'Webhooks.OnMessageSend.Method' => webhooks_on_message_send_method,
328
+ 'Webhooks.OnMessageUpdate.Url' => webhooks_on_message_update_url,
329
+ 'Webhooks.OnMessageUpdate.Method' => webhooks_on_message_update_method,
330
+ 'Webhooks.OnMessageRemove.Url' => webhooks_on_message_remove_url,
331
+ 'Webhooks.OnMessageRemove.Method' => webhooks_on_message_remove_method,
332
+ 'Webhooks.OnChannelAdd.Url' => webhooks_on_channel_add_url,
333
+ 'Webhooks.OnChannelAdd.Method' => webhooks_on_channel_add_method,
334
+ 'Webhooks.OnChannelDestroy.Url' => webhooks_on_channel_destroy_url,
335
+ 'Webhooks.OnChannelDestroy.Method' => webhooks_on_channel_destroy_method,
336
+ 'Webhooks.OnChannelUpdate.Url' => webhooks_on_channel_update_url,
337
+ 'Webhooks.OnChannelUpdate.Method' => webhooks_on_channel_update_method,
338
+ 'Webhooks.OnMemberAdd.Url' => webhooks_on_member_add_url,
339
+ 'Webhooks.OnMemberAdd.Method' => webhooks_on_member_add_method,
340
+ 'Webhooks.OnMemberRemove.Url' => webhooks_on_member_remove_url,
341
+ 'Webhooks.OnMemberRemove.Method' => webhooks_on_member_remove_method,
342
+ 'Webhooks.OnMessageSent.Url' => webhooks_on_message_sent_url,
343
+ 'Webhooks.OnMessageSent.Method' => webhooks_on_message_sent_method,
344
+ 'Webhooks.OnMessageUpdated.Url' => webhooks_on_message_updated_url,
345
+ 'Webhooks.OnMessageUpdated.Method' => webhooks_on_message_updated_method,
346
+ 'Webhooks.OnMessageRemoved.Url' => webhooks_on_message_removed_url,
347
+ 'Webhooks.OnMessageRemoved.Method' => webhooks_on_message_removed_method,
348
+ 'Webhooks.OnChannelAdded.Url' => webhooks_on_channel_added_url,
349
+ 'Webhooks.OnChannelAdded.Method' => webhooks_on_channel_added_method,
350
+ 'Webhooks.OnChannelDestroyed.Url' => webhooks_on_channel_destroyed_url,
351
+ 'Webhooks.OnChannelDestroyed.Method' => webhooks_on_channel_destroyed_method,
352
+ 'Webhooks.OnChannelUpdated.Url' => webhooks_on_channel_updated_url,
353
+ 'Webhooks.OnChannelUpdated.Method' => webhooks_on_channel_updated_method,
354
+ 'Webhooks.OnMemberAdded.Url' => webhooks_on_member_added_url,
355
+ 'Webhooks.OnMemberAdded.Method' => webhooks_on_member_added_method,
356
+ 'Webhooks.OnMemberRemoved.Url' => webhooks_on_member_removed_url,
357
+ 'Webhooks.OnMemberRemoved.Method' => webhooks_on_member_removed_method,
358
+ 'Limits.ChannelMembers' => limits_channel_members,
359
+ 'Limits.UserChannels' => limits_user_channels,
360
+ })
361
+
362
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
363
+
364
+ payload = @version.update('POST', @uri, data: data, headers: headers)
365
+ ServiceInstance.new(
366
+ @version,
367
+ payload,
368
+ sid: @solution[:sid],
369
+ )
370
+ end
371
+
372
+ ##
373
+ # Access the channels
374
+ # @return [ChannelList]
375
+ # @return [ChannelContext] if sid was passed.
376
+ def channels(sid=:unset)
377
+
378
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
379
+
380
+ if sid != :unset
381
+ return ChannelContext.new(@version, @solution[:sid],sid )
382
+ end
383
+
384
+ unless @channels
385
+ @channels = ChannelList.new(
386
+ @version, service_sid: @solution[:sid], )
387
+ end
388
+
389
+ @channels
390
+ end
391
+ ##
392
+ # Access the roles
393
+ # @return [RoleList]
394
+ # @return [RoleContext] if sid was passed.
395
+ def roles(sid=:unset)
396
+
397
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
398
+
399
+ if sid != :unset
400
+ return RoleContext.new(@version, @solution[:sid],sid )
401
+ end
402
+
403
+ unless @roles
404
+ @roles = RoleList.new(
405
+ @version, service_sid: @solution[:sid], )
406
+ end
407
+
408
+ @roles
409
+ end
410
+ ##
411
+ # Access the users
412
+ # @return [UserList]
413
+ # @return [UserContext] if sid was passed.
414
+ def users(sid=:unset)
415
+
416
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
417
+
418
+ if sid != :unset
419
+ return UserContext.new(@version, @solution[:sid],sid )
420
+ end
421
+
422
+ unless @users
423
+ @users = UserList.new(
424
+ @version, service_sid: @solution[:sid], )
425
+ end
426
+
427
+ @users
428
+ end
429
+
430
+ ##
431
+ # Provide a user friendly representation
432
+ def to_s
433
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
434
+ "#<Twilio.Chat.V1.ServiceContext #{context}>"
435
+ end
436
+
437
+ ##
438
+ # Provide a detailed, user friendly representation
439
+ def inspect
440
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
441
+ "#<Twilio.Chat.V1.ServiceContext #{context}>"
442
+ end
443
+ end
444
+
445
+ class ServicePage < Page
446
+ ##
447
+ # Initialize the ServicePage
448
+ # @param [Version] version Version that contains the resource
449
+ # @param [Response] response Response from the API
450
+ # @param [Hash] solution Path solution for the resource
451
+ # @return [ServicePage] ServicePage
452
+ def initialize(version, response, solution)
453
+ super(version, response)
454
+
455
+ # Path Solution
456
+ @solution = solution
457
+ end
458
+
459
+ ##
460
+ # Build an instance of ServiceInstance
461
+ # @param [Hash] payload Payload response from the API
462
+ # @return [ServiceInstance] ServiceInstance
463
+ def get_instance(payload)
464
+ ServiceInstance.new(@version, payload)
465
+ end
466
+
467
+ ##
468
+ # Provide a user friendly representation
469
+ def to_s
470
+ '<Twilio.Chat.V1.ServicePage>'
471
+ end
472
+ end
473
+ class ServiceInstance < InstanceResource
474
+ ##
475
+ # Initialize the ServiceInstance
476
+ # @param [Version] version Version that contains the resource
477
+ # @param [Hash] payload payload that contains response from Twilio
478
+ # @param [String] account_sid The SID of the
479
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Service
480
+ # resource.
481
+ # @param [String] sid The SID of the Call resource to fetch.
482
+ # @return [ServiceInstance] ServiceInstance
483
+ def initialize(version, payload , sid: nil)
484
+ super(version)
485
+
486
+ # Marshaled Properties
487
+ @properties = {
488
+ 'sid' => payload['sid'],
489
+ 'account_sid' => payload['account_sid'],
490
+ 'friendly_name' => payload['friendly_name'],
491
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
492
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
493
+ 'default_service_role_sid' => payload['default_service_role_sid'],
494
+ 'default_channel_role_sid' => payload['default_channel_role_sid'],
495
+ 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
496
+ 'read_status_enabled' => payload['read_status_enabled'],
497
+ 'reachability_enabled' => payload['reachability_enabled'],
498
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
499
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
500
+ 'limits' => payload['limits'],
501
+ 'webhooks' => payload['webhooks'],
502
+ 'pre_webhook_url' => payload['pre_webhook_url'],
503
+ 'post_webhook_url' => payload['post_webhook_url'],
504
+ 'webhook_method' => payload['webhook_method'],
505
+ 'webhook_filters' => payload['webhook_filters'],
506
+ 'notifications' => payload['notifications'],
507
+ 'url' => payload['url'],
508
+ 'links' => payload['links'],
509
+ }
510
+
511
+ # Context
512
+ @instance_context = nil
513
+ @params = { 'sid' => sid || @properties['sid'] , }
514
+ end
515
+
516
+ ##
517
+ # Generate an instance context for the instance, the context is capable of
518
+ # performing various actions. All instance actions are proxied to the context
519
+ # @return [ServiceContext] CallContext for this CallInstance
520
+ def context
521
+ unless @instance_context
522
+ @instance_context = ServiceContext.new(@version , @params['sid'])
523
+ end
524
+ @instance_context
525
+ end
526
+
527
+ ##
528
+ # @return [String] The unique string that we created to identify the Service resource.
529
+ def sid
530
+ @properties['sid']
531
+ end
532
+
533
+ ##
534
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Service resource.
535
+ def account_sid
536
+ @properties['account_sid']
537
+ end
538
+
539
+ ##
540
+ # @return [String] The string that you assigned to describe the resource.
541
+ def friendly_name
542
+ @properties['friendly_name']
543
+ end
544
+
545
+ ##
546
+ # @return [Time] The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format.
547
+ def date_created
548
+ @properties['date_created']
549
+ end
550
+
551
+ ##
552
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format.
553
+ def date_updated
554
+ @properties['date_updated']
555
+ end
556
+
557
+ ##
558
+ # @return [String] The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
559
+ def default_service_role_sid
560
+ @properties['default_service_role_sid']
561
+ end
562
+
563
+ ##
564
+ # @return [String] The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
565
+ def default_channel_role_sid
566
+ @properties['default_channel_role_sid']
567
+ end
568
+
569
+ ##
570
+ # @return [String] The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
571
+ def default_channel_creator_role_sid
572
+ @properties['default_channel_creator_role_sid']
573
+ end
574
+
575
+ ##
576
+ # @return [Boolean] Whether the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is `true`.
577
+ def read_status_enabled
578
+ @properties['read_status_enabled']
579
+ end
580
+
581
+ ##
582
+ # @return [Boolean] Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is `false`.
583
+ def reachability_enabled
584
+ @properties['reachability_enabled']
585
+ end
586
+
587
+ ##
588
+ # @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.
589
+ def typing_indicator_timeout
590
+ @properties['typing_indicator_timeout']
591
+ end
592
+
593
+ ##
594
+ # @return [String] DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
595
+ def consumption_report_interval
596
+ @properties['consumption_report_interval']
597
+ end
598
+
599
+ ##
600
+ # @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.
601
+ def limits
602
+ @properties['limits']
603
+ end
604
+
605
+ ##
606
+ # @return [Hash] An object that contains information about the webhooks configured for this service.
607
+ def webhooks
608
+ @properties['webhooks']
609
+ end
610
+
611
+ ##
612
+ # @return [String] The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details.
613
+ def pre_webhook_url
614
+ @properties['pre_webhook_url']
615
+ end
616
+
617
+ ##
618
+ # @return [String] The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details.
619
+ def post_webhook_url
620
+ @properties['post_webhook_url']
621
+ end
622
+
623
+ ##
624
+ # @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.
625
+ def webhook_method
626
+ @properties['webhook_method']
627
+ end
628
+
629
+ ##
630
+ # @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.
631
+ def webhook_filters
632
+ @properties['webhook_filters']
633
+ end
634
+
635
+ ##
636
+ # @return [Hash] The notification configuration for the Service instance. See [Push Notification Configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more information.
637
+ def notifications
638
+ @properties['notifications']
639
+ end
640
+
641
+ ##
642
+ # @return [String] The absolute URL of the Service resource.
643
+ def url
644
+ @properties['url']
645
+ end
646
+
647
+ ##
648
+ # @return [Hash] The absolute URLs of the Service's [Channels](https://www.twilio.com/docs/chat/api/channels), [Roles](https://www.twilio.com/docs/chat/api/roles), and [Users](https://www.twilio.com/docs/chat/api/users).
649
+ def links
650
+ @properties['links']
651
+ end
652
+
653
+ ##
654
+ # Delete the ServiceInstance
655
+ # @return [Boolean] True if delete succeeds, false otherwise
656
+ def delete
657
+
658
+ context.delete
659
+ end
660
+
661
+ ##
662
+ # Fetch the ServiceInstance
663
+ # @return [ServiceInstance] Fetched ServiceInstance
664
+ def fetch
665
+
666
+ context.fetch
667
+ end
668
+
669
+ ##
670
+ # Update the ServiceInstance
671
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
672
+ # @param [String] default_service_role_sid The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
673
+ # @param [String] default_channel_role_sid The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
674
+ # @param [String] default_channel_creator_role_sid The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details.
675
+ # @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`.
676
+ # @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`.
677
+ # @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.
678
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
679
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default is `false`.
680
+ # @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`.
681
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. Can be: `true` or `false` and the default is `false`.
682
+ # @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`.
683
+ # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the default is `false`.
684
+ # @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`.
685
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. Can be: `true` or `false` and the default is `false`.
686
+ # @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`.
687
+ # @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/api/chat/webhooks) for more details.
688
+ # @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/api/chat/webhooks) for more details.
689
+ # @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.
690
+ # @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.
691
+ # @param [String] webhooks_on_message_send_url The URL of the webhook to call in response to the `on_message_send` event using the `webhooks.on_message_send.method` HTTP method.
692
+ # @param [String] webhooks_on_message_send_method The HTTP method to use when calling the `webhooks.on_message_send.url`.
693
+ # @param [String] webhooks_on_message_update_url The URL of the webhook to call in response to the `on_message_update` event using the `webhooks.on_message_update.method` HTTP method.
694
+ # @param [String] webhooks_on_message_update_method The HTTP method to use when calling the `webhooks.on_message_update.url`.
695
+ # @param [String] webhooks_on_message_remove_url The URL of the webhook to call in response to the `on_message_remove` event using the `webhooks.on_message_remove.method` HTTP method.
696
+ # @param [String] webhooks_on_message_remove_method The HTTP method to use when calling the `webhooks.on_message_remove.url`.
697
+ # @param [String] webhooks_on_channel_add_url The URL of the webhook to call in response to the `on_channel_add` event using the `webhooks.on_channel_add.method` HTTP method.
698
+ # @param [String] webhooks_on_channel_add_method The HTTP method to use when calling the `webhooks.on_channel_add.url`.
699
+ # @param [String] webhooks_on_channel_destroy_url The URL of the webhook to call in response to the `on_channel_destroy` event using the `webhooks.on_channel_destroy.method` HTTP method.
700
+ # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when calling the `webhooks.on_channel_destroy.url`.
701
+ # @param [String] webhooks_on_channel_update_url The URL of the webhook to call in response to the `on_channel_update` event using the `webhooks.on_channel_update.method` HTTP method.
702
+ # @param [String] webhooks_on_channel_update_method The HTTP method to use when calling the `webhooks.on_channel_update.url`.
703
+ # @param [String] webhooks_on_member_add_url The URL of the webhook to call in response to the `on_member_add` event using the `webhooks.on_member_add.method` HTTP method.
704
+ # @param [String] webhooks_on_member_add_method The HTTP method to use when calling the `webhooks.on_member_add.url`.
705
+ # @param [String] webhooks_on_member_remove_url The URL of the webhook to call in response to the `on_member_remove` event using the `webhooks.on_member_remove.method` HTTP method.
706
+ # @param [String] webhooks_on_member_remove_method The HTTP method to use when calling the `webhooks.on_member_remove.url`.
707
+ # @param [String] webhooks_on_message_sent_url The URL of the webhook to call in response to the `on_message_sent` event using the `webhooks.on_message_sent.method` HTTP method.
708
+ # @param [String] webhooks_on_message_sent_method The URL of the webhook to call in response to the `on_message_sent` event`.
709
+ # @param [String] webhooks_on_message_updated_url The URL of the webhook to call in response to the `on_message_updated` event using the `webhooks.on_message_updated.method` HTTP method.
710
+ # @param [String] webhooks_on_message_updated_method The HTTP method to use when calling the `webhooks.on_message_updated.url`.
711
+ # @param [String] webhooks_on_message_removed_url The URL of the webhook to call in response to the `on_message_removed` event using the `webhooks.on_message_removed.method` HTTP method.
712
+ # @param [String] webhooks_on_message_removed_method The HTTP method to use when calling the `webhooks.on_message_removed.url`.
713
+ # @param [String] webhooks_on_channel_added_url The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_added.method` HTTP method.
714
+ # @param [String] webhooks_on_channel_added_method The URL of the webhook to call in response to the `on_channel_added` event`.
715
+ # @param [String] webhooks_on_channel_destroyed_url The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_destroyed.method` HTTP method.
716
+ # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`.
717
+ # @param [String] webhooks_on_channel_updated_url The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.
718
+ # @param [String] webhooks_on_channel_updated_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
719
+ # @param [String] webhooks_on_member_added_url The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method.
720
+ # @param [String] webhooks_on_member_added_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
721
+ # @param [String] webhooks_on_member_removed_url The URL of the webhook to call in response to the `on_member_removed` event using the `webhooks.on_member_removed.method` HTTP method.
722
+ # @param [String] webhooks_on_member_removed_method The HTTP method to use when calling the `webhooks.on_member_removed.url`.
723
+ # @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.
724
+ # @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.
725
+ # @return [ServiceInstance] Updated ServiceInstance
726
+ def update(
727
+ friendly_name: :unset,
728
+ default_service_role_sid: :unset,
729
+ default_channel_role_sid: :unset,
730
+ default_channel_creator_role_sid: :unset,
731
+ read_status_enabled: :unset,
732
+ reachability_enabled: :unset,
733
+ typing_indicator_timeout: :unset,
734
+ consumption_report_interval: :unset,
735
+ notifications_new_message_enabled: :unset,
736
+ notifications_new_message_template: :unset,
737
+ notifications_added_to_channel_enabled: :unset,
738
+ notifications_added_to_channel_template: :unset,
739
+ notifications_removed_from_channel_enabled: :unset,
740
+ notifications_removed_from_channel_template: :unset,
741
+ notifications_invited_to_channel_enabled: :unset,
742
+ notifications_invited_to_channel_template: :unset,
743
+ pre_webhook_url: :unset,
744
+ post_webhook_url: :unset,
745
+ webhook_method: :unset,
746
+ webhook_filters: :unset,
747
+ webhooks_on_message_send_url: :unset,
748
+ webhooks_on_message_send_method: :unset,
749
+ webhooks_on_message_update_url: :unset,
750
+ webhooks_on_message_update_method: :unset,
751
+ webhooks_on_message_remove_url: :unset,
752
+ webhooks_on_message_remove_method: :unset,
753
+ webhooks_on_channel_add_url: :unset,
754
+ webhooks_on_channel_add_method: :unset,
755
+ webhooks_on_channel_destroy_url: :unset,
756
+ webhooks_on_channel_destroy_method: :unset,
757
+ webhooks_on_channel_update_url: :unset,
758
+ webhooks_on_channel_update_method: :unset,
759
+ webhooks_on_member_add_url: :unset,
760
+ webhooks_on_member_add_method: :unset,
761
+ webhooks_on_member_remove_url: :unset,
762
+ webhooks_on_member_remove_method: :unset,
763
+ webhooks_on_message_sent_url: :unset,
764
+ webhooks_on_message_sent_method: :unset,
765
+ webhooks_on_message_updated_url: :unset,
766
+ webhooks_on_message_updated_method: :unset,
767
+ webhooks_on_message_removed_url: :unset,
768
+ webhooks_on_message_removed_method: :unset,
769
+ webhooks_on_channel_added_url: :unset,
770
+ webhooks_on_channel_added_method: :unset,
771
+ webhooks_on_channel_destroyed_url: :unset,
772
+ webhooks_on_channel_destroyed_method: :unset,
773
+ webhooks_on_channel_updated_url: :unset,
774
+ webhooks_on_channel_updated_method: :unset,
775
+ webhooks_on_member_added_url: :unset,
776
+ webhooks_on_member_added_method: :unset,
777
+ webhooks_on_member_removed_url: :unset,
778
+ webhooks_on_member_removed_method: :unset,
779
+ limits_channel_members: :unset,
780
+ limits_user_channels: :unset
781
+ )
782
+
783
+ context.update(
784
+ friendly_name: friendly_name,
785
+ default_service_role_sid: default_service_role_sid,
786
+ default_channel_role_sid: default_channel_role_sid,
787
+ default_channel_creator_role_sid: default_channel_creator_role_sid,
788
+ read_status_enabled: read_status_enabled,
789
+ reachability_enabled: reachability_enabled,
790
+ typing_indicator_timeout: typing_indicator_timeout,
791
+ consumption_report_interval: consumption_report_interval,
792
+ notifications_new_message_enabled: notifications_new_message_enabled,
793
+ notifications_new_message_template: notifications_new_message_template,
794
+ notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
795
+ notifications_added_to_channel_template: notifications_added_to_channel_template,
796
+ notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
797
+ notifications_removed_from_channel_template: notifications_removed_from_channel_template,
798
+ notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
799
+ notifications_invited_to_channel_template: notifications_invited_to_channel_template,
800
+ pre_webhook_url: pre_webhook_url,
801
+ post_webhook_url: post_webhook_url,
802
+ webhook_method: webhook_method,
803
+ webhook_filters: webhook_filters,
804
+ webhooks_on_message_send_url: webhooks_on_message_send_url,
805
+ webhooks_on_message_send_method: webhooks_on_message_send_method,
806
+ webhooks_on_message_update_url: webhooks_on_message_update_url,
807
+ webhooks_on_message_update_method: webhooks_on_message_update_method,
808
+ webhooks_on_message_remove_url: webhooks_on_message_remove_url,
809
+ webhooks_on_message_remove_method: webhooks_on_message_remove_method,
810
+ webhooks_on_channel_add_url: webhooks_on_channel_add_url,
811
+ webhooks_on_channel_add_method: webhooks_on_channel_add_method,
812
+ webhooks_on_channel_destroy_url: webhooks_on_channel_destroy_url,
813
+ webhooks_on_channel_destroy_method: webhooks_on_channel_destroy_method,
814
+ webhooks_on_channel_update_url: webhooks_on_channel_update_url,
815
+ webhooks_on_channel_update_method: webhooks_on_channel_update_method,
816
+ webhooks_on_member_add_url: webhooks_on_member_add_url,
817
+ webhooks_on_member_add_method: webhooks_on_member_add_method,
818
+ webhooks_on_member_remove_url: webhooks_on_member_remove_url,
819
+ webhooks_on_member_remove_method: webhooks_on_member_remove_method,
820
+ webhooks_on_message_sent_url: webhooks_on_message_sent_url,
821
+ webhooks_on_message_sent_method: webhooks_on_message_sent_method,
822
+ webhooks_on_message_updated_url: webhooks_on_message_updated_url,
823
+ webhooks_on_message_updated_method: webhooks_on_message_updated_method,
824
+ webhooks_on_message_removed_url: webhooks_on_message_removed_url,
825
+ webhooks_on_message_removed_method: webhooks_on_message_removed_method,
826
+ webhooks_on_channel_added_url: webhooks_on_channel_added_url,
827
+ webhooks_on_channel_added_method: webhooks_on_channel_added_method,
828
+ webhooks_on_channel_destroyed_url: webhooks_on_channel_destroyed_url,
829
+ webhooks_on_channel_destroyed_method: webhooks_on_channel_destroyed_method,
830
+ webhooks_on_channel_updated_url: webhooks_on_channel_updated_url,
831
+ webhooks_on_channel_updated_method: webhooks_on_channel_updated_method,
832
+ webhooks_on_member_added_url: webhooks_on_member_added_url,
833
+ webhooks_on_member_added_method: webhooks_on_member_added_method,
834
+ webhooks_on_member_removed_url: webhooks_on_member_removed_url,
835
+ webhooks_on_member_removed_method: webhooks_on_member_removed_method,
836
+ limits_channel_members: limits_channel_members,
837
+ limits_user_channels: limits_user_channels,
838
+ )
839
+ end
840
+
841
+ ##
842
+ # Access the channels
843
+ # @return [channels] channels
844
+ def channels
845
+ context.channels
846
+ end
847
+
848
+ ##
849
+ # Access the roles
850
+ # @return [roles] roles
851
+ def roles
852
+ context.roles
853
+ end
854
+
855
+ ##
856
+ # Access the users
857
+ # @return [users] users
858
+ def users
859
+ context.users
860
+ end
861
+
862
+ ##
863
+ # Provide a user friendly representation
864
+ def to_s
865
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
866
+ "<Twilio.Chat.V1.ServiceInstance #{values}>"
867
+ end
868
+
869
+ ##
870
+ # Provide a detailed, user friendly representation
871
+ def inspect
872
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
873
+ "<Twilio.Chat.V1.ServiceInstance #{values}>"
874
+ end
875
+ end
468
876
 
469
- class ServiceInstance < InstanceResource
470
- ##
471
- # Initialize the ServiceInstance
472
- # @param [Version] version Version that contains the resource
473
- # @param [Hash] payload payload that contains response from Twilio
474
- # @param [String] sid The Twilio-provided string that uniquely identifies the
475
- # Service resource to fetch.
476
- # @return [ServiceInstance] ServiceInstance
477
- def initialize(version, payload, sid: nil)
478
- super(version)
479
-
480
- # Marshaled Properties
481
- @properties = {
482
- 'sid' => payload['sid'],
483
- 'account_sid' => payload['account_sid'],
484
- 'friendly_name' => payload['friendly_name'],
485
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
486
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
487
- 'default_service_role_sid' => payload['default_service_role_sid'],
488
- 'default_channel_role_sid' => payload['default_channel_role_sid'],
489
- 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
490
- 'read_status_enabled' => payload['read_status_enabled'],
491
- 'reachability_enabled' => payload['reachability_enabled'],
492
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
493
- 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
494
- 'limits' => payload['limits'],
495
- 'webhooks' => payload['webhooks'],
496
- 'pre_webhook_url' => payload['pre_webhook_url'],
497
- 'post_webhook_url' => payload['post_webhook_url'],
498
- 'webhook_method' => payload['webhook_method'],
499
- 'webhook_filters' => payload['webhook_filters'],
500
- 'notifications' => payload['notifications'],
501
- 'url' => payload['url'],
502
- 'links' => payload['links'],
503
- }
504
-
505
- # Context
506
- @instance_context = nil
507
- @params = {'sid' => sid || @properties['sid'], }
508
- end
509
-
510
- ##
511
- # Generate an instance context for the instance, the context is capable of
512
- # performing various actions. All instance actions are proxied to the context
513
- # @return [ServiceContext] ServiceContext for this ServiceInstance
514
- def context
515
- unless @instance_context
516
- @instance_context = ServiceContext.new(@version, @params['sid'], )
517
877
  end
518
- @instance_context
519
- end
520
-
521
- ##
522
- # @return [String] The unique string that identifies the resource
523
- def sid
524
- @properties['sid']
525
- end
526
-
527
- ##
528
- # @return [String] The SID of the Account that created the resource
529
- def account_sid
530
- @properties['account_sid']
531
- end
532
-
533
- ##
534
- # @return [String] The string that you assigned to describe the resource
535
- def friendly_name
536
- @properties['friendly_name']
537
- end
538
-
539
- ##
540
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
541
- def date_created
542
- @properties['date_created']
543
- end
544
-
545
- ##
546
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
547
- def date_updated
548
- @properties['date_updated']
549
- end
550
-
551
- ##
552
- # @return [String] The service role assigned to users when they are added to the service
553
- def default_service_role_sid
554
- @properties['default_service_role_sid']
555
- end
556
-
557
- ##
558
- # @return [String] The channel role assigned to users when they are added to a channel
559
- def default_channel_role_sid
560
- @properties['default_channel_role_sid']
561
- end
562
-
563
- ##
564
- # @return [String] The channel role assigned to a channel creator when they join a new channel
565
- def default_channel_creator_role_sid
566
- @properties['default_channel_creator_role_sid']
567
- end
568
-
569
- ##
570
- # @return [Boolean] Whether the Message Consumption Horizon feature is enabled
571
- def read_status_enabled
572
- @properties['read_status_enabled']
573
- end
574
-
575
- ##
576
- # @return [Boolean] Whether the Reachability Indicator feature is enabled for this Service instance
577
- def reachability_enabled
578
- @properties['reachability_enabled']
579
- end
580
-
581
- ##
582
- # @return [String] How long in seconds to wait before assuming the user is no longer typing
583
- def typing_indicator_timeout
584
- @properties['typing_indicator_timeout']
585
- end
586
-
587
- ##
588
- # @return [String] DEPRECATED
589
- def consumption_report_interval
590
- @properties['consumption_report_interval']
591
- end
592
-
593
- ##
594
- # @return [Hash] An object that describes the limits of the service instance
595
- def limits
596
- @properties['limits']
597
- end
598
-
599
- ##
600
- # @return [Hash] An object that contains information about the webhooks configured for this service
601
- def webhooks
602
- @properties['webhooks']
603
- end
604
-
605
- ##
606
- # @return [String] The webhook URL for pre-event webhooks
607
- def pre_webhook_url
608
- @properties['pre_webhook_url']
609
- end
610
-
611
- ##
612
- # @return [String] The URL for post-event webhooks
613
- def post_webhook_url
614
- @properties['post_webhook_url']
615
- end
616
-
617
- ##
618
- # @return [String] The HTTP method to use for both PRE and POST webhooks
619
- def webhook_method
620
- @properties['webhook_method']
621
- end
622
-
623
- ##
624
- # @return [Array[String]] The list of WebHook events that are enabled for this Service instance
625
- def webhook_filters
626
- @properties['webhook_filters']
627
- end
628
-
629
- ##
630
- # @return [Hash] The notification configuration for the Service instance
631
- def notifications
632
- @properties['notifications']
633
- end
634
-
635
- ##
636
- # @return [String] The absolute URL of the Service resource
637
- def url
638
- @properties['url']
639
- end
640
-
641
- ##
642
- # @return [String] The absolute URLs of the Service's Channels, Roles, and Users
643
- def links
644
- @properties['links']
645
- end
646
-
647
- ##
648
- # Fetch the ServiceInstance
649
- # @return [ServiceInstance] Fetched ServiceInstance
650
- def fetch
651
- context.fetch
652
- end
653
-
654
- ##
655
- # Delete the ServiceInstance
656
- # @return [Boolean] true if delete succeeds, false otherwise
657
- def delete
658
- context.delete
659
- end
660
-
661
- ##
662
- # Update the ServiceInstance
663
- # @param [String] friendly_name A descriptive string that you create to describe
664
- # the resource. It can be up to 64 characters long.
665
- # @param [String] default_service_role_sid The service role assigned to users when
666
- # they are added to the service. See the {Roles
667
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
668
- # @param [String] default_channel_role_sid The channel role assigned to users when
669
- # they are added to a channel. See the {Roles
670
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
671
- # @param [String] default_channel_creator_role_sid The channel role assigned to a
672
- # channel creator when they join a new channel. See the {Roles
673
- # endpoint}[https://www.twilio.com/docs/chat/api/roles] for more details.
674
- # @param [Boolean] read_status_enabled Whether to enable the {Message Consumption
675
- # Horizon}[https://www.twilio.com/docs/chat/consumption-horizon] feature. The
676
- # default is `true`.
677
- # @param [Boolean] reachability_enabled Whether to enable the {Reachability
678
- # Indicator}[https://www.twilio.com/docs/chat/reachability-indicator] for this
679
- # Service instance. The default is `false`.
680
- # @param [String] typing_indicator_timeout How long in seconds after a `started
681
- # typing` event until clients should assume that user is no longer typing, even if
682
- # no `ended typing` message was received. The default is 5 seconds.
683
- # @param [String] consumption_report_interval DEPRECATED. The interval in seconds
684
- # between consumption reports submission batches from client endpoints.
685
- # @param [Boolean] notifications_new_message_enabled Whether to send a
686
- # notification when a new message is added to a channel. Can be: `true` or `false`
687
- # and the default is `false`.
688
- # @param [String] notifications_new_message_template The template to use to create
689
- # the notification text displayed when a new message is added to a channel and
690
- # `notifications.new_message.enabled` is `true`.
691
- # @param [Boolean] notifications_added_to_channel_enabled Whether to send a
692
- # notification when a member is added to a channel. Can be: `true` or `false` and
693
- # the default is `false`.
694
- # @param [String] notifications_added_to_channel_template The template to use to
695
- # create the notification text displayed when a member is added to a channel and
696
- # `notifications.added_to_channel.enabled` is `true`.
697
- # @param [Boolean] notifications_removed_from_channel_enabled Whether to send a
698
- # notification to a user when they are removed from a channel. Can be: `true` or
699
- # `false` and the default is `false`.
700
- # @param [String] notifications_removed_from_channel_template The template to use
701
- # to create the notification text displayed to a user when they are removed from a
702
- # channel and `notifications.removed_from_channel.enabled` is `true`.
703
- # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a
704
- # notification when a user is invited to a channel. Can be: `true` or `false` and
705
- # the default is `false`.
706
- # @param [String] notifications_invited_to_channel_template The template to use to
707
- # create the notification text displayed when a user is invited to a channel and
708
- # `notifications.invited_to_channel.enabled` is `true`.
709
- # @param [String] pre_webhook_url The URL for pre-event webhooks, which are called
710
- # by using the `webhook_method`. See {Webhook
711
- # Events}[https://www.twilio.com/docs/api/chat/webhooks] for more details.
712
- # @param [String] post_webhook_url The URL for post-event webhooks, which are
713
- # called by using the `webhook_method`. See {Webhook
714
- # Events}[https://www.twilio.com/docs/api/chat/webhooks] for more details.
715
- # @param [String] webhook_method The HTTP method to use for calls to the
716
- # `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and
717
- # the default is `POST`. See {Webhook
718
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
719
- # @param [Array[String]] webhook_filters The list of WebHook events that are
720
- # enabled for this Service instance. See {Webhook
721
- # Events}[https://www.twilio.com/docs/chat/webhook-events] for more details.
722
- # @param [String] webhooks_on_message_send_url The URL of the webhook to call in
723
- # response to the `on_message_send` event using the
724
- # `webhooks.on_message_send.method` HTTP method.
725
- # @param [String] webhooks_on_message_send_method The HTTP method to use when
726
- # calling the `webhooks.on_message_send.url`.
727
- # @param [String] webhooks_on_message_update_url The URL of the webhook to call in
728
- # response to the `on_message_update` event using the
729
- # `webhooks.on_message_update.method` HTTP method.
730
- # @param [String] webhooks_on_message_update_method The HTTP method to use when
731
- # calling the `webhooks.on_message_update.url`.
732
- # @param [String] webhooks_on_message_remove_url The URL of the webhook to call in
733
- # response to the `on_message_remove` event using the
734
- # `webhooks.on_message_remove.method` HTTP method.
735
- # @param [String] webhooks_on_message_remove_method The HTTP method to use when
736
- # calling the `webhooks.on_message_remove.url`.
737
- # @param [String] webhooks_on_channel_add_url The URL of the webhook to call in
738
- # response to the `on_channel_add` event using the
739
- # `webhooks.on_channel_add.method` HTTP method.
740
- # @param [String] webhooks_on_channel_add_method The HTTP method to use when
741
- # calling the `webhooks.on_channel_add.url`.
742
- # @param [String] webhooks_on_channel_destroy_url The URL of the webhook to call
743
- # in response to the `on_channel_destroy` event using the
744
- # `webhooks.on_channel_destroy.method` HTTP method.
745
- # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when
746
- # calling the `webhooks.on_channel_destroy.url`.
747
- # @param [String] webhooks_on_channel_update_url The URL of the webhook to call in
748
- # response to the `on_channel_update` event using the
749
- # `webhooks.on_channel_update.method` HTTP method.
750
- # @param [String] webhooks_on_channel_update_method The HTTP method to use when
751
- # calling the `webhooks.on_channel_update.url`.
752
- # @param [String] webhooks_on_member_add_url The URL of the webhook to call in
753
- # response to the `on_member_add` event using the `webhooks.on_member_add.method`
754
- # HTTP method.
755
- # @param [String] webhooks_on_member_add_method The HTTP method to use when
756
- # calling the `webhooks.on_member_add.url`.
757
- # @param [String] webhooks_on_member_remove_url The URL of the webhook to call in
758
- # response to the `on_member_remove` event using the
759
- # `webhooks.on_member_remove.method` HTTP method.
760
- # @param [String] webhooks_on_member_remove_method The HTTP method to use when
761
- # calling the `webhooks.on_member_remove.url`.
762
- # @param [String] webhooks_on_message_sent_url The URL of the webhook to call in
763
- # response to the `on_message_sent` event using the
764
- # `webhooks.on_message_sent.method` HTTP method.
765
- # @param [String] webhooks_on_message_sent_method The URL of the webhook to call
766
- # in response to the `on_message_sent` event`.
767
- # @param [String] webhooks_on_message_updated_url The URL of the webhook to call
768
- # in response to the `on_message_updated` event using the
769
- # `webhooks.on_message_updated.method` HTTP method.
770
- # @param [String] webhooks_on_message_updated_method The HTTP method to use when
771
- # calling the `webhooks.on_message_updated.url`.
772
- # @param [String] webhooks_on_message_removed_url The URL of the webhook to call
773
- # in response to the `on_message_removed` event using the
774
- # `webhooks.on_message_removed.method` HTTP method.
775
- # @param [String] webhooks_on_message_removed_method The HTTP method to use when
776
- # calling the `webhooks.on_message_removed.url`.
777
- # @param [String] webhooks_on_channel_added_url The URL of the webhook to call in
778
- # response to the `on_channel_added` event using the
779
- # `webhooks.on_channel_added.method` HTTP method.
780
- # @param [String] webhooks_on_channel_added_method The URL of the webhook to call
781
- # in response to the `on_channel_added` event`.
782
- # @param [String] webhooks_on_channel_destroyed_url The URL of the webhook to call
783
- # in response to the `on_channel_added` event using the
784
- # `webhooks.on_channel_destroyed.method` HTTP method.
785
- # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when
786
- # calling the `webhooks.on_channel_destroyed.url`.
787
- # @param [String] webhooks_on_channel_updated_url The URL of the webhook to call
788
- # in response to the `on_channel_updated` event using the
789
- # `webhooks.on_channel_updated.method` HTTP method.
790
- # @param [String] webhooks_on_channel_updated_method The HTTP method to use when
791
- # calling the `webhooks.on_channel_updated.url`.
792
- # @param [String] webhooks_on_member_added_url The URL of the webhook to call in
793
- # response to the `on_channel_updated` event using the
794
- # `webhooks.on_channel_updated.method` HTTP method.
795
- # @param [String] webhooks_on_member_added_method The HTTP method to use when
796
- # calling the `webhooks.on_channel_updated.url`.
797
- # @param [String] webhooks_on_member_removed_url The URL of the webhook to call in
798
- # response to the `on_member_removed` event using the
799
- # `webhooks.on_member_removed.method` HTTP method.
800
- # @param [String] webhooks_on_member_removed_method The HTTP method to use when
801
- # calling the `webhooks.on_member_removed.url`.
802
- # @param [String] limits_channel_members The maximum number of Members that can be
803
- # added to Channels within this Service. Can be up to 1,000.
804
- # @param [String] limits_user_channels The maximum number of Channels Users can be
805
- # a Member of within this Service. Can be up to 1,000.
806
- # @return [ServiceInstance] Updated ServiceInstance
807
- 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_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, webhooks_on_message_send_url: :unset, webhooks_on_message_send_method: :unset, webhooks_on_message_update_url: :unset, webhooks_on_message_update_method: :unset, webhooks_on_message_remove_url: :unset, webhooks_on_message_remove_method: :unset, webhooks_on_channel_add_url: :unset, webhooks_on_channel_add_method: :unset, webhooks_on_channel_destroy_url: :unset, webhooks_on_channel_destroy_method: :unset, webhooks_on_channel_update_url: :unset, webhooks_on_channel_update_method: :unset, webhooks_on_member_add_url: :unset, webhooks_on_member_add_method: :unset, webhooks_on_member_remove_url: :unset, webhooks_on_member_remove_method: :unset, webhooks_on_message_sent_url: :unset, webhooks_on_message_sent_method: :unset, webhooks_on_message_updated_url: :unset, webhooks_on_message_updated_method: :unset, webhooks_on_message_removed_url: :unset, webhooks_on_message_removed_method: :unset, webhooks_on_channel_added_url: :unset, webhooks_on_channel_added_method: :unset, webhooks_on_channel_destroyed_url: :unset, webhooks_on_channel_destroyed_method: :unset, webhooks_on_channel_updated_url: :unset, webhooks_on_channel_updated_method: :unset, webhooks_on_member_added_url: :unset, webhooks_on_member_added_method: :unset, webhooks_on_member_removed_url: :unset, webhooks_on_member_removed_method: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
808
- context.update(
809
- friendly_name: friendly_name,
810
- default_service_role_sid: default_service_role_sid,
811
- default_channel_role_sid: default_channel_role_sid,
812
- default_channel_creator_role_sid: default_channel_creator_role_sid,
813
- read_status_enabled: read_status_enabled,
814
- reachability_enabled: reachability_enabled,
815
- typing_indicator_timeout: typing_indicator_timeout,
816
- consumption_report_interval: consumption_report_interval,
817
- notifications_new_message_enabled: notifications_new_message_enabled,
818
- notifications_new_message_template: notifications_new_message_template,
819
- notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
820
- notifications_added_to_channel_template: notifications_added_to_channel_template,
821
- notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
822
- notifications_removed_from_channel_template: notifications_removed_from_channel_template,
823
- notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
824
- notifications_invited_to_channel_template: notifications_invited_to_channel_template,
825
- pre_webhook_url: pre_webhook_url,
826
- post_webhook_url: post_webhook_url,
827
- webhook_method: webhook_method,
828
- webhook_filters: webhook_filters,
829
- webhooks_on_message_send_url: webhooks_on_message_send_url,
830
- webhooks_on_message_send_method: webhooks_on_message_send_method,
831
- webhooks_on_message_update_url: webhooks_on_message_update_url,
832
- webhooks_on_message_update_method: webhooks_on_message_update_method,
833
- webhooks_on_message_remove_url: webhooks_on_message_remove_url,
834
- webhooks_on_message_remove_method: webhooks_on_message_remove_method,
835
- webhooks_on_channel_add_url: webhooks_on_channel_add_url,
836
- webhooks_on_channel_add_method: webhooks_on_channel_add_method,
837
- webhooks_on_channel_destroy_url: webhooks_on_channel_destroy_url,
838
- webhooks_on_channel_destroy_method: webhooks_on_channel_destroy_method,
839
- webhooks_on_channel_update_url: webhooks_on_channel_update_url,
840
- webhooks_on_channel_update_method: webhooks_on_channel_update_method,
841
- webhooks_on_member_add_url: webhooks_on_member_add_url,
842
- webhooks_on_member_add_method: webhooks_on_member_add_method,
843
- webhooks_on_member_remove_url: webhooks_on_member_remove_url,
844
- webhooks_on_member_remove_method: webhooks_on_member_remove_method,
845
- webhooks_on_message_sent_url: webhooks_on_message_sent_url,
846
- webhooks_on_message_sent_method: webhooks_on_message_sent_method,
847
- webhooks_on_message_updated_url: webhooks_on_message_updated_url,
848
- webhooks_on_message_updated_method: webhooks_on_message_updated_method,
849
- webhooks_on_message_removed_url: webhooks_on_message_removed_url,
850
- webhooks_on_message_removed_method: webhooks_on_message_removed_method,
851
- webhooks_on_channel_added_url: webhooks_on_channel_added_url,
852
- webhooks_on_channel_added_method: webhooks_on_channel_added_method,
853
- webhooks_on_channel_destroyed_url: webhooks_on_channel_destroyed_url,
854
- webhooks_on_channel_destroyed_method: webhooks_on_channel_destroyed_method,
855
- webhooks_on_channel_updated_url: webhooks_on_channel_updated_url,
856
- webhooks_on_channel_updated_method: webhooks_on_channel_updated_method,
857
- webhooks_on_member_added_url: webhooks_on_member_added_url,
858
- webhooks_on_member_added_method: webhooks_on_member_added_method,
859
- webhooks_on_member_removed_url: webhooks_on_member_removed_url,
860
- webhooks_on_member_removed_method: webhooks_on_member_removed_method,
861
- limits_channel_members: limits_channel_members,
862
- limits_user_channels: limits_user_channels,
863
- )
864
- end
865
-
866
- ##
867
- # Access the channels
868
- # @return [channels] channels
869
- def channels
870
- context.channels
871
- end
872
-
873
- ##
874
- # Access the roles
875
- # @return [roles] roles
876
- def roles
877
- context.roles
878
- end
879
-
880
- ##
881
- # Access the users
882
- # @return [users] users
883
- def users
884
- context.users
885
- end
886
-
887
- ##
888
- # Provide a user friendly representation
889
- def to_s
890
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
891
- "<Twilio.Chat.V1.ServiceInstance #{values}>"
892
- end
893
-
894
- ##
895
- # Provide a detailed, user friendly representation
896
- def inspect
897
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
898
- "<Twilio.Chat.V1.ServiceInstance #{values}>"
899
- end
900
878
  end
901
- end
902
879
  end
903
- end
904
- end
880
+ end