twilio-ruby 3.11.5 → 5.0.0

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 (435) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.rubocop.yml +21 -0
  4. data/.rubocop_todo.yml +187 -0
  5. data/.travis.yml +10 -10
  6. data/AUTHORS.md +21 -0
  7. data/CHANGES.md +351 -0
  8. data/Gemfile +8 -1
  9. data/{LICENSE → LICENSE.md} +13 -11
  10. data/Makefile +15 -3
  11. data/README.md +90 -95
  12. data/Rakefile +59 -7
  13. data/VERSIONS.md +64 -0
  14. data/examples/examples.rb +62 -49
  15. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  16. data/lib/rack/twilio_webhook_authentication.rb +46 -0
  17. data/lib/twilio-ruby/framework/domain.rb +34 -0
  18. data/lib/twilio-ruby/framework/error.rb +30 -0
  19. data/lib/twilio-ruby/framework/helper.rb +9 -0
  20. data/lib/twilio-ruby/framework/page.rb +101 -0
  21. data/lib/twilio-ruby/framework/resource.rb +21 -0
  22. data/lib/twilio-ruby/framework/serialize.rb +70 -0
  23. data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
  24. data/lib/twilio-ruby/framework/values.rb +7 -0
  25. data/lib/twilio-ruby/framework/version.rb +164 -0
  26. data/lib/twilio-ruby/http/http_client.rb +46 -0
  27. data/lib/twilio-ruby/jwt/access_token.rb +232 -0
  28. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  29. data/lib/twilio-ruby/jwt/jwt.rb +50 -0
  30. data/lib/twilio-ruby/jwt/task_router.rb +174 -0
  31. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
  32. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  33. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  34. data/lib/twilio-ruby/rest/accounts.rb +36 -9
  35. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +786 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  94. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  95. data/lib/twilio-ruby/rest/api.rb +234 -0
  96. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  99. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  100. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  105. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  106. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  109. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  110. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  115. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  116. data/lib/twilio-ruby/rest/chat.rb +59 -0
  117. data/lib/twilio-ruby/rest/client.rb +307 -215
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  124. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  138. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  139. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  140. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  141. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  142. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  143. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  144. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  145. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  146. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  147. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  148. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  149. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  150. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  151. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  152. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  153. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  154. data/lib/twilio-ruby/rest/pricing.rb +54 -0
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  169. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  170. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  171. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  172. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  173. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  176. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  177. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  178. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  179. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  180. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  181. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  182. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  183. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  184. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  185. data/lib/twilio-ruby/rest/video.rb +52 -0
  186. data/lib/twilio-ruby/security/request_validator.rb +54 -0
  187. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  188. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  189. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  190. data/lib/twilio-ruby/util/configuration.rb +7 -0
  191. data/lib/twilio-ruby/util.rb +1 -1
  192. data/lib/twilio-ruby/version.rb +1 -1
  193. data/lib/twilio-ruby.rb +52 -49
  194. data/spec/framework/serialize_spec.rb +59 -0
  195. data/spec/holodeck/holodeck.rb +61 -0
  196. data/spec/holodeck/hologram.rb +4 -0
  197. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  198. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  199. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  200. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  201. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  202. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  203. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  204. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  205. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  206. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  207. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  208. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  209. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  210. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  211. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  212. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  213. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  214. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  215. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  216. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  217. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  218. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  219. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  220. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  221. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  222. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  223. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  224. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  225. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  226. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  227. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  228. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  229. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  230. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  231. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  232. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  233. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  234. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  235. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  236. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  237. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  238. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  239. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  240. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  241. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  242. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  243. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  244. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  245. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  246. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  247. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  248. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  249. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  250. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  251. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  252. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  253. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  254. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  255. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  256. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  257. data/spec/integration/api/v2010/account_spec.rb +254 -0
  258. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  259. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  260. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  261. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  262. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  263. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  264. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  265. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  266. data/spec/integration/chat/v1/service_spec.rb +299 -0
  267. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  268. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  269. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  270. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  271. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  272. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  273. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  274. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  275. data/spec/integration/chat/v2/service_spec.rb +325 -0
  276. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  277. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  278. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  279. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  280. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  281. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  282. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  283. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  284. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  285. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  286. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  287. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  288. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  289. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  290. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  291. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  292. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  293. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  294. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  295. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  296. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  297. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  298. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  299. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  300. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  301. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  302. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  303. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  304. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  305. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  306. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  307. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  308. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  309. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  310. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  311. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  312. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  313. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  314. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  315. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  316. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  317. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  318. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  319. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  320. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  321. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  322. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  323. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  324. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  325. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  326. data/spec/integration/video/v1/recording_spec.rb +165 -0
  327. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  328. data/spec/integration/video/v1/room_spec.rb +237 -0
  329. data/spec/jwt/access_token_spec.rb +130 -0
  330. data/spec/jwt/client_capability_spec.rb +104 -0
  331. data/spec/jwt/task_router_spec.rb +172 -0
  332. data/spec/rack/twilio_webhook_authentication_spec.rb +106 -0
  333. data/spec/security/request_validator_spec.rb +113 -0
  334. data/spec/spec_helper.rb +29 -3
  335. data/spec/support/fakeweb.rb +2 -0
  336. data/spec/twilio_spec.rb +15 -0
  337. data/spec/twiml/messaging_response_spec.rb +90 -0
  338. data/spec/twiml/voice_response_spec.rb +474 -0
  339. data/spec/util/configuration_spec.rb +15 -0
  340. data/spec/util/url_encode_spec.rb +2 -2
  341. data/twilio-ruby.gemspec +32 -26
  342. metadata +502 -152
  343. data/CHANGES +0 -47
  344. data/docs/Makefile +0 -130
  345. data/docs/_themes/LICENSE +0 -45
  346. data/docs/_themes/README.rst +0 -25
  347. data/docs/_themes/flask_theme_support.py +0 -86
  348. data/docs/_themes/kr/layout.html +0 -32
  349. data/docs/_themes/kr/relations.html +0 -19
  350. data/docs/_themes/kr/static/flasky.css_t +0 -469
  351. data/docs/_themes/kr/static/small_flask.css +0 -70
  352. data/docs/_themes/kr/theme.conf +0 -7
  353. data/docs/_themes/kr_small/layout.html +0 -22
  354. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  355. data/docs/_themes/kr_small/theme.conf +0 -10
  356. data/docs/changelog.rst +0 -1
  357. data/docs/conf.py +0 -266
  358. data/docs/faq.rst +0 -42
  359. data/docs/getting-started.rst +0 -91
  360. data/docs/index.rst +0 -109
  361. data/docs/make.bat +0 -170
  362. data/docs/src/pip-delete-this-directory.txt +0 -5
  363. data/docs/usage/accounts.rst +0 -89
  364. data/docs/usage/applications.rst +0 -108
  365. data/docs/usage/basics.rst +0 -102
  366. data/docs/usage/caller-ids.rst +0 -45
  367. data/docs/usage/conferences.rst +0 -108
  368. data/docs/usage/errors.rst +0 -29
  369. data/docs/usage/messages.rst +0 -109
  370. data/docs/usage/notifications.rst +0 -70
  371. data/docs/usage/phone-calls.rst +0 -166
  372. data/docs/usage/phone-numbers.rst +0 -174
  373. data/docs/usage/queues.rst +0 -112
  374. data/docs/usage/recordings.rst +0 -96
  375. data/docs/usage/sip.rst +0 -103
  376. data/docs/usage/token-generation.rst +0 -81
  377. data/docs/usage/transcriptions.rst +0 -31
  378. data/docs/usage/twiml.rst +0 -69
  379. data/docs/usage/validation.rst +0 -71
  380. data/lib/twilio-ruby/rest/applications.rb +0 -6
  381. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  382. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  383. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  384. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  385. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  386. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  387. data/lib/twilio-ruby/rest/calls.rb +0 -28
  388. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  389. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  390. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  391. data/lib/twilio-ruby/rest/errors.rb +0 -14
  392. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  393. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  394. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  395. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  396. data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
  397. data/lib/twilio-ruby/rest/list_resource.rb +0 -110
  398. data/lib/twilio-ruby/rest/media.rb +0 -14
  399. data/lib/twilio-ruby/rest/messages.rb +0 -17
  400. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  401. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  402. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  403. data/lib/twilio-ruby/rest/queues.rb +0 -12
  404. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  405. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  406. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  407. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  408. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  409. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  410. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  411. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  412. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  413. data/lib/twilio-ruby/rest/sip.rb +0 -12
  414. data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
  415. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  416. data/lib/twilio-ruby/rest/sms.rb +0 -11
  417. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  418. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  419. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  420. data/lib/twilio-ruby/rest/usage.rb +0 -10
  421. data/lib/twilio-ruby/rest/utils.rb +0 -25
  422. data/lib/twilio-ruby/twiml/response.rb +0 -15
  423. data/lib/twilio-ruby/util/capability.rb +0 -61
  424. data/lib/twilio-ruby/util/request_validator.rb +0 -22
  425. data/spec/rest/account_spec.rb +0 -58
  426. data/spec/rest/call_spec.rb +0 -18
  427. data/spec/rest/client_spec.rb +0 -100
  428. data/spec/rest/conference_spec.rb +0 -9
  429. data/spec/rest/instance_resource_spec.rb +0 -15
  430. data/spec/rest/message_spec.rb +0 -12
  431. data/spec/rest/numbers_spec.rb +0 -46
  432. data/spec/rest/queue_spec.rb +0 -9
  433. data/spec/rest/recording_spec.rb +0 -9
  434. data/spec/util/capability_spec.rb +0 -137
  435. data/spec/util/request_validator_spec.rb +0 -65
