twilio-ruby 5.5.1 → 5.58.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +5 -0
  4. data/.rubocop.yml +22 -3
  5. data/.rubocop_todo.yml +86 -75
  6. data/.travis.yml +51 -16
  7. data/CHANGES.md +2000 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/CONTRIBUTING.md +4 -2
  10. data/Dockerfile +9 -0
  11. data/Gemfile +1 -8
  12. data/ISSUE_TEMPLATE.md +17 -13
  13. data/{LICENSE.md → LICENSE} +2 -2
  14. data/Makefile +18 -14
  15. data/PULL_REQUEST_TEMPLATE.md +31 -0
  16. data/README.md +121 -53
  17. data/Rakefile +0 -54
  18. data/VERSIONS.md +9 -10
  19. data/examples/examples.rb +1 -1
  20. data/examples/print_call_log.rb +1 -1
  21. data/githooks/pre-commit +0 -0
  22. data/lib/rack/twilio_webhook_authentication.rb +2 -0
  23. data/lib/twilio-ruby/framework/request.rb +2 -0
  24. data/lib/twilio-ruby/framework/response.rb +2 -0
  25. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +3 -1
  26. data/lib/twilio-ruby/framework/rest/error.rb +51 -0
  27. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +2 -0
  28. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +2 -0
  29. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +3 -1
  30. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +2 -0
  31. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +10 -21
  32. data/lib/twilio-ruby/framework/serialize.rb +2 -0
  33. data/lib/twilio-ruby/framework/twilio_response.rb +2 -0
  34. data/lib/twilio-ruby/framework/values.rb +2 -0
  35. data/lib/twilio-ruby/http/http_client.rb +32 -15
  36. data/lib/twilio-ruby/http.rb +5 -0
  37. data/lib/twilio-ruby/jwt/access_token.rb +12 -3
  38. data/lib/twilio-ruby/jwt/client_capability.rb +3 -1
  39. data/lib/twilio-ruby/jwt/jwt.rb +8 -0
  40. data/lib/twilio-ruby/jwt/task_router.rb +4 -2
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +57 -56
  43. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +56 -62
  44. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +11 -8
  45. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  46. data/lib/twilio-ruby/rest/accounts/v1.rb +16 -0
  47. data/lib/twilio-ruby/rest/accounts.rb +14 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +43 -37
  49. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +124 -93
  50. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +181 -176
  51. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +40 -35
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +189 -85
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +189 -85
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +189 -85
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +129 -26
  60. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +80 -63
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +65 -55
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +76 -69
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +184 -63
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +461 -261
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +341 -117
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +154 -79
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +97 -70
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +51 -42
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +58 -57
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +176 -79
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +175 -79
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +175 -79
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +318 -259
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +46 -43
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +27 -20
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +54 -46
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +218 -156
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +15 -17
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +15 -17
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +58 -54
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +64 -61
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +59 -42
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +98 -91
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +58 -49
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +52 -44
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +58 -43
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +110 -70
  92. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +88 -78
  93. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +40 -33
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +63 -57
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +49 -51
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +59 -55
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +58 -55
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +220 -103
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +101 -63
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +45 -51
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +15 -11
  108. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +20 -21
  109. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +50 -43
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +82 -33
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +82 -33
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +82 -33
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +82 -33
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +82 -33
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +82 -33
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +82 -33
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +82 -33
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +85 -54
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +117 -104
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +8 -5
  121. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +43 -32
  122. data/lib/twilio-ruby/rest/api/v2010/account.rb +114 -92
  123. data/lib/twilio-ruby/rest/api/v2010.rb +11 -4
  124. data/lib/twilio-ruby/rest/api.rb +39 -26
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
  128. data/lib/twilio-ruby/rest/{preview/understand/service/intent.rb → autopilot/v1/assistant/field_type.rb} +145 -148
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
  141. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  148. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  149. data/lib/twilio-ruby/rest/chat/v1/credential.rb +101 -70
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +82 -54
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +100 -65
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +89 -69
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +96 -77
  154. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +74 -62
  155. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +25 -19
  156. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +85 -71
  157. data/lib/twilio-ruby/rest/chat/v1/service.rb +355 -342
  158. data/lib/twilio-ruby/rest/chat/v1.rb +16 -10
  159. data/lib/twilio-ruby/rest/chat/v2/credential.rb +99 -70
  160. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +83 -50
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +77 -54
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +175 -79
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +150 -85
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +178 -91
  166. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +76 -62
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +77 -46
  168. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +206 -22
  169. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +112 -77
  170. data/lib/twilio-ruby/rest/chat/v2/service.rb +251 -166
  171. data/lib/twilio-ruby/rest/chat/v2.rb +14 -10
  172. data/lib/twilio-ruby/rest/chat.rb +6 -2
  173. data/lib/twilio-ruby/rest/client.rb +216 -43
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  196. data/lib/twilio-ruby/rest/{preview/proxy → conversations/v1}/service.rb +165 -170
  197. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  199. data/lib/twilio-ruby/rest/conversations/v1.rb +126 -0
  200. data/lib/twilio-ruby/rest/conversations.rb +95 -0
  201. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  202. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  203. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  204. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  207. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  208. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  209. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  210. data/lib/twilio-ruby/rest/events.rb +72 -0
  211. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +43 -42
  212. data/lib/twilio-ruby/rest/fax/v1/fax.rb +128 -114
  213. data/lib/twilio-ruby/rest/fax/v1.rb +9 -5
  214. data/lib/twilio-ruby/rest/fax.rb +4 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1.rb +83 -0
  220. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  221. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  222. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  223. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  224. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  225. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  226. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
  227. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  228. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  229. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  230. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  231. data/lib/twilio-ruby/rest/insights/v1.rb +67 -0
  232. data/lib/twilio-ruby/rest/insights.rb +60 -0
  233. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +33 -41
  234. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +30 -34
  235. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +32 -40
  236. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +30 -38
  237. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +40 -48
  238. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -47
  239. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +7 -7
  240. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +34 -42
  241. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +45 -147
  242. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +16 -12
  243. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +33 -41
  244. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +40 -34
  245. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +30 -34
  246. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +64 -44
  247. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +52 -41
  248. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
  249. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +90 -53
  250. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -47
  251. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +28 -27
  252. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +167 -12
  253. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +59 -48
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +51 -55
  255. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +16 -12
  256. data/lib/twilio-ruby/rest/ip_messaging.rb +6 -4
  257. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +70 -35
  258. data/lib/twilio-ruby/rest/lookups/v1.rb +10 -5
  259. data/lib/twilio-ruby/rest/lookups.rb +5 -1
  260. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +388 -0
  261. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  262. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  263. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +58 -49
  264. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +58 -50
  265. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +54 -51
  266. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  267. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  268. data/lib/twilio-ruby/rest/messaging/v1/service.rb +261 -117
  269. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  270. data/lib/twilio-ruby/rest/messaging/v1.rb +45 -5
  271. data/lib/twilio-ruby/rest/messaging.rb +30 -1
  272. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +82 -66
  273. data/lib/twilio-ruby/rest/monitor/v1/event.rb +84 -56
  274. data/lib/twilio-ruby/rest/monitor/v1.rb +14 -10
  275. data/lib/twilio-ruby/rest/monitor.rb +6 -2
  276. data/lib/twilio-ruby/rest/notify/v1/credential.rb +98 -70
  277. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +113 -72
  278. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +129 -50
  279. data/lib/twilio-ruby/rest/notify/v1/service.rb +191 -163
  280. data/lib/twilio-ruby/rest/notify/v1.rb +16 -10
  281. data/lib/twilio-ruby/rest/notify.rb +6 -2
  282. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  283. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  284. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +517 -0
  285. data/lib/twilio-ruby/rest/{preview/proxy/service/phone_number.rb → numbers/v2/regulatory_compliance/end_user.rb} +143 -125
  286. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  287. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  288. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
  289. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  290. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  291. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  292. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  293. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +101 -16
  294. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
  295. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
  296. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +72 -22
  297. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +43 -34
  298. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +16 -10
  299. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +35 -43
  300. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +36 -44
  301. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +33 -41
  302. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +36 -44
  303. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +43 -51
  304. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +7 -4
  305. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
  306. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +122 -72
  307. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +154 -72
  308. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +12 -8
  309. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +33 -29
  310. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +33 -34
  311. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +39 -39
  312. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +65 -74
  313. data/lib/twilio-ruby/rest/preview/marketplace.rb +14 -12
  314. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +26 -29
  315. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +42 -47
  316. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +42 -43
  317. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +26 -29
  318. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +34 -38
  319. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +43 -44
  320. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +26 -29
  321. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +34 -38
  322. data/lib/twilio-ruby/rest/preview/sync/service.rb +39 -47
  323. data/lib/twilio-ruby/rest/preview/sync.rb +7 -4
  324. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  325. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  326. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  327. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  328. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  329. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  330. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  331. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  332. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  333. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type/field_value.rb +77 -66
  334. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type.rb +79 -71
  335. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/model_build.rb +88 -66
  336. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/query.rb +105 -90
  337. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  338. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/field.rb +75 -73
  339. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/sample.rb +114 -93
  340. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  341. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  342. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  343. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  344. data/lib/twilio-ruby/rest/preview/understand.rb +13 -9
  345. data/lib/twilio-ruby/rest/preview/wireless/command.rb +25 -29
  346. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +37 -45
  347. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +19 -14
  348. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +24 -27
  349. data/lib/twilio-ruby/rest/preview/wireless.rb +17 -12
  350. data/lib/twilio-ruby/rest/preview.rb +53 -34
  351. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +35 -30
  352. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +9 -5
  353. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +34 -29
  354. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +9 -5
  355. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +35 -30
  356. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +27 -24
  357. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +12 -8
  358. data/lib/twilio-ruby/rest/pricing/v1.rb +2 -0
  359. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  360. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  361. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  362. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  363. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  364. data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
  365. data/lib/twilio-ruby/rest/pricing.rb +30 -2
  366. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +116 -57
  367. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +64 -96
  368. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +67 -60
  369. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +83 -118
  370. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +138 -127
  371. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +87 -53
  372. data/lib/twilio-ruby/rest/proxy/v1/service.rb +183 -101
  373. data/lib/twilio-ruby/rest/proxy/v1.rb +9 -5
  374. data/lib/twilio-ruby/rest/proxy.rb +4 -1
  375. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  376. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  378. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  379. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  380. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  381. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  382. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  383. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  384. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  385. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  386. data/lib/twilio-ruby/rest/{preview/understand → serverless/v1}/service.rb +172 -179
  387. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  388. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  389. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  390. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  391. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement/step.rb +69 -51
  392. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement.rb +94 -77
  393. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  394. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  395. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  396. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  397. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow.rb +73 -61
  398. data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
  399. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  400. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  401. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  402. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  403. data/lib/twilio-ruby/rest/{preview/proxy/service/short_code.rb → studio/v2/flow/flow_revision.rb} +116 -129
  404. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  405. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  406. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  407. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  408. data/lib/twilio-ruby/rest/studio.rb +60 -0
  409. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  410. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +494 -0
  411. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  412. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  413. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  414. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → supersim/v1/sim/billing_period.rb} +66 -58
  415. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +443 -0
  416. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  417. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  418. data/lib/twilio-ruby/rest/supersim/v1.rb +131 -0
  419. data/lib/twilio-ruby/rest/supersim.rb +97 -0
  420. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +66 -72
  421. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +83 -78
  422. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +159 -87
  423. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +65 -72
  424. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +89 -78
  425. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +169 -89
  426. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +63 -72
  427. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +88 -78
  428. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +21 -24
  429. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +79 -74
  430. data/lib/twilio-ruby/rest/sync/v1/service.rb +159 -85
  431. data/lib/twilio-ruby/rest/sync/v1.rb +8 -5
  432. data/lib/twilio-ruby/rest/sync.rb +4 -1
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +105 -66
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +139 -70
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +317 -156
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +227 -113
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +121 -31
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +82 -46
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +66 -30
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +60 -31
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +64 -32
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +137 -92
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +313 -156
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +62 -56
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +59 -29
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +61 -36
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +36 -24
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +59 -34
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +158 -100
  450. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +84 -47
  451. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +49 -27
  452. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +68 -31
  453. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +130 -84
  454. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +85 -46
  455. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +44 -28
  456. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +61 -30
  457. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +163 -98
  458. data/lib/twilio-ruby/rest/taskrouter/v1.rb +8 -5
  459. data/lib/twilio-ruby/rest/taskrouter.rb +4 -1
  460. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +57 -48
  461. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +49 -48
  462. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +97 -71
  463. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +75 -68
  464. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  465. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +185 -89
  466. data/lib/twilio-ruby/rest/trunking/v1.rb +9 -5
  467. data/lib/twilio-ruby/rest/trunking.rb +4 -1
  468. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  469. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  470. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  471. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  472. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  473. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  474. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  475. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  476. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  477. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  478. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  479. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  480. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  481. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  482. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  483. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  484. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  486. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +533 -0
  487. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +455 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  489. data/lib/twilio-ruby/rest/{notify/v1/service/user.rb → verify/v2/service/entity.rb} +153 -143
  490. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  491. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  492. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  493. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
  494. data/lib/twilio-ruby/rest/{preview/acc_security → verify/v2}/service/verification_check.rb +62 -37
  495. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  496. data/lib/twilio-ruby/rest/verify/v2/service.rb +761 -0
  497. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  498. data/lib/twilio-ruby/rest/verify/v2/verification_template.rb +206 -0
  499. data/lib/twilio-ruby/rest/verify/v2.rb +85 -0
  500. data/lib/twilio-ruby/rest/verify.rb +71 -0
  501. data/lib/twilio-ruby/rest/video/v1/composition.rb +496 -0
  502. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
  503. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  504. data/lib/twilio-ruby/rest/video/v1/recording.rb +101 -59
  505. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  506. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +97 -56
  507. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +43 -34
  508. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  509. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  510. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +136 -60
  511. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  512. data/lib/twilio-ruby/rest/video/v1/room.rb +139 -86
  513. data/lib/twilio-ruby/rest/video/v1.rb +60 -10
  514. data/lib/twilio-ruby/rest/video.rb +36 -2
  515. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  516. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  517. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  518. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  519. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  520. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  521. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  522. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
  523. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  524. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  525. data/lib/twilio-ruby/rest/voice/v1.rb +103 -0
  526. data/lib/twilio-ruby/rest/voice.rb +80 -0
  527. data/lib/twilio-ruby/rest/wireless/v1/command.rb +133 -69
  528. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +98 -85
  529. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +40 -43
  530. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +46 -30
  531. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +210 -110
  532. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  533. data/lib/twilio-ruby/rest/wireless/v1.rb +27 -15
  534. data/lib/twilio-ruby/rest/wireless.rb +14 -3
  535. data/lib/twilio-ruby/rest.rb +13 -0
  536. data/lib/twilio-ruby/security/request_validator.rb +104 -8
  537. data/lib/twilio-ruby/twiml/fax_response.rb +7 -2
  538. data/lib/twilio-ruby/twiml/messaging_response.rb +5 -2
  539. data/lib/twilio-ruby/twiml/twiml.rb +63 -12
  540. data/lib/twilio-ruby/twiml/voice_response.rb +720 -49
  541. data/lib/twilio-ruby/util/configuration.rb +24 -5
  542. data/lib/twilio-ruby/util.rb +2 -0
  543. data/lib/twilio-ruby/version.rb +1 -1
  544. data/lib/twilio-ruby.rb +10 -24
  545. data/sonar-project.properties +13 -0
  546. data/twilio-ruby.gemspec +15 -10
  547. metadata +368 -556
  548. data/lib/twilio-ruby/framework/error.rb +0 -33
  549. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -260
  550. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -431
  551. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -183
  552. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -386
  553. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -41
  554. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -435
  555. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -453
  556. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -512
  557. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -495
  558. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  559. data/lib/twilio-ruby/rest/preview/studio.rb +0 -41
  560. data/spec/framework/request_spec.rb +0 -36
  561. data/spec/framework/serialize_spec.rb +0 -80
  562. data/spec/holodeck/holodeck.rb +0 -61
  563. data/spec/holodeck/hologram.rb +0 -4
  564. data/spec/http/http_client_spec.rb +0 -122
  565. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -224
  566. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -224
  567. data/spec/integration/accounts/v1/credential_spec.rb +0 -10
  568. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -105
  569. data/spec/integration/api/v2010/account/address_spec.rb +0 -267
  570. data/spec/integration/api/v2010/account/application_spec.rb +0 -284
  571. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  572. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -101
  573. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -100
  574. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -100
  575. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  576. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -137
  577. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  578. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -179
  579. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -186
  580. data/spec/integration/api/v2010/account/call_spec.rb +0 -312
  581. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -280
  582. data/spec/integration/api/v2010/account/conference_spec.rb +0 -174
  583. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -177
  584. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  585. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -221
  586. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -183
  587. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -183
  588. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -183
  589. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -339
  590. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  591. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  592. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -162
  593. data/spec/integration/api/v2010/account/message_spec.rb +0 -293
  594. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  595. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  596. data/spec/integration/api/v2010/account/notification_spec.rb +0 -172
  597. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -193
  598. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -167
  599. data/spec/integration/api/v2010/account/queue_spec.rb +0 -240
  600. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  601. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  602. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -174
  603. data/spec/integration/api/v2010/account/recording_spec.rb +0 -179
  604. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -180
  605. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  606. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -254
  607. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -242
  608. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -208
  609. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -218
  610. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -285
  611. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  612. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -252
  613. data/spec/integration/api/v2010/account/sip_spec.rb +0 -10
  614. data/spec/integration/api/v2010/account/token_spec.rb +0 -56
  615. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -167
  616. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -111
  617. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -111
  618. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -111
  619. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -111
  620. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -111
  621. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -111
  622. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -111
  623. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -111
  624. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -108
  625. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -283
  626. data/spec/integration/api/v2010/account/usage_spec.rb +0 -10
  627. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -46
  628. data/spec/integration/api/v2010/account_spec.rb +0 -254
  629. data/spec/integration/chat/v1/credential_spec.rb +0 -221
  630. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -208
  631. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -282
  632. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -292
  633. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  634. data/spec/integration/chat/v1/service/role_spec.rb +0 -261
  635. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  636. data/spec/integration/chat/v1/service/user_spec.rb +0 -264
  637. data/spec/integration/chat/v1/service_spec.rb +0 -297
  638. data/spec/integration/chat/v2/credential_spec.rb +0 -221
  639. data/spec/integration/chat/v2/service/binding_spec.rb +0 -175
  640. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -208
  641. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -255
  642. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -403
  643. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  644. data/spec/integration/chat/v2/service/role_spec.rb +0 -261
  645. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -178
  646. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  647. data/spec/integration/chat/v2/service/user_spec.rb +0 -268
  648. data/spec/integration/chat/v2/service_spec.rb +0 -351
  649. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  650. data/spec/integration/fax/v1/fax_spec.rb +0 -269
  651. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -221
  652. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -208
  653. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -282
  654. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -292
  655. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -275
  656. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -261
  657. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  658. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -264
  659. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -297
  660. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -221
  661. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -175
  662. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -208
  663. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -255
  664. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -403
  665. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  666. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -261
  667. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -178
  668. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  669. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -268
  670. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -351
  671. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -60
  672. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -168
  673. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -199
  674. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -171
  675. data/spec/integration/messaging/v1/service_spec.rb +0 -261
  676. data/spec/integration/monitor/v1/alert_spec.rb +0 -161
  677. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  678. data/spec/integration/notify/v1/credential_spec.rb +0 -221
  679. data/spec/integration/notify/v1/service/binding_spec.rb +0 -223
  680. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  681. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  682. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -116
  683. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -266
  684. data/spec/integration/notify/v1/service/user_spec.rb +0 -211
  685. data/spec/integration/notify/v1/service_spec.rb +0 -280
  686. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -50
  687. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -50
  688. data/spec/integration/preview/acc_security/service_spec.rb +0 -183
  689. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  690. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  691. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  692. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -236
  693. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -231
  694. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -247
  695. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -235
  696. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -244
  697. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -211
  698. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -307
  699. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  700. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  701. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  702. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  703. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -171
  704. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  705. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  706. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -224
  707. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  708. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -171
  709. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  710. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -96
  711. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -171
  712. data/spec/integration/preview/studio/flow_spec.rb +0 -115
  713. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -202
  714. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  715. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -252
  716. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -202
  717. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  718. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -252
  719. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -202
  720. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  721. data/spec/integration/preview/sync/service_spec.rb +0 -244
  722. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +0 -205
  723. data/spec/integration/preview/understand/service/field_type_spec.rb +0 -244
  724. data/spec/integration/preview/understand/service/intent/field_spec.rb +0 -205
  725. data/spec/integration/preview/understand/service/intent/sample_spec.rb +0 -247
  726. data/spec/integration/preview/understand/service/intent_spec.rb +0 -252
  727. data/spec/integration/preview/understand/service/model_build_spec.rb +0 -231
  728. data/spec/integration/preview/understand/service/query_spec.rb +0 -300
  729. data/spec/integration/preview/understand/service_spec.rb +0 -256
  730. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  731. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  732. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  733. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  734. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  735. data/spec/integration/pricing/v1/messaging_spec.rb +0 -10
  736. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  737. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -10
  738. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -266
  739. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -54
  740. data/spec/integration/pricing/v1/voice_spec.rb +0 -10
  741. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -182
  742. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -134
  743. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -164
  744. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -227
  745. data/spec/integration/proxy/v1/service/session_spec.rb +0 -228
  746. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -180
  747. data/spec/integration/proxy/v1/service_spec.rb +0 -213
  748. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -202
  749. data/spec/integration/sync/v1/service/document_spec.rb +0 -255
  750. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -255
  751. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -202
  752. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -255
  753. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -255
  754. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -202
  755. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -255
  756. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -45
  757. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -247
  758. data/spec/integration/sync/v1/service_spec.rb +0 -252
  759. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -234
  760. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -157
  761. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -192
  762. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  763. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -94
  764. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -79
  765. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -106
  766. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -144
  767. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -296
  768. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -324
  769. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  770. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  771. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -90
  772. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -87
  773. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -68
  774. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -114
  775. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -292
  776. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -95
  777. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -55
  778. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -69
  779. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -270
  780. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -92
  781. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -70
  782. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -103
  783. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -293
  784. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -190
  785. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -190
  786. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -250
  787. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -265
  788. data/spec/integration/trunking/v1/trunk_spec.rb +0 -276
  789. data/spec/integration/video/v1/recording_spec.rb +0 -169
  790. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  791. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  792. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -182
  793. data/spec/integration/video/v1/room_spec.rb +0 -255
  794. data/spec/integration/wireless/v1/command_spec.rb +0 -164
  795. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  796. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -85
  797. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  798. data/spec/integration/wireless/v1/sim_spec.rb +0 -214
  799. data/spec/jwt/access_token_spec.rb +0 -149
  800. data/spec/jwt/client_capability_spec.rb +0 -104
  801. data/spec/jwt/task_router_spec.rb +0 -172
  802. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  803. data/spec/rest/client_spec.rb +0 -49
  804. data/spec/security/request_validator_spec.rb +0 -113
  805. data/spec/spec_helper.rb +0 -32
  806. data/spec/support/fakeweb.rb +0 -2
  807. data/spec/twilio_spec.rb +0 -15
  808. data/spec/twiml/messaging_response_spec.rb +0 -95
  809. data/spec/twiml/voice_response_spec.rb +0 -479
  810. data/spec/util/configuration_spec.rb +0 -15
  811. data/spec/util/url_encode_spec.rb +0 -12
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -51,7 +53,7 @@ module Twilio
51
53
  def stream(limit: nil, page_size: nil)
