twilio-ruby 5.74.0 → 7.10.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 (796) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,788 +1,1131 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Chat
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Chat < Domain
12
- class V2 < Version
13
- class ServiceList < ListResource
14
- ##
15
- # Initialize the ServiceList
16
- # @param [Version] version Version that contains the resource
17
- # @return [ServiceList] ServiceList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Services"
24
- end
25
-
26
- ##
27
- # Create the ServiceInstance
28
- # @param [String] friendly_name A descriptive string that you create to describe
29
- # the new resource.
30
- # @return [ServiceInstance] Created ServiceInstance
31
- def create(friendly_name: nil)
32
- data = Twilio::Values.of({'FriendlyName' => friendly_name, })
33
-
34
- payload = @version.create('POST', @uri, data: data)
35
-
36
- ServiceInstance.new(@version, payload, )
37
- end
38
-
39
- ##
40
- # Lists ServiceInstance records from the API as a list.
41
- # Unlike stream(), this operation is eager and will load `limit` records into
42
- # memory before returning.
43
- # @param [Integer] limit Upper limit for the number of records to return. stream()
44
- # guarantees to never return more than limit. Default is no limit
45
- # @param [Integer] page_size Number of records to fetch per request, when
46
- # not set will use the default value of 50 records. If no page_size is defined
47
- # but a limit is defined, stream() will attempt to read the limit with the most
48
- # efficient page size, i.e. min(limit, 1000)
49
- # @return [Array] Array of up to limit results
50
- def list(limit: nil, page_size: nil)
51
- self.stream(limit: limit, page_size: page_size).entries
52
- end
53
-
54
- ##
55
- # Streams ServiceInstance records from the API as an Enumerable.
56
- # This operation lazily loads records as efficiently as possible until the limit
57
- # is reached.
58
- # @param [Integer] limit Upper limit for the number of records to return. stream()
59
- # guarantees to never return more than limit. Default is no limit.
60
- # @param [Integer] page_size Number of records to fetch per request, when
61
- # not set will use the default value of 50 records. If no page_size is defined
62
- # but a limit is defined, stream() will attempt to read the limit with the most
63
- # efficient page size, i.e. min(limit, 1000)
64
- # @return [Enumerable] Enumerable that will yield up to limit results
65
- def stream(limit: nil, page_size: nil)
66
- limits = @version.read_limits(limit, page_size)
67
-
68
- page = self.page(page_size: limits[:page_size], )
69
-
70
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
71
- end
72
-
73
- ##
74
- # When passed a block, yields ServiceInstance records from the API.
75
- # This operation lazily loads records as efficiently as possible until the limit
76
- # is reached.
77
- def each
78
- limits = @version.read_limits
79
-
80
- page = self.page(page_size: limits[:page_size], )
81
-
82
- @version.stream(page,
17
+ module REST
18
+ class Chat < ChatBase
19
+ class V2 < Version
20
+ class ServiceList < ListResource
21
+
22
+ ##
23
+ # Initialize the ServiceList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [ServiceList] ServiceList
26
+ def initialize(version)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { }
31
+ @uri = "/Services"
32
+
33
+ end
34
+ ##
35
+ # Create the ServiceInstance
36
+ # @param [String] friendly_name A descriptive string that you create to describe the new resource.
37
+ # @return [ServiceInstance] Created ServiceInstance
38
+ def create(
39
+ friendly_name: nil
40
+ )
41
+
42
+ data = Twilio::Values.of({
43
+ 'FriendlyName' => friendly_name,
44
+ })
45
+
46
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
47
+
48
+
49
+
50
+
51
+
52
+ payload = @version.create('POST', @uri, data: data, headers: headers)
53
+ ServiceInstance.new(
54
+ @version,
55
+ payload,
56
+ )
57
+ end
58
+
59
+ ##
60
+ # Create the ServiceInstanceMetadata
61
+ # @param [String] friendly_name A descriptive string that you create to describe the new resource.
62
+ # @return [ServiceInstance] Created ServiceInstance
63
+ def create_with_metadata(
64
+ friendly_name: nil
65
+ )
66
+
67
+ data = Twilio::Values.of({
68
+ 'FriendlyName' => friendly_name,
69
+ })
70
+
71
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
72
+
73
+
74
+
75
+
76
+
77
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
78
+ service_instance = ServiceInstance.new(
79
+ @version,
80
+ response.body,
81
+ )
82
+ ServiceInstanceMetadata.new(
83
+ @version,
84
+ service_instance,
85
+ response.headers,
86
+ response.status_code
87
+ )
88
+ end
89
+
90
+
91
+ ##
92
+ # Lists ServiceInstance records from the API as a list.
93
+ # Unlike stream(), this operation is eager and will load `limit` records into
94
+ # memory before returning.
95
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
96
+ # guarantees to never return more than limit. Default is no limit
97
+ # @param [Integer] page_size Number of records to fetch per request, when
98
+ # not set will use the default value of 50 records. If no page_size is defined
99
+ # but a limit is defined, stream() will attempt to read the limit with the most
100
+ # efficient page size, i.e. min(limit, 1000)
101
+ # @return [Array] Array of up to limit results
102
+ def list(limit: nil, page_size: nil)
103
+ self.stream(
104
+ limit: limit,
105
+ page_size: page_size
106
+ ).entries
107
+ end
108
+
109
+ ##
110
+ # Streams Instance records from the API as an Enumerable.
111
+ # This operation lazily loads records as efficiently as possible until the limit
112
+ # is reached.
113
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
114
+ # guarantees to never return more than limit. Default is no limit
115
+ # @param [Integer] page_size Number of records to fetch per request, when
116
+ # not set will use the default value of 50 records. If no page_size is defined
117
+ # but a limit is defined, stream() will attempt to read the limit with the most
118
+ # efficient page size, i.e. min(limit, 1000)
119
+ # @return [Enumerable] Enumerable that will yield up to limit results
120
+ def stream(limit: nil, page_size: nil)
121
+ limits = @version.read_limits(limit, page_size)
122
+
123
+ page = self.page(
124
+ page_size: limits[:page_size], )
125
+
126
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
127
+ end
128
+
129
+ ##
130
+ # Lists ServicePageMetadata records from the API as a list.
131
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
132
+ # guarantees to never return more than limit. Default is no limit
133
+ # @param [Integer] page_size Number of records to fetch per request, when
134
+ # not set will use the default value of 50 records. If no page_size is defined
135
+ # but a limit is defined, stream() will attempt to read the limit with the most
136
+ # efficient page size, i.e. min(limit, 1000)
137
+ # @return [Array] Array of up to limit results
138
+ def list_with_metadata(limit: nil, page_size: nil)
139
+ limits = @version.read_limits(limit, page_size)
140
+ params = Twilio::Values.of({
141
+
142
+ 'PageSize' => limits[:page_size],
143
+ });
144
+ headers = Twilio::Values.of({})
145
+
146
+ response = @version.page('GET', @uri, params: params, headers: headers)
147
+
148
+ ServicePageMetadata.new(@version, response, @solution, limits[:limit])
149
+ end
150
+
151
+ ##
152
+ # When passed a block, yields ServiceInstance records from the API.
153
+ # This operation lazily loads records as efficiently as possible until the limit
154
+ # is reached.
155
+ def each
156
+ limits = @version.read_limits
157
+
158
+ page = self.page(page_size: limits[:page_size], )
159
+
160
+ @version.stream(page,
83
161
  limit: limits[:limit],
84
162
  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
163
+ end
164
+
165
+ ##
166
+ # Retrieve a single page of ServiceInstance records from the API.
167
+ # Request is executed immediately.
168
+ # @param [String] page_token PageToken provided by the API
169
+ # @param [Integer] page_number Page Number, this value is simply for client state
170
+ # @param [Integer] page_size Number of records to return, defaults to 50
171
+ # @return [Page] Page of ServiceInstance
172
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
173
+ params = Twilio::Values.of({
174
+ 'PageToken' => page_token,
175
+ 'Page' => page_number,
176
+ 'PageSize' => page_size,
177
+ })
178
+ headers = Twilio::Values.of({})
179
+
180
+
181
+
182
+ response = @version.page('GET', @uri, params: params, headers: headers)
183
+
184
+ ServicePage.new(@version, response, @solution)
185
+ end
186
+
187
+ ##
188
+ # Retrieve a single page of ServiceInstance records from the API.
189
+ # Request is executed immediately.
190
+ # @param [String] target_url API-generated URL for the requested results page
191
+ # @return [Page] Page of ServiceInstance
192
+ def get_page(target_url)
193
+ response = @version.domain.request(
194
+ 'GET',
195
+ target_url
196
+ )
197
+ ServicePage.new(@version, response, @solution)
198
+ end
199
+
200
+
201
+
202
+ # Provide a user friendly representation
203
+ def to_s
204
+ '#<Twilio.Chat.V2.ServiceList>'
205
+ end
206
+ end
207
+
208
+
209
+ class ServiceContext < InstanceContext
210
+ ##
211
+ # Initialize the ServiceContext
212
+ # @param [Version] version Version that contains the resource
213
+ # @param [String] sid The SID of the Service resource to update.
214
+ # @return [ServiceContext] ServiceContext
215
+ def initialize(version, sid)
216
+ super(version)
217
+
218
+
219
+ # Path Solution
220
+ @solution = { sid: sid, }
221
+ @uri = "/Services/#{@solution[:sid]}"
222
+
223
+ # Dependents
224
+ @bindings = nil
225
+ @channels = nil
226
+ @roles = nil
227
+ @users = nil
228
+ end
229
+ ##
230
+ # Delete the ServiceInstance
231
+ # @return [Boolean] True if delete succeeds, false otherwise
232
+ def delete
233
+
234
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
235
+
236
+
237
+
238
+
239
+ @version.delete('DELETE', @uri, headers: headers)
240
+ end
241
+
242
+ ##
243
+ # Delete the ServiceInstanceMetadata
244
+ # @return [Boolean] True if delete succeeds, false otherwise
245
+ def delete_with_metadata
246
+
247
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
248
+
249
+
250
+
251
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
252
+ service_instance = ServiceInstance.new(
253
+ @version,
254
+ response.body,
255
+ account_sid: @solution[:account_sid],
256
+ sid: @solution[:sid],
257
+ )
258
+ ServiceInstanceMetadata.new(@version, service_instance, response.headers, response.status_code)
259
+ end
260
+
261
+ ##
262
+ # Fetch the ServiceInstance
263
+ # @return [ServiceInstance] Fetched ServiceInstance
264
+ def fetch
265
+
266
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
267
+
268
+
269
+
270
+
271
+
272
+ payload = @version.fetch('GET', @uri, headers: headers)
273
+ ServiceInstance.new(
274
+ @version,
275
+ payload,
276
+ sid: @solution[:sid],
277
+ )
278
+ end
279
+
280
+ ##
281
+ # Fetch the ServiceInstanceMetadata
282
+ # @return [ServiceInstance] Fetched ServiceInstance
283
+ def fetch_with_metadata
284
+
285
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
286
+
287
+
288
+
289
+
290
+
291
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
292
+ service_instance = ServiceInstance.new(
293
+ @version,
294
+ response.body,
295
+ sid: @solution[:sid],
296
+ )
297
+ ServiceInstanceMetadata.new(
298
+ @version,
299
+ service_instance,
300
+ response.headers,
301
+ response.status_code
302
+ )
303
+ end
304
+
305
+ ##
306
+ # Update the ServiceInstance
307
+ # @param [String] friendly_name A descriptive string that you create to describe the resource.
308
+ # @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.
309
+ # @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.
310
+ # @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.
311
+ # @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`.
312
+ # @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`.
313
+ # @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.
314
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
315
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. The default is `false`.
316
+ # @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`.
317
+ # @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`.
318
+ # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new message badge is enabled. The default is `false`.
319
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. The default is `false`.
320
+ # @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`.
321
+ # @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`.
322
+ # @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`.
323
+ # @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`.
324
+ # @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`.
325
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. The default is `false`.
326
+ # @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`.
327
+ # @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`.
328
+ # @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.
329
+ # @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.
330
+ # @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.
331
+ # @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.
332
+ # @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.
333
+ # @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.
334
+ # @param [String] media_compatibility_message The message to send when a media message has no text. Can be used as placeholder message.
335
+ # @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.
336
+ # @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.
337
+ # @param [Boolean] notifications_log_enabled Whether to log notifications. The default is `false`.
338
+ # @return [ServiceInstance] Updated ServiceInstance
339
+ def update(
340
+ friendly_name: :unset,
341
+ default_service_role_sid: :unset,
342
+ default_channel_role_sid: :unset,
343
+ default_channel_creator_role_sid: :unset,
344
+ read_status_enabled: :unset,
345
+ reachability_enabled: :unset,
346
+ typing_indicator_timeout: :unset,
347
+ consumption_report_interval: :unset,
348
+ notifications_new_message_enabled: :unset,
349
+ notifications_new_message_template: :unset,
350
+ notifications_new_message_sound: :unset,
351
+ notifications_new_message_badge_count_enabled: :unset,
352
+ notifications_added_to_channel_enabled: :unset,
353
+ notifications_added_to_channel_template: :unset,
354
+ notifications_added_to_channel_sound: :unset,
355
+ notifications_removed_from_channel_enabled: :unset,
356
+ notifications_removed_from_channel_template: :unset,
357
+ notifications_removed_from_channel_sound: :unset,
358
+ notifications_invited_to_channel_enabled: :unset,
359
+ notifications_invited_to_channel_template: :unset,
360
+ notifications_invited_to_channel_sound: :unset,
361
+ pre_webhook_url: :unset,
362
+ post_webhook_url: :unset,
363
+ webhook_method: :unset,
364
+ webhook_filters: :unset,
365
+ limits_channel_members: :unset,
366
+ limits_user_channels: :unset,
367
+ media_compatibility_message: :unset,
368
+ pre_webhook_retry_count: :unset,
369
+ post_webhook_retry_count: :unset,
370
+ notifications_log_enabled: :unset
371
+ )
372
+
373
+ data = Twilio::Values.of({
374
+ 'FriendlyName' => friendly_name,
375
+ 'DefaultServiceRoleSid' => default_service_role_sid,
376
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
377
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
378
+ 'ReadStatusEnabled' => read_status_enabled,
379
+ 'ReachabilityEnabled' => reachability_enabled,
380
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
381
+ 'ConsumptionReportInterval' => consumption_report_interval,
382
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
383
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
384
+ 'Notifications.NewMessage.Sound' => notifications_new_message_sound,
385
+ 'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
386
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
387
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
388
+ 'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
389
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
390
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
391
+ 'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
392
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
393
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
394
+ 'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
395
+ 'PreWebhookUrl' => pre_webhook_url,
396
+ 'PostWebhookUrl' => post_webhook_url,
397
+ 'WebhookMethod' => webhook_method,
398
+ 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
399
+ 'Limits.ChannelMembers' => limits_channel_members,
400
+ 'Limits.UserChannels' => limits_user_channels,
401
+ 'Media.CompatibilityMessage' => media_compatibility_message,
402
+ 'PreWebhookRetryCount' => pre_webhook_retry_count,
403
+ 'PostWebhookRetryCount' => post_webhook_retry_count,
404
+ 'Notifications.LogEnabled' => notifications_log_enabled,
405
+ })
406
+
407
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
408
+
409
+
410
+
411
+
412
+
413
+ payload = @version.update('POST', @uri, data: data, headers: headers)
414
+ ServiceInstance.new(
415
+ @version,
416
+ payload,
417
+ sid: @solution[:sid],
418
+ )
419
+ end
420
+
421
+ ##
422
+ # Update the ServiceInstanceMetadata
423
+ # @param [String] friendly_name A descriptive string that you create to describe the resource.
424
+ # @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.
425
+ # @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.
426
+ # @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.
427
+ # @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`.
428
+ # @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`.
429
+ # @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.
430
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
431
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. The default is `false`.
432
+ # @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`.
433
+ # @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`.
434
+ # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new message badge is enabled. The default is `false`.
435
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. The default is `false`.
436
+ # @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`.
437
+ # @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`.
438
+ # @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`.
439
+ # @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`.
440
+ # @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`.
441
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. The default is `false`.
442
+ # @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`.
443
+ # @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`.
444
+ # @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.
445
+ # @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.
446
+ # @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.
447
+ # @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.
448
+ # @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.
449
+ # @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.
450
+ # @param [String] media_compatibility_message The message to send when a media message has no text. Can be used as placeholder message.
451
+ # @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.
452
+ # @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.
453
+ # @param [Boolean] notifications_log_enabled Whether to log notifications. The default is `false`.
454
+ # @return [ServiceInstance] Updated ServiceInstance
455
+ def update_with_metadata(
456
+ friendly_name: :unset,
457
+ default_service_role_sid: :unset,
458
+ default_channel_role_sid: :unset,
459
+ default_channel_creator_role_sid: :unset,
460
+ read_status_enabled: :unset,
461
+ reachability_enabled: :unset,
462
+ typing_indicator_timeout: :unset,
463
+ consumption_report_interval: :unset,
464
+ notifications_new_message_enabled: :unset,
465
+ notifications_new_message_template: :unset,
466
+ notifications_new_message_sound: :unset,
467
+ notifications_new_message_badge_count_enabled: :unset,
468
+ notifications_added_to_channel_enabled: :unset,
469
+ notifications_added_to_channel_template: :unset,
470
+ notifications_added_to_channel_sound: :unset,
471
+ notifications_removed_from_channel_enabled: :unset,
472
+ notifications_removed_from_channel_template: :unset,
473
+ notifications_removed_from_channel_sound: :unset,
474
+ notifications_invited_to_channel_enabled: :unset,
475
+ notifications_invited_to_channel_template: :unset,
476
+ notifications_invited_to_channel_sound: :unset,
477
+ pre_webhook_url: :unset,
478
+ post_webhook_url: :unset,
479
+ webhook_method: :unset,
480
+ webhook_filters: :unset,
481
+ limits_channel_members: :unset,
482
+ limits_user_channels: :unset,
483
+ media_compatibility_message: :unset,
484
+ pre_webhook_retry_count: :unset,
485
+ post_webhook_retry_count: :unset,
486
+ notifications_log_enabled: :unset
487
+ )
488
+
489
+ data = Twilio::Values.of({
490
+ 'FriendlyName' => friendly_name,
491
+ 'DefaultServiceRoleSid' => default_service_role_sid,
492
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
493
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
494
+ 'ReadStatusEnabled' => read_status_enabled,
495
+ 'ReachabilityEnabled' => reachability_enabled,
496
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
497
+ 'ConsumptionReportInterval' => consumption_report_interval,
498
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
499
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
500
+ 'Notifications.NewMessage.Sound' => notifications_new_message_sound,
501
+ 'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
502
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
503
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
504
+ 'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
505
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
506
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
507
+ 'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
508
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
509
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
510
+ 'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
511
+ 'PreWebhookUrl' => pre_webhook_url,
512
+ 'PostWebhookUrl' => post_webhook_url,
513
+ 'WebhookMethod' => webhook_method,
514
+ 'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
515
+ 'Limits.ChannelMembers' => limits_channel_members,
516
+ 'Limits.UserChannels' => limits_user_channels,
517
+ 'Media.CompatibilityMessage' => media_compatibility_message,
518
+ 'PreWebhookRetryCount' => pre_webhook_retry_count,
519
+ 'PostWebhookRetryCount' => post_webhook_retry_count,
520
+ 'Notifications.LogEnabled' => notifications_log_enabled,
521
+ })
522
+
523
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
524
+
525
+
526
+
527
+
528
+
529
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
530
+ service_instance = ServiceInstance.new(
531
+ @version,
532
+ response.body,
533
+ sid: @solution[:sid],
534
+ )
535
+ ServiceInstanceMetadata.new(
536
+ @version,
537
+ service_instance,
538
+ response.headers,
539
+ response.status_code
540
+ )
541
+ end
542
+
543
+ ##
544
+ # Access the bindings
545
+ # @return [BindingList]
546
+ # @return [BindingContext] if sid was passed.
547
+ def bindings(sid=:unset)
548
+
549
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
550
+
551
+ if sid != :unset
552
+ return BindingContext.new(@version, @solution[:sid],sid )
553
+ end
554
+
555
+ unless @bindings
556
+ @bindings = BindingList.new(
557
+ @version, service_sid: @solution[:sid], )
558
+ end
559
+
560
+ @bindings
561
+ end
562
+ ##
563
+ # Access the channels
564
+ # @return [ChannelList]
565
+ # @return [ChannelContext] if sid was passed.
566
+ def channels(sid=:unset)
567
+
568
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
569
+
570
+ if sid != :unset
571
+ return ChannelContext.new(@version, @solution[:sid],sid )
572
+ end
573
+
574
+ unless @channels
575
+ @channels = ChannelList.new(
576
+ @version, service_sid: @solution[:sid], )
577
+ end
578
+
579
+ @channels
580
+ end
581
+ ##
582
+ # Access the roles
583
+ # @return [RoleList]
584
+ # @return [RoleContext] if sid was passed.
585
+ def roles(sid=:unset)
586
+
587
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
588
+
589
+ if sid != :unset
590
+ return RoleContext.new(@version, @solution[:sid],sid )
591
+ end
592
+
593
+ unless @roles
594
+ @roles = RoleList.new(
595
+ @version, service_sid: @solution[:sid], )
596
+ end
597
+
598
+ @roles
599
+ end
600
+ ##
601
+ # Access the users
602
+ # @return [UserList]
603
+ # @return [UserContext] if sid was passed.
604
+ def users(sid=:unset)
605
+
606
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
607
+
608
+ if sid != :unset
609
+ return UserContext.new(@version, @solution[:sid],sid )
610
+ end
611
+
612
+ unless @users
613
+ @users = UserList.new(
614
+ @version, service_sid: @solution[:sid], )
615
+ end
616
+
617
+ @users
618
+ end
619
+
620
+ ##
621
+ # Provide a user friendly representation
622
+ def to_s
623
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
624
+ "#<Twilio.Chat.V2.ServiceContext #{context}>"
625
+ end
626
+
627
+ ##
628
+ # Provide a detailed, user friendly representation
629
+ def inspect
630
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
631
+ "#<Twilio.Chat.V2.ServiceContext #{context}>"
632
+ end
633
+ end
634
+
635
+ class ServiceInstanceMetadata < InstanceResourceMetadata
636
+ ##
637
+ # Initializes a new ServiceInstanceMetadata.
638
+ # @param [Version] version Version that contains the resource
639
+ # @param [}ServiceInstance] service_instance The instance associated with the metadata.
640
+ # @param [Hash] headers Header object with response headers.
641
+ # @param [Integer] status_code The HTTP status code of the response.
642
+ # @return [ServiceInstanceMetadata] The initialized instance with metadata.
643
+ def initialize(version, service_instance, headers, status_code)
644
+ super(version, headers, status_code)
645
+ @service_instance = service_instance
646
+ end
647
+
648
+ def service
649
+ @service_instance
650
+ end
651
+
652
+ def headers
653
+ @headers
654
+ end
655
+
656
+ def status_code
657
+ @status_code
658
+ end
659
+
660
+ def to_s
661
+ "<Twilio.Api.V2010.ServiceInstanceMetadata status=#{@status_code}>"
662
+ end
663
+ end
664
+
665
+ class ServiceListResponse < InstanceListResource
666
+ # @param [Array<ServiceInstance>] instance
667
+ # @param [Hash{String => Object}] headers
668
+ # @param [Integer] status_code
669
+ def initialize(version, payload, key)
670
+ @service_instance = payload.body[key].map do |data|
671
+ ServiceInstance.new(version, data)
672
+ end
673
+ @headers = payload.headers
674
+ @status_code = payload.status_code
675
+ end
676
+
677
+ def service_instance
678
+ @instance
679
+ end
680
+ end
681
+
682
+ class ServicePage < Page
683
+ ##
684
+ # Initialize the ServicePage
685
+ # @param [Version] version Version that contains the resource
686
+ # @param [Response] response Response from the API
687
+ # @param [Hash] solution Path solution for the resource
688
+ # @return [ServicePage] ServicePage
689
+ def initialize(version, response, solution)
690
+ super(version, response)
691
+
692
+
693
+ # Path Solution
694
+ @solution = solution
695
+ end
696
+
697
+ ##
698
+ # Build an instance of ServiceInstance
699
+ # @param [Hash] payload Payload response from the API
700
+ # @return [ServiceInstance] ServiceInstance
701
+ def get_instance(payload)
702
+ ServiceInstance.new(@version, payload)
703
+ end
704
+
705
+ ##
706
+ # Provide a user friendly representation
707
+ def to_s
708
+ '<Twilio.Chat.V2.ServicePage>'
709
+ end
710
+ end
711
+
712
+ class ServicePageMetadata < PageMetadata
713
+ attr_reader :service_page
714
+
715
+ def initialize(version, response, solution, limit)
716
+ super(version, response)
717
+ @service_page = []
718
+ @limit = limit
719
+ key = get_key(response.body)
720
+ records = 0
721
+ while( limit != :unset && records < limit )
722
+ @service_page << ServiceListResponse.new(version, @payload, key, limit - records)
723
+ @payload = self.next_page
724
+ break unless @payload
725
+ records += @payload.body[key].size
726
+ end
727
+ # Path Solution
728
+ @solution = solution
729
+ end
730
+
731
+ def each
732
+ @service_page.each do |record|
733
+ yield record
734
+ end
735
+ end
736
+
737
+ def to_s
738
+ '<Twilio::REST::Chat::V2PageMetadata>';
739
+ end
740
+ end
741
+ class ServiceListResponse < InstanceListResource
742
+
743
+ # @param [Array<ServiceInstance>] instance
744
+ # @param [Hash{String => Object}] headers
745
+ # @param [Integer] status_code
746
+ def initialize(version, payload, key, limit = :unset)
747
+ data_list = payload.body[key]
748
+ if limit != :unset
749
+ data_list = data_list[0, limit]
750
+ end
751
+ @service = data_list.map do |data|
752
+ ServiceInstance.new(version, data)
753
+ end
754
+ @headers = payload.headers
755
+ @status_code = payload.status_code
756
+ end
757
+
758
+ def service
759
+ @service
760
+ end
761
+
762
+ def headers
763
+ @headers
764
+ end
765
+
766
+ def status_code
767
+ @status_code
768
+ end
769
+ end
770
+
771
+ class ServiceInstance < InstanceResource
772
+ ##
773
+ # Initialize the ServiceInstance
774
+ # @param [Version] version Version that contains the resource
775
+ # @param [Hash] payload payload that contains response from Twilio
776
+ # @param [String] account_sid The SID of the
777
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Service
778
+ # resource.
779
+ # @param [String] sid The SID of the Call resource to fetch.
780
+ # @return [ServiceInstance] ServiceInstance
781
+ def initialize(version, payload , sid: nil)
782
+ super(version)
783
+
784
+
785
+ # Marshaled Properties
786
+ @properties = {
787
+ 'sid' => payload['sid'],
788
+ 'account_sid' => payload['account_sid'],
789
+ 'friendly_name' => payload['friendly_name'],
790
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
791
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
792
+ 'default_service_role_sid' => payload['default_service_role_sid'],
793
+ 'default_channel_role_sid' => payload['default_channel_role_sid'],
794
+ 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
795
+ 'read_status_enabled' => payload['read_status_enabled'],
796
+ 'reachability_enabled' => payload['reachability_enabled'],
797
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
798
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
799
+ 'limits' => payload['limits'],
800
+ 'pre_webhook_url' => payload['pre_webhook_url'],
801
+ 'post_webhook_url' => payload['post_webhook_url'],
802
+ 'webhook_method' => payload['webhook_method'],
803
+ 'webhook_filters' => payload['webhook_filters'],
804
+ 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
805
+ 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
806
+ 'notifications' => payload['notifications'],
807
+ 'media' => payload['media'],
808
+ 'url' => payload['url'],
809
+ 'links' => payload['links'],
810
+ }
811
+
812
+ # Context
813
+ @instance_context = nil
814
+ @params = { 'sid' => sid || @properties['sid'] , }
815
+ end
816
+
817
+ ##
818
+ # Generate an instance context for the instance, the context is capable of
819
+ # performing various actions. All instance actions are proxied to the context
820
+ # @return [ServiceContext] CallContext for this CallInstance
821
+ def context
822
+ unless @instance_context
823
+ @instance_context = ServiceContext.new(@version , @params['sid'])
824
+ end
825
+ @instance_context
826
+ end
827
+
828
+ ##
829
+ # @return [String] The unique string that we created to identify the Service resource.
830
+ def sid
831
+ @properties['sid']
832
+ end
833
+
834
+ ##
835
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Service resource.
836
+ def account_sid
837
+ @properties['account_sid']
838
+ end
839
+
840
+ ##
841
+ # @return [String] The string that you assigned to describe the resource.
842
+ def friendly_name
843
+ @properties['friendly_name']
844
+ end
845
+
846
+ ##
847
+ # @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.
848
+ def date_created
849
+ @properties['date_created']
850
+ end
851
+
852
+ ##
853
+ # @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.
854
+ def date_updated
855
+ @properties['date_updated']
856
+ end
857
+
858
+ ##
859
+ # @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.
860
+ def default_service_role_sid
861
+ @properties['default_service_role_sid']
862
+ end
863
+
864
+ ##
865
+ # @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.
866
+ def default_channel_role_sid
867
+ @properties['default_channel_role_sid']
868
+ end
869
+
870
+ ##
871
+ # @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.
872
+ def default_channel_creator_role_sid
873
+ @properties['default_channel_creator_role_sid']
874
+ end
875
+
876
+ ##
877
+ # @return [Boolean] Whether the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is `true`.
878
+ def read_status_enabled
879
+ @properties['read_status_enabled']
880
+ end
881
+
882
+ ##
883
+ # @return [Boolean] Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is `false`.
884
+ def reachability_enabled
885
+ @properties['reachability_enabled']
886
+ end
887
+
888
+ ##
889
+ # @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.
890
+ def typing_indicator_timeout
891
+ @properties['typing_indicator_timeout']
892
+ end
893
+
894
+ ##
895
+ # @return [String] DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
896
+ def consumption_report_interval
897
+ @properties['consumption_report_interval']
898
+ end
899
+
900
+ ##
901
+ # @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.
902
+ def limits
903
+ @properties['limits']
904
+ end
905
+
906
+ ##
907
+ # @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.
908
+ def pre_webhook_url
909
+ @properties['pre_webhook_url']
910
+ end
911
+
912
+ ##
913
+ # @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.
914
+ def post_webhook_url
915
+ @properties['post_webhook_url']
916
+ end
917
+
918
+ ##
919
+ # @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.
920
+ def webhook_method
921
+ @properties['webhook_method']
922
+ end
923
+
924
+ ##
925
+ # @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.
926
+ def webhook_filters
927
+ @properties['webhook_filters']
928
+ end
929
+
930
+ ##
931
+ # @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.
932
+ def pre_webhook_retry_count
933
+ @properties['pre_webhook_retry_count']
934
+ end
935
+
936
+ ##
937
+ # @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.
938
+ def post_webhook_retry_count
939
+ @properties['post_webhook_retry_count']
940
+ end
941
+
942
+ ##
943
+ # @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.
944
+ def notifications
945
+ @properties['notifications']
946
+ end
947
+
948
+ ##
949
+ # @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.
950
+ def media
951
+ @properties['media']
952
+ end
953
+
954
+ ##
955
+ # @return [String] The absolute URL of the Service resource.
956
+ def url
957
+ @properties['url']
958
+ end
959
+
960
+ ##
961
+ # @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).
962
+ def links
963
+ @properties['links']
964
+ end
965
+
966
+ ##
967
+ # Delete the ServiceInstance
968
+ # @return [Boolean] True if delete succeeds, false otherwise
969
+ def delete
970
+
971
+ context.delete
972
+ end
973
+
974
+ ##
975
+ # Fetch the ServiceInstance
976
+ # @return [ServiceInstance] Fetched ServiceInstance
977
+ def fetch
978
+
979
+ context.fetch
980
+ end
981
+
982
+ ##
983
+ # Update the ServiceInstance
984
+ # @param [String] friendly_name A descriptive string that you create to describe the resource.
985
+ # @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.
986
+ # @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.
987
+ # @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.
988
+ # @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`.
989
+ # @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`.
990
+ # @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.
991
+ # @param [String] consumption_report_interval DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.
992
+ # @param [Boolean] notifications_new_message_enabled Whether to send a notification when a new message is added to a channel. The default is `false`.
993
+ # @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`.
994
+ # @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`.
995
+ # @param [Boolean] notifications_new_message_badge_count_enabled Whether the new message badge is enabled. The default is `false`.
996
+ # @param [Boolean] notifications_added_to_channel_enabled Whether to send a notification when a member is added to a channel. The default is `false`.
997
+ # @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`.
998
+ # @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`.
999
+ # @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`.
1000
+ # @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`.
1001
+ # @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`.
1002
+ # @param [Boolean] notifications_invited_to_channel_enabled Whether to send a notification when a user is invited to a channel. The default is `false`.
1003
+ # @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`.
1004
+ # @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`.
1005
+ # @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.
1006
+ # @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.
1007
+ # @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.
1008
+ # @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.
1009
+ # @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.
1010
+ # @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.
1011
+ # @param [String] media_compatibility_message The message to send when a media message has no text. Can be used as placeholder message.
1012
+ # @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.
1013
+ # @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.
1014
+ # @param [Boolean] notifications_log_enabled Whether to log notifications. The default is `false`.
1015
+ # @return [ServiceInstance] Updated ServiceInstance
1016
+ def update(
1017
+ friendly_name: :unset,
1018
+ default_service_role_sid: :unset,
1019
+ default_channel_role_sid: :unset,
1020
+ default_channel_creator_role_sid: :unset,
1021
+ read_status_enabled: :unset,
1022
+ reachability_enabled: :unset,
1023
+ typing_indicator_timeout: :unset,
1024
+ consumption_report_interval: :unset,
1025
+ notifications_new_message_enabled: :unset,
1026
+ notifications_new_message_template: :unset,
1027
+ notifications_new_message_sound: :unset,
1028
+ notifications_new_message_badge_count_enabled: :unset,
1029
+ notifications_added_to_channel_enabled: :unset,
1030
+ notifications_added_to_channel_template: :unset,
1031
+ notifications_added_to_channel_sound: :unset,
1032
+ notifications_removed_from_channel_enabled: :unset,
1033
+ notifications_removed_from_channel_template: :unset,
1034
+ notifications_removed_from_channel_sound: :unset,
1035
+ notifications_invited_to_channel_enabled: :unset,
1036
+ notifications_invited_to_channel_template: :unset,
1037
+ notifications_invited_to_channel_sound: :unset,
1038
+ pre_webhook_url: :unset,
1039
+ post_webhook_url: :unset,
1040
+ webhook_method: :unset,
1041
+ webhook_filters: :unset,
1042
+ limits_channel_members: :unset,
1043
+ limits_user_channels: :unset,
1044
+ media_compatibility_message: :unset,
1045
+ pre_webhook_retry_count: :unset,
1046
+ post_webhook_retry_count: :unset,
1047
+ notifications_log_enabled: :unset
1048
+ )
1049
+
1050
+ context.update(
1051
+ friendly_name: friendly_name,
1052
+ default_service_role_sid: default_service_role_sid,
1053
+ default_channel_role_sid: default_channel_role_sid,
1054
+ default_channel_creator_role_sid: default_channel_creator_role_sid,
1055
+ read_status_enabled: read_status_enabled,
1056
+ reachability_enabled: reachability_enabled,
1057
+ typing_indicator_timeout: typing_indicator_timeout,
1058
+ consumption_report_interval: consumption_report_interval,
1059
+ notifications_new_message_enabled: notifications_new_message_enabled,
1060
+ notifications_new_message_template: notifications_new_message_template,
1061
+ notifications_new_message_sound: notifications_new_message_sound,
1062
+ notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
1063
+ notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
1064
+ notifications_added_to_channel_template: notifications_added_to_channel_template,
1065
+ notifications_added_to_channel_sound: notifications_added_to_channel_sound,
1066
+ notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
1067
+ notifications_removed_from_channel_template: notifications_removed_from_channel_template,
1068
+ notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
1069
+ notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
1070
+ notifications_invited_to_channel_template: notifications_invited_to_channel_template,
1071
+ notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
1072
+ pre_webhook_url: pre_webhook_url,
1073
+ post_webhook_url: post_webhook_url,
1074
+ webhook_method: webhook_method,
1075
+ webhook_filters: webhook_filters,
1076
+ limits_channel_members: limits_channel_members,
1077
+ limits_user_channels: limits_user_channels,
1078
+ media_compatibility_message: media_compatibility_message,
1079
+ pre_webhook_retry_count: pre_webhook_retry_count,
1080
+ post_webhook_retry_count: post_webhook_retry_count,
1081
+ notifications_log_enabled: notifications_log_enabled,
1082
+ )
1083
+ end
1084
+
1085
+ ##
1086
+ # Access the bindings
1087
+ # @return [bindings] bindings
1088
+ def bindings
1089
+ context.bindings
1090
+ end
1091
+
1092
+ ##
1093
+ # Access the channels
1094
+ # @return [channels] channels
1095
+ def channels
1096
+ context.channels
1097
+ end
1098
+
1099
+ ##
1100
+ # Access the roles
1101
+ # @return [roles] roles
1102
+ def roles
1103
+ context.roles
1104
+ end
1105
+
1106
+ ##
1107
+ # Access the users
1108
+ # @return [users] users
1109
+ def users
1110
+ context.users
1111
+ end
1112
+
1113
+ ##
1114
+ # Provide a user friendly representation
1115
+ def to_s
1116
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1117
+ "<Twilio.Chat.V2.ServiceInstance #{values}>"
1118
+ end
1119
+
1120
+ ##
1121
+ # Provide a detailed, user friendly representation
1122
+ def inspect
1123
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1124
+ "<Twilio.Chat.V2.ServiceInstance #{values}>"
1125
+ end
1126
+ end
409
1127
 
410
- class ServiceInstance < InstanceResource
411
- ##
412
- # Initialize the ServiceInstance
413
- # @param [Version] version Version that contains the resource
414
- # @param [Hash] payload payload that contains response from Twilio
415
- # @param [String] sid The SID of the Service resource to fetch.
416
- # @return [ServiceInstance] ServiceInstance
417
- def initialize(version, payload, sid: nil)
418
- super(version)
419
-
420
- # Marshaled Properties
421
- @properties = {
422
- 'sid' => payload['sid'],
423
- 'account_sid' => payload['account_sid'],
424
- 'friendly_name' => payload['friendly_name'],
425
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
426
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
427
- 'default_service_role_sid' => payload['default_service_role_sid'],
428
- 'default_channel_role_sid' => payload['default_channel_role_sid'],
429
- 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
430
- 'read_status_enabled' => payload['read_status_enabled'],
431
- 'reachability_enabled' => payload['reachability_enabled'],
432
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
433
- 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
434
- 'limits' => payload['limits'],
435
- 'pre_webhook_url' => payload['pre_webhook_url'],
436
- 'post_webhook_url' => payload['post_webhook_url'],
437
- 'webhook_method' => payload['webhook_method'],
438
- 'webhook_filters' => payload['webhook_filters'],
439
- 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
440
- 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
441
- 'notifications' => payload['notifications'],
442
- 'media' => payload['media'],
443
- 'url' => payload['url'],
444
- 'links' => payload['links'],
445
- }
446
-
447
- # Context
448
- @instance_context = nil
449
- @params = {'sid' => sid || @properties['sid'], }
450
- end
451
-
452
- ##
453
- # Generate an instance context for the instance, the context is capable of
454
- # performing various actions. All instance actions are proxied to the context
455
- # @return [ServiceContext] ServiceContext for this ServiceInstance
456
- def context
457
- unless @instance_context
458
- @instance_context = ServiceContext.new(@version, @params['sid'], )
459
1128
  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
1129
  end
785
- end
786
1130
  end
787
- end
788
- end
1131
+ end