twilio-ruby 5.72.0 → 6.0.2

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 (654) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +14 -4
  4. data/.gitignore +3 -0
  5. data/CHANGES.md +281 -1
  6. data/CONTRIBUTING.md +10 -8
  7. data/LICENSE +1 -1
  8. data/Makefile +3 -0
  9. data/README.md +133 -40
  10. data/UPGRADE.md +10 -0
  11. data/advanced-examples/custom-http-client.md +170 -0
  12. data/cluster_spec.rb +77 -0
  13. data/lib/twilio-ruby/base/client_base.rb +124 -0
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  17. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  18. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  19. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  20. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  21. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  22. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  23. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +555 -514
  26. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -586
  27. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +433 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +963 -991
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +653 -717
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +498 -493
  51. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +399 -418
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +846 -903
  58. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  59. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  60. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +618 -625
  62. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  63. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  64. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  65. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  66. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  67. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +427 -390
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  69. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +369 -385
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -513
  72. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  73. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +400 -373
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +650 -645
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +400 -374
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  88. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  89. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  101. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  102. data/lib/twilio-ruby/rest/api/v2010/account.rb +982 -943
  103. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  104. data/lib/twilio-ruby/rest/api.rb +25 -34
  105. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +429 -411
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  115. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  116. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +519 -500
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +674 -640
  120. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  121. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  122. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  123. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  124. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  129. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  131. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  132. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  133. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +535 -515
  137. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  138. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  139. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +466 -440
  140. data/lib/twilio-ruby/rest/chat/v1/service.rb +862 -894
  141. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  142. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  143. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  144. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +607 -605
  149. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  150. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  152. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +510 -491
  153. data/lib/twilio-ruby/rest/chat/v2/service.rb +765 -778
  154. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  155. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  156. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  157. data/lib/twilio-ruby/rest/chat.rb +4 -48
  158. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  159. data/lib/twilio-ruby/rest/client.rb +328 -570
  160. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  161. data/lib/twilio-ruby/rest/content/v1/content.rb +364 -0
  162. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  163. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  164. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  165. data/lib/twilio-ruby/rest/content.rb +15 -0
  166. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +474 -444
  168. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  169. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  170. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +530 -495
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +606 -552
  175. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  176. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  177. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  178. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  179. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  180. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  181. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  182. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  183. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +537 -535
  184. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  185. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  186. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +618 -588
  187. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  188. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  189. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  190. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +485 -474
  191. data/lib/twilio-ruby/rest/conversations/v1/service.rb +477 -447
  192. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  193. data/lib/twilio-ruby/rest/conversations/v1/user.rb +473 -441
  194. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  195. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  196. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  198. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  199. data/lib/twilio-ruby/rest/events/v1/schema.rb +229 -218
  200. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  201. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  202. data/lib/twilio-ruby/rest/events/v1/sink.rb +439 -408
  203. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  204. data/lib/twilio-ruby/rest/events/v1/subscription.rb +420 -387
  205. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  206. data/lib/twilio-ruby/rest/events.rb +5 -34
  207. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +451 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  210. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  211. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +331 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +364 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +400 -398
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +249 -225
  226. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  227. data/lib/twilio-ruby/rest/flex_api/v1.rb +195 -92
  228. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  229. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  230. data/lib/twilio-ruby/rest/flex_api.rb +24 -31
  231. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  232. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  233. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  234. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  235. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  237. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  239. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  240. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -236
  241. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +496 -426
  242. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  243. data/lib/twilio-ruby/rest/insights/v1/conference.rb +506 -502
  244. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  245. data/lib/twilio-ruby/rest/insights/v1/room.rb +494 -489
  246. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  247. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  248. data/lib/twilio-ruby/rest/insights.rb +6 -34
  249. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  250. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +511 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +383 -0
  253. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +250 -0
  254. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +540 -0
  255. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  256. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  257. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +535 -488
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +466 -418
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +862 -779
  267. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +607 -555
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +510 -467
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +765 -689
  280. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  281. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  282. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  284. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  285. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +342 -253
  286. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  287. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  288. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  289. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  290. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  291. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  292. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  293. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  294. data/lib/twilio-ruby/rest/media.rb +4 -34
  295. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  298. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +488 -443
  299. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  301. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  302. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  304. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  305. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  307. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  308. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  309. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +507 -426
  310. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  311. data/lib/twilio-ruby/rest/messaging/v1/service.rb +741 -763
  312. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -90
  314. data/lib/twilio-ruby/rest/messaging.rb +28 -35
  315. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +359 -0
  317. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +352 -0
  318. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  319. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -295
  320. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +375 -0
  321. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +368 -0
  322. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +412 -322
  323. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -53
  324. data/lib/twilio-ruby/rest/microvisor.rb +4 -34
  325. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  327. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  328. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  329. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  330. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  331. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  332. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  333. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  334. data/lib/twilio-ruby/rest/notify/v1/service.rb +628 -622
  335. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  336. data/lib/twilio-ruby/rest/notify.rb +3 -34
  337. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  339. data/lib/twilio-ruby/rest/numbers/v1.rb +49 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  349. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  350. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  351. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  352. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  353. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  354. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +171 -0
  355. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +185 -0
  356. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +262 -0
  357. data/lib/twilio-ruby/rest/oauth/v1/token.rb +179 -0
  358. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +213 -0
  359. data/lib/twilio-ruby/rest/oauth/v1.rb +64 -0
  360. data/lib/twilio-ruby/rest/oauth.rb +33 -0
  361. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  362. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  363. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  364. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  365. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  366. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +495 -459
  367. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  368. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  369. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +449 -446
  370. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  371. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  372. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  373. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  374. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  375. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +430 -398
  376. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  377. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  378. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +443 -399
  379. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  380. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  381. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +420 -398
  382. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  383. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  384. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +420 -398
  385. data/lib/twilio-ruby/rest/preview/sync/service.rb +496 -452
  386. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  388. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  389. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  390. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  391. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +429 -400
  392. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  393. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  394. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  395. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  396. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  397. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  398. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  399. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +519 -488
  400. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +654 -619
  401. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  402. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  403. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  404. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  405. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  406. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  407. data/lib/twilio-ruby/rest/preview.rb +11 -102
  408. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  409. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  410. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  411. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  412. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  413. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  414. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  415. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  416. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  417. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  418. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  419. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  420. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  421. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  422. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  423. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  424. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  425. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +422 -455
  429. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +523 -547
  430. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  431. data/lib/twilio-ruby/rest/proxy/v1/service.rb +560 -596
  432. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  433. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  434. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  435. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  436. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  437. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  438. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  439. data/lib/twilio-ruby/rest/routes.rb +4 -34
  440. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  441. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  442. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +413 -380
  443. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  444. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  445. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  446. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  447. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  448. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +457 -447
  449. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  450. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  451. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +413 -380
  452. data/lib/twilio-ruby/rest/serverless/v1/service.rb +524 -493
  453. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  454. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  455. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  457. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  458. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  459. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +423 -394
  460. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  461. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  462. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  463. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +471 -449
  464. data/lib/twilio-ruby/rest/studio/v1/flow.rb +381 -355
  465. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  466. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  467. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  468. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  469. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +464 -442
  470. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  471. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  472. data/lib/twilio-ruby/rest/studio/v2/flow.rb +520 -472
  473. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  474. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  475. data/lib/twilio-ruby/rest/studio.rb +3 -41
  476. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  477. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -362
  478. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  479. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -406
  480. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  481. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  482. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +381 -351
  483. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +259 -0
  484. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  485. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  486. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +464 -453
  487. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  488. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  489. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  490. data/lib/twilio-ruby/rest/supersim.rb +16 -34
  491. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  492. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  493. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +457 -423
  494. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  495. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  496. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +471 -445
  497. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  498. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  499. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +471 -444
  500. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  501. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +420 -400
  502. data/lib/twilio-ruby/rest/sync/v1/service.rb +576 -567
  503. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  504. data/lib/twilio-ruby/rest/sync.rb +2 -34
  505. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -736
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +616 -661
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  515. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -566
  516. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  517. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  518. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  519. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  520. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  521. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  522. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +632 -631
  523. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  524. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +722 -730
  531. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  532. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  533. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  535. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  536. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  537. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  538. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  539. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +624 -630
  540. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  541. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  542. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  544. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  545. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  546. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +529 -513
  547. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  548. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  549. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  550. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  551. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  552. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  553. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  554. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  555. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +529 -513
  556. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  557. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  558. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  559. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  560. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  561. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -262
  562. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  563. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +500 -539
  564. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -461
  565. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -289
  566. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +423 -422
  567. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  568. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  569. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +421 -384
  570. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -366
  571. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  572. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -420
  573. data/lib/twilio-ruby/rest/verify/v2/service.rb +767 -780
  574. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -198
  575. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  576. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  577. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  578. data/lib/twilio-ruby/rest/verify.rb +7 -34
  579. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  581. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  582. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  583. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  584. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  585. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  586. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  587. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  588. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  589. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  590. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  591. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  592. data/lib/twilio-ruby/rest/video/v1/room.rb +611 -602
  593. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  594. data/lib/twilio-ruby/rest/video.rb +7 -34
  595. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  596. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  597. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  598. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  599. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +392 -352
  600. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  601. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  602. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -397
  603. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  604. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  605. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  606. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  607. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  608. data/lib/twilio-ruby/rest/voice.rb +7 -34
  609. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  610. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  611. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  612. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  613. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  614. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +640 -647
  615. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  616. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  617. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  618. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  619. data/lib/twilio-ruby/rest.rb +1 -0
  620. data/lib/twilio-ruby/twiml/voice_response.rb +132 -33
  621. data/lib/twilio-ruby/version.rb +1 -1
  622. data/sonar-project.properties +1 -1
  623. data/twilio-ruby.gemspec +1 -1
  624. metadata +118 -38
  625. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  626. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  627. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  628. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  629. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  630. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  631. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  632. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  633. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  634. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  635. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  636. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  637. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  638. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -314
  639. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  640. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +0 -559
  641. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  642. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  643. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  644. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  645. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  646. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  647. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  648. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  649. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  650. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  651. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  652. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  653. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  654. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,904 +1,872 @@
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
+ # Initialize the ServiceList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [ServiceList] ServiceList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/Services"
30
+
31
+ end
32
+ ##
33
+ # Create the ServiceInstance
34
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
35
+ # @return [ServiceInstance] Created ServiceInstance
36
+ def create(
37
+ friendly_name: nil
38
+ )
39
+
40
+ data = Twilio::Values.of({
41
+ 'FriendlyName' => friendly_name,
42
+ })
43
+
44
+ payload = @version.create('POST', @uri, data: data)
45
+ ServiceInstance.new(
46
+ @version,
47
+ payload,
48
+ )
49
+ end
50
+
51
+
52
+ ##
53
+ # Lists ServiceInstance records from the API as a list.
54
+ # Unlike stream(), this operation is eager and will load `limit` records into
55
+ # memory before returning.
56
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
57
+ # guarantees to never return more than limit. Default is no limit
58
+ # @param [Integer] page_size Number of records to fetch per request, when
59
+ # not set will use the default value of 50 records. If no page_size is defined
60
+ # but a limit is defined, stream() will attempt to read the limit with the most
61
+ # efficient page size, i.e. min(limit, 1000)
62
+ # @return [Array] Array of up to limit results
63
+ def list(limit: nil, page_size: nil)
64
+ self.stream(
65
+ limit: limit,
66
+ page_size: page_size
67
+ ).entries
68
+ end
69
+
70
+ ##
71
+ # Streams Instance records from the API as an Enumerable.
72
+ # This operation lazily loads records as efficiently as possible until the limit
73
+ # is reached.
74
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
75
+ # guarantees to never return more than limit. Default is no limit
76
+ # @param [Integer] page_size Number of records to fetch per request, when
77
+ # not set will use the default value of 50 records. If no page_size is defined
78
+ # but a limit is defined, stream() will attempt to read the limit with the most
79
+ # efficient page size, i.e. min(limit, 1000)
80
+ # @return [Enumerable] Enumerable that will yield up to limit results
81
+ def stream(limit: nil, page_size: nil)
82
+ limits = @version.read_limits(limit, page_size)
83
+
84
+ page = self.page(
85
+ page_size: limits[:page_size], )
86
+
87
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
88
+ end
89
+
90
+ ##
91
+ # When passed a block, yields ServiceInstance records from the API.
92
+ # This operation lazily loads records as efficiently as possible until the limit
93
+ # is reached.
94
+ def each
95
+ limits = @version.read_limits
96
+
97
+ page = self.page(page_size: limits[:page_size], )
98
+
99
+ @version.stream(page,
83
100
  limit: limits[:limit],
84
101
  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
102
+ end
103
+
104
+ ##
105
+ # Retrieve a single page of ServiceInstance records from the API.
106
+ # Request is executed immediately.
107
+ # @param [String] page_token PageToken provided by the API
108
+ # @param [Integer] page_number Page Number, this value is simply for client state
109
+ # @param [Integer] page_size Number of records to return, defaults to 50
110
+ # @return [Page] Page of ServiceInstance
111
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
112
+ params = Twilio::Values.of({
113
+
114
+ 'PageToken' => page_token,
115
+ 'Page' => page_number,
116
+ 'PageSize' => page_size,
117
+ })
118
+
119
+ response = @version.page('GET', @uri, params: params)
120
+
121
+ ServicePage.new(@version, response, @solution)
122
+ end
123
+
124
+ ##
125
+ # Retrieve a single page of ServiceInstance records from the API.
126
+ # Request is executed immediately.
127
+ # @param [String] target_url API-generated URL for the requested results page
128
+ # @return [Page] Page of ServiceInstance
129
+ def get_page(target_url)
130
+ response = @version.domain.request(
131
+ 'GET',
132
+ target_url
133
+ )
134
+ ServicePage.new(@version, response, @solution)
135
+ end
136
+
137
+
138
+
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '#<Twilio.Chat.V1.ServiceList>'
142
+ end
143
+ end
144
+
145
+
146
+ class ServiceContext < InstanceContext
147
+ ##
148
+ # Initialize the ServiceContext
149
+ # @param [Version] version Version that contains the resource
150
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Service resource to update.
151
+ # @return [ServiceContext] ServiceContext
152
+ def initialize(version, sid)
153
+ super(version)
154
+
155
+ # Path Solution
156
+ @solution = { sid: sid, }
157
+ @uri = "/Services/#{@solution[:sid]}"
158
+
159
+ # Dependents
160
+ @channels = nil
161
+ @roles = nil
162
+ @users = nil
163
+ end
164
+ ##
165
+ # Delete the ServiceInstance
166
+ # @return [Boolean] True if delete succeeds, false otherwise
167
+ def delete
168
+
169
+ @version.delete('DELETE', @uri)
170
+ end
171
+
172
+ ##
173
+ # Fetch the ServiceInstance
174
+ # @return [ServiceInstance] Fetched ServiceInstance
175
+ def fetch
176
+
177
+ payload = @version.fetch('GET', @uri)
178
+ ServiceInstance.new(
179
+ @version,
180
+ payload,
181
+ sid: @solution[:sid],
182
+ )
183
+ end
184
+
185
+ ##
186
+ # Update the ServiceInstance
187
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
188
+ # @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.
189
+ # @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.
190
+ # @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.
191
+ # @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`.
192
+ # @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`.
193
+ # @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.
194
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
195
+ # @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`.
196
+ # @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`.
197
+ # @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`.
198
+ # @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`.
199
+ # @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`.
200
+ # @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`.
201
+ # @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`.
202
+ # @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`.
203
+ # @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.
204
+ # @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.
205
+ # @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.
206
+ # @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.
207
+ # @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.
208
+ # @param [String] webhooks_on_message_send_method The HTTP method to use when calling the `webhooks.on_message_send.url`.
209
+ # @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.
210
+ # @param [String] webhooks_on_message_update_method The HTTP method to use when calling the `webhooks.on_message_update.url`.
211
+ # @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.
212
+ # @param [String] webhooks_on_message_remove_method The HTTP method to use when calling the `webhooks.on_message_remove.url`.
213
+ # @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.
214
+ # @param [String] webhooks_on_channel_add_method The HTTP method to use when calling the `webhooks.on_channel_add.url`.
215
+ # @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.
216
+ # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when calling the `webhooks.on_channel_destroy.url`.
217
+ # @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.
218
+ # @param [String] webhooks_on_channel_update_method The HTTP method to use when calling the `webhooks.on_channel_update.url`.
219
+ # @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.
220
+ # @param [String] webhooks_on_member_add_method The HTTP method to use when calling the `webhooks.on_member_add.url`.
221
+ # @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.
222
+ # @param [String] webhooks_on_member_remove_method The HTTP method to use when calling the `webhooks.on_member_remove.url`.
223
+ # @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.
224
+ # @param [String] webhooks_on_message_sent_method The URL of the webhook to call in response to the `on_message_sent` event`.
225
+ # @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.
226
+ # @param [String] webhooks_on_message_updated_method The HTTP method to use when calling the `webhooks.on_message_updated.url`.
227
+ # @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.
228
+ # @param [String] webhooks_on_message_removed_method The HTTP method to use when calling the `webhooks.on_message_removed.url`.
229
+ # @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.
230
+ # @param [String] webhooks_on_channel_added_method The URL of the webhook to call in response to the `on_channel_added` event`.
231
+ # @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.
232
+ # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`.
233
+ # @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.
234
+ # @param [String] webhooks_on_channel_updated_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
235
+ # @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.
236
+ # @param [String] webhooks_on_member_added_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
237
+ # @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.
238
+ # @param [String] webhooks_on_member_removed_method The HTTP method to use when calling the `webhooks.on_member_removed.url`.
239
+ # @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.
240
+ # @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.
241
+ # @return [ServiceInstance] Updated ServiceInstance
242
+ def update(
243
+ friendly_name: :unset,
244
+ default_service_role_sid: :unset,
245
+ default_channel_role_sid: :unset,
246
+ default_channel_creator_role_sid: :unset,
247
+ read_status_enabled: :unset,
248
+ reachability_enabled: :unset,
249
+ typing_indicator_timeout: :unset,
250
+ consumption_report_interval: :unset,
251
+ notifications_new_message_enabled: :unset,
252
+ notifications_new_message_template: :unset,
253
+ notifications_added_to_channel_enabled: :unset,
254
+ notifications_added_to_channel_template: :unset,
255
+ notifications_removed_from_channel_enabled: :unset,
256
+ notifications_removed_from_channel_template: :unset,
257
+ notifications_invited_to_channel_enabled: :unset,
258
+ notifications_invited_to_channel_template: :unset,
259
+ pre_webhook_url: :unset,
260
+ post_webhook_url: :unset,
261
+ webhook_method: :unset,
262
+ webhook_filters: :unset,
263
+ webhooks_on_message_send_url: :unset,
264
+ webhooks_on_message_send_method: :unset,
265
+ webhooks_on_message_update_url: :unset,
266
+ webhooks_on_message_update_method: :unset,
267
+ webhooks_on_message_remove_url: :unset,
268
+ webhooks_on_message_remove_method: :unset,
269
+ webhooks_on_channel_add_url: :unset,
270
+ webhooks_on_channel_add_method: :unset,
271
+ webhooks_on_channel_destroy_url: :unset,
272
+ webhooks_on_channel_destroy_method: :unset,
273
+ webhooks_on_channel_update_url: :unset,
274
+ webhooks_on_channel_update_method: :unset,
275
+ webhooks_on_member_add_url: :unset,
276
+ webhooks_on_member_add_method: :unset,
277
+ webhooks_on_member_remove_url: :unset,
278
+ webhooks_on_member_remove_method: :unset,
279
+ webhooks_on_message_sent_url: :unset,
280
+ webhooks_on_message_sent_method: :unset,
281
+ webhooks_on_message_updated_url: :unset,
282
+ webhooks_on_message_updated_method: :unset,
283
+ webhooks_on_message_removed_url: :unset,
284
+ webhooks_on_message_removed_method: :unset,
285
+ webhooks_on_channel_added_url: :unset,
286
+ webhooks_on_channel_added_method: :unset,
287
+ webhooks_on_channel_destroyed_url: :unset,
288
+ webhooks_on_channel_destroyed_method: :unset,
289
+ webhooks_on_channel_updated_url: :unset,
290
+ webhooks_on_channel_updated_method: :unset,
291
+ webhooks_on_member_added_url: :unset,
292
+ webhooks_on_member_added_method: :unset,
293
+ webhooks_on_member_removed_url: :unset,
294
+ webhooks_on_member_removed_method: :unset,
295
+ limits_channel_members: :unset,
296
+ limits_user_channels: :unset
297
+ )
298
+
299
+ data = Twilio::Values.of({
300
+ 'FriendlyName' => friendly_name,
301
+ 'DefaultServiceRoleSid' => default_service_role_sid,
302
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
303
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
304
+ 'ReadStatusEnabled' => read_status_enabled,
305
+ 'ReachabilityEnabled' => reachability_enabled,
306
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
307
+ 'ConsumptionReportInterval' => consumption_report_interval,
308
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
309
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
310
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
311
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
312
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
313
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
314
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
315
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
316
+ 'PreWebhookUrl' => pre_webhook_url,
317
+ 'PostWebhookUrl' => post_webhook_url,
318
+ 'WebhookMethod' => webhook_method,
319
+ 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
320
+ 'Webhooks.OnMessageSend.Url' => webhooks_on_message_send_url,
321
+ 'Webhooks.OnMessageSend.Method' => webhooks_on_message_send_method,
322
+ 'Webhooks.OnMessageUpdate.Url' => webhooks_on_message_update_url,
323
+ 'Webhooks.OnMessageUpdate.Method' => webhooks_on_message_update_method,
324
+ 'Webhooks.OnMessageRemove.Url' => webhooks_on_message_remove_url,
325
+ 'Webhooks.OnMessageRemove.Method' => webhooks_on_message_remove_method,
326
+ 'Webhooks.OnChannelAdd.Url' => webhooks_on_channel_add_url,
327
+ 'Webhooks.OnChannelAdd.Method' => webhooks_on_channel_add_method,
328
+ 'Webhooks.OnChannelDestroy.Url' => webhooks_on_channel_destroy_url,
329
+ 'Webhooks.OnChannelDestroy.Method' => webhooks_on_channel_destroy_method,
330
+ 'Webhooks.OnChannelUpdate.Url' => webhooks_on_channel_update_url,
331
+ 'Webhooks.OnChannelUpdate.Method' => webhooks_on_channel_update_method,
332
+ 'Webhooks.OnMemberAdd.Url' => webhooks_on_member_add_url,
333
+ 'Webhooks.OnMemberAdd.Method' => webhooks_on_member_add_method,
334
+ 'Webhooks.OnMemberRemove.Url' => webhooks_on_member_remove_url,
335
+ 'Webhooks.OnMemberRemove.Method' => webhooks_on_member_remove_method,
336
+ 'Webhooks.OnMessageSent.Url' => webhooks_on_message_sent_url,
337
+ 'Webhooks.OnMessageSent.Method' => webhooks_on_message_sent_method,
338
+ 'Webhooks.OnMessageUpdated.Url' => webhooks_on_message_updated_url,
339
+ 'Webhooks.OnMessageUpdated.Method' => webhooks_on_message_updated_method,
340
+ 'Webhooks.OnMessageRemoved.Url' => webhooks_on_message_removed_url,
341
+ 'Webhooks.OnMessageRemoved.Method' => webhooks_on_message_removed_method,
342
+ 'Webhooks.OnChannelAdded.Url' => webhooks_on_channel_added_url,
343
+ 'Webhooks.OnChannelAdded.Method' => webhooks_on_channel_added_method,
344
+ 'Webhooks.OnChannelDestroyed.Url' => webhooks_on_channel_destroyed_url,
345
+ 'Webhooks.OnChannelDestroyed.Method' => webhooks_on_channel_destroyed_method,
346
+ 'Webhooks.OnChannelUpdated.Url' => webhooks_on_channel_updated_url,
347
+ 'Webhooks.OnChannelUpdated.Method' => webhooks_on_channel_updated_method,
348
+ 'Webhooks.OnMemberAdded.Url' => webhooks_on_member_added_url,
349
+ 'Webhooks.OnMemberAdded.Method' => webhooks_on_member_added_method,
350
+ 'Webhooks.OnMemberRemoved.Url' => webhooks_on_member_removed_url,
351
+ 'Webhooks.OnMemberRemoved.Method' => webhooks_on_member_removed_method,
352
+ 'Limits.ChannelMembers' => limits_channel_members,
353
+ 'Limits.UserChannels' => limits_user_channels,
354
+ })
355
+
356
+ payload = @version.update('POST', @uri, data: data)
357
+ ServiceInstance.new(
358
+ @version,
359
+ payload,
360
+ sid: @solution[:sid],
361
+ )
362
+ end
363
+
364
+ ##
365
+ # Access the channels
366
+ # @return [ChannelList]
367
+ # @return [ChannelContext] if sid was passed.
368
+ def channels(sid=:unset)
369
+
370
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
371
+
372
+ if sid != :unset
373
+ return ChannelContext.new(@version, @solution[:sid],sid )
374
+ end
375
+
376
+ unless @channels
377
+ @channels = ChannelList.new(
378
+ @version, service_sid: @solution[:sid], )
379
+ end
380
+
381
+ @channels
382
+ end
383
+ ##
384
+ # Access the roles
385
+ # @return [RoleList]
386
+ # @return [RoleContext] if sid was passed.
387
+ def roles(sid=:unset)
388
+
389
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
390
+
391
+ if sid != :unset
392
+ return RoleContext.new(@version, @solution[:sid],sid )
393
+ end
394
+
395
+ unless @roles
396
+ @roles = RoleList.new(
397
+ @version, service_sid: @solution[:sid], )
398
+ end
399
+
400
+ @roles
401
+ end
402
+ ##
403
+ # Access the users
404
+ # @return [UserList]
405
+ # @return [UserContext] if sid was passed.
406
+ def users(sid=:unset)
407
+
408
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
409
+
410
+ if sid != :unset
411
+ return UserContext.new(@version, @solution[:sid],sid )
412
+ end
413
+
414
+ unless @users
415
+ @users = UserList.new(
416
+ @version, service_sid: @solution[:sid], )
417
+ end
418
+
419
+ @users
420
+ end
421
+
422
+ ##
423
+ # Provide a user friendly representation
424
+ def to_s
425
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
426
+ "#<Twilio.Chat.V1.ServiceContext #{context}>"
427
+ end
428
+
429
+ ##
430
+ # Provide a detailed, user friendly representation
431
+ def inspect
432
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
433
+ "#<Twilio.Chat.V1.ServiceContext #{context}>"
434
+ end
435
+ end
436
+
437
+ class ServicePage < Page
438
+ ##
439
+ # Initialize the ServicePage
440
+ # @param [Version] version Version that contains the resource
441
+ # @param [Response] response Response from the API
442
+ # @param [Hash] solution Path solution for the resource
443
+ # @return [ServicePage] ServicePage
444
+ def initialize(version, response, solution)
445
+ super(version, response)
446
+
447
+ # Path Solution
448
+ @solution = solution
449
+ end
450
+
451
+ ##
452
+ # Build an instance of ServiceInstance
453
+ # @param [Hash] payload Payload response from the API
454
+ # @return [ServiceInstance] ServiceInstance
455
+ def get_instance(payload)
456
+ ServiceInstance.new(@version, payload)
457
+ end
458
+
459
+ ##
460
+ # Provide a user friendly representation
461
+ def to_s
462
+ '<Twilio.Chat.V1.ServicePage>'
463
+ end
464
+ end
465
+ class ServiceInstance < InstanceResource
466
+ ##
467
+ # Initialize the ServiceInstance
468
+ # @param [Version] version Version that contains the resource
469
+ # @param [Hash] payload payload that contains response from Twilio
470
+ # @param [String] account_sid The SID of the
471
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Service
472
+ # resource.
473
+ # @param [String] sid The SID of the Call resource to fetch.
474
+ # @return [ServiceInstance] ServiceInstance
475
+ def initialize(version, payload , sid: nil)
476
+ super(version)
477
+
478
+ # Marshaled Properties
479
+ @properties = {
480
+ 'sid' => payload['sid'],
481
+ 'account_sid' => payload['account_sid'],
482
+ 'friendly_name' => payload['friendly_name'],
483
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
484
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
485
+ 'default_service_role_sid' => payload['default_service_role_sid'],
486
+ 'default_channel_role_sid' => payload['default_channel_role_sid'],
487
+ 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
488
+ 'read_status_enabled' => payload['read_status_enabled'],
489
+ 'reachability_enabled' => payload['reachability_enabled'],
490
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
491
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
492
+ 'limits' => payload['limits'],
493
+ 'webhooks' => payload['webhooks'],
494
+ 'pre_webhook_url' => payload['pre_webhook_url'],
495
+ 'post_webhook_url' => payload['post_webhook_url'],
496
+ 'webhook_method' => payload['webhook_method'],
497
+ 'webhook_filters' => payload['webhook_filters'],
498
+ 'notifications' => payload['notifications'],
499
+ 'url' => payload['url'],
500
+ 'links' => payload['links'],
501
+ }
502
+
503
+ # Context
504
+ @instance_context = nil
505
+ @params = { 'sid' => sid || @properties['sid'] , }
506
+ end
507
+
508
+ ##
509
+ # Generate an instance context for the instance, the context is capable of
510
+ # performing various actions. All instance actions are proxied to the context
511
+ # @return [ServiceContext] CallContext for this CallInstance
512
+ def context
513
+ unless @instance_context
514
+ @instance_context = ServiceContext.new(@version , @params['sid'])
515
+ end
516
+ @instance_context
517
+ end
518
+
519
+ ##
520
+ # @return [String] The unique string that we created to identify the Service resource.
521
+ def sid
522
+ @properties['sid']
523
+ end
524
+
525
+ ##
526
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Service resource.
527
+ def account_sid
528
+ @properties['account_sid']
529
+ end
530
+
531
+ ##
532
+ # @return [String] The string that you assigned to describe the resource.
533
+ def friendly_name
534
+ @properties['friendly_name']
535
+ end
536
+
537
+ ##
538
+ # @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.
539
+ def date_created
540
+ @properties['date_created']
541
+ end
542
+
543
+ ##
544
+ # @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.
545
+ def date_updated
546
+ @properties['date_updated']
547
+ end
548
+
549
+ ##
550
+ # @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.
551
+ def default_service_role_sid
552
+ @properties['default_service_role_sid']
553
+ end
554
+
555
+ ##
556
+ # @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.
557
+ def default_channel_role_sid
558
+ @properties['default_channel_role_sid']
559
+ end
560
+
561
+ ##
562
+ # @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.
563
+ def default_channel_creator_role_sid
564
+ @properties['default_channel_creator_role_sid']
565
+ end
566
+
567
+ ##
568
+ # @return [Boolean] Whether the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is `true`.
569
+ def read_status_enabled
570
+ @properties['read_status_enabled']
571
+ end
572
+
573
+ ##
574
+ # @return [Boolean] Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is `false`.
575
+ def reachability_enabled
576
+ @properties['reachability_enabled']
577
+ end
578
+
579
+ ##
580
+ # @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.
581
+ def typing_indicator_timeout
582
+ @properties['typing_indicator_timeout']
583
+ end
584
+
585
+ ##
586
+ # @return [String] DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
587
+ def consumption_report_interval
588
+ @properties['consumption_report_interval']
589
+ end
590
+
591
+ ##
592
+ # @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.
593
+ def limits
594
+ @properties['limits']
595
+ end
596
+
597
+ ##
598
+ # @return [Hash] An object that contains information about the webhooks configured for this service.
599
+ def webhooks
600
+ @properties['webhooks']
601
+ end
602
+
603
+ ##
604
+ # @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.
605
+ def pre_webhook_url
606
+ @properties['pre_webhook_url']
607
+ end
608
+
609
+ ##
610
+ # @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.
611
+ def post_webhook_url
612
+ @properties['post_webhook_url']
613
+ end
614
+
615
+ ##
616
+ # @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.
617
+ def webhook_method
618
+ @properties['webhook_method']
619
+ end
620
+
621
+ ##
622
+ # @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.
623
+ def webhook_filters
624
+ @properties['webhook_filters']
625
+ end
626
+
627
+ ##
628
+ # @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.
629
+ def notifications
630
+ @properties['notifications']
631
+ end
632
+
633
+ ##
634
+ # @return [String] The absolute URL of the Service resource.
635
+ def url
636
+ @properties['url']
637
+ end
638
+
639
+ ##
640
+ # @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).
641
+ def links
642
+ @properties['links']
643
+ end
644
+
645
+ ##
646
+ # Delete the ServiceInstance
647
+ # @return [Boolean] True if delete succeeds, false otherwise
648
+ def delete
649
+
650
+ context.delete
651
+ end
652
+
653
+ ##
654
+ # Fetch the ServiceInstance
655
+ # @return [ServiceInstance] Fetched ServiceInstance
656
+ def fetch
657
+
658
+ context.fetch
659
+ end
660
+
661
+ ##
662
+ # Update the ServiceInstance
663
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 64 characters long.
664
+ # @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.
665
+ # @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.
666
+ # @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.
667
+ # @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`.
668
+ # @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`.
669
+ # @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.
670
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
671
+ # @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`.
672
+ # @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`.
673
+ # @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`.
674
+ # @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`.
675
+ # @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`.
676
+ # @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`.
677
+ # @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`.
678
+ # @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`.
679
+ # @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.
680
+ # @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.
681
+ # @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.
682
+ # @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.
683
+ # @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.
684
+ # @param [String] webhooks_on_message_send_method The HTTP method to use when calling the `webhooks.on_message_send.url`.
685
+ # @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.
686
+ # @param [String] webhooks_on_message_update_method The HTTP method to use when calling the `webhooks.on_message_update.url`.
687
+ # @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.
688
+ # @param [String] webhooks_on_message_remove_method The HTTP method to use when calling the `webhooks.on_message_remove.url`.
689
+ # @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.
690
+ # @param [String] webhooks_on_channel_add_method The HTTP method to use when calling the `webhooks.on_channel_add.url`.
691
+ # @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.
692
+ # @param [String] webhooks_on_channel_destroy_method The HTTP method to use when calling the `webhooks.on_channel_destroy.url`.
693
+ # @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.
694
+ # @param [String] webhooks_on_channel_update_method The HTTP method to use when calling the `webhooks.on_channel_update.url`.
695
+ # @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.
696
+ # @param [String] webhooks_on_member_add_method The HTTP method to use when calling the `webhooks.on_member_add.url`.
697
+ # @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.
698
+ # @param [String] webhooks_on_member_remove_method The HTTP method to use when calling the `webhooks.on_member_remove.url`.
699
+ # @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.
700
+ # @param [String] webhooks_on_message_sent_method The URL of the webhook to call in response to the `on_message_sent` event`.
701
+ # @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.
702
+ # @param [String] webhooks_on_message_updated_method The HTTP method to use when calling the `webhooks.on_message_updated.url`.
703
+ # @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.
704
+ # @param [String] webhooks_on_message_removed_method The HTTP method to use when calling the `webhooks.on_message_removed.url`.
705
+ # @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.
706
+ # @param [String] webhooks_on_channel_added_method The URL of the webhook to call in response to the `on_channel_added` event`.
707
+ # @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.
708
+ # @param [String] webhooks_on_channel_destroyed_method The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`.
709
+ # @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.
710
+ # @param [String] webhooks_on_channel_updated_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
711
+ # @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.
712
+ # @param [String] webhooks_on_member_added_method The HTTP method to use when calling the `webhooks.on_channel_updated.url`.
713
+ # @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.
714
+ # @param [String] webhooks_on_member_removed_method The HTTP method to use when calling the `webhooks.on_member_removed.url`.
715
+ # @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.
716
+ # @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.
717
+ # @return [ServiceInstance] Updated ServiceInstance
718
+ def update(
719
+ friendly_name: :unset,
720
+ default_service_role_sid: :unset,
721
+ default_channel_role_sid: :unset,
722
+ default_channel_creator_role_sid: :unset,
723
+ read_status_enabled: :unset,
724
+ reachability_enabled: :unset,
725
+ typing_indicator_timeout: :unset,
726
+ consumption_report_interval: :unset,
727
+ notifications_new_message_enabled: :unset,
728
+ notifications_new_message_template: :unset,
729
+ notifications_added_to_channel_enabled: :unset,
730
+ notifications_added_to_channel_template: :unset,
731
+ notifications_removed_from_channel_enabled: :unset,
732
+ notifications_removed_from_channel_template: :unset,
733
+ notifications_invited_to_channel_enabled: :unset,
734
+ notifications_invited_to_channel_template: :unset,
735
+ pre_webhook_url: :unset,
736
+ post_webhook_url: :unset,
737
+ webhook_method: :unset,
738
+ webhook_filters: :unset,
739
+ webhooks_on_message_send_url: :unset,
740
+ webhooks_on_message_send_method: :unset,
741
+ webhooks_on_message_update_url: :unset,
742
+ webhooks_on_message_update_method: :unset,
743
+ webhooks_on_message_remove_url: :unset,
744
+ webhooks_on_message_remove_method: :unset,
745
+ webhooks_on_channel_add_url: :unset,
746
+ webhooks_on_channel_add_method: :unset,
747
+ webhooks_on_channel_destroy_url: :unset,
748
+ webhooks_on_channel_destroy_method: :unset,
749
+ webhooks_on_channel_update_url: :unset,
750
+ webhooks_on_channel_update_method: :unset,
751
+ webhooks_on_member_add_url: :unset,
752
+ webhooks_on_member_add_method: :unset,
753
+ webhooks_on_member_remove_url: :unset,
754
+ webhooks_on_member_remove_method: :unset,
755
+ webhooks_on_message_sent_url: :unset,
756
+ webhooks_on_message_sent_method: :unset,
757
+ webhooks_on_message_updated_url: :unset,
758
+ webhooks_on_message_updated_method: :unset,
759
+ webhooks_on_message_removed_url: :unset,
760
+ webhooks_on_message_removed_method: :unset,
761
+ webhooks_on_channel_added_url: :unset,
762
+ webhooks_on_channel_added_method: :unset,
763
+ webhooks_on_channel_destroyed_url: :unset,
764
+ webhooks_on_channel_destroyed_method: :unset,
765
+ webhooks_on_channel_updated_url: :unset,
766
+ webhooks_on_channel_updated_method: :unset,
767
+ webhooks_on_member_added_url: :unset,
768
+ webhooks_on_member_added_method: :unset,
769
+ webhooks_on_member_removed_url: :unset,
770
+ webhooks_on_member_removed_method: :unset,
771
+ limits_channel_members: :unset,
772
+ limits_user_channels: :unset
773
+ )
774
+
775
+ context.update(
776
+ friendly_name: friendly_name,
777
+ default_service_role_sid: default_service_role_sid,
778
+ default_channel_role_sid: default_channel_role_sid,
779
+ default_channel_creator_role_sid: default_channel_creator_role_sid,
780
+ read_status_enabled: read_status_enabled,
781
+ reachability_enabled: reachability_enabled,
782
+ typing_indicator_timeout: typing_indicator_timeout,
783
+ consumption_report_interval: consumption_report_interval,
784
+ notifications_new_message_enabled: notifications_new_message_enabled,
785
+ notifications_new_message_template: notifications_new_message_template,
786
+ notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
787
+ notifications_added_to_channel_template: notifications_added_to_channel_template,
788
+ notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
789
+ notifications_removed_from_channel_template: notifications_removed_from_channel_template,
790
+ notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
791
+ notifications_invited_to_channel_template: notifications_invited_to_channel_template,
792
+ pre_webhook_url: pre_webhook_url,
793
+ post_webhook_url: post_webhook_url,
794
+ webhook_method: webhook_method,
795
+ webhook_filters: webhook_filters,
796
+ webhooks_on_message_send_url: webhooks_on_message_send_url,
797
+ webhooks_on_message_send_method: webhooks_on_message_send_method,
798
+ webhooks_on_message_update_url: webhooks_on_message_update_url,
799
+ webhooks_on_message_update_method: webhooks_on_message_update_method,
800
+ webhooks_on_message_remove_url: webhooks_on_message_remove_url,
801
+ webhooks_on_message_remove_method: webhooks_on_message_remove_method,
802
+ webhooks_on_channel_add_url: webhooks_on_channel_add_url,
803
+ webhooks_on_channel_add_method: webhooks_on_channel_add_method,
804
+ webhooks_on_channel_destroy_url: webhooks_on_channel_destroy_url,
805
+ webhooks_on_channel_destroy_method: webhooks_on_channel_destroy_method,
806
+ webhooks_on_channel_update_url: webhooks_on_channel_update_url,
807
+ webhooks_on_channel_update_method: webhooks_on_channel_update_method,
808
+ webhooks_on_member_add_url: webhooks_on_member_add_url,
809
+ webhooks_on_member_add_method: webhooks_on_member_add_method,
810
+ webhooks_on_member_remove_url: webhooks_on_member_remove_url,
811
+ webhooks_on_member_remove_method: webhooks_on_member_remove_method,
812
+ webhooks_on_message_sent_url: webhooks_on_message_sent_url,
813
+ webhooks_on_message_sent_method: webhooks_on_message_sent_method,
814
+ webhooks_on_message_updated_url: webhooks_on_message_updated_url,
815
+ webhooks_on_message_updated_method: webhooks_on_message_updated_method,
816
+ webhooks_on_message_removed_url: webhooks_on_message_removed_url,
817
+ webhooks_on_message_removed_method: webhooks_on_message_removed_method,
818
+ webhooks_on_channel_added_url: webhooks_on_channel_added_url,
819
+ webhooks_on_channel_added_method: webhooks_on_channel_added_method,
820
+ webhooks_on_channel_destroyed_url: webhooks_on_channel_destroyed_url,
821
+ webhooks_on_channel_destroyed_method: webhooks_on_channel_destroyed_method,
822
+ webhooks_on_channel_updated_url: webhooks_on_channel_updated_url,
823
+ webhooks_on_channel_updated_method: webhooks_on_channel_updated_method,
824
+ webhooks_on_member_added_url: webhooks_on_member_added_url,
825
+ webhooks_on_member_added_method: webhooks_on_member_added_method,
826
+ webhooks_on_member_removed_url: webhooks_on_member_removed_url,
827
+ webhooks_on_member_removed_method: webhooks_on_member_removed_method,
828
+ limits_channel_members: limits_channel_members,
829
+ limits_user_channels: limits_user_channels,
830
+ )
831
+ end
832
+
833
+ ##
834
+ # Access the channels
835
+ # @return [channels] channels
836
+ def channels
837
+ context.channels
838
+ end
839
+
840
+ ##
841
+ # Access the roles
842
+ # @return [roles] roles
843
+ def roles
844
+ context.roles
845
+ end
846
+
847
+ ##
848
+ # Access the users
849
+ # @return [users] users
850
+ def users
851
+ context.users
852
+ end
853
+
854
+ ##
855
+ # Provide a user friendly representation
856
+ def to_s
857
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
858
+ "<Twilio.Chat.V1.ServiceInstance #{values}>"
859
+ end
860
+
861
+ ##
862
+ # Provide a detailed, user friendly representation
863
+ def inspect
864
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
865
+ "<Twilio.Chat.V1.ServiceInstance #{values}>"
866
+ end
867
+ end
468
868
 
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'].to_i,
493
- '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
869
  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
870
  end
901
- end
902
871
  end
903
- end
904
- end
872
+ end