52
54
  limits = @version.read_limits(limit, page_size)
53
55
 
54
- page = self.page(page_size: limits[:page_size])
56
+ page = self.page(page_size: limits[:page_size], )
55
57
 
56
58
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
57
59
  end
@@ -63,7 +65,7 @@ module Twilio
63
65
  def each
64
66
  limits = @version.read_limits
65
67
 
66
- page = self.page(page_size: limits[:page_size])
68
+ page = self.page(page_size: limits[:page_size], )
67
69
 
68
70
  @version.stream(page,
69
71
  limit: limits[:limit],
@@ -83,11 +85,9 @@ module Twilio
83
85
  'Page' => page_number,
84
86
  'PageSize' => page_size,
85
87
  })
86
- response = @version.page(
87
- 'GET',
88
- @uri,
89
- params
90
- )
88
+
89
+ response = @version.page('GET', @uri, params: params)
90
+
91
91
  CountryPage.new(@version, response, @solution)
92
92
  end
93
93
 
@@ -130,7 +130,7 @@ module Twilio
130
130
  # @param [Hash] payload Payload response from the API
131
131
  # @return [CountryInstance] CountryInstance
132
132
  def get_instance(payload)
133
- CountryInstance.new(@version, payload)
133
+ CountryInstance.new(@version, payload, )
134
134
  end
