twilio-ruby 5.61.2 → 6.9.1

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