twilio-ruby 3.11.5 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +187 -0
- data/.travis.yml +10 -10
- data/AUTHORS.md +21 -0
- data/CHANGES.md +351 -0
- data/Gemfile +8 -1
- data/{LICENSE → LICENSE.md} +13 -11
- data/Makefile +15 -3
- data/README.md +90 -95
- data/Rakefile +59 -7
- data/VERSIONS.md +64 -0
- data/examples/examples.rb +62 -49
- data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
- data/lib/rack/twilio_webhook_authentication.rb +46 -0
- data/lib/twilio-ruby/framework/domain.rb +34 -0
- data/lib/twilio-ruby/framework/error.rb +30 -0
- data/lib/twilio-ruby/framework/helper.rb +9 -0
- data/lib/twilio-ruby/framework/page.rb +101 -0
- data/lib/twilio-ruby/framework/resource.rb +21 -0
- data/lib/twilio-ruby/framework/serialize.rb +70 -0
- data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
- data/lib/twilio-ruby/framework/values.rb +7 -0
- data/lib/twilio-ruby/framework/version.rb +164 -0
- data/lib/twilio-ruby/http/http_client.rb +46 -0
- data/lib/twilio-ruby/jwt/access_token.rb +232 -0
- data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
- data/lib/twilio-ruby/jwt/jwt.rb +50 -0
- data/lib/twilio-ruby/jwt/task_router.rb +174 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
- data/lib/twilio-ruby/rest/accounts.rb +36 -9
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +786 -0
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
- data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
- data/lib/twilio-ruby/rest/api.rb +234 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
- data/lib/twilio-ruby/rest/chat.rb +59 -0
- data/lib/twilio-ruby/rest/client.rb +307 -215
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
- data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
- data/lib/twilio-ruby/rest/lookups.rb +44 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
- data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
- data/lib/twilio-ruby/rest/monitor.rb +52 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
- data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
- data/lib/twilio-ruby/rest/pricing.rb +54 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
- data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
- data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
- data/lib/twilio-ruby/rest/trunking.rb +44 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
- data/lib/twilio-ruby/rest/video/v1.rb +56 -0
- data/lib/twilio-ruby/rest/video.rb +52 -0
- data/lib/twilio-ruby/security/request_validator.rb +54 -0
- data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
- data/lib/twilio-ruby/twiml/twiml.rb +69 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
- data/lib/twilio-ruby/util/configuration.rb +7 -0
- data/lib/twilio-ruby/util.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +52 -49
- data/spec/framework/serialize_spec.rb +59 -0
- data/spec/holodeck/holodeck.rb +61 -0
- data/spec/holodeck/hologram.rb +4 -0
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
- data/spec/integration/accounts/v1/credential_spec.rb +10 -0
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
- data/spec/integration/api/v2010/account/address_spec.rb +267 -0
- data/spec/integration/api/v2010/account/application_spec.rb +286 -0
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
- data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
- data/spec/integration/api/v2010/account/call_spec.rb +319 -0
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
- data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
- data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
- data/spec/integration/api/v2010/account/key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
- data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
- data/spec/integration/api/v2010/account/message_spec.rb +297 -0
- data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
- data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
- data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
- data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
- data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
- data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
- data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
- data/spec/integration/api/v2010/account/token_spec.rb +56 -0
- data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
- data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
- data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
- data/spec/integration/api/v2010/account_spec.rb +254 -0
- data/spec/integration/chat/v1/credential_spec.rb +223 -0
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v1/service/role_spec.rb +263 -0
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v1/service/user_spec.rb +266 -0
- data/spec/integration/chat/v1/service_spec.rb +299 -0
- data/spec/integration/chat/v2/credential_spec.rb +223 -0
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v2/service/role_spec.rb +263 -0
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v2/service/user_spec.rb +266 -0
- data/spec/integration/chat/v2/service_spec.rb +325 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
- data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
- data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
- data/spec/integration/monitor/v1/alert_spec.rb +161 -0
- data/spec/integration/monitor/v1/event_spec.rb +148 -0
- data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
- data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
- data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
- data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
- data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
- data/spec/integration/pricing/v1/voice_spec.rb +10 -0
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
- data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
- data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
- data/spec/integration/video/v1/recording_spec.rb +165 -0
- data/spec/integration/video/v1/room/recording_spec.rb +146 -0
- data/spec/integration/video/v1/room_spec.rb +237 -0
- data/spec/jwt/access_token_spec.rb +130 -0
- data/spec/jwt/client_capability_spec.rb +104 -0
- data/spec/jwt/task_router_spec.rb +172 -0
- data/spec/rack/twilio_webhook_authentication_spec.rb +106 -0
- data/spec/security/request_validator_spec.rb +113 -0
- data/spec/spec_helper.rb +29 -3
- data/spec/support/fakeweb.rb +2 -0
- data/spec/twilio_spec.rb +15 -0
- data/spec/twiml/messaging_response_spec.rb +90 -0
- data/spec/twiml/voice_response_spec.rb +474 -0
- data/spec/util/configuration_spec.rb +15 -0
- data/spec/util/url_encode_spec.rb +2 -2
- data/twilio-ruby.gemspec +32 -26
- metadata +502 -152
- data/CHANGES +0 -47
- data/docs/Makefile +0 -130
- data/docs/_themes/LICENSE +0 -45
- data/docs/_themes/README.rst +0 -25
- data/docs/_themes/flask_theme_support.py +0 -86
- data/docs/_themes/kr/layout.html +0 -32
- data/docs/_themes/kr/relations.html +0 -19
- data/docs/_themes/kr/static/flasky.css_t +0 -469
- data/docs/_themes/kr/static/small_flask.css +0 -70
- data/docs/_themes/kr/theme.conf +0 -7
- data/docs/_themes/kr_small/layout.html +0 -22
- data/docs/_themes/kr_small/static/flasky.css_t +0 -287
- data/docs/_themes/kr_small/theme.conf +0 -10
- data/docs/changelog.rst +0 -1
- data/docs/conf.py +0 -266
- data/docs/faq.rst +0 -42
- data/docs/getting-started.rst +0 -91
- data/docs/index.rst +0 -109
- data/docs/make.bat +0 -170
- data/docs/src/pip-delete-this-directory.txt +0 -5
- data/docs/usage/accounts.rst +0 -89
- data/docs/usage/applications.rst +0 -108
- data/docs/usage/basics.rst +0 -102
- data/docs/usage/caller-ids.rst +0 -45
- data/docs/usage/conferences.rst +0 -108
- data/docs/usage/errors.rst +0 -29
- data/docs/usage/messages.rst +0 -109
- data/docs/usage/notifications.rst +0 -70
- data/docs/usage/phone-calls.rst +0 -166
- data/docs/usage/phone-numbers.rst +0 -174
- data/docs/usage/queues.rst +0 -112
- data/docs/usage/recordings.rst +0 -96
- data/docs/usage/sip.rst +0 -103
- data/docs/usage/token-generation.rst +0 -81
- data/docs/usage/transcriptions.rst +0 -31
- data/docs/usage/twiml.rst +0 -69
- data/docs/usage/validation.rst +0 -71
- data/lib/twilio-ruby/rest/applications.rb +0 -6
- data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
- data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
- data/lib/twilio-ruby/rest/calls.rb +0 -28
- data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
- data/lib/twilio-ruby/rest/conferences.rb +0 -12
- data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/errors.rb +0 -14
- data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
- data/lib/twilio-ruby/rest/list_resource.rb +0 -110
- data/lib/twilio-ruby/rest/media.rb +0 -14
- data/lib/twilio-ruby/rest/messages.rb +0 -17
- data/lib/twilio-ruby/rest/notifications.rb +0 -6
- data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
- data/lib/twilio-ruby/rest/queues/members.rb +0 -29
- data/lib/twilio-ruby/rest/queues.rb +0 -12
- data/lib/twilio-ruby/rest/recordings.rb +0 -35
- data/lib/twilio-ruby/rest/sandbox.rb +0 -5
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip.rb +0 -12
- data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
- data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
- data/lib/twilio-ruby/rest/sms.rb +0 -11
- data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
- data/lib/twilio-ruby/rest/usage/records.rb +0 -21
- data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
- data/lib/twilio-ruby/rest/usage.rb +0 -10
- data/lib/twilio-ruby/rest/utils.rb +0 -25
- data/lib/twilio-ruby/twiml/response.rb +0 -15
- data/lib/twilio-ruby/util/capability.rb +0 -61
- data/lib/twilio-ruby/util/request_validator.rb +0 -22
- data/spec/rest/account_spec.rb +0 -58
- data/spec/rest/call_spec.rb +0 -18
- data/spec/rest/client_spec.rb +0 -100
- data/spec/rest/conference_spec.rb +0 -9
- data/spec/rest/instance_resource_spec.rb +0 -15
- data/spec/rest/message_spec.rb +0 -12
- data/spec/rest/numbers_spec.rb +0 -46
- data/spec/rest/queue_spec.rb +0 -9
- data/spec/rest/recording_spec.rb +0 -9
- data/spec/util/capability_spec.rb +0 -137
- data/spec/util/request_validator_spec.rb +0 -65
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
7
|
+
module Twilio
|
|
8
|
+
module REST
|
|
9
|
+
class Api < Domain
|
|
10
|
+
class V2010 < Version
|
|
11
|
+
class AccountContext < InstanceContext
|
|
12
|
+
class SipList < ListResource
|
|
13
|
+
class DomainList < ListResource
|
|
14
|
+
##
|
|
15
|
+
# Initialize the DomainList
|
|
16
|
+
# @param [Version] version Version that contains the resource
|
|
17
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
18
|
+
# resource.
|
|
19
|
+
# @return [DomainList] DomainList
|
|
20
|
+
def initialize(version, account_sid: nil)
|
|
21
|
+
super(version)
|
|
22
|
+
|
|
23
|
+
# Path Solution
|
|
24
|
+
@solution = {
|
|
25
|
+
account_sid: account_sid
|
|
26
|
+
}
|
|
27
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/SIP/Domains.json"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# Lists DomainInstance records from the API as a list.
|
|
32
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
33
|
+
# memory before returning.
|
|
34
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
35
|
+
# guarantees to never return more than limit. Default is no limit
|
|
36
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
37
|
+
# the default value of 50 records. If no page_size is defined
|
|
38
|
+
# but a limit is defined, stream() will attempt to read the
|
|
39
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
40
|
+
# @return [Array] Array of up to limit results
|
|
41
|
+
def list(limit: nil, page_size: nil)
|
|
42
|
+
self.stream(
|
|
43
|
+
limit: limit,
|
|
44
|
+
page_size: page_size
|
|
45
|
+
).entries
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# Streams DomainInstance records from the API as an Enumerable.
|
|
50
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
51
|
+
# is reached.
|
|
52
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
53
|
+
# guarantees to never return more than limit. Default is no limit
|
|
54
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
55
|
+
# the default value of 50 records. If no page_size is defined
|
|
56
|
+
# but a limit is defined, stream() will attempt to read the
|
|
57
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
58
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
59
|
+
def stream(limit: nil, page_size: nil)
|
|
60
|
+
limits = @version.read_limits(limit, page_size)
|
|
61
|
+
|
|
62
|
+
page = self.page(
|
|
63
|
+
page_size: limits[:page_size],
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
##
|
|
70
|
+
# When passed a block, yields DomainInstance records from the API.
|
|
71
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
72
|
+
# is reached.
|
|
73
|
+
def each
|
|
74
|
+
limits = @version.read_limits
|
|
75
|
+
|
|
76
|
+
page = self.page(
|
|
77
|
+
page_size: limits[:page_size],
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
@version.stream(page,
|
|
81
|
+
limit: limits[:limit],
|
|
82
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
##
|
|
86
|
+
# Retrieve a single page of DomainInstance records from the API.
|
|
87
|
+
# Request is executed immediately.
|
|
88
|
+
# @param [String] page_token PageToken provided by the API
|
|
89
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
90
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
91
|
+
# @return [Page] Page of DomainInstance
|
|
92
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
93
|
+
params = Twilio::Values.of({
|
|
94
|
+
'PageToken' => page_token,
|
|
95
|
+
'Page' => page_number,
|
|
96
|
+
'PageSize' => page_size,
|
|
97
|
+
})
|
|
98
|
+
response = @version.page(
|
|
99
|
+
'GET',
|
|
100
|
+
@uri,
|
|
101
|
+
params
|
|
102
|
+
)
|
|
103
|
+
DomainPage.new(@version, response, @solution)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
##
|
|
107
|
+
# Retrieve a single page of DomainInstance records from the API.
|
|
108
|
+
# Request is executed immediately.
|
|
109
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
110
|
+
# @return [Page] Page of DomainInstance
|
|
111
|
+
def get_page(target_url)
|
|
112
|
+
response = @version.domain.request(
|
|
113
|
+
'GET',
|
|
114
|
+
target_url
|
|
115
|
+
)
|
|
116
|
+
DomainPage.new(@version, response, @solution)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
##
|
|
120
|
+
# Retrieve a single page of DomainInstance records from the API.
|
|
121
|
+
# Request is executed immediately.
|
|
122
|
+
# @param [String] domain_name The unique address you reserve on Twilio to which
|
|
123
|
+
# you route your SIP traffic
|
|
124
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
125
|
+
# trigger.
|
|
126
|
+
# @param [String] auth_type The types of authentication you have mapped to your
|
|
127
|
+
# domain
|
|
128
|
+
# @param [String] voice_url The URL Twilio will request when this domain receives
|
|
129
|
+
# a call
|
|
130
|
+
# @param [String] voice_method The HTTP method to use with the voice_url
|
|
131
|
+
# @param [String] voice_fallback_url The URL that Twilio will use if an error
|
|
132
|
+
# occurs retrieving or executing the TwiML requested by VoiceUrl
|
|
133
|
+
# @param [String] voice_fallback_method The HTTP method Twilio will use when
|
|
134
|
+
# requesting the VoiceFallbackUrl
|
|
135
|
+
# @param [String] voice_status_callback_url The URL that Twilio will request to
|
|
136
|
+
# pass status parameters
|
|
137
|
+
# @param [String] voice_status_callback_method The voice_status_callback_method
|
|
138
|
+
# @return [DomainInstance] Newly created DomainInstance
|
|
139
|
+
def create(domain_name: nil, friendly_name: :unset, auth_type: :unset, voice_url: :unset, voice_method: :unset, voice_fallback_url: :unset, voice_fallback_method: :unset, voice_status_callback_url: :unset, voice_status_callback_method: :unset)
|
|
140
|
+
data = Twilio::Values.of({
|
|
141
|
+
'DomainName' => domain_name,
|
|
142
|
+
'FriendlyName' => friendly_name,
|
|
143
|
+
'AuthType' => auth_type,
|
|
144
|
+
'VoiceUrl' => voice_url,
|
|
145
|
+
'VoiceMethod' => voice_method,
|
|
146
|
+
'VoiceFallbackUrl' => voice_fallback_url,
|
|
147
|
+
'VoiceFallbackMethod' => voice_fallback_method,
|
|
148
|
+
'VoiceStatusCallbackUrl' => voice_status_callback_url,
|
|
149
|
+
'VoiceStatusCallbackMethod' => voice_status_callback_method,
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
payload = @version.create(
|
|
153
|
+
'POST',
|
|
154
|
+
@uri,
|
|
155
|
+
data: data
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
DomainInstance.new(
|
|
159
|
+
@version,
|
|
160
|
+
payload,
|
|
161
|
+
account_sid: @solution[:account_sid],
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
##
|
|
166
|
+
# Provide a user friendly representation
|
|
167
|
+
def to_s
|
|
168
|
+
'#<Twilio.Api.V2010.DomainList>'
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
class DomainPage < Page
|
|
173
|
+
##
|
|
174
|
+
# Initialize the DomainPage
|
|
175
|
+
# @param [Version] version Version that contains the resource
|
|
176
|
+
# @param [Response] response Response from the API
|
|
177
|
+
# @param [Hash] solution Path solution for the resource
|
|
178
|
+
# @return [DomainPage] DomainPage
|
|
179
|
+
def initialize(version, response, solution)
|
|
180
|
+
super(version, response)
|
|
181
|
+
|
|
182
|
+
# Path Solution
|
|
183
|
+
@solution = solution
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
##
|
|
187
|
+
# Build an instance of DomainInstance
|
|
188
|
+
# @param [Hash] payload Payload response from the API
|
|
189
|
+
# @return [DomainInstance] DomainInstance
|
|
190
|
+
def get_instance(payload)
|
|
191
|
+
DomainInstance.new(
|
|
192
|
+
@version,
|
|
193
|
+
payload,
|
|
194
|
+
account_sid: @solution[:account_sid],
|
|
195
|
+
)
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
##
|
|
199
|
+
# Provide a user friendly representation
|
|
200
|
+
def to_s
|
|
201
|
+
'<Twilio.Api.V2010.DomainPage>'
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
class DomainContext < InstanceContext
|
|
206
|
+
##
|
|
207
|
+
# Initialize the DomainContext
|
|
208
|
+
# @param [Version] version Version that contains the resource
|
|
209
|
+
# @param [String] account_sid The account_sid
|
|
210
|
+
# @param [String] sid The domain sid that uniquely identifies the resource
|
|
211
|
+
# @return [DomainContext] DomainContext
|
|
212
|
+
def initialize(version, account_sid, sid)
|
|
213
|
+
super(version)
|
|
214
|
+
|
|
215
|
+
# Path Solution
|
|
216
|
+
@solution = {
|
|
217
|
+
account_sid: account_sid,
|
|
218
|
+
sid: sid,
|
|
219
|
+
}
|
|
220
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/SIP/Domains/#{@solution[:sid]}.json"
|
|
221
|
+
|
|
222
|
+
# Dependents
|
|
223
|
+
@ip_access_control_list_mappings = nil
|
|
224
|
+
@credential_list_mappings = nil
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
##
|
|
228
|
+
# Fetch a DomainInstance
|
|
229
|
+
# @return [DomainInstance] Fetched DomainInstance
|
|
230
|
+
def fetch
|
|
231
|
+
params = Twilio::Values.of({})
|
|
232
|
+
|
|
233
|
+
payload = @version.fetch(
|
|
234
|
+
'GET',
|
|
235
|
+
@uri,
|
|
236
|
+
params,
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
DomainInstance.new(
|
|
240
|
+
@version,
|
|
241
|
+
payload,
|
|
242
|
+
account_sid: @solution[:account_sid],
|
|
243
|
+
sid: @solution[:sid],
|
|
244
|
+
)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
##
|
|
248
|
+
# Update the DomainInstance
|
|
249
|
+
# @param [String] auth_type The auth_type
|
|
250
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
251
|
+
# trigger.
|
|
252
|
+
# @param [String] voice_fallback_method The voice_fallback_method
|
|
253
|
+
# @param [String] voice_fallback_url The voice_fallback_url
|
|
254
|
+
# @param [String] voice_method The HTTP method to use with the voice_url
|
|
255
|
+
# @param [String] voice_status_callback_method The voice_status_callback_method
|
|
256
|
+
# @param [String] voice_status_callback_url The voice_status_callback_url
|
|
257
|
+
# @param [String] voice_url The voice_url
|
|
258
|
+
# @return [DomainInstance] Updated DomainInstance
|
|
259
|
+
def update(auth_type: :unset, friendly_name: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_status_callback_method: :unset, voice_status_callback_url: :unset, voice_url: :unset)
|
|
260
|
+
data = Twilio::Values.of({
|
|
261
|
+
'AuthType' => auth_type,
|
|
262
|
+
'FriendlyName' => friendly_name,
|
|
263
|
+
'VoiceFallbackMethod' => voice_fallback_method,
|
|
264
|
+
'VoiceFallbackUrl' => voice_fallback_url,
|
|
265
|
+
'VoiceMethod' => voice_method,
|
|
266
|
+
'VoiceStatusCallbackMethod' => voice_status_callback_method,
|
|
267
|
+
'VoiceStatusCallbackUrl' => voice_status_callback_url,
|
|
268
|
+
'VoiceUrl' => voice_url,
|
|
269
|
+
})
|
|
270
|
+
|
|
271
|
+
payload = @version.update(
|
|
272
|
+
'POST',
|
|
273
|
+
@uri,
|
|
274
|
+
data: data,
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
DomainInstance.new(
|
|
278
|
+
@version,
|
|
279
|
+
payload,
|
|
280
|
+
account_sid: @solution[:account_sid],
|
|
281
|
+
sid: @solution[:sid],
|
|
282
|
+
)
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
##
|
|
286
|
+
# Deletes the DomainInstance
|
|
287
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
288
|
+
def delete
|
|
289
|
+
@version.delete('delete', @uri)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
##
|
|
293
|
+
# Access the ip_access_control_list_mappings
|
|
294
|
+
# @return [IpAccessControlListMappingList]
|
|
295
|
+
# @return [IpAccessControlListMappingContext] if sid was passed.
|
|
296
|
+
def ip_access_control_list_mappings(sid=:unset)
|
|
297
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
298
|
+
|
|
299
|
+
if sid != :unset
|
|
300
|
+
return IpAccessControlListMappingContext.new(
|
|
301
|
+
@version,
|
|
302
|
+
@solution[:account_sid],
|
|
303
|
+
@solution[:sid],
|
|
304
|
+
sid,
|
|
305
|
+
)
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
unless @ip_access_control_list_mappings
|
|
309
|
+
@ip_access_control_list_mappings = IpAccessControlListMappingList.new(
|
|
310
|
+
@version,
|
|
311
|
+
account_sid: @solution[:account_sid],
|
|
312
|
+
domain_sid: @solution[:sid],
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
@ip_access_control_list_mappings
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
##
|
|
320
|
+
# Access the credential_list_mappings
|
|
321
|
+
# @return [CredentialListMappingList]
|
|
322
|
+
# @return [CredentialListMappingContext] if sid was passed.
|
|
323
|
+
def credential_list_mappings(sid=:unset)
|
|
324
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
325
|
+
|
|
326
|
+
if sid != :unset
|
|
327
|
+
return CredentialListMappingContext.new(
|
|
328
|
+
@version,
|
|
329
|
+
@solution[:account_sid],
|
|
330
|
+
@solution[:sid],
|
|
331
|
+
sid,
|
|
332
|
+
)
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
unless @credential_list_mappings
|
|
336
|
+
@credential_list_mappings = CredentialListMappingList.new(
|
|
337
|
+
@version,
|
|
338
|
+
account_sid: @solution[:account_sid],
|
|
339
|
+
domain_sid: @solution[:sid],
|
|
340
|
+
)
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
@credential_list_mappings
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
##
|
|
347
|
+
# Provide a user friendly representation
|
|
348
|
+
def to_s
|
|
349
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
350
|
+
"#<Twilio.Api.V2010.DomainContext #{context}>"
|
|
351
|
+
end
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
class DomainInstance < InstanceResource
|
|
355
|
+
##
|
|
356
|
+
# Initialize the DomainInstance
|
|
357
|
+
# @param [Version] version Version that contains the resource
|
|
358
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
359
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
360
|
+
# resource.
|
|
361
|
+
# @param [String] sid The domain sid that uniquely identifies the resource
|
|
362
|
+
# @return [DomainInstance] DomainInstance
|
|
363
|
+
def initialize(version, payload, account_sid: nil, sid: nil)
|
|
364
|
+
super(version)
|
|
365
|
+
|
|
366
|
+
# Marshaled Properties
|
|
367
|
+
@properties = {
|
|
368
|
+
'account_sid' => payload['account_sid'],
|
|
369
|
+
'api_version' => payload['api_version'],
|
|
370
|
+
'auth_type' => payload['auth_type'],
|
|
371
|
+
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
|
372
|
+
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
|
373
|
+
'domain_name' => payload['domain_name'],
|
|
374
|
+
'friendly_name' => payload['friendly_name'],
|
|
375
|
+
'sid' => payload['sid'],
|
|
376
|
+
'uri' => payload['uri'],
|
|
377
|
+
'voice_fallback_method' => payload['voice_fallback_method'],
|
|
378
|
+
'voice_fallback_url' => payload['voice_fallback_url'],
|
|
379
|
+
'voice_method' => payload['voice_method'],
|
|
380
|
+
'voice_status_callback_method' => payload['voice_status_callback_method'],
|
|
381
|
+
'voice_status_callback_url' => payload['voice_status_callback_url'],
|
|
382
|
+
'voice_url' => payload['voice_url'],
|
|
383
|
+
'subresource_uris' => payload['subresource_uris'],
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
# Context
|
|
387
|
+
@instance_context = nil
|
|
388
|
+
@params = {
|
|
389
|
+
'account_sid' => account_sid,
|
|
390
|
+
'sid' => sid || @properties['sid'],
|
|
391
|
+
}
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
##
|
|
395
|
+
# Generate an instance context for the instance, the context is capable of
|
|
396
|
+
# performing various actions. All instance actions are proxied to the context
|
|
397
|
+
# @return [DomainContext] DomainContext for this DomainInstance
|
|
398
|
+
def context
|
|
399
|
+
unless @instance_context
|
|
400
|
+
@instance_context = DomainContext.new(
|
|
401
|
+
@version,
|
|
402
|
+
@params['account_sid'],
|
|
403
|
+
@params['sid'],
|
|
404
|
+
)
|
|
405
|
+
end
|
|
406
|
+
@instance_context
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
##
|
|
410
|
+
# @return [String] The unique id of the account that sent the message
|
|
411
|
+
def account_sid
|
|
412
|
+
@properties['account_sid']
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
##
|
|
416
|
+
# @return [String] The Twilio API version used to process the message
|
|
417
|
+
def api_version
|
|
418
|
+
@properties['api_version']
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
##
|
|
422
|
+
# @return [String] The types of authentication mapped to the domain
|
|
423
|
+
def auth_type
|
|
424
|
+
@properties['auth_type']
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
##
|
|
428
|
+
# @return [Time] The date this resource was created
|
|
429
|
+
def date_created
|
|
430
|
+
@properties['date_created']
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
##
|
|
434
|
+
# @return [Time] The date this resource was last updated
|
|
435
|
+
def date_updated
|
|
436
|
+
@properties['date_updated']
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
##
|
|
440
|
+
# @return [String] The unique address on Twilio to route SIP traffic
|
|
441
|
+
def domain_name
|
|
442
|
+
@properties['domain_name']
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
##
|
|
446
|
+
# @return [String] A user-specified, human-readable name for the trigger.
|
|
447
|
+
def friendly_name
|
|
448
|
+
@properties['friendly_name']
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
##
|
|
452
|
+
# @return [String] A string that uniquely identifies the SIP Domain
|
|
453
|
+
def sid
|
|
454
|
+
@properties['sid']
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
##
|
|
458
|
+
# @return [String] The URI for this resource
|
|
459
|
+
def uri
|
|
460
|
+
@properties['uri']
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
##
|
|
464
|
+
# @return [String] HTTP method used with voice_fallback_url
|
|
465
|
+
def voice_fallback_method
|
|
466
|
+
@properties['voice_fallback_method']
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
##
|
|
470
|
+
# @return [String] URL Twilio will request if an error occurs in executing TwiML
|
|
471
|
+
def voice_fallback_url
|
|
472
|
+
@properties['voice_fallback_url']
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
##
|
|
476
|
+
# @return [String] HTTP method to use with voice_url
|
|
477
|
+
def voice_method
|
|
478
|
+
@properties['voice_method']
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
##
|
|
482
|
+
# @return [String] The voice_status_callback_method
|
|
483
|
+
def voice_status_callback_method
|
|
484
|
+
@properties['voice_status_callback_method']
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
##
|
|
488
|
+
# @return [String] URL that Twilio will request with status updates
|
|
489
|
+
def voice_status_callback_url
|
|
490
|
+
@properties['voice_status_callback_url']
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
##
|
|
494
|
+
# @return [String] URL Twilio will request when receiving a call
|
|
495
|
+
def voice_url
|
|
496
|
+
@properties['voice_url']
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
##
|
|
500
|
+
# @return [String] The subresource_uris
|
|
501
|
+
def subresource_uris
|
|
502
|
+
@properties['subresource_uris']
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
##
|
|
506
|
+
# Fetch a DomainInstance
|
|
507
|
+
# @return [DomainInstance] Fetched DomainInstance
|
|
508
|
+
def fetch
|
|
509
|
+
context.fetch
|
|
510
|
+
end
|
|
511
|
+
|
|
512
|
+
##
|
|
513
|
+
# Update the DomainInstance
|
|
514
|
+
# @param [String] auth_type The auth_type
|
|
515
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
516
|
+
# trigger.
|
|
517
|
+
# @param [String] voice_fallback_method The voice_fallback_method
|
|
518
|
+
# @param [String] voice_fallback_url The voice_fallback_url
|
|
519
|
+
# @param [String] voice_method The HTTP method to use with the voice_url
|
|
520
|
+
# @param [String] voice_status_callback_method The voice_status_callback_method
|
|
521
|
+
# @param [String] voice_status_callback_url The voice_status_callback_url
|
|
522
|
+
# @param [String] voice_url The voice_url
|
|
523
|
+
# @return [DomainInstance] Updated DomainInstance
|
|
524
|
+
def update(auth_type: :unset, friendly_name: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_status_callback_method: :unset, voice_status_callback_url: :unset, voice_url: :unset)
|
|
525
|
+
context.update(
|
|
526
|
+
auth_type: auth_type,
|
|
527
|
+
friendly_name: friendly_name,
|
|
528
|
+
voice_fallback_method: voice_fallback_method,
|
|
529
|
+
voice_fallback_url: voice_fallback_url,
|
|
530
|
+
voice_method: voice_method,
|
|
531
|
+
voice_status_callback_method: voice_status_callback_method,
|
|
532
|
+
voice_status_callback_url: voice_status_callback_url,
|
|
533
|
+
voice_url: voice_url,
|
|
534
|
+
)
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
##
|
|
538
|
+
# Deletes the DomainInstance
|
|
539
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
540
|
+
def delete
|
|
541
|
+
context.delete
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
##
|
|
545
|
+
# Access the ip_access_control_list_mappings
|
|
546
|
+
# @return [ip_access_control_list_mappings] ip_access_control_list_mappings
|
|
547
|
+
def ip_access_control_list_mappings
|
|
548
|
+
context.ip_access_control_list_mappings
|
|
549
|
+
end
|
|
550
|
+
|
|
551
|
+
##
|
|
552
|
+
# Access the credential_list_mappings
|
|
553
|
+
# @return [credential_list_mappings] credential_list_mappings
|
|
554
|
+
def credential_list_mappings
|
|
555
|
+
context.credential_list_mappings
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
##
|
|
559
|
+
# Provide a user friendly representation
|
|
560
|
+
def to_s
|
|
561
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
562
|
+
"<Twilio.Api.V2010.DomainInstance #{values}>"
|
|
563
|
+
end
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
end
|
|
567
|
+
end
|
|
568
|
+
end
|
|
569
|
+
end
|
|
570
|
+
end
|