135
135
 
136
136
  ##
@@ -144,29 +144,25 @@ module Twilio
144
144
  ##
145
145
  # Initialize the CountryContext
146
146
  # @param [Version] version Version that contains the resource
147
- # @param [String] iso_country The iso_country
147
+ # @param [String] iso_country The {ISO country
148
+ # code}[http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the pricing
149
+ # information to fetch.
148
150
  # @return [CountryContext] CountryContext
149
151
  def initialize(version, iso_country)
150
152
  super(version)
151
153
 
152
154
  # Path Solution
153
- @solution = {iso_country: iso_country}
155
+ @solution = {iso_country: iso_country, }
154
156
  @uri = "/Voice/Countries/#{@solution[:iso_country]}"
155
157
  end
156
158
 
157
159
  ##
158
- # Fetch a CountryInstance
160
+ # Fetch the CountryInstance
159
161
  # @return [CountryInstance] Fetched CountryInstance
160
162
  def fetch
161
- params = Twilio::Values.of({})
163
+ payload = @version.fetch('GET', @uri)
162
164
 
163
- payload = @version.fetch(
164
- 'GET',
165
- @uri,
166
- params,
167
- )
168
-
169
- CountryInstance.new(@version, payload, iso_country: @solution[:iso_country])
165
+ CountryInstance.new(@version, payload, iso_country: @solution[:iso_country], )
170
166
  end
