twilio-ruby 5.19.0 → 5.74.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.dockerignore +1 -0
- data/.github/workflows/pr-lint.yml +21 -0
- data/.github/workflows/test-and-deploy.yml +129 -0
- data/.gitignore +8 -1
- data/.rubocop.yml +22 -6
- data/.rubocop_todo.yml +147 -73
- data/CHANGES.md +2126 -0
- data/CODE_OF_CONDUCT.md +73 -0
- data/CONTRIBUTING.md +4 -2
- data/Dockerfile +2 -2
- data/Gemfile +1 -9
- data/ISSUE_TEMPLATE.md +17 -13
- data/{LICENSE.md → LICENSE} +2 -2
- data/Makefile +16 -24
- data/PULL_REQUEST_TEMPLATE.md +30 -3
- data/README.md +119 -54
- data/Rakefile +0 -54
- data/VERSIONS.md +9 -10
- data/examples/examples.rb +1 -1
- data/githooks/pre-commit +0 -0
- data/lib/rack/twilio_webhook_authentication.rb +25 -1
- data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
- data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -3
- data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
- data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
- data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
- data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
- data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
- data/lib/twilio-ruby/http/http_client.rb +34 -15
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/jwt/access_token.rb +20 -2
- data/lib/twilio-ruby/jwt/jwt.rb +6 -0
- data/lib/twilio-ruby/jwt/task_router.rb +2 -2
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
- data/lib/twilio-ruby/rest/accounts.rb +13 -1
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +40 -38
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +133 -123
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +182 -182
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +35 -32
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +171 -180
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +168 -174
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +168 -174
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +189 -87
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +28 -23
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +59 -66
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +32 -36
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +76 -73
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +404 -188
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +374 -201
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +58 -63
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +38 -29
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +80 -71
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +48 -41
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +53 -54
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +179 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +178 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +178 -127
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +314 -292
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +25 -20
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +234 -209
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +11 -15
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +11 -15
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +47 -55
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +56 -61
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +43 -40
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +57 -67
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +55 -42
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -72
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +15 -15
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +48 -51
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +13 -13
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +34 -40
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +33 -39
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +175 -105
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +29 -39
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +27 -37
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +3 -2
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +16 -19
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +44 -41
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +71 -54
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +71 -51
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +68 -54
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +107 -114
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +3 -2
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
- data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
- data/lib/twilio-ruby/rest/api/v2010.rb +6 -5
- data/lib/twilio-ruby/rest/api.rb +26 -22
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +37 -30
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
- data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
- data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
- data/lib/twilio-ruby/rest/autopilot/v1.rb +15 -7
- data/lib/twilio-ruby/rest/autopilot.rb +8 -2
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export/day.rb +100 -25
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export.rb +72 -32
- data/lib/twilio-ruby/rest/{preview/bulk_exports → bulkexports/v1}/export_configuration.rb +42 -43
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
- data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +82 -74
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +84 -76
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +75 -82
- data/lib/twilio-ruby/rest/chat/v1/service.rb +340 -359
- data/lib/twilio-ruby/rest/chat/v1.rb +15 -11
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +144 -136
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +136 -119
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +101 -53
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +94 -89
- data/lib/twilio-ruby/rest/chat/v2/service.rb +228 -189
- data/lib/twilio-ruby/rest/chat/v2.rb +13 -11
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
- data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
- data/lib/twilio-ruby/rest/chat.rb +19 -3
- data/lib/twilio-ruby/rest/client.rb +218 -75
- data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
- data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → content/v1/content.rb} +107 -149
- data/lib/twilio-ruby/rest/content/v1.rb +45 -0
- data/lib/twilio-ruby/rest/content.rb +47 -0
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +517 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
- data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +171 -92
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
- data/lib/twilio-ruby/rest/conversations.rb +104 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
- data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → events/v1/schema/version.rb} +85 -110
- data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
- data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
- data/lib/twilio-ruby/rest/events/v1.rb +94 -0
- data/lib/twilio-ruby/rest/events.rb +72 -0
- data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +504 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +229 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +288 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +190 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
- data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +166 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +166 -0
- data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
- data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
- data/lib/twilio-ruby/rest/flex_api.rb +139 -0
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
- data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
- data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
- data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +321 -0
- data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
- data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +58 -11
- data/lib/twilio-ruby/rest/insights.rb +34 -6
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +42 -62
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +52 -71
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +48 -77
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +71 -205
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +15 -13
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +88 -134
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +87 -120
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +69 -88
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +80 -130
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +15 -13
- data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
- data/lib/twilio-ruby/rest/lookups/v1.rb +9 -6
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
- data/lib/twilio-ruby/rest/lookups.rb +11 -4
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
- data/lib/twilio-ruby/rest/media/v1.rb +76 -0
- data/lib/twilio-ruby/rest/media.rb +65 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
- data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
- data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +272 -128
- data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +709 -0
- data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +94 -6
- data/lib/twilio-ruby/rest/messaging.rb +55 -2
- data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
- data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
- data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
- data/lib/twilio-ruby/rest/microvisor.rb +54 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
- data/lib/twilio-ruby/rest/monitor/v1.rb +13 -11
- data/lib/twilio-ruby/rest/monitor.rb +5 -3
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +127 -125
- data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
- data/lib/twilio-ruby/rest/notify/v1.rb +15 -11
- data/lib/twilio-ruby/rest/notify.rb +5 -3
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
- data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
- data/lib/twilio-ruby/rest/numbers.rb +44 -0
- data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
- data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
- data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
- data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
- data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
- data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
- data/lib/twilio-ruby/rest/oauth.rb +68 -0
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +6 -5
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +17 -16
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +34 -44
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +11 -9
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
- data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +37 -40
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
- data/lib/twilio-ruby/rest/preview/sync.rb +6 -5
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +13 -12
- data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand.rb +6 -5
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +26 -36
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
- data/lib/twilio-ruby/rest/preview/wireless.rb +16 -13
- data/lib/twilio-ruby/rest/preview.rb +6 -35
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
- data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
- data/lib/twilio-ruby/rest/pricing/v2.rb +38 -1
- data/lib/twilio-ruby/rest/pricing.rb +20 -1
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +60 -62
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +86 -96
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +153 -119
- data/lib/twilio-ruby/rest/proxy/v1.rb +8 -6
- data/lib/twilio-ruby/rest/proxy.rb +3 -2
- data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
- data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
- data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
- data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
- data/lib/twilio-ruby/rest/routes.rb +62 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
- data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +183 -158
- data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
- data/lib/twilio-ruby/rest/serverless.rb +47 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +31 -32
- data/lib/twilio-ruby/rest/studio/v1.rb +7 -6
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
- data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
- data/lib/twilio-ruby/rest/studio.rb +19 -5
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
- data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
- data/lib/twilio-ruby/rest/supersim/v1.rb +154 -0
- data/lib/twilio-ruby/rest/supersim.rb +112 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +71 -75
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +142 -122
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +64 -70
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +146 -129
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +65 -72
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +57 -67
- data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
- data/lib/twilio-ruby/rest/sync/v1.rb +7 -6
- data/lib/twilio-ruby/rest/sync.rb +3 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +83 -77
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +316 -205
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +220 -179
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +95 -81
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +63 -33
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +129 -126
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +309 -161
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +59 -62
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +49 -45
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +28 -20
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +155 -123
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +85 -72
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +44 -28
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +109 -108
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +74 -67
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +37 -27
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +140 -128
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +7 -6
- data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +76 -85
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +165 -136
- data/lib/twilio-ruby/rest/trunking/v1.rb +8 -7
- data/lib/twilio-ruby/rest/trunking.rb +3 -3
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
- data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
- data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
- data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
- data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
- data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
- data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
- data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
- data/lib/twilio-ruby/rest/trusthub.rb +100 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
- data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +261 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +543 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +116 -124
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +96 -47
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +378 -0
- data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +66 -39
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +419 -0
- data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
- data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
- data/lib/twilio-ruby/rest/verify/v2.rb +110 -0
- data/lib/twilio-ruby/rest/verify.rb +48 -9
- data/lib/twilio-ruby/rest/video/v1/composition.rb +149 -144
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +268 -232
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/recording.rb +104 -77
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +73 -55
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +120 -77
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +176 -86
- data/lib/twilio-ruby/rest/video/v1.rb +25 -24
- data/lib/twilio-ruby/rest/video.rb +9 -9
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +6 -11
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
- data/lib/twilio-ruby/rest/voice/v1.rb +94 -5
- data/lib/twilio-ruby/rest/voice.rb +48 -4
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +89 -91
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +39 -42
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +179 -161
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
- data/lib/twilio-ruby/rest/wireless/v1.rb +26 -18
- data/lib/twilio-ruby/rest/wireless.rb +10 -4
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/security/request_validator.rb +64 -11
- data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
- data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
- data/lib/twilio-ruby/twiml/twiml.rb +4 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +1156 -172
- data/lib/twilio-ruby/util/configuration.rb +22 -5
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +9 -25
- data/sonar-project.properties +13 -0
- data/twilio-ruby.gemspec +12 -7
- metadata +336 -654
- data/.travis.yml +0 -26
- data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
- data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
- data/lib/twilio-ruby/rest/authy.rb +0 -55
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -531
- data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
- data/lib/twilio-ruby/rest/fax.rb +0 -46
- data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
- data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
- data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
- data/lib/twilio-ruby/rest/verify/v1.rb +0 -43
- data/spec/framework/request_spec.rb +0 -36
- data/spec/framework/serialize_spec.rb +0 -80
- data/spec/holodeck/holodeck.rb +0 -61
- data/spec/holodeck/hologram.rb +0 -4
- data/spec/http/http_client_spec.rb +0 -122
- data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
- data/spec/integration/accounts/v1/credential_spec.rb +0 -12
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
- data/spec/integration/api/v2010/account/address_spec.rb +0 -269
- data/spec/integration/api/v2010/account/application_spec.rb +0 -280
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
- data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
- data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
- data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
- data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
- data/spec/integration/api/v2010/account/call_spec.rb +0 -314
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
- data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
- data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
- data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
- data/spec/integration/api/v2010/account/key_spec.rb +0 -180
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
- data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
- data/spec/integration/api/v2010/account/message_spec.rb +0 -290
- data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
- data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
- data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
- data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
- data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
- data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
- data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
- data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
- data/spec/integration/api/v2010/account/token_spec.rb +0 -58
- data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
- data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
- data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
- data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
- data/spec/integration/api/v2010/account_spec.rb +0 -275
- data/spec/integration/authy/v1/form_spec.rb +0 -48
- data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
- data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
- data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
- data/spec/integration/authy/v1/service_spec.rb +0 -227
- data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
- data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
- data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
- data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
- data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
- data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
- data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
- data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
- data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
- data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
- data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
- data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
- data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
- data/spec/integration/chat/v1/credential_spec.rb +0 -223
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
- data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
- data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
- data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
- data/spec/integration/chat/v1/service/role_spec.rb +0 -263
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
- data/spec/integration/chat/v1/service/user_spec.rb +0 -266
- data/spec/integration/chat/v1/service_spec.rb +0 -299
- data/spec/integration/chat/v2/credential_spec.rb +0 -223
- data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
- data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
- data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
- data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
- data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
- data/spec/integration/chat/v2/service/role_spec.rb +0 -263
- data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
- data/spec/integration/chat/v2/service/user_spec.rb +0 -270
- data/spec/integration/chat/v2/service_spec.rb +0 -354
- data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
- data/spec/integration/fax/v1/fax_spec.rb +0 -271
- data/spec/integration/insights/v1/summary_spec.rb +0 -60
- data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
- data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
- data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
- data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
- data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
- data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
- data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
- data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
- data/spec/integration/messaging/v1/service_spec.rb +0 -271
- data/spec/integration/monitor/v1/alert_spec.rb +0 -163
- data/spec/integration/monitor/v1/event_spec.rb +0 -150
- data/spec/integration/notify/v1/credential_spec.rb +0 -223
- data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
- data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
- data/spec/integration/notify/v1/service_spec.rb +0 -286
- data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service_spec.rb +0 -185
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
- data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
- data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
- data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
- data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
- data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
- data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
- data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
- data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
- data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
- data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
- data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
- data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
- data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/document_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
- data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
- data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
- data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
- data/spec/integration/preview/sync/service_spec.rb +0 -246
- data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
- data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
- data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
- data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
- data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
- data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
- data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
- data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
- data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
- data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
- data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
- data/spec/integration/preview/understand/assistant_spec.rb +0 -274
- data/spec/integration/preview/wireless/command_spec.rb +0 -169
- data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
- data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
- data/spec/integration/preview/wireless/sim_spec.rb +0 -210
- data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
- data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
- data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
- data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
- data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
- data/spec/integration/pricing/v1/voice_spec.rb +0 -12
- data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
- data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
- data/spec/integration/pricing/v2/voice_spec.rb +0 -12
- data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -232
- data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
- data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
- data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
- data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
- data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
- data/spec/integration/proxy/v1/service_spec.rb +0 -218
- data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
- data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
- data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
- data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
- data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
- data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
- data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
- data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
- data/spec/integration/studio/v1/flow_spec.rb +0 -117
- data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/document_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
- data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
- data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
- data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
- data/spec/integration/sync/v1/service_spec.rb +0 -254
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -310
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
- data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
- data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
- data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
- data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
- data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
- data/spec/integration/trunking/v1/trunk_spec.rb +0 -362
- data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -52
- data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
- data/spec/integration/verify/v1/service_spec.rb +0 -227
- data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
- data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
- data/spec/integration/video/v1/composition_spec.rb +0 -325
- data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
- data/spec/integration/video/v1/recording_spec.rb +0 -179
- data/spec/integration/video/v1/room/recording_spec.rb +0 -188
- data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
- data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
- data/spec/integration/video/v1/room_spec.rb +0 -257
- data/spec/integration/voice/v1/voice_permission/bulk_country_update_spec.rb +0 -45
- data/spec/integration/voice/v1/voice_permission/country/highrisk_special_prefix_spec.rb +0 -61
- data/spec/integration/voice/v1/voice_permission/country_spec.rb +0 -112
- data/spec/integration/voice/v1/voice_permission_spec.rb +0 -12
- data/spec/integration/wireless/v1/command_spec.rb +0 -289
- data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
- data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
- data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
- data/spec/integration/wireless/v1/sim_spec.rb +0 -242
- data/spec/jwt/access_token_spec.rb +0 -151
- data/spec/jwt/client_capability_spec.rb +0 -104
- data/spec/jwt/task_router_spec.rb +0 -172
- data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
- data/spec/rest/client_spec.rb +0 -61
- data/spec/security/request_validator_spec.rb +0 -86
- data/spec/spec_helper.rb +0 -38
- data/spec/support/fakeweb.rb +0 -2
- data/spec/twilio_spec.rb +0 -15
- data/spec/twiml/messaging_response_spec.rb +0 -235
- data/spec/twiml/voice_response_spec.rb +0 -847
- data/spec/util/configuration_spec.rb +0 -15
- data/spec/util/url_encode_spec.rb +0 -12
|
@@ -3,15 +3,13 @@
|
|
|
3
3
|
# \ / _ _ _| _ _
|
|
4
4
|
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
5
|
# / /
|
|
6
|
-
#
|
|
6
|
+
#
|
|
7
7
|
# frozen_string_literal: true
|
|
8
8
|
|
|
9
9
|
module Twilio
|
|
10
10
|
module REST
|
|
11
11
|
class Video < Domain
|
|
12
12
|
class V1 < Version
|
|
13
|
-
##
|
|
14
|
-
# PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
|
|
15
13
|
class CompositionHookList < ListResource
|
|
16
14
|
##
|
|
17
15
|
# Initialize the CompositionHookList
|
|
@@ -29,14 +27,17 @@ module Twilio
|
|
|
29
27
|
# Lists CompositionHookInstance records from the API as a list.
|
|
30
28
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
31
29
|
# memory before returning.
|
|
32
|
-
# @param [Boolean] enabled
|
|
33
|
-
#
|
|
34
|
-
# @param [Time] date_created_after
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
# @param [Time] date_created_before
|
|
38
|
-
# this
|
|
39
|
-
#
|
|
30
|
+
# @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
|
|
31
|
+
# value that matches this parameter.
|
|
32
|
+
# @param [Time] date_created_after Read only CompositionHook resources created on
|
|
33
|
+
# or after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
34
|
+
# time zone.
|
|
35
|
+
# @param [Time] date_created_before Read only CompositionHook resources created
|
|
36
|
+
# before this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
37
|
+
# time zone.
|
|
38
|
+
# @param [String] friendly_name Read only CompositionHook resources with friendly
|
|
39
|
+
# names that match this string. The match is not case sensitive and can include
|
|
40
|
+
# asterisk `*` characters as wildcard match.
|
|
40
41
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
41
42
|
# guarantees to never return more than limit. Default is no limit
|
|
42
43
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -44,11 +45,12 @@ module Twilio
|
|
|
44
45
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
45
46
|
# efficient page size, i.e. min(limit, 1000)
|
|
46
47
|
# @return [Array] Array of up to limit results
|
|
47
|
-
def list(enabled: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
|
|
48
|
+
def list(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
|
|
48
49
|
self.stream(
|
|
49
50
|
enabled: enabled,
|
|
50
51
|
date_created_after: date_created_after,
|
|
51
52
|
date_created_before: date_created_before,
|
|
53
|
+
friendly_name: friendly_name,
|
|
52
54
|
limit: limit,
|
|
53
55
|
page_size: page_size
|
|
54
56
|
).entries
|
|
@@ -58,14 +60,17 @@ module Twilio
|
|
|
58
60
|
# Streams CompositionHookInstance records from the API as an Enumerable.
|
|
59
61
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
60
62
|
# is reached.
|
|
61
|
-
# @param [Boolean] enabled
|
|
62
|
-
#
|
|
63
|
-
# @param [Time] date_created_after
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
# @param [Time] date_created_before
|
|
67
|
-
# this
|
|
68
|
-
#
|
|
63
|
+
# @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
|
|
64
|
+
# value that matches this parameter.
|
|
65
|
+
# @param [Time] date_created_after Read only CompositionHook resources created on
|
|
66
|
+
# or after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
67
|
+
# time zone.
|
|
68
|
+
# @param [Time] date_created_before Read only CompositionHook resources created
|
|
69
|
+
# before this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
70
|
+
# time zone.
|
|
71
|
+
# @param [String] friendly_name Read only CompositionHook resources with friendly
|
|
72
|
+
# names that match this string. The match is not case sensitive and can include
|
|
73
|
+
# asterisk `*` characters as wildcard match.
|
|
69
74
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
70
75
|
# guarantees to never return more than limit. Default is no limit.
|
|
71
76
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -73,13 +78,14 @@ module Twilio
|
|
|
73
78
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
74
79
|
# efficient page size, i.e. min(limit, 1000)
|
|
75
80
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
76
|
-
def stream(enabled: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
|
|
81
|
+
def stream(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
|
|
77
82
|
limits = @version.read_limits(limit, page_size)
|
|
78
83
|
|
|
79
84
|
page = self.page(
|
|
80
85
|
enabled: enabled,
|
|
81
86
|
date_created_after: date_created_after,
|
|
82
87
|
date_created_before: date_created_before,
|
|
88
|
+
friendly_name: friendly_name,
|
|
83
89
|
page_size: limits[:page_size],
|
|
84
90
|
)
|
|
85
91
|
|
|
@@ -103,32 +109,34 @@ module Twilio
|
|
|
103
109
|
##
|
|
104
110
|
# Retrieve a single page of CompositionHookInstance records from the API.
|
|
105
111
|
# Request is executed immediately.
|
|
106
|
-
# @param [Boolean] enabled
|
|
107
|
-
#
|
|
108
|
-
# @param [Time] date_created_after
|
|
109
|
-
#
|
|
110
|
-
#
|
|
111
|
-
# @param [Time] date_created_before
|
|
112
|
-
# this
|
|
113
|
-
#
|
|
112
|
+
# @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
|
|
113
|
+
# value that matches this parameter.
|
|
114
|
+
# @param [Time] date_created_after Read only CompositionHook resources created on
|
|
115
|
+
# or after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
116
|
+
# time zone.
|
|
117
|
+
# @param [Time] date_created_before Read only CompositionHook resources created
|
|
118
|
+
# before this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] datetime with
|
|
119
|
+
# time zone.
|
|
120
|
+
# @param [String] friendly_name Read only CompositionHook resources with friendly
|
|
121
|
+
# names that match this string. The match is not case sensitive and can include
|
|
122
|
+
# asterisk `*` characters as wildcard match.
|
|
114
123
|
# @param [String] page_token PageToken provided by the API
|
|
115
124
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
116
125
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
117
126
|
# @return [Page] Page of CompositionHookInstance
|
|
118
|
-
def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
127
|
+
def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
119
128
|
params = Twilio::Values.of({
|
|
120
129
|
'Enabled' => enabled,
|
|
121
130
|
'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
|
|
122
131
|
'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
|
|
132
|
+
'FriendlyName' => friendly_name,
|
|
123
133
|
'PageToken' => page_token,
|
|
124
134
|
'Page' => page_number,
|
|
125
135
|
'PageSize' => page_size,
|
|
126
136
|
})
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
params
|
|
131
|
-
)
|
|
137
|
+
|
|
138
|
+
response = @version.page('GET', @uri, params: params)
|
|
139
|
+
|
|
132
140
|
CompositionHookPage.new(@version, response, @solution)
|
|
133
141
|
end
|
|
134
142
|
|
|
@@ -146,65 +154,72 @@ module Twilio
|
|
|
146
154
|
end
|
|
147
155
|
|
|
148
156
|
##
|
|
149
|
-
#
|
|
150
|
-
#
|
|
151
|
-
#
|
|
152
|
-
#
|
|
153
|
-
# @param [Boolean] enabled
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
#
|
|
157
|
-
#
|
|
158
|
-
#
|
|
159
|
-
#
|
|
160
|
-
# @param [String] audio_sources An array of
|
|
161
|
-
#
|
|
162
|
-
# more
|
|
163
|
-
#
|
|
164
|
-
#
|
|
165
|
-
#
|
|
166
|
-
#
|
|
167
|
-
#
|
|
168
|
-
#
|
|
169
|
-
#
|
|
170
|
-
#
|
|
171
|
-
#
|
|
172
|
-
#
|
|
173
|
-
#
|
|
174
|
-
#
|
|
175
|
-
#
|
|
176
|
-
#
|
|
177
|
-
#
|
|
178
|
-
#
|
|
179
|
-
#
|
|
180
|
-
#
|
|
157
|
+
# Create the CompositionHookInstance
|
|
158
|
+
# @param [String] friendly_name A descriptive string that you create to describe
|
|
159
|
+
# the resource. It can be up to 100 characters long and it must be unique within
|
|
160
|
+
# the account.
|
|
161
|
+
# @param [Boolean] enabled Whether the composition hook is active. When `true`,
|
|
162
|
+
# the composition hook will be triggered for every completed Group Room in the
|
|
163
|
+
# account. When `false`, the composition hook will never be triggered.
|
|
164
|
+
# @param [Hash] video_layout An object that describes the video layout of the
|
|
165
|
+
# composition hook in terms of regions. See {Specifying Video
|
|
166
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
167
|
+
# for more info.
|
|
168
|
+
# @param [Array[String]] audio_sources An array of track names from the same group
|
|
169
|
+
# room to merge into the compositions created by the composition hook. Can include
|
|
170
|
+
# zero or more track names. A composition triggered by the composition hook
|
|
171
|
+
# includes all audio sources specified in `audio_sources` except those specified
|
|
172
|
+
# in `audio_sources_excluded`. The track names in this parameter can include an
|
|
173
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
174
|
+
# track name. For example, `student*` includes tracks named `student` as well as
|
|
175
|
+
# `studentTeam`.
|
|
176
|
+
# @param [Array[String]] audio_sources_excluded An array of track names to
|
|
177
|
+
# exclude. A composition triggered by the composition hook includes all audio
|
|
178
|
+
# sources specified in `audio_sources` except for those specified in
|
|
179
|
+
# `audio_sources_excluded`. The track names in this parameter can include an
|
|
180
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
181
|
+
# track name. For example, `student*` excludes `student` as well as `studentTeam`.
|
|
182
|
+
# This parameter can also be empty.
|
|
183
|
+
# @param [String] resolution A string that describes the columns (width) and rows
|
|
184
|
+
# (height) of the generated composed video in pixels. Defaults to `640x480`.
|
|
185
|
+
# The string's format is `{width}x{height}` where:
|
|
186
|
+
#
|
|
187
|
+
# * 16 <= `{width}` <= 1280
|
|
188
|
+
# * 16 <= `{height}` <= 1280
|
|
189
|
+
# * `{width}` * `{height}` <= 921,600
|
|
190
|
+
#
|
|
191
|
+
# Typical values are:
|
|
192
|
+
#
|
|
181
193
|
# * HD = `1280x720`
|
|
182
194
|
# * PAL = `1024x576`
|
|
183
195
|
# * VGA = `640x480`
|
|
184
196
|
# * CIF = `320x240`
|
|
185
|
-
#
|
|
186
|
-
# Note that the `
|
|
187
|
-
#
|
|
188
|
-
#
|
|
189
|
-
#
|
|
190
|
-
#
|
|
191
|
-
#
|
|
192
|
-
#
|
|
193
|
-
# `
|
|
194
|
-
#
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
#
|
|
198
|
-
#
|
|
199
|
-
#
|
|
200
|
-
# @param [
|
|
201
|
-
#
|
|
202
|
-
#
|
|
203
|
-
#
|
|
204
|
-
#
|
|
205
|
-
#
|
|
206
|
-
#
|
|
207
|
-
#
|
|
197
|
+
#
|
|
198
|
+
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
199
|
+
# When the original video tracks are constrained by the aspect ratio, they are
|
|
200
|
+
# scaled to fit. See {Specifying Video
|
|
201
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
202
|
+
# for more info.
|
|
203
|
+
# @param [composition_hook.Format] format The container format of the media files
|
|
204
|
+
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
205
|
+
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
206
|
+
# one or more tracks and/or a `video_layout` element must contain a valid
|
|
207
|
+
# `video_sources` list, otherwise an error occurs.
|
|
208
|
+
# @param [String] status_callback The URL we should call using the
|
|
209
|
+
# `status_callback_method` to send status information to your application on every
|
|
210
|
+
# composition event. If not provided, status callback events will not be
|
|
211
|
+
# dispatched.
|
|
212
|
+
# @param [String] status_callback_method The HTTP method we should use to call
|
|
213
|
+
# `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
|
|
214
|
+
# @param [Boolean] trim Whether to clip the intervals where there is no active
|
|
215
|
+
# media in the Compositions triggered by the composition hook. The default is
|
|
216
|
+
# `true`. Compositions with `trim` enabled are shorter when the Room is created
|
|
217
|
+
# and no Participant joins for a while as well as if all the Participants leave
|
|
218
|
+
# the room and join later, because those gaps will be removed. See {Specifying
|
|
219
|
+
# Video
|
|
220
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
221
|
+
# for more info.
|
|
222
|
+
# @return [CompositionHookInstance] Created CompositionHookInstance
|
|
208
223
|
def create(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
|
|
209
224
|
data = Twilio::Values.of({
|
|
210
225
|
'FriendlyName' => friendly_name,
|
|
@@ -219,11 +234,7 @@ module Twilio
|
|
|
219
234
|
'Trim' => trim,
|
|
220
235
|
})
|
|
221
236
|
|
|
222
|
-
payload = @version.create(
|
|
223
|
-
'POST',
|
|
224
|
-
@uri,
|
|
225
|
-
data: data
|
|
226
|
-
)
|
|
237
|
+
payload = @version.create('POST', @uri, data: data)
|
|
227
238
|
|
|
228
239
|
CompositionHookInstance.new(@version, payload, )
|
|
229
240
|
end
|
|
@@ -235,8 +246,6 @@ module Twilio
|
|
|
235
246
|
end
|
|
236
247
|
end
|
|
237
248
|
|
|
238
|
-
##
|
|
239
|
-
# PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
|
|
240
249
|
class CompositionHookPage < Page
|
|
241
250
|
##
|
|
242
251
|
# Initialize the CompositionHookPage
|
|
@@ -266,14 +275,11 @@ module Twilio
|
|
|
266
275
|
end
|
|
267
276
|
end
|
|
268
277
|
|
|
269
|
-
##
|
|
270
|
-
# PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
|
|
271
278
|
class CompositionHookContext < InstanceContext
|
|
272
279
|
##
|
|
273
280
|
# Initialize the CompositionHookContext
|
|
274
281
|
# @param [Version] version Version that contains the resource
|
|
275
|
-
# @param [String] sid The
|
|
276
|
-
# Composition Hook to fetch.
|
|
282
|
+
# @param [String] sid The SID of the CompositionHook resource to fetch.
|
|
277
283
|
# @return [CompositionHookContext] CompositionHookContext
|
|
278
284
|
def initialize(version, sid)
|
|
279
285
|
super(version)
|
|
@@ -284,75 +290,87 @@ module Twilio
|
|
|
284
290
|
end
|
|
285
291
|
|
|
286
292
|
##
|
|
287
|
-
# Fetch
|
|
293
|
+
# Fetch the CompositionHookInstance
|
|
288
294
|
# @return [CompositionHookInstance] Fetched CompositionHookInstance
|
|
289
295
|
def fetch
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
payload = @version.fetch(
|
|
293
|
-
'GET',
|
|
294
|
-
@uri,
|
|
295
|
-
params,
|
|
296
|
-
)
|
|
296
|
+
payload = @version.fetch('GET', @uri)
|
|
297
297
|
|
|
298
298
|
CompositionHookInstance.new(@version, payload, sid: @solution[:sid], )
|
|
299
299
|
end
|
|
300
300
|
|
|
301
301
|
##
|
|
302
|
-
#
|
|
303
|
-
# @return [Boolean] true if delete succeeds,
|
|
302
|
+
# Delete the CompositionHookInstance
|
|
303
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
|
304
304
|
def delete
|
|
305
|
-
|
|
305
|
+
@version.delete('DELETE', @uri)
|
|
306
306
|
end
|
|
307
307
|
|
|
308
308
|
##
|
|
309
309
|
# Update the CompositionHookInstance
|
|
310
|
-
# @param [String] friendly_name
|
|
311
|
-
#
|
|
312
|
-
#
|
|
313
|
-
#
|
|
314
|
-
# will be triggered for every completed Group Room
|
|
315
|
-
# the
|
|
316
|
-
# @param [Hash] video_layout A JSON object
|
|
317
|
-
#
|
|
318
|
-
# Layouts
|
|
319
|
-
#
|
|
320
|
-
#
|
|
321
|
-
#
|
|
322
|
-
#
|
|
323
|
-
#
|
|
324
|
-
#
|
|
325
|
-
#
|
|
326
|
-
#
|
|
327
|
-
#
|
|
328
|
-
#
|
|
329
|
-
#
|
|
330
|
-
#
|
|
331
|
-
#
|
|
332
|
-
#
|
|
333
|
-
#
|
|
334
|
-
#
|
|
335
|
-
#
|
|
336
|
-
#
|
|
337
|
-
#
|
|
338
|
-
#
|
|
339
|
-
#
|
|
340
|
-
#
|
|
341
|
-
#
|
|
342
|
-
#
|
|
343
|
-
#
|
|
344
|
-
#
|
|
345
|
-
#
|
|
346
|
-
#
|
|
347
|
-
#
|
|
348
|
-
#
|
|
349
|
-
#
|
|
350
|
-
#
|
|
351
|
-
#
|
|
352
|
-
#
|
|
353
|
-
#
|
|
354
|
-
#
|
|
355
|
-
#
|
|
310
|
+
# @param [String] friendly_name A descriptive string that you create to describe
|
|
311
|
+
# the resource. It can be up to 100 characters long and it must be unique within
|
|
312
|
+
# the account.
|
|
313
|
+
# @param [Boolean] enabled Whether the composition hook is active. When `true`,
|
|
314
|
+
# the composition hook will be triggered for every completed Group Room in the
|
|
315
|
+
# account. When `false`, the composition hook never triggers.
|
|
316
|
+
# @param [Hash] video_layout A JSON object that describes the video layout of the
|
|
317
|
+
# composition hook in terms of regions. See {Specifying Video
|
|
318
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
319
|
+
# for more info.
|
|
320
|
+
# @param [Array[String]] audio_sources An array of track names from the same group
|
|
321
|
+
# room to merge into the compositions created by the composition hook. Can include
|
|
322
|
+
# zero or more track names. A composition triggered by the composition hook
|
|
323
|
+
# includes all audio sources specified in `audio_sources` except those specified
|
|
324
|
+
# in `audio_sources_excluded`. The track names in this parameter can include an
|
|
325
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
326
|
+
# track name. For example, `student*` includes tracks named `student` as well as
|
|
327
|
+
# `studentTeam`.
|
|
328
|
+
# @param [Array[String]] audio_sources_excluded An array of track names to
|
|
329
|
+
# exclude. A composition triggered by the composition hook includes all audio
|
|
330
|
+
# sources specified in `audio_sources` except for those specified in
|
|
331
|
+
# `audio_sources_excluded`. The track names in this parameter can include an
|
|
332
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
333
|
+
# track name. For example, `student*` excludes `student` as well as `studentTeam`.
|
|
334
|
+
# This parameter can also be empty.
|
|
335
|
+
# @param [Boolean] trim Whether to clip the intervals where there is no active
|
|
336
|
+
# media in the compositions triggered by the composition hook. The default is
|
|
337
|
+
# `true`. Compositions with `trim` enabled are shorter when the Room is created
|
|
338
|
+
# and no Participant joins for a while as well as if all the Participants leave
|
|
339
|
+
# the room and join later, because those gaps will be removed. See {Specifying
|
|
340
|
+
# Video
|
|
341
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
342
|
+
# for more info.
|
|
343
|
+
# @param [composition_hook.Format] format The container format of the media files
|
|
344
|
+
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
345
|
+
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
346
|
+
# one or more tracks and/or a `video_layout` element must contain a valid
|
|
347
|
+
# `video_sources` list, otherwise an error occurs.
|
|
348
|
+
# @param [String] resolution A string that describes the columns (width) and rows
|
|
349
|
+
# (height) of the generated composed video in pixels. Defaults to `640x480`.
|
|
350
|
+
# The string's format is `{width}x{height}` where:
|
|
351
|
+
#
|
|
352
|
+
# * 16 <= `{width}` <= 1280
|
|
353
|
+
# * 16 <= `{height}` <= 1280
|
|
354
|
+
# * `{width}` * `{height}` <= 921,600
|
|
355
|
+
#
|
|
356
|
+
# Typical values are:
|
|
357
|
+
#
|
|
358
|
+
# * HD = `1280x720`
|
|
359
|
+
# * PAL = `1024x576`
|
|
360
|
+
# * VGA = `640x480`
|
|
361
|
+
# * CIF = `320x240`
|
|
362
|
+
#
|
|
363
|
+
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
364
|
+
# When the original video tracks are constrained by the aspect ratio, they are
|
|
365
|
+
# scaled to fit. See {Specifying Video
|
|
366
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
367
|
+
# for more info.
|
|
368
|
+
# @param [String] status_callback The URL we should call using the
|
|
369
|
+
# `status_callback_method` to send status information to your application on every
|
|
370
|
+
# composition event. If not provided, status callback events will not be
|
|
371
|
+
# dispatched.
|
|
372
|
+
# @param [String] status_callback_method The HTTP method we should use to call
|
|
373
|
+
# `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
|
|
356
374
|
# @return [CompositionHookInstance] Updated CompositionHookInstance
|
|
357
375
|
def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
|
|
358
376
|
data = Twilio::Values.of({
|
|
@@ -368,11 +386,7 @@ module Twilio
|
|
|
368
386
|
'StatusCallbackMethod' => status_callback_method,
|
|
369
387
|
})
|
|
370
388
|
|
|
371
|
-
payload = @version.update(
|
|
372
|
-
'POST',
|
|
373
|
-
@uri,
|
|
374
|
-
data: data,
|
|
375
|
-
)
|
|
389
|
+
payload = @version.update('POST', @uri, data: data)
|
|
376
390
|
|
|
377
391
|
CompositionHookInstance.new(@version, payload, sid: @solution[:sid], )
|
|
378
392
|
end
|
|
@@ -383,17 +397,21 @@ module Twilio
|
|
|
383
397
|
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
384
398
|
"#<Twilio.Video.V1.CompositionHookContext #{context}>"
|
|
385
399
|
end
|
|
400
|
+
|
|
401
|
+
##
|
|
402
|
+
# Provide a detailed, user friendly representation
|
|
403
|
+
def inspect
|
|
404
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
405
|
+
"#<Twilio.Video.V1.CompositionHookContext #{context}>"
|
|
406
|
+
end
|
|
386
407
|
end
|
|
387
408
|
|
|
388
|
-
##
|
|
389
|
-
# PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
|
|
390
409
|
class CompositionHookInstance < InstanceResource
|
|
391
410
|
##
|
|
392
411
|
# Initialize the CompositionHookInstance
|
|
393
412
|
# @param [Version] version Version that contains the resource
|
|
394
413
|
# @param [Hash] payload payload that contains response from Twilio
|
|
395
|
-
# @param [String] sid The
|
|
396
|
-
# Composition Hook to fetch.
|
|
414
|
+
# @param [String] sid The SID of the CompositionHook resource to fetch.
|
|
397
415
|
# @return [CompositionHookInstance] CompositionHookInstance
|
|
398
416
|
def initialize(version, payload, sid: nil)
|
|
399
417
|
super(version)
|
|
@@ -404,7 +422,7 @@ module Twilio
|
|
|
404
422
|
'friendly_name' => payload['friendly_name'],
|
|
405
423
|
'enabled' => payload['enabled'],
|
|
406
424
|
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
|
407
|
-
'date_updated' => payload['date_updated'],
|
|
425
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
|
408
426
|
'sid' => payload['sid'],
|
|
409
427
|
'audio_sources' => payload['audio_sources'],
|
|
410
428
|
'audio_sources_excluded' => payload['audio_sources_excluded'],
|
|
@@ -434,157 +452,175 @@ module Twilio
|
|
|
434
452
|
end
|
|
435
453
|
|
|
436
454
|
##
|
|
437
|
-
# @return [String]
|
|
455
|
+
# @return [String] The SID of the Account that created the resource
|
|
438
456
|
def account_sid
|
|
439
457
|
@properties['account_sid']
|
|
440
458
|
end
|
|
441
459
|
|
|
442
460
|
##
|
|
443
|
-
# @return [String]
|
|
461
|
+
# @return [String] The string that you assigned to describe the resource
|
|
444
462
|
def friendly_name
|
|
445
463
|
@properties['friendly_name']
|
|
446
464
|
end
|
|
447
465
|
|
|
448
466
|
##
|
|
449
|
-
# @return [Boolean]
|
|
467
|
+
# @return [Boolean] Whether the CompositionHook is active
|
|
450
468
|
def enabled
|
|
451
469
|
@properties['enabled']
|
|
452
470
|
end
|
|
453
471
|
|
|
454
472
|
##
|
|
455
|
-
# @return [Time]
|
|
473
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was created
|
|
456
474
|
def date_created
|
|
457
475
|
@properties['date_created']
|
|
458
476
|
end
|
|
459
477
|
|
|
460
478
|
##
|
|
461
|
-
# @return [
|
|
479
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
|
|
462
480
|
def date_updated
|
|
463
481
|
@properties['date_updated']
|
|
464
482
|
end
|
|
465
483
|
|
|
466
484
|
##
|
|
467
|
-
# @return [String]
|
|
485
|
+
# @return [String] The unique string that identifies the resource
|
|
468
486
|
def sid
|
|
469
487
|
@properties['sid']
|
|
470
488
|
end
|
|
471
489
|
|
|
472
490
|
##
|
|
473
|
-
# @return [String]
|
|
491
|
+
# @return [Array[String]] The array of track names to include in the compositions created by the composition hook
|
|
474
492
|
def audio_sources
|
|
475
493
|
@properties['audio_sources']
|
|
476
494
|
end
|
|
477
495
|
|
|
478
496
|
##
|
|
479
|
-
# @return [String]
|
|
497
|
+
# @return [Array[String]] The array of track names to exclude from the compositions created by the composition hook
|
|
480
498
|
def audio_sources_excluded
|
|
481
499
|
@properties['audio_sources_excluded']
|
|
482
500
|
end
|
|
483
501
|
|
|
484
502
|
##
|
|
485
|
-
# @return [Hash]
|
|
503
|
+
# @return [Hash] A JSON object that describes the video layout of the Composition
|
|
486
504
|
def video_layout
|
|
487
505
|
@properties['video_layout']
|
|
488
506
|
end
|
|
489
507
|
|
|
490
508
|
##
|
|
491
|
-
# @return [String]
|
|
509
|
+
# @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height)
|
|
492
510
|
def resolution
|
|
493
511
|
@properties['resolution']
|
|
494
512
|
end
|
|
495
513
|
|
|
496
514
|
##
|
|
497
|
-
# @return [Boolean]
|
|
515
|
+
# @return [Boolean] Whether intervals with no media are clipped
|
|
498
516
|
def trim
|
|
499
517
|
@properties['trim']
|
|
500
518
|
end
|
|
501
519
|
|
|
502
520
|
##
|
|
503
|
-
# @return [composition_hook.Format] The
|
|
521
|
+
# @return [composition_hook.Format] The container format of the media files used by the compositions created by the composition hook
|
|
504
522
|
def format
|
|
505
523
|
@properties['format']
|
|
506
524
|
end
|
|
507
525
|
|
|
508
526
|
##
|
|
509
|
-
# @return [String]
|
|
527
|
+
# @return [String] The URL to send status information to your application
|
|
510
528
|
def status_callback
|
|
511
529
|
@properties['status_callback']
|
|
512
530
|
end
|
|
513
531
|
|
|
514
532
|
##
|
|
515
|
-
# @return [String] HTTP method
|
|
533
|
+
# @return [String] The HTTP method we should use to call status_callback
|
|
516
534
|
def status_callback_method
|
|
517
535
|
@properties['status_callback_method']
|
|
518
536
|
end
|
|
519
537
|
|
|
520
538
|
##
|
|
521
|
-
# @return [String] The absolute URL
|
|
539
|
+
# @return [String] The absolute URL of the resource
|
|
522
540
|
def url
|
|
523
541
|
@properties['url']
|
|
524
542
|
end
|
|
525
543
|
|
|
526
544
|
##
|
|
527
|
-
# Fetch
|
|
545
|
+
# Fetch the CompositionHookInstance
|
|
528
546
|
# @return [CompositionHookInstance] Fetched CompositionHookInstance
|
|
529
547
|
def fetch
|
|
530
548
|
context.fetch
|
|
531
549
|
end
|
|
532
550
|
|
|
533
551
|
##
|
|
534
|
-
#
|
|
535
|
-
# @return [Boolean] true if delete succeeds,
|
|
552
|
+
# Delete the CompositionHookInstance
|
|
553
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
|
536
554
|
def delete
|
|
537
555
|
context.delete
|
|
538
556
|
end
|
|
539
557
|
|
|
540
558
|
##
|
|
541
559
|
# Update the CompositionHookInstance
|
|
542
|
-
# @param [String] friendly_name
|
|
543
|
-
#
|
|
544
|
-
#
|
|
545
|
-
#
|
|
546
|
-
# will be triggered for every completed Group Room
|
|
547
|
-
# the
|
|
548
|
-
# @param [Hash] video_layout A JSON object
|
|
549
|
-
#
|
|
550
|
-
# Layouts
|
|
551
|
-
#
|
|
552
|
-
#
|
|
553
|
-
#
|
|
554
|
-
#
|
|
555
|
-
#
|
|
556
|
-
#
|
|
557
|
-
#
|
|
558
|
-
#
|
|
559
|
-
#
|
|
560
|
-
#
|
|
561
|
-
#
|
|
562
|
-
#
|
|
563
|
-
#
|
|
564
|
-
#
|
|
565
|
-
#
|
|
566
|
-
#
|
|
567
|
-
#
|
|
568
|
-
#
|
|
569
|
-
#
|
|
570
|
-
#
|
|
571
|
-
#
|
|
572
|
-
#
|
|
573
|
-
#
|
|
574
|
-
#
|
|
575
|
-
#
|
|
576
|
-
#
|
|
577
|
-
#
|
|
578
|
-
#
|
|
579
|
-
#
|
|
580
|
-
#
|
|
581
|
-
#
|
|
582
|
-
#
|
|
583
|
-
#
|
|
584
|
-
#
|
|
585
|
-
#
|
|
586
|
-
#
|
|
587
|
-
#
|
|
560
|
+
# @param [String] friendly_name A descriptive string that you create to describe
|
|
561
|
+
# the resource. It can be up to 100 characters long and it must be unique within
|
|
562
|
+
# the account.
|
|
563
|
+
# @param [Boolean] enabled Whether the composition hook is active. When `true`,
|
|
564
|
+
# the composition hook will be triggered for every completed Group Room in the
|
|
565
|
+
# account. When `false`, the composition hook never triggers.
|
|
566
|
+
# @param [Hash] video_layout A JSON object that describes the video layout of the
|
|
567
|
+
# composition hook in terms of regions. See {Specifying Video
|
|
568
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
569
|
+
# for more info.
|
|
570
|
+
# @param [Array[String]] audio_sources An array of track names from the same group
|
|
571
|
+
# room to merge into the compositions created by the composition hook. Can include
|
|
572
|
+
# zero or more track names. A composition triggered by the composition hook
|
|
573
|
+
# includes all audio sources specified in `audio_sources` except those specified
|
|
574
|
+
# in `audio_sources_excluded`. The track names in this parameter can include an
|
|
575
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
576
|
+
# track name. For example, `student*` includes tracks named `student` as well as
|
|
577
|
+
# `studentTeam`.
|
|
578
|
+
# @param [Array[String]] audio_sources_excluded An array of track names to
|
|
579
|
+
# exclude. A composition triggered by the composition hook includes all audio
|
|
580
|
+
# sources specified in `audio_sources` except for those specified in
|
|
581
|
+
# `audio_sources_excluded`. The track names in this parameter can include an
|
|
582
|
+
# asterisk as a wild card character, which matches zero or more characters in a
|
|
583
|
+
# track name. For example, `student*` excludes `student` as well as `studentTeam`.
|
|
584
|
+
# This parameter can also be empty.
|
|
585
|
+
# @param [Boolean] trim Whether to clip the intervals where there is no active
|
|
586
|
+
# media in the compositions triggered by the composition hook. The default is
|
|
587
|
+
# `true`. Compositions with `trim` enabled are shorter when the Room is created
|
|
588
|
+
# and no Participant joins for a while as well as if all the Participants leave
|
|
589
|
+
# the room and join later, because those gaps will be removed. See {Specifying
|
|
590
|
+
# Video
|
|
591
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
592
|
+
# for more info.
|
|
593
|
+
# @param [composition_hook.Format] format The container format of the media files
|
|
594
|
+
# used by the compositions created by the composition hook. Can be: `mp4` or
|
|
595
|
+
# `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
|
|
596
|
+
# one or more tracks and/or a `video_layout` element must contain a valid
|
|
597
|
+
# `video_sources` list, otherwise an error occurs.
|
|
598
|
+
# @param [String] resolution A string that describes the columns (width) and rows
|
|
599
|
+
# (height) of the generated composed video in pixels. Defaults to `640x480`.
|
|
600
|
+
# The string's format is `{width}x{height}` where:
|
|
601
|
+
#
|
|
602
|
+
# * 16 <= `{width}` <= 1280
|
|
603
|
+
# * 16 <= `{height}` <= 1280
|
|
604
|
+
# * `{width}` * `{height}` <= 921,600
|
|
605
|
+
#
|
|
606
|
+
# Typical values are:
|
|
607
|
+
#
|
|
608
|
+
# * HD = `1280x720`
|
|
609
|
+
# * PAL = `1024x576`
|
|
610
|
+
# * VGA = `640x480`
|
|
611
|
+
# * CIF = `320x240`
|
|
612
|
+
#
|
|
613
|
+
# Note that the `resolution` imposes an aspect ratio to the resulting composition.
|
|
614
|
+
# When the original video tracks are constrained by the aspect ratio, they are
|
|
615
|
+
# scaled to fit. See {Specifying Video
|
|
616
|
+
# Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
|
|
617
|
+
# for more info.
|
|
618
|
+
# @param [String] status_callback The URL we should call using the
|
|
619
|
+
# `status_callback_method` to send status information to your application on every
|
|
620
|
+
# composition event. If not provided, status callback events will not be
|
|
621
|
+
# dispatched.
|
|
622
|
+
# @param [String] status_callback_method The HTTP method we should use to call
|
|
623
|
+
# `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
|
|
588
624
|
# @return [CompositionHookInstance] Updated CompositionHookInstance
|
|
589
625
|
def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
|
|
590
626
|
context.update(
|