@@ -0,0 +1,935 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class IpMessaging < Domain
10
+ class V1 < Version
11
+ class ServiceList < ListResource
12
+ ##
13
+ # Initialize the ServiceList
14
+ # @param [Version] version Version that contains the resource
15
+ # @return [ServiceList] ServiceList
16
+ def initialize(version)
17
+ super(version)
18
+
19
+ # Path Solution
20
+ @solution = {}
21
+ @uri = "/Services"
22
+ end
23
+
24
+ ##
25
+ # Retrieve a single page of ServiceInstance records from the API.
26
+ # Request is executed immediately.
27
+ # @param [String] friendly_name The friendly_name
28
+ # @return [ServiceInstance] Newly created ServiceInstance
29
+ def create(friendly_name: nil)
30
+ data = Twilio::Values.of({
31
+ 'FriendlyName' => friendly_name,
32
+ })
33
+
34
+ payload = @version.create(
35
+ 'POST',
36
+ @uri,
37
+ data: data
38
+ )
39
+
40
+ ServiceInstance.new(
41
+ @version,
42
+ payload,
43
+ )
44
+ end
45
+
46
+ ##
47
+ # Lists ServiceInstance records from the API as a list.
48
+ # Unlike stream(), this operation is eager and will load `limit` records into
49
+ # memory before returning.
50
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
51
+ # guarantees to never return more than limit. Default is no limit
52
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
53
+ # the default value of 50 records. If no page_size is defined
54
+ # but a limit is defined, stream() will attempt to read the
55
+ # limit with the most efficient page size, i.e. min(limit, 1000)
56
+ # @return [Array] Array of up to limit results
57
+ def list(limit: nil, page_size: nil)
58
+ self.stream(
59
+ limit: limit,
60
+ page_size: page_size
61
+ ).entries
62
+ end
63
+
64
+ ##
65
+ # Streams ServiceInstance records from the API as an Enumerable.
66
+ # This operation lazily loads records as efficiently as possible until the limit
67
+ # is reached.
68
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
69
+ # guarantees to never return more than limit. Default is no limit
70
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
71
+ # the default value of 50 records. If no page_size is defined
72
+ # but a limit is defined, stream() will attempt to read the
73
+ # limit with the most efficient page size, i.e. min(limit, 1000)
74
+ # @return [Enumerable] Enumerable that will yield up to limit results
75
+ def stream(limit: nil, page_size: nil)
76
+ limits = @version.read_limits(limit, page_size)
77
+
78
+ page = self.page(
79
+ page_size: limits[:page_size],
80
+ )
81
+
82
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
83
+ end
84
+
85
+ ##
86
+ # When passed a block, yields ServiceInstance records from the API.
87
+ # This operation lazily loads records as efficiently as possible until the limit
88
+ # is reached.
89
+ def each
90
+ limits = @version.read_limits
91
+
92
+ page = self.page(
93
+ page_size: limits[:page_size],
94
+ )
95
+
96
+ @version.stream(page,
97
+ limit: limits[:limit],
98
+ page_limit: limits[:page_limit]).each {|x| yield x}
99
+ end
100
+
101
+ ##
102
+ # Retrieve a single page of ServiceInstance records from the API.
103
+ # Request is executed immediately.
104
+ # @param [String] page_token PageToken provided by the API
105
+ # @param [Integer] page_number Page Number, this value is simply for client state
106
+ # @param [Integer] page_size Number of records to return, defaults to 50
107
+ # @return [Page] Page of ServiceInstance
108
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
109
+ params = Twilio::Values.of({
110
+ 'PageToken' => page_token,
111
+ 'Page' => page_number,
112
+ 'PageSize' => page_size,
113
+ })
114
+ response = @version.page(
115
+ 'GET',
116
+ @uri,
117
+ params
118
+ )
119
+ ServicePage.new(@version, response, @solution)
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of ServiceInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [String] target_url API-generated URL for the requested results page
126
+ # @return [Page] Page of ServiceInstance
127
+ def get_page(target_url)
128
+ response = @version.domain.request(
129
+ 'GET',
130
+ target_url
131
+ )
132
+ ServicePage.new(@version, response, @solution)
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ '#<Twilio.IpMessaging.V1.ServiceList>'
139
+ end
140
+ end
141
+
142
+ class ServicePage < Page
143
+ ##
144
+ # Initialize the ServicePage
145
+ # @param [Version] version Version that contains the resource
146
+ # @param [Response] response Response from the API
147
+ # @param [Hash] solution Path solution for the resource
148
+ # @return [ServicePage] ServicePage
149
+ def initialize(version, response, solution)
150
+ super(version, response)
151
+
152
+ # Path Solution
153
+ @solution = solution
154
+ end
155
+
156
+ ##
157
+ # Build an instance of ServiceInstance
158
+ # @param [Hash] payload Payload response from the API
159
+ # @return [ServiceInstance] ServiceInstance
160
+ def get_instance(payload)
161
+ ServiceInstance.new(
162
+ @version,
163
+ payload,
164
+ )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ '<Twilio.IpMessaging.V1.ServicePage>'
171
+ end
172
+ end
173
+
174
+ class ServiceContext < InstanceContext
175
+ ##
176
+ # Initialize the ServiceContext
177
+ # @param [Version] version Version that contains the resource
178
+ # @param [String] sid The sid
179
+ # @return [ServiceContext] ServiceContext
180
+ def initialize(version, sid)
181
+ super(version)
182
+
183
+ # Path Solution
184
+ @solution = {
185
+ sid: sid,
186
+ }
187
+ @uri = "/Services/#{@solution[:sid]}"
188
+
189
+ # Dependents
190
+ @channels = nil
191
+ @roles = nil
192
+ @users = nil
193
+ end
194
+
195
+ ##
196
+ # Fetch a ServiceInstance
197
+ # @return [ServiceInstance] Fetched ServiceInstance
198
+ def fetch
199
+ params = Twilio::Values.of({})
200
+
201
+ payload = @version.fetch(
202
+ 'GET',
203
+ @uri,
204
+ params,
205
+ )
206
+
207
+ ServiceInstance.new(
208
+ @version,
209
+ payload,
210
+ sid: @solution[:sid],
211
+ )
212
+ end
213
+
214
+ ##
215
+ # Deletes the ServiceInstance
216
+ # @return [Boolean] true if delete succeeds, true otherwise
217
+ def delete
218
+ @version.delete('delete', @uri)
219
+ end
220
+
221
+ ##
222
+ # Update the ServiceInstance
223
+ # @param [String] friendly_name The friendly_name
224
+ # @param [String] default_service_role_sid The default_service_role_sid
225
+ # @param [String] default_channel_role_sid The default_channel_role_sid
226
+ # @param [String] default_channel_creator_role_sid The
227
+ # default_channel_creator_role_sid
228
+ # @param [Boolean] read_status_enabled The read_status_enabled
229
+ # @param [Boolean] reachability_enabled The reachability_enabled
230
+ # @param [String] typing_indicator_timeout The typing_indicator_timeout
231
+ # @param [String] consumption_report_interval The consumption_report_interval
232
+ # @param [Boolean] notifications_new_message_enabled The
233
+ # notifications.new_message.enabled
234
+ # @param [String] notifications_new_message_template The
235
+ # notifications.new_message.template
236
+ # @param [Boolean] notifications_added_to_channel_enabled The
237
+ # notifications.added_to_channel.enabled
238
+ # @param [String] notifications_added_to_channel_template The
239
+ # notifications.added_to_channel.template
240
+ # @param [Boolean] notifications_removed_from_channel_enabled The
241
+ # notifications.removed_from_channel.enabled
242
+ # @param [String] notifications_removed_from_channel_template The
243
+ # notifications.removed_from_channel.template
244
+ # @param [Boolean] notifications_invited_to_channel_enabled The
245
+ # notifications.invited_to_channel.enabled
246
+ # @param [String] notifications_invited_to_channel_template The
247
+ # notifications.invited_to_channel.template
248
+ # @param [String] pre_webhook_url The pre_webhook_url
249
+ # @param [String] post_webhook_url The post_webhook_url
250
+ # @param [String] webhook_method The webhook_method
251
+ # @param [String] webhook_filters The webhook_filters
252
+ # @param [String] webhooks_on_message_send_url The webhooks.on_message_send.url
253
+ # @param [String] webhooks_on_message_send_method The
254
+ # webhooks.on_message_send.method
255
+ # @param [String] webhooks_on_message_send_format The
256
+ # webhooks.on_message_send.format
257
+ # @param [String] webhooks_on_message_update_url The
258
+ # webhooks.on_message_update.url
259
+ # @param [String] webhooks_on_message_update_method The
260
+ # webhooks.on_message_update.method
261
+ # @param [String] webhooks_on_message_update_format The
262
+ # webhooks.on_message_update.format
263
+ # @param [String] webhooks_on_message_remove_url The
264
+ # webhooks.on_message_remove.url
265
+ # @param [String] webhooks_on_message_remove_method The
266
+ # webhooks.on_message_remove.method
267
+ # @param [String] webhooks_on_message_remove_format The
268
+ # webhooks.on_message_remove.format
269
+ # @param [String] webhooks_on_channel_add_url The webhooks.on_channel_add.url
270
+ # @param [String] webhooks_on_channel_add_method The
271
+ # webhooks.on_channel_add.method
272
+ # @param [String] webhooks_on_channel_add_format The
273
+ # webhooks.on_channel_add.format
274
+ # @param [String] webhooks_on_channel_destroy_url The
275
+ # webhooks.on_channel_destroy.url
276
+ # @param [String] webhooks_on_channel_destroy_method The
277
+ # webhooks.on_channel_destroy.method
278
+ # @param [String] webhooks_on_channel_destroy_format The
279
+ # webhooks.on_channel_destroy.format
280
+ # @param [String] webhooks_on_channel_update_url The
281
+ # webhooks.on_channel_update.url
282
+ # @param [String] webhooks_on_channel_update_method The
283
+ # webhooks.on_channel_update.method
284
+ # @param [String] webhooks_on_channel_update_format The
285
+ # webhooks.on_channel_update.format
286
+ # @param [String] webhooks_on_member_add_url The webhooks.on_member_add.url
287
+ # @param [String] webhooks_on_member_add_method The webhooks.on_member_add.method
288
+ # @param [String] webhooks_on_member_add_format The webhooks.on_member_add.format
289
+ # @param [String] webhooks_on_member_remove_url The webhooks.on_member_remove.url
290
+ # @param [String] webhooks_on_member_remove_method The
291
+ # webhooks.on_member_remove.method
292
+ # @param [String] webhooks_on_member_remove_format The
293
+ # webhooks.on_member_remove.format
294
+ # @param [String] webhooks_on_message_sent_url The webhooks.on_message_sent.url
295
+ # @param [String] webhooks_on_message_sent_method The
296
+ # webhooks.on_message_sent.method
297
+ # @param [String] webhooks_on_message_sent_format The
298
+ # webhooks.on_message_sent.format
299
+ # @param [String] webhooks_on_message_updated_url The
300
+ # webhooks.on_message_updated.url
301
+ # @param [String] webhooks_on_message_updated_method The
302
+ # webhooks.on_message_updated.method
303
+ # @param [String] webhooks_on_message_updated_format The
304
+ # webhooks.on_message_updated.format
305
+ # @param [String] webhooks_on_message_removed_url The
306
+ # webhooks.on_message_removed.url
307
+ # @param [String] webhooks_on_message_removed_method The
308
+ # webhooks.on_message_removed.method
309
+ # @param [String] webhooks_on_message_removed_format The
310
+ # webhooks.on_message_removed.format
311
+ # @param [String] webhooks_on_channel_added_url The webhooks.on_channel_added.url
312
+ # @param [String] webhooks_on_channel_added_method The
313
+ # webhooks.on_channel_added.method
314
+ # @param [String] webhooks_on_channel_added_format The
315
+ # webhooks.on_channel_added.format
316
+ # @param [String] webhooks_on_channel_destroyed_url The
317
+ # webhooks.on_channel_destroyed.url
318
+ # @param [String] webhooks_on_channel_destroyed_method The
319
+ # webhooks.on_channel_destroyed.method
320
+ # @param [String] webhooks_on_channel_destroyed_format The
321
+ # webhooks.on_channel_destroyed.format
322
+ # @param [String] webhooks_on_channel_updated_url The
323
+ # webhooks.on_channel_updated.url
324
+ # @param [String] webhooks_on_channel_updated_method The
325
+ # webhooks.on_channel_updated.method
326
+ # @param [String] webhooks_on_channel_updated_format The
327
+ # webhooks.on_channel_updated.format
328
+ # @param [String] webhooks_on_member_added_url The webhooks.on_member_added.url
329
+ # @param [String] webhooks_on_member_added_method The
330
+ # webhooks.on_member_added.method
331
+ # @param [String] webhooks_on_member_added_format The
332
+ # webhooks.on_member_added.format
333
+ # @param [String] webhooks_on_member_removed_url The
334
+ # webhooks.on_member_removed.url
335
+ # @param [String] webhooks_on_member_removed_method The
336
+ # webhooks.on_member_removed.method
337
+ # @param [String] webhooks_on_member_removed_format The
338
+ # webhooks.on_member_removed.format
339
+ # @param [String] limits_channel_members The limits.channel_members
340
+ # @param [String] limits_user_channels The limits.user_channels
341
+ # @return [ServiceInstance] Updated ServiceInstance
342
+ def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, webhooks_on_message_send_url: :unset, webhooks_on_message_send_method: :unset, webhooks_on_message_send_format: :unset, webhooks_on_message_update_url: :unset, webhooks_on_message_update_method: :unset, webhooks_on_message_update_format: :unset, webhooks_on_message_remove_url: :unset, webhooks_on_message_remove_method: :unset, webhooks_on_message_remove_format: :unset, webhooks_on_channel_add_url: :unset, webhooks_on_channel_add_method: :unset, webhooks_on_channel_add_format: :unset, webhooks_on_channel_destroy_url: :unset, webhooks_on_channel_destroy_method: :unset, webhooks_on_channel_destroy_format: :unset, webhooks_on_channel_update_url: :unset, webhooks_on_channel_update_method: :unset, webhooks_on_channel_update_format: :unset, webhooks_on_member_add_url: :unset, webhooks_on_member_add_method: :unset, webhooks_on_member_add_format: :unset, webhooks_on_member_remove_url: :unset, webhooks_on_member_remove_method: :unset, webhooks_on_member_remove_format: :unset, webhooks_on_message_sent_url: :unset, webhooks_on_message_sent_method: :unset, webhooks_on_message_sent_format: :unset, webhooks_on_message_updated_url: :unset, webhooks_on_message_updated_method: :unset, webhooks_on_message_updated_format: :unset, webhooks_on_message_removed_url: :unset, webhooks_on_message_removed_method: :unset, webhooks_on_message_removed_format: :unset, webhooks_on_channel_added_url: :unset, webhooks_on_channel_added_method: :unset, webhooks_on_channel_added_format: :unset, webhooks_on_channel_destroyed_url: :unset, webhooks_on_channel_destroyed_method: :unset, webhooks_on_channel_destroyed_format: :unset, webhooks_on_channel_updated_url: :unset, webhooks_on_channel_updated_method: :unset, webhooks_on_channel_updated_format: :unset, webhooks_on_member_added_url: :unset, webhooks_on_member_added_method: :unset, webhooks_on_member_added_format: :unset, webhooks_on_member_removed_url: :unset, webhooks_on_member_removed_method: :unset, webhooks_on_member_removed_format: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
343
+ data = Twilio::Values.of({
344
+ 'FriendlyName' => friendly_name,
345
+ 'DefaultServiceRoleSid' => default_service_role_sid,
346
+ 'DefaultChannelRoleSid' => default_channel_role_sid,
347
+ 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
348
+ 'ReadStatusEnabled' => read_status_enabled,
349
+ 'ReachabilityEnabled' => reachability_enabled,
350
+ 'TypingIndicatorTimeout' => typing_indicator_timeout,
351
+ 'ConsumptionReportInterval' => consumption_report_interval,
352
+ 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
353
+ 'Notifications.NewMessage.Template' => notifications_new_message_template,
354
+ 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
355
+ 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
356
+ 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
357
+ 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
358
+ 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
359
+ 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
360
+ 'PreWebhookUrl' => pre_webhook_url,
361
+ 'PostWebhookUrl' => post_webhook_url,
362
+ 'WebhookMethod' => webhook_method,
363
+ 'WebhookFilters' => webhook_filters,
364
+ 'Webhooks.OnMessageSend.Url' => webhooks_on_message_send_url,
365
+ 'Webhooks.OnMessageSend.Method' => webhooks_on_message_send_method,
366
+ 'Webhooks.OnMessageSend.Format' => webhooks_on_message_send_format,
367
+ 'Webhooks.OnMessageUpdate.Url' => webhooks_on_message_update_url,
368
+ 'Webhooks.OnMessageUpdate.Method' => webhooks_on_message_update_method,
369
+ 'Webhooks.OnMessageUpdate.Format' => webhooks_on_message_update_format,
370
+ 'Webhooks.OnMessageRemove.Url' => webhooks_on_message_remove_url,
371
+ 'Webhooks.OnMessageRemove.Method' => webhooks_on_message_remove_method,
372
+ 'Webhooks.OnMessageRemove.Format' => webhooks_on_message_remove_format,
373
+ 'Webhooks.OnChannelAdd.Url' => webhooks_on_channel_add_url,
374
+ 'Webhooks.OnChannelAdd.Method' => webhooks_on_channel_add_method,
375
+ 'Webhooks.OnChannelAdd.Format' => webhooks_on_channel_add_format,
376
+ 'Webhooks.OnChannelDestroy.Url' => webhooks_on_channel_destroy_url,
377
+ 'Webhooks.OnChannelDestroy.Method' => webhooks_on_channel_destroy_method,
378
+ 'Webhooks.OnChannelDestroy.Format' => webhooks_on_channel_destroy_format,
379
+ 'Webhooks.OnChannelUpdate.Url' => webhooks_on_channel_update_url,
380
+ 'Webhooks.OnChannelUpdate.Method' => webhooks_on_channel_update_method,
381
+ 'Webhooks.OnChannelUpdate.Format' => webhooks_on_channel_update_format,
382
+ 'Webhooks.OnMemberAdd.Url' => webhooks_on_member_add_url,
383
+ 'Webhooks.OnMemberAdd.Method' => webhooks_on_member_add_method,
384
+ 'Webhooks.OnMemberAdd.Format' => webhooks_on_member_add_format,
385
+ 'Webhooks.OnMemberRemove.Url' => webhooks_on_member_remove_url,
386
+ 'Webhooks.OnMemberRemove.Method' => webhooks_on_member_remove_method,
387
+ 'Webhooks.OnMemberRemove.Format' => webhooks_on_member_remove_format,
388
+ 'Webhooks.OnMessageSent.Url' => webhooks_on_message_sent_url,
389
+ 'Webhooks.OnMessageSent.Method' => webhooks_on_message_sent_method,
390
+ 'Webhooks.OnMessageSent.Format' => webhooks_on_message_sent_format,
391
+ 'Webhooks.OnMessageUpdated.Url' => webhooks_on_message_updated_url,
392
+ 'Webhooks.OnMessageUpdated.Method' => webhooks_on_message_updated_method,
393
+ 'Webhooks.OnMessageUpdated.Format' => webhooks_on_message_updated_format,
394
+ 'Webhooks.OnMessageRemoved.Url' => webhooks_on_message_removed_url,
395
+ 'Webhooks.OnMessageRemoved.Method' => webhooks_on_message_removed_method,
396
+ 'Webhooks.OnMessageRemoved.Format' => webhooks_on_message_removed_format,
397
+ 'Webhooks.OnChannelAdded.Url' => webhooks_on_channel_added_url,
398
+ 'Webhooks.OnChannelAdded.Method' => webhooks_on_channel_added_method,
399
+ 'Webhooks.OnChannelAdded.Format' => webhooks_on_channel_added_format,
400
+ 'Webhooks.OnChannelDestroyed.Url' => webhooks_on_channel_destroyed_url,
401
+ 'Webhooks.OnChannelDestroyed.Method' => webhooks_on_channel_destroyed_method,
402
+ 'Webhooks.OnChannelDestroyed.Format' => webhooks_on_channel_destroyed_format,
403
+ 'Webhooks.OnChannelUpdated.Url' => webhooks_on_channel_updated_url,
404
+ 'Webhooks.OnChannelUpdated.Method' => webhooks_on_channel_updated_method,
405
+ 'Webhooks.OnChannelUpdated.Format' => webhooks_on_channel_updated_format,
406
+ 'Webhooks.OnMemberAdded.Url' => webhooks_on_member_added_url,
407
+ 'Webhooks.OnMemberAdded.Method' => webhooks_on_member_added_method,
408
+ 'Webhooks.OnMemberAdded.Format' => webhooks_on_member_added_format,
409
+ 'Webhooks.OnMemberRemoved.Url' => webhooks_on_member_removed_url,
410
+ 'Webhooks.OnMemberRemoved.Method' => webhooks_on_member_removed_method,
411
+ 'Webhooks.OnMemberRemoved.Format' => webhooks_on_member_removed_format,
412
+ 'Limits.ChannelMembers' => limits_channel_members,
413
+ 'Limits.UserChannels' => limits_user_channels,
414
+ })
415
+
416
+ payload = @version.update(
417
+ 'POST',
418
+ @uri,
419
+ data: data,
420
+ )
421
+
422
+ ServiceInstance.new(
423
+ @version,
424
+ payload,
425
+ sid: @solution[:sid],
426
+ )
427
+ end
428
+
429
+ ##
430
+ # Access the channels
431
+ # @return [ChannelList]
432
+ # @return [ChannelContext] if sid was passed.
433
+ def channels(sid=:unset)
434
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
435
+
436
+ if sid != :unset
437
+ return ChannelContext.new(
438
+ @version,
439
+ @solution[:sid],
440
+ sid,
441
+ )
442
+ end
443
+
444
+ unless @channels
445
+ @channels = ChannelList.new(
446
+ @version,
447
+ service_sid: @solution[:sid],
448
+ )
449
+ end
450
+
451
+ @channels
452
+ end
453
+
454
+ ##
455
+ # Access the roles
456
+ # @return [RoleList]
457
+ # @return [RoleContext] if sid was passed.
458
+ def roles(sid=:unset)
459
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
460
+
461
+ if sid != :unset
462
+ return RoleContext.new(
463
+ @version,
464
+ @solution[:sid],
465
+ sid,
466
+ )
467
+ end
468
+
469
+ unless @roles
470
+ @roles = RoleList.new(
471
+ @version,
472
+ service_sid: @solution[:sid],
473
+ )
474
+ end
475
+
476
+ @roles
477
+ end
478
+
479
+ ##
480
+ # Access the users
481
+ # @return [UserList]
482
+ # @return [UserContext] if sid was passed.
483
+ def users(sid=:unset)
484
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
485
+
486
+ if sid != :unset
487
+ return UserContext.new(
488
+ @version,
489
+ @solution[:sid],
490
+ sid,
491
+ )
492
+ end
493
+
494
+ unless @users
495
+ @users = UserList.new(
496
+ @version,
497
+ service_sid: @solution[:sid],
498
+ )
499
+ end
500
+
501
+ @users
502
+ end
503
+
504
+ ##
505
+ # Provide a user friendly representation
506
+ def to_s
507
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
508
+ "#<Twilio.IpMessaging.V1.ServiceContext #{context}>"
509
+ end
510
+ end
511
+
512
+ class ServiceInstance < InstanceResource
513
+ ##
514
+ # Initialize the ServiceInstance
515
+ # @param [Version] version Version that contains the resource
516
+ # @param [Hash] payload payload that contains response from Twilio
517
+ # @param [String] sid The sid
518
+ # @return [ServiceInstance] ServiceInstance
519
+ def initialize(version, payload, sid: nil)
520
+ super(version)
521
+
522
+ # Marshaled Properties
523
+ @properties = {
524
+ 'sid' => payload['sid'],
525
+ 'account_sid' => payload['account_sid'],
526
+ 'friendly_name' => payload['friendly_name'],
527
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
528
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
529
+ 'default_service_role_sid' => payload['default_service_role_sid'],
530
+ 'default_channel_role_sid' => payload['default_channel_role_sid'],
531
+ 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
532
+ 'read_status_enabled' => payload['read_status_enabled'],
533
+ 'reachability_enabled' => payload['reachability_enabled'],
534
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
535
+ 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
536
+ 'limits' => payload['limits'],
537
+ 'webhooks' => payload['webhooks'],
538
+ 'pre_webhook_url' => payload['pre_webhook_url'],
539
+ 'post_webhook_url' => payload['post_webhook_url'],
540
+ 'webhook_method' => payload['webhook_method'],
541
+ 'webhook_filters' => payload['webhook_filters'],
542
+ 'notifications' => payload['notifications'],
543
+ 'url' => payload['url'],
544
+ 'links' => payload['links'],
545
+ }
546
+
547
+ # Context
548
+ @instance_context = nil
549
+ @params = {
550
+ 'sid' => sid || @properties['sid'],
551
+ }
552
+ end
553
+
554
+ ##
555
+ # Generate an instance context for the instance, the context is capable of
556
+ # performing various actions. All instance actions are proxied to the context
557
+ # @return [ServiceContext] ServiceContext for this ServiceInstance
558
+ def context
559
+ unless @instance_context
560
+ @instance_context = ServiceContext.new(
561
+ @version,
562
+ @params['sid'],
563
+ )
564
+ end
565
+ @instance_context
566
+ end
567
+
568
+ ##
569
+ # @return [String] The sid
570
+ def sid
571
+ @properties['sid']
572
+ end
573
+
574
+ ##
575
+ # @return [String] The account_sid
576
+ def account_sid
577
+ @properties['account_sid']
578
+ end
579
+
580
+ ##
581
+ # @return [String] The friendly_name
582
+ def friendly_name
583
+ @properties['friendly_name']
584
+ end
585
+
586
+ ##
587
+ # @return [Time] The date_created
588
+ def date_created
589
+ @properties['date_created']
590
+ end
591
+
592
+ ##
593
+ # @return [Time] The date_updated
594
+ def date_updated
595
+ @properties['date_updated']
596
+ end
597
+
598
+ ##
599
+ # @return [String] The default_service_role_sid
600
+ def default_service_role_sid
601
+ @properties['default_service_role_sid']
602
+ end
603
+
604
+ ##
605
+ # @return [String] The default_channel_role_sid
606
+ def default_channel_role_sid
607
+ @properties['default_channel_role_sid']
608
+ end
609
+
610
+ ##
611
+ # @return [String] The default_channel_creator_role_sid
612
+ def default_channel_creator_role_sid
613
+ @properties['default_channel_creator_role_sid']
614
+ end
615
+
616
+ ##
617
+ # @return [Boolean] The read_status_enabled
618
+ def read_status_enabled
619
+ @properties['read_status_enabled']
620
+ end
621
+
622
+ ##
623
+ # @return [Boolean] The reachability_enabled
624
+ def reachability_enabled
625
+ @properties['reachability_enabled']
626
+ end
627
+
628
+ ##
629
+ # @return [String] The typing_indicator_timeout
630
+ def typing_indicator_timeout
631
+ @properties['typing_indicator_timeout']
632
+ end
633
+
634
+ ##
635
+ # @return [String] The consumption_report_interval
636
+ def consumption_report_interval
637
+ @properties['consumption_report_interval']
638
+ end
639
+
640
+ ##
641
+ # @return [Hash] The limits
642
+ def limits
643
+ @properties['limits']
644
+ end
645
+
646
+ ##
647
+ # @return [Hash] The webhooks
648
+ def webhooks
649
+ @properties['webhooks']
650
+ end
651
+
652
+ ##
653
+ # @return [String] The pre_webhook_url
654
+ def pre_webhook_url
655
+ @properties['pre_webhook_url']
656
+ end
657
+
658
+ ##
659
+ # @return [String] The post_webhook_url
660
+ def post_webhook_url
661
+ @properties['post_webhook_url']
662
+ end
663
+
664
+ ##
665
+ # @return [String] The webhook_method
666
+ def webhook_method
667
+ @properties['webhook_method']
668
+ end
669
+
670
+ ##
671
+ # @return [String] The webhook_filters
672
+ def webhook_filters
673
+ @properties['webhook_filters']
674
+ end
675
+
676
+ ##
677
+ # @return [Hash] The notifications
678
+ def notifications
679
+ @properties['notifications']
680
+ end
681
+
682
+ ##
683
+ # @return [String] The url
684
+ def url
685
+ @properties['url']
686
+ end
687
+
688
+ ##
689
+ # @return [String] The links
690
+ def links
691
+ @properties['links']
692
+ end
693
+
694
+ ##
695
+ # Fetch a ServiceInstance
696
+ # @return [ServiceInstance] Fetched ServiceInstance
697
+ def fetch
698
+ context.fetch
699
+ end
700
+
701
+ ##
702
+ # Deletes the ServiceInstance
703
+ # @return [Boolean] true if delete succeeds, true otherwise
704
+ def delete
705
+ context.delete
706
+ end
707
+
708
+ ##
709
+ # Update the ServiceInstance
710
+ # @param [String] friendly_name The friendly_name
711
+ # @param [String] default_service_role_sid The default_service_role_sid
712
+ # @param [String] default_channel_role_sid The default_channel_role_sid
713
+ # @param [String] default_channel_creator_role_sid The
714
+ # default_channel_creator_role_sid
715
+ # @param [Boolean] read_status_enabled The read_status_enabled
716
+ # @param [Boolean] reachability_enabled The reachability_enabled
717
+ # @param [String] typing_indicator_timeout The typing_indicator_timeout
718
+ # @param [String] consumption_report_interval The consumption_report_interval
719
+ # @param [Boolean] notifications_new_message_enabled The
720
+ # notifications.new_message.enabled
721
+ # @param [String] notifications_new_message_template The
722
+ # notifications.new_message.template
723
+ # @param [Boolean] notifications_added_to_channel_enabled The
724
+ # notifications.added_to_channel.enabled
725
+ # @param [String] notifications_added_to_channel_template The
726
+ # notifications.added_to_channel.template
727
+ # @param [Boolean] notifications_removed_from_channel_enabled The
728
+ # notifications.removed_from_channel.enabled
729
+ # @param [String] notifications_removed_from_channel_template The
730
+ # notifications.removed_from_channel.template
731
+ # @param [Boolean] notifications_invited_to_channel_enabled The
732
+ # notifications.invited_to_channel.enabled
733
+ # @param [String] notifications_invited_to_channel_template The
734
+ # notifications.invited_to_channel.template
735
+ # @param [String] pre_webhook_url The pre_webhook_url
736
+ # @param [String] post_webhook_url The post_webhook_url
737
+ # @param [String] webhook_method The webhook_method
738
+ # @param [String] webhook_filters The webhook_filters
739
+ # @param [String] webhooks_on_message_send_url The webhooks.on_message_send.url
740
+ # @param [String] webhooks_on_message_send_method The
741
+ # webhooks.on_message_send.method
742
+ # @param [String] webhooks_on_message_send_format The
743
+ # webhooks.on_message_send.format
744
+ # @param [String] webhooks_on_message_update_url The
745
+ # webhooks.on_message_update.url
746
+ # @param [String] webhooks_on_message_update_method The
747
+ # webhooks.on_message_update.method
748
+ # @param [String] webhooks_on_message_update_format The
749
+ # webhooks.on_message_update.format
750
+ # @param [String] webhooks_on_message_remove_url The
751
+ # webhooks.on_message_remove.url
752
+ # @param [String] webhooks_on_message_remove_method The
753
+ # webhooks.on_message_remove.method
754
+ # @param [String] webhooks_on_message_remove_format The
755
+ # webhooks.on_message_remove.format
756
+ # @param [String] webhooks_on_channel_add_url The webhooks.on_channel_add.url
757
+ # @param [String] webhooks_on_channel_add_method The
758
+ # webhooks.on_channel_add.method
759
+ # @param [String] webhooks_on_channel_add_format The
760
+ # webhooks.on_channel_add.format
761
+ # @param [String] webhooks_on_channel_destroy_url The
762
+ # webhooks.on_channel_destroy.url
763
+ # @param [String] webhooks_on_channel_destroy_method The
764
+ # webhooks.on_channel_destroy.method
765
+ # @param [String] webhooks_on_channel_destroy_format The
766
+ # webhooks.on_channel_destroy.format
767
+ # @param [String] webhooks_on_channel_update_url The
768
+ # webhooks.on_channel_update.url
769
+ # @param [String] webhooks_on_channel_update_method The
770
+ # webhooks.on_channel_update.method
771
+ # @param [String] webhooks_on_channel_update_format The
772
+ # webhooks.on_channel_update.format
773
+ # @param [String] webhooks_on_member_add_url The webhooks.on_member_add.url
774
+ # @param [String] webhooks_on_member_add_method The webhooks.on_member_add.method
775
+ # @param [String] webhooks_on_member_add_format The webhooks.on_member_add.format
776
+ # @param [String] webhooks_on_member_remove_url The webhooks.on_member_remove.url
777
+ # @param [String] webhooks_on_member_remove_method The
778
+ # webhooks.on_member_remove.method
779
+ # @param [String] webhooks_on_member_remove_format The
780
+ # webhooks.on_member_remove.format
781
+ # @param [String] webhooks_on_message_sent_url The webhooks.on_message_sent.url
782
+ # @param [String] webhooks_on_message_sent_method The
783
+ # webhooks.on_message_sent.method
784
+ # @param [String] webhooks_on_message_sent_format The
785
+ # webhooks.on_message_sent.format
786
+ # @param [String] webhooks_on_message_updated_url The
787
+ # webhooks.on_message_updated.url
788
+ # @param [String] webhooks_on_message_updated_method The
789
+ # webhooks.on_message_updated.method
790
+ # @param [String] webhooks_on_message_updated_format The
791
+ # webhooks.on_message_updated.format
792
+ # @param [String] webhooks_on_message_removed_url The
793
+ # webhooks.on_message_removed.url
794
+ # @param [String] webhooks_on_message_removed_method The
795
+ # webhooks.on_message_removed.method
796
+ # @param [String] webhooks_on_message_removed_format The
797
+ # webhooks.on_message_removed.format
798
+ # @param [String] webhooks_on_channel_added_url The webhooks.on_channel_added.url
799
+ # @param [String] webhooks_on_channel_added_method The
800
+ # webhooks.on_channel_added.method
801
+ # @param [String] webhooks_on_channel_added_format The
802
+ # webhooks.on_channel_added.format
803
+ # @param [String] webhooks_on_channel_destroyed_url The
804
+ # webhooks.on_channel_destroyed.url
805
+ # @param [String] webhooks_on_channel_destroyed_method The
806
+ # webhooks.on_channel_destroyed.method
807
+ # @param [String] webhooks_on_channel_destroyed_format The
808
+ # webhooks.on_channel_destroyed.format
809
+ # @param [String] webhooks_on_channel_updated_url The
810
+ # webhooks.on_channel_updated.url
811
+ # @param [String] webhooks_on_channel_updated_method The
812
+ # webhooks.on_channel_updated.method
813
+ # @param [String] webhooks_on_channel_updated_format The
814
+ # webhooks.on_channel_updated.format
815
+ # @param [String] webhooks_on_member_added_url The webhooks.on_member_added.url
816
+ # @param [String] webhooks_on_member_added_method The
817
+ # webhooks.on_member_added.method
818
+ # @param [String] webhooks_on_member_added_format The
819
+ # webhooks.on_member_added.format
820
+ # @param [String] webhooks_on_member_removed_url The
821
+ # webhooks.on_member_removed.url
822
+ # @param [String] webhooks_on_member_removed_method The
823
+ # webhooks.on_member_removed.method
824
+ # @param [String] webhooks_on_member_removed_format The
825
+ # webhooks.on_member_removed.format
826
+ # @param [String] limits_channel_members The limits.channel_members
827
+ # @param [String] limits_user_channels The limits.user_channels
828
+ # @return [ServiceInstance] Updated ServiceInstance
829
+ def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, webhooks_on_message_send_url: :unset, webhooks_on_message_send_method: :unset, webhooks_on_message_send_format: :unset, webhooks_on_message_update_url: :unset, webhooks_on_message_update_method: :unset, webhooks_on_message_update_format: :unset, webhooks_on_message_remove_url: :unset, webhooks_on_message_remove_method: :unset, webhooks_on_message_remove_format: :unset, webhooks_on_channel_add_url: :unset, webhooks_on_channel_add_method: :unset, webhooks_on_channel_add_format: :unset, webhooks_on_channel_destroy_url: :unset, webhooks_on_channel_destroy_method: :unset, webhooks_on_channel_destroy_format: :unset, webhooks_on_channel_update_url: :unset, webhooks_on_channel_update_method: :unset, webhooks_on_channel_update_format: :unset, webhooks_on_member_add_url: :unset, webhooks_on_member_add_method: :unset, webhooks_on_member_add_format: :unset, webhooks_on_member_remove_url: :unset, webhooks_on_member_remove_method: :unset, webhooks_on_member_remove_format: :unset, webhooks_on_message_sent_url: :unset, webhooks_on_message_sent_method: :unset, webhooks_on_message_sent_format: :unset, webhooks_on_message_updated_url: :unset, webhooks_on_message_updated_method: :unset, webhooks_on_message_updated_format: :unset, webhooks_on_message_removed_url: :unset, webhooks_on_message_removed_method: :unset, webhooks_on_message_removed_format: :unset, webhooks_on_channel_added_url: :unset, webhooks_on_channel_added_method: :unset, webhooks_on_channel_added_format: :unset, webhooks_on_channel_destroyed_url: :unset, webhooks_on_channel_destroyed_method: :unset, webhooks_on_channel_destroyed_format: :unset, webhooks_on_channel_updated_url: :unset, webhooks_on_channel_updated_method: :unset, webhooks_on_channel_updated_format: :unset, webhooks_on_member_added_url: :unset, webhooks_on_member_added_method: :unset, webhooks_on_member_added_format: :unset, webhooks_on_member_removed_url: :unset, webhooks_on_member_removed_method: :unset, webhooks_on_member_removed_format: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
830
+ context.update(
831
+ friendly_name: friendly_name,
832
+ default_service_role_sid: default_service_role_sid,
833
+ default_channel_role_sid: default_channel_role_sid,
834
+ default_channel_creator_role_sid: default_channel_creator_role_sid,
835
+ read_status_enabled: read_status_enabled,
836
+ reachability_enabled: reachability_enabled,
837
+ typing_indicator_timeout: typing_indicator_timeout,
838
+ consumption_report_interval: consumption_report_interval,
839
+ notifications_new_message_enabled: notifications_new_message_enabled,
840
+ notifications_new_message_template: notifications_new_message_template,
841
+ notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
842
+ notifications_added_to_channel_template: notifications_added_to_channel_template,
843
+ notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
844
+ notifications_removed_from_channel_template: notifications_removed_from_channel_template,
845
+ notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
846
+ notifications_invited_to_channel_template: notifications_invited_to_channel_template,
847
+ pre_webhook_url: pre_webhook_url,
848
+ post_webhook_url: post_webhook_url,
849
+ webhook_method: webhook_method,
850
+ webhook_filters: webhook_filters,
851
+ webhooks_on_message_send_url: webhooks_on_message_send_url,
852
+ webhooks_on_message_send_method: webhooks_on_message_send_method,
853
+ webhooks_on_message_send_format: webhooks_on_message_send_format,
854
+ webhooks_on_message_update_url: webhooks_on_message_update_url,
855
+ webhooks_on_message_update_method: webhooks_on_message_update_method,
856
+ webhooks_on_message_update_format: webhooks_on_message_update_format,
857
+ webhooks_on_message_remove_url: webhooks_on_message_remove_url,
858
+ webhooks_on_message_remove_method: webhooks_on_message_remove_method,
859
+ webhooks_on_message_remove_format: webhooks_on_message_remove_format,
860
+ webhooks_on_channel_add_url: webhooks_on_channel_add_url,
861
+ webhooks_on_channel_add_method: webhooks_on_channel_add_method,
862
+ webhooks_on_channel_add_format: webhooks_on_channel_add_format,
863
+ webhooks_on_channel_destroy_url: webhooks_on_channel_destroy_url,
864
+ webhooks_on_channel_destroy_method: webhooks_on_channel_destroy_method,
865
+ webhooks_on_channel_destroy_format: webhooks_on_channel_destroy_format,
866
+ webhooks_on_channel_update_url: webhooks_on_channel_update_url,
867
+ webhooks_on_channel_update_method: webhooks_on_channel_update_method,
868
+ webhooks_on_channel_update_format: webhooks_on_channel_update_format,
869
+ webhooks_on_member_add_url: webhooks_on_member_add_url,
870
+ webhooks_on_member_add_method: webhooks_on_member_add_method,
871
+ webhooks_on_member_add_format: webhooks_on_member_add_format,
872
+ webhooks_on_member_remove_url: webhooks_on_member_remove_url,
873
+ webhooks_on_member_remove_method: webhooks_on_member_remove_method,
874
+ webhooks_on_member_remove_format: webhooks_on_member_remove_format,
875
+ webhooks_on_message_sent_url: webhooks_on_message_sent_url,
876
+ webhooks_on_message_sent_method: webhooks_on_message_sent_method,
877
+ webhooks_on_message_sent_format: webhooks_on_message_sent_format,
878
+ webhooks_on_message_updated_url: webhooks_on_message_updated_url,
879
+ webhooks_on_message_updated_method: webhooks_on_message_updated_method,
880
+ webhooks_on_message_updated_format: webhooks_on_message_updated_format,
881
+ webhooks_on_message_removed_url: webhooks_on_message_removed_url,
882
+ webhooks_on_message_removed_method: webhooks_on_message_removed_method,
883
+ webhooks_on_message_removed_format: webhooks_on_message_removed_format,
884
+ webhooks_on_channel_added_url: webhooks_on_channel_added_url,
885
+ webhooks_on_channel_added_method: webhooks_on_channel_added_method,
886
+ webhooks_on_channel_added_format: webhooks_on_channel_added_format,
887
+ webhooks_on_channel_destroyed_url: webhooks_on_channel_destroyed_url,
888
+ webhooks_on_channel_destroyed_method: webhooks_on_channel_destroyed_method,
889
+ webhooks_on_channel_destroyed_format: webhooks_on_channel_destroyed_format,
890
+ webhooks_on_channel_updated_url: webhooks_on_channel_updated_url,
891
+ webhooks_on_channel_updated_method: webhooks_on_channel_updated_method,
892
+ webhooks_on_channel_updated_format: webhooks_on_channel_updated_format,
893
+ webhooks_on_member_added_url: webhooks_on_member_added_url,
894
+ webhooks_on_member_added_method: webhooks_on_member_added_method,
895
+ webhooks_on_member_added_format: webhooks_on_member_added_format,
896
+ webhooks_on_member_removed_url: webhooks_on_member_removed_url,
897
+ webhooks_on_member_removed_method: webhooks_on_member_removed_method,
898
+ webhooks_on_member_removed_format: webhooks_on_member_removed_format,
899
+ limits_channel_members: limits_channel_members,
900
+ limits_user_channels: limits_user_channels,
901
+ )
902
+ end
903
+
904
+ ##
905
+ # Access the channels
906
+ # @return [channels] channels
907
+ def channels
908
+ context.channels
909
+ end
910
+
911
+ ##
912
+ # Access the roles
913
+ # @return [roles] roles
914
+ def roles
915
+ context.roles
916
+ end
917
+
918
+ ##
919
+ # Access the users
920
+ # @return [users] users
921
+ def users
922
+ context.users
923
+ end
924
+
925
+ ##
926
+ # Provide a user friendly representation
927
+ def to_s
928
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
929
+ "<Twilio.IpMessaging.V1.ServiceInstance #{values}>"
930
+ end
931
+ end
932
+ end
933
+ end
934
+ end
935
+ end