171
167
 
172
168
  ##
@@ -175,6 +171,13 @@ module Twilio
175
171
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
176
172
  "#<Twilio.Pricing.V1.CountryContext #{context}>"
177
173
  end
174
+
175
+ ##
176
+ # Provide a detailed, user friendly representation
177
+ def inspect
178
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
179
+ "#<Twilio.Pricing.V1.CountryContext #{context}>"
180
+ end
178
181
  end
179
182
 
180
183
  class CountryInstance < InstanceResource
@@ -182,7 +185,9 @@ module Twilio
182
185
  # Initialize the CountryInstance
183
186
  # @param [Version] version Version that contains the resource
184
187
  # @param [Hash] payload payload that contains response from Twilio
185
- # @param [String] iso_country The iso_country
188
+ # @param [String] iso_country The {ISO country
189
+ # code}[http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the pricing
190
+ # information to fetch.
186
191
  # @return [CountryInstance] CountryInstance
187
192
  def initialize(version, payload, iso_country: nil)
188
193
  super(version)
@@ -191,15 +196,15 @@ module Twilio
191
196
  @properties = {
192
197
  'country' => payload['country'],
193
198
  'iso_country' => payload['iso_country'],
194
- 'url' => payload['url'],
195
199
  'outbound_prefix_prices' => payload['outbound_prefix_prices'],
196
200
  'inbound_call_prices' => payload['inbound_call_prices'],
197
201
  'price_unit' => payload['price_unit'],
202
+ 'url' => payload['url'],
198
203
  }
199
204
 
200
205
  # Context
201
206
  @instance_context = nil
202
- @params = {'iso_country' => iso_country || @properties['iso_country']}
207
+ @params = {'iso_country' => iso_country || @properties['iso_country'], }
203
208
  end
204
209
 
205
210
  ##
@@ -208,49 +213,49 @@ module Twilio
208
213
  # @return [CountryContext] CountryContext for this CountryInstance
209
214
  def context
210
215
  unless @instance_context
211
- @instance_context = CountryContext.new(@version, @params['iso_country'])
216
+ @instance_context = CountryContext.new(@version, @params['iso_country'], )
212
217
  end
213
218
  @instance_context
214
219
  end
215
220
 
216
221
  ##
217
- # @return [String] The country
222
+ # @return [String] The name of the country
218
223
  def country
219
224
  @properties['country']
220
225
  end
221
226
 
222
227
  ##
223
- # @return [String] The iso_country
228
+ # @return [String] The ISO country code
224
229
  def iso_country
225
230
  @properties['iso_country']
226
231
  end
227
232
 
228
233
  ##
229
- # @return [String] The outbound_prefix_prices
234
+ # @return [Array[String]] The list of OutboundPrefixPrice records
230
235
  def outbound_prefix_prices
231
236
  @properties['outbound_prefix_prices']
232
237
  end
233
238
 
234
239
  ##
235
- # @return [String] The inbound_call_prices
240
+ # @return [Array[String]] The list of InboundCallPrice records
236
241
  def inbound_call_prices
237
242
  @properties['inbound_call_prices']
238
243
  end
239
244
 
240
245
  ##
241
- # @return [String] The price_unit
246
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
242
247
  def price_unit
243
248
  @properties['price_unit']
244
249
  end
245
250
 
246
251
  ##
247
- # @return [String] The url
252
+ # @return [String] The absolute URL of the resource
248
253
  def url
249
254
  @properties['url']
250
255
  end
251
256
 
252
257
  ##
253
- # Fetch a CountryInstance
258
+ # Fetch the CountryInstance
254
259
  # @return [CountryInstance] Fetched CountryInstance
255
260
  def fetch
256
261
  context.fetch
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -47,7 +49,7 @@ module Twilio
47
49
  # @param [Hash] payload Payload response from the API
48
50
  # @return [NumberInstance] NumberInstance
49
51
  def get_instance(payload)
50
- NumberInstance.new(@version, payload)
52
+ NumberInstance.new(@version, payload, )
51
53
  end
52
54
 
53
55
  ##
@@ -61,29 +63,23 @@ module Twilio
61
63
  ##
62
64
  # Initialize the NumberContext
63
65
  # @param [Version] version Version that contains the resource
64
- # @param [String] number The number
66
+ # @param [String] number The phone number to fetch.
65
67
  # @return [NumberContext] NumberContext
66
68
  def initialize(version, number)
67
69
  super(version)
68
70
 
69
71
  # Path Solution
70
- @solution = {number: number}
71
- @uri = "/Voice/Numbers/#{@solution[:number]}"
72
+ @solution = {number: number, }
73
+ @uri = "/Voice/Numbers/#{CGI.escape(@solution[:number]).gsub("+", "%20")}"
72
74
  end
73
75
 
74
76
  ##
75
- # Fetch a NumberInstance
77
+ # Fetch the NumberInstance
76
78
  # @return [NumberInstance] Fetched NumberInstance
77
79
  def fetch
78
- params = Twilio::Values.of({})
80
+ payload = @version.fetch('GET', @uri)
79
81
 
80
- payload = @version.fetch(
81
- 'GET',
82
- @uri,
83
- params,
84
- )
85
-
86
- NumberInstance.new(@version, payload, number: @solution[:number])
82
+ NumberInstance.new(@version, payload, number: @solution[:number], )
87
83
  end
88
84
 
89
85
  ##
@@ -92,6 +88,13 @@ module Twilio
92
88
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
93
89
  "#<Twilio.Pricing.V1.NumberContext #{context}>"
94
90
  end
91
+
92
+ ##
93
+ # Provide a detailed, user friendly representation
94
+ def inspect
95
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
96
+ "#<Twilio.Pricing.V1.NumberContext #{context}>"
97
+ end
95
98
  end
96
99
 
97
100
  class NumberInstance < InstanceResource
@@ -99,7 +102,7 @@ module Twilio
99
102
  # Initialize the NumberInstance
100
103
  # @param [Version] version Version that contains the resource
101
104
  # @param [Hash] payload payload that contains response from Twilio
102
- # @param [String] number The number
105
+ # @param [String] number The phone number to fetch.
103
106
  # @return [NumberInstance] NumberInstance
104
107
  def initialize(version, payload, number: nil)
105
108
  super(version)
@@ -117,7 +120,7 @@ module Twilio
117
120
 
118
121
  # Context
119
122
  @instance_context = nil
120
- @params = {'number' => number || @properties['number']}
123
+ @params = {'number' => number || @properties['number'], }
121
124
  end
122
125
 
123
126
  ##
@@ -126,55 +129,55 @@ module Twilio
126
129
  # @return [NumberContext] NumberContext for this NumberInstance
127
130
  def context
128
131
  unless @instance_context
129
- @instance_context = NumberContext.new(@version, @params['number'])
132
+ @instance_context = NumberContext.new(@version, @params['number'], )
130
133
  end
131
134
  @instance_context
132
135
  end
133
136
 
134
137
  ##
135
- # @return [String] The number
138
+ # @return [String] The phone number
136
139
  def number
137
140
  @properties['number']
138
141
  end
139
142
 
140
143
  ##
141
- # @return [String] The country
144
+ # @return [String] The name of the country
142
145
  def country
143
146
  @properties['country']
144
147
  end
145
148
 
146
149
  ##
147
- # @return [String] The iso_country
150
+ # @return [String] The ISO country code
148
151
  def iso_country
149
152
  @properties['iso_country']
150
153
  end
151
154
 
152
155
  ##
153
- # @return [String] The outbound_call_price
156
+ # @return [String] The OutboundCallPrice record
154
157
  def outbound_call_price
155
158
  @properties['outbound_call_price']
156
159
  end
157
160
 
158
161
  ##
159
- # @return [String] The inbound_call_price
162
+ # @return [String] The InboundCallPrice record
160
163
  def inbound_call_price
161
164
  @properties['inbound_call_price']
162
165
  end
163
166
 
164
167
  ##
165
- # @return [String] The price_unit
168
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
166
169
  def price_unit
167
170
  @properties['price_unit']
168
171
  end
169
172
 
170
173
  ##
171
- # @return [String] The url
174
+ # @return [String] The absolute URL of the resource
172
175
  def url
173
176
  @properties['url']
174
177
  end
175
178
 
176
179
  ##
177
- # Fetch a NumberInstance
180
+ # Fetch the NumberInstance
178
181
  # @return [NumberInstance] Fetched NumberInstance
179
182
  def fetch
180
183
  context.fetch
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -26,32 +28,34 @@ module Twilio
26
28
 
27
29
  ##
28
30
  # Access the numbers
29
- # @param [String] number The number
31
+ # @param [String] number The phone number to fetch.
30
32
  # @return [NumberList]
31
33
  # @return [NumberContext] if number was passed.
32
34
  def numbers(number=:unset)
33
35
  raise ArgumentError, 'number cannot be nil' if number.nil?
34
36
 
35
37
  if number != :unset
36
- return NumberContext.new(@version, number)
38
+ return NumberContext.new(@version, number, )
37
39
  end
38
40
 
39
- @numbers ||= NumberList.new(@version)
41
+ @numbers ||= NumberList.new(@version, )
40
42
  end
41
43
 
42
44
  ##
43
45
  # Access the countries
44
- # @param [String] iso_country The iso_country
46
+ # @param [String] iso_country The {ISO country
47
+ # code}[http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the pricing
48
+ # information to fetch.
45
49
  # @return [CountryList]
46
50
  # @return [CountryContext] if iso_country was passed.
47
51
  def countries(iso_country=:unset)
48
52
  raise ArgumentError, 'iso_country cannot be nil' if iso_country.nil?
49
53
 
50
54
  if iso_country != :unset
51
- return CountryContext.new(@version, iso_country)
55
+ return CountryContext.new(@version, iso_country, )
52
56
  end
53
57
 
54
- @countries ||= CountryList.new(@version)
58
+ @countries ||= CountryList.new(@version, )
55
59
  end
56
60
 
57
61
  ##
@@ -80,7 +84,7 @@ module Twilio
80
84
  # @param [Hash] payload Payload response from the API
81
85
  # @return [VoiceInstance] VoiceInstance
82
86
  def get_instance(payload)
83
- VoiceInstance.new(@version, payload)
87
+ VoiceInstance.new(@version, payload, )
84
88
  end
85
89
 
86
90
  ##
@@ -100,7 +104,7 @@ module Twilio
100
104
  super(version)
101
105
 
102
106
  # Marshaled Properties
103
- @properties = {'name' => payload['name'], 'url' => payload['url'], 'links' => payload['links']}
107
+ @properties = {'name' => payload['name'], 'url' => payload['url'], 'links' => payload['links'], }
104
108
  end
105
109
 
106
110
  ##
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -0,0 +1,280 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Pricing < Domain
12
+ class V2 < Version
13
+ class CountryList < ListResource
14
+ ##
15
+ # Initialize the CountryList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [CountryList] CountryList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/Trunking/Countries"
24
+ end
25
+
26
+ ##
27
+ # Lists CountryInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
31
+ # guarantees to never return more than limit. Default is no limit
32
+ # @param [Integer] page_size Number of records to fetch per request, when
33
+ # not set will use the default value of 50 records. If no page_size is defined
34
+ # but a limit is defined, stream() will attempt to read the limit with the most
35
+ # efficient page size, i.e. min(limit, 1000)
36
+ # @return [Array] Array of up to limit results
37
+ def list(limit: nil, page_size: nil)
38
+ self.stream(limit: limit, page_size: page_size).entries
39
+ end
40
+
41
+ ##
42
+ # Streams CountryInstance records from the API as an Enumerable.
43
+ # This operation lazily loads records as efficiently as possible until the limit
44
+ # is reached.
45
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
46
+ # guarantees to never return more than limit. Default is no limit.
47
+ # @param [Integer] page_size Number of records to fetch per request, when
48
+ # not set will use the default value of 50 records. If no page_size is defined
49
+ # but a limit is defined, stream() will attempt to read the limit with the most
50
+ # efficient page size, i.e. min(limit, 1000)
51
+ # @return [Enumerable] Enumerable that will yield up to limit results
52
+ def stream(limit: nil, page_size: nil)
53
+ limits = @version.read_limits(limit, page_size)
54
+
55
+ page = self.page(page_size: limits[:page_size], )
56
+
57
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
58
+ end
59
+
60
+ ##
61
+ # When passed a block, yields CountryInstance records from the API.
62
+ # This operation lazily loads records as efficiently as possible until the limit
63
+ # is reached.
64
+ def each
65
+ limits = @version.read_limits
66
+
67
+ page = self.page(page_size: limits[:page_size], )
68
+
69
+ @version.stream(page,
70
+ limit: limits[:limit],
71
+ page_limit: limits[:page_limit]).each {|x| yield x}
72
+ end
73
+
74
+ ##
75
+ # Retrieve a single page of CountryInstance records from the API.
76
+ # Request is executed immediately.
77
+ # @param [String] page_token PageToken provided by the API
78
+ # @param [Integer] page_number Page Number, this value is simply for client state
79
+ # @param [Integer] page_size Number of records to return, defaults to 50
80
+ # @return [Page] Page of CountryInstance
81
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
82
+ params = Twilio::Values.of({
83
+ 'PageToken' => page_token,
84
+ 'Page' => page_number,
85
+ 'PageSize' => page_size,
86
+ })
87
+
88
+ response = @version.page('GET', @uri, params: params)
89
+
90
+ CountryPage.new(@version, response, @solution)
91
+ end
92
+
93
+ ##
94
+ # Retrieve a single page of CountryInstance records from the API.
95
+ # Request is executed immediately.
96
+ # @param [String] target_url API-generated URL for the requested results page
97
+ # @return [Page] Page of CountryInstance
98
+ def get_page(target_url)
99
+ response = @version.domain.request(
100
+ 'GET',
101
+ target_url
102
+ )
103
+ CountryPage.new(@version, response, @solution)
104
+ end
105
+
106
+ ##
107
+ # Provide a user friendly representation
108
+ def to_s
109
+ '#<Twilio.Pricing.V2.CountryList>'
110
+ end
111
+ end
112
+
113
+ class CountryPage < Page
114
+ ##
115
+ # Initialize the CountryPage
116
+ # @param [Version] version Version that contains the resource
117
+ # @param [Response] response Response from the API
118
+ # @param [Hash] solution Path solution for the resource
119
+ # @return [CountryPage] CountryPage
120
+ def initialize(version, response, solution)
121
+ super(version, response)
122
+
123
+ # Path Solution
124
+ @solution = solution
125
+ end
126
+
127
+ ##
128
+ # Build an instance of CountryInstance
129
+ # @param [Hash] payload Payload response from the API
130
+ # @return [CountryInstance] CountryInstance
131
+ def get_instance(payload)
132
+ CountryInstance.new(@version, payload, )
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ '<Twilio.Pricing.V2.CountryPage>'
139
+ end
140
+ end
141
+
142
+ class CountryContext < InstanceContext
143
+ ##
144
+ # Initialize the CountryContext
145
+ # @param [Version] version Version that contains the resource
146
+ # @param [String] iso_country The {ISO country
147
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
148
+ # voice pricing information to fetch.
149
+ # @return [CountryContext] CountryContext
150
+ def initialize(version, iso_country)
151
+ super(version)
152
+
153
+ # Path Solution
154
+ @solution = {iso_country: iso_country, }
155
+ @uri = "/Trunking/Countries/#{@solution[:iso_country]}"
156
+ end
157
+
158
+ ##
159
+ # Fetch the CountryInstance
160
+ # @return [CountryInstance] Fetched CountryInstance
161
+ def fetch
162
+ payload = @version.fetch('GET', @uri)
163
+
164
+ CountryInstance.new(@version, payload, iso_country: @solution[:iso_country], )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
171
+ "#<Twilio.Pricing.V2.CountryContext #{context}>"
172
+ end
173
+
174
+ ##
175
+ # Provide a detailed, user friendly representation
176
+ def inspect
177
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
178
+ "#<Twilio.Pricing.V2.CountryContext #{context}>"
179
+ end
180
+ end
181
+
182
+ class CountryInstance < InstanceResource
183
+ ##
184
+ # Initialize the CountryInstance
185
+ # @param [Version] version Version that contains the resource
186
+ # @param [Hash] payload payload that contains response from Twilio
187
+ # @param [String] iso_country The {ISO country
188
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
189
+ # voice pricing information to fetch.
190
+ # @return [CountryInstance] CountryInstance
191
+ def initialize(version, payload, iso_country: nil)
192
+ super(version)
193
+
194
+ # Marshaled Properties
195
+ @properties = {
196
+ 'country' => payload['country'],
197
+ 'iso_country' => payload['iso_country'],
198
+ 'terminating_prefix_prices' => payload['terminating_prefix_prices'],
199
+ 'originating_call_prices' => payload['originating_call_prices'],
200
+ 'price_unit' => payload['price_unit'],
201
+ 'url' => payload['url'],
202
+ }
203
+
204
+ # Context
205
+ @instance_context = nil
206
+ @params = {'iso_country' => iso_country || @properties['iso_country'], }
207
+ end
208
+
209
+ ##
210
+ # Generate an instance context for the instance, the context is capable of
211
+ # performing various actions. All instance actions are proxied to the context
212
+ # @return [CountryContext] CountryContext for this CountryInstance
213
+ def context
214
+ unless @instance_context
215
+ @instance_context = CountryContext.new(@version, @params['iso_country'], )
216
+ end
217
+ @instance_context
218
+ end
219
+
220
+ ##
221
+ # @return [String] The name of the country
222
+ def country
223
+ @properties['country']
224
+ end
225
+
226
+ ##
227
+ # @return [String] The ISO country code
228
+ def iso_country
229
+ @properties['iso_country']
230
+ end
231
+
232
+ ##
233
+ # @return [Array[String]] The list of TerminatingPrefixPrice records
234
+ def terminating_prefix_prices
235
+ @properties['terminating_prefix_prices']
236
+ end
237
+
238
+ ##
239
+ # @return [Array[String]] The list of OriginatingCallPrice records
240
+ def originating_call_prices
241
+ @properties['originating_call_prices']
242
+ end
243
+
244
+ ##
245
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
246
+ def price_unit
247
+ @properties['price_unit']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The absolute URL of the resource
252
+ def url
253
+ @properties['url']
254
+ end
255
+
256
+ ##
257
+ # Fetch the CountryInstance
258
+ # @return [CountryInstance] Fetched CountryInstance
259
+ def fetch
260
+ context.fetch
261
+ end
262
+
263
+ ##
264
+ # Provide a user friendly representation
265
+ def to_s
266
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
267
+ "<Twilio.Pricing.V2.CountryInstance #{values}>"
268
+ end
269
+
270
+ ##
271
+ # Provide a detailed, user friendly representation
272
+ def inspect
273
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
274
+ "<Twilio.Pricing.V2.CountryInstance #{values}>"
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end