daily-ruby 0.0.2 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +7 -5
  3. data/README.md +248 -79
  4. data/daily-ruby-1.0.0.gem +0 -0
  5. data/daily-ruby.gemspec +6 -5
  6. data/docs/BatchProcessorError.md +24 -0
  7. data/docs/BatchProcessorErrorPayload.md +26 -0
  8. data/docs/BatchProcessorErrorPayloadInput.md +24 -0
  9. data/docs/BatchProcessorJobFinished.md +24 -0
  10. data/docs/BatchProcessorJobFinishedPayload.md +26 -0
  11. data/docs/BatchProcessorJobFinishedPayloadInput.md +24 -0
  12. data/docs/BatchProcessorJobFinishedPayloadOutput.md +24 -0
  13. data/docs/BatchProcessorJobFinishedPayloadOutputConcept.md +20 -0
  14. data/docs/BatchProcessorJobFinishedPayloadOutputSoap.md +20 -0
  15. data/docs/BatchProcessorJobFinishedPayloadOutputSoapS3Config.md +22 -0
  16. data/docs/BatchProcessorJobFinishedPayloadOutputSummary.md +20 -0
  17. data/docs/BatchProcessorJobFinishedPayloadOutputTranscriptionInner.md +20 -0
  18. data/docs/BatchRoomCreateRequest.md +18 -0
  19. data/docs/BatchRoomCreateRequestRoomsInner.md +22 -0
  20. data/docs/BatchRoomDelete200Response.md +18 -0
  21. data/docs/BatchRoomsApi.md +150 -0
  22. data/docs/BuyPhoneNumberRequest.md +18 -0
  23. data/docs/CreateMeetingToken200Response.md +18 -0
  24. data/docs/CreateMeetingTokenRequest.md +18 -0
  25. data/docs/CreateRoom200Response.md +30 -0
  26. data/docs/{RoomRequest.md → CreateRoomRequest.md} +3 -3
  27. data/docs/DailyLiveStreamingOptions.md +40 -0
  28. data/docs/DailyLiveStreamingOptionsRtmpUrl.md +49 -0
  29. data/docs/DailyStreamingActiveParticipantLayoutConfig.md +18 -0
  30. data/docs/DailyStreamingCustomLayoutConfig.md +24 -0
  31. data/docs/DailyStreamingCustomLayoutConfigCompositionParams.md +15 -0
  32. data/docs/DailyStreamingCustomLayoutConfigCompositionParamsValue.md +15 -0
  33. data/docs/DailyStreamingDefaultLayoutConfig.md +20 -0
  34. data/docs/DailyStreamingEndpoint.md +18 -0
  35. data/docs/DailyStreamingLayoutConfig.md +69 -0
  36. data/docs/DailyStreamingOptions.md +36 -0
  37. data/docs/DailyStreamingPortraitLayoutConfig.md +22 -0
  38. data/docs/DailyStreamingPortraitLayoutVariant.md +15 -0
  39. data/docs/DailyStreamingSingleParticipantLayoutConfig.md +20 -0
  40. data/docs/DeleteTranscript200Response.md +30 -0
  41. data/docs/DialinApi.md +80 -0
  42. data/docs/DialoutProperties.md +26 -0
  43. data/docs/DialoutPropertiesCodecs.md +20 -0
  44. data/docs/Domain.md +18 -0
  45. data/docs/DomainApi.md +149 -0
  46. data/docs/DomainProperties.md +84 -0
  47. data/docs/Eject200Response.md +18 -0
  48. data/docs/EjectRequest.md +22 -0
  49. data/docs/GetDomainConfig200Response.md +22 -0
  50. data/docs/GetDomainConfig200ResponseConfig.md +56 -0
  51. data/docs/GetDomainConfig200ResponseConfigRecordingsBucket.md +20 -0
  52. data/docs/GetMeetingInfo200Response.md +20 -0
  53. data/docs/GetMeetingInfo200ResponseDataInner.md +28 -0
  54. data/docs/GetMeetingInfo200ResponseDataInnerParticipantsInner.md +26 -0
  55. data/docs/GetPresence200Response.md +18 -0
  56. data/docs/GetPresence200ResponseAIVWWhzHlLHrSdHdw7EWInner.md +28 -0
  57. data/docs/GetRecordingInfo200Response.md +36 -0
  58. data/docs/GetRecordingInfo200ResponseTracksInner.md +22 -0
  59. data/docs/GetRecordingLink200Response.md +20 -0
  60. data/docs/GetTranscriptInfo200Response.md +32 -0
  61. data/docs/GetTranscriptInfo200ResponseOutParams.md +22 -0
  62. data/docs/GetTranscriptLink200Response.md +22 -0
  63. data/docs/ListAPILogs200Response.md +38 -0
  64. data/docs/ListRecordings200Response.md +20 -0
  65. data/docs/ListRecordings200ResponseDataInner.md +30 -0
  66. data/docs/ListRooms200Response.md +20 -0
  67. data/docs/ListRooms200ResponseDataInner.md +30 -0
  68. data/docs/ListRooms200ResponseDataInnerConfig.md +18 -0
  69. data/docs/ListTranscript200Response.md +20 -0
  70. data/docs/ListTranscript200ResponseDataInner.md +28 -0
  71. data/docs/LogsApi.md +177 -0
  72. data/docs/MeetingEnded.md +24 -0
  73. data/docs/MeetingEndedPayload.md +24 -0
  74. data/docs/MeetingParticipantsGetRes.md +18 -0
  75. data/docs/MeetingParticipantsGetResDataInner.md +28 -0
  76. data/docs/MeetingStarted.md +24 -0
  77. data/docs/MeetingStartedPayload.md +22 -0
  78. data/docs/MeetingTokensApi.md +92 -14
  79. data/docs/MeetingsApi.md +247 -0
  80. data/docs/MeetingsMeetingGetRes.md +28 -0
  81. data/docs/ParticipantJoined.md +24 -0
  82. data/docs/ParticipantJoinedPayload.md +32 -0
  83. data/docs/ParticipantJoinedPayloadPermissions.md +22 -0
  84. data/docs/ParticipantLeft.md +24 -0
  85. data/docs/ParticipantLeftPayload.md +34 -0
  86. data/docs/Permissions.md +22 -0
  87. data/docs/{MeetingTokenRequestPropertiesPermissionsCanSend.md → PermissionsCanAdmin.md} +4 -4
  88. data/docs/{MeetingTokenRequestPropertiesPermissionsCanAdmin.md → PermissionsCanSend.md} +4 -4
  89. data/docs/PhoneNumbersApi.md +304 -0
  90. data/docs/PinDialinInner.md +22 -0
  91. data/docs/PinDialinInnerIvrGreeting.md +18 -0
  92. data/docs/PinlessCallUpdateRequest.md +22 -0
  93. data/docs/PinlessDialinInner.md +24 -0
  94. data/docs/PostWebhook.md +26 -0
  95. data/docs/PresenceApi.md +74 -0
  96. data/docs/Properties.md +62 -0
  97. data/docs/RecordingError.md +24 -0
  98. data/docs/RecordingErrorPayload.md +26 -0
  99. data/docs/RecordingReadyToDownload.md +24 -0
  100. data/docs/RecordingReadyToDownloadPayload.md +34 -0
  101. data/docs/RecordingStarted.md +24 -0
  102. data/docs/RecordingStartedPayload.md +28 -0
  103. data/docs/RecordingStreamingOptions.md +38 -0
  104. data/docs/RecordingsApi.md +303 -0
  105. data/docs/RecordingsBucket.md +26 -0
  106. data/docs/RoomDialOutSendDTMFRequest.md +20 -0
  107. data/docs/RoomDialOutStopRequest.md +18 -0
  108. data/docs/RoomProperties.md +104 -0
  109. data/docs/RoomPropertiesStreamingEndpointsInner.md +28 -0
  110. data/docs/RoomPropertiesStreamingEndpointsInnerHlsConfigVariantsInner.md +26 -0
  111. data/docs/RoomSipCallTransferRequest.md +20 -0
  112. data/docs/RoomsApi.md +1794 -0
  113. data/docs/RoomsRoomNameGetRes.md +30 -0
  114. data/docs/RoomsRoomNamePresenceGetRes.md +20 -0
  115. data/docs/RoomsRoomNamePresenceGetResDataInner.md +28 -0
  116. data/docs/SendAppMessageRequest.md +20 -0
  117. data/docs/SetRoomConfigRequest.md +20 -0
  118. data/docs/SetSessionDataRequest.md +22 -0
  119. data/docs/StreamingEnded.md +24 -0
  120. data/docs/StreamingEndedPayload.md +22 -0
  121. data/docs/StreamingError.md +24 -0
  122. data/docs/StreamingErrorPayload.md +26 -0
  123. data/docs/StreamingStarted.md +24 -0
  124. data/docs/StreamingStartedPayload.md +24 -0
  125. data/docs/StreamingUpdated.md +24 -0
  126. data/docs/StreamingUpdatedPayload.md +24 -0
  127. data/docs/TranscriptApi.md +305 -0
  128. data/docs/TranscriptionBucket.md +24 -0
  129. data/docs/TranscriptionProperties.md +34 -0
  130. data/docs/TranscriptionPropertiesEndpointing.md +49 -0
  131. data/docs/TranscriptionPropertiesRedact.md +51 -0
  132. data/docs/UpdatePermissionsRequest.md +18 -0
  133. data/docs/UpdatePermissionsRequestDataValue.md +22 -0
  134. data/docs/UpdatePermissionsRequestDataValueCanSend.md +49 -0
  135. data/docs/UpdateWebhook.md +26 -0
  136. data/docs/ValidateMeetingToken200Response.md +28 -0
  137. data/docs/WaitingParticipantJoined.md +24 -0
  138. data/docs/WaitingParticipantJoinedPayload.md +32 -0
  139. data/docs/WaitingParticipantLeft.md +24 -0
  140. data/docs/WaitingParticipantLeftPayload.md +34 -0
  141. data/docs/Webhook.md +40 -0
  142. data/docs/WebhooksApi.md +370 -0
  143. data/example.rb +61 -0
  144. data/lib/daily-ruby/api/batch_rooms_api.rb +143 -0
  145. data/lib/daily-ruby/api/dialin_api.rb +86 -0
  146. data/lib/daily-ruby/api/domain_api.rb +143 -0
  147. data/lib/daily-ruby/api/logs_api.rb +181 -0
  148. data/lib/daily-ruby/api/meeting_tokens_api.rb +83 -17
  149. data/lib/daily-ruby/api/meetings_api.rb +238 -0
  150. data/lib/daily-ruby/api/phone_numbers_api.rb +281 -0
  151. data/lib/daily-ruby/api/presence_api.rb +77 -0
  152. data/lib/daily-ruby/api/recordings_api.rb +280 -0
  153. data/lib/daily-ruby/api/rooms_api.rb +1652 -0
  154. data/lib/daily-ruby/api/transcript_api.rb +283 -0
  155. data/lib/daily-ruby/api/webhooks_api.rb +339 -0
  156. data/lib/daily-ruby/api_client.rb +38 -32
  157. data/lib/daily-ruby/api_error.rb +5 -5
  158. data/lib/daily-ruby/configuration.rb +30 -8
  159. data/lib/daily-ruby/models/batch_processor_error.rb +278 -0
  160. data/lib/daily-ruby/models/batch_processor_error_payload.rb +289 -0
  161. data/lib/daily-ruby/models/batch_processor_error_payload_input.rb +280 -0
  162. data/lib/daily-ruby/models/batch_processor_job_finished.rb +278 -0
  163. data/lib/daily-ruby/models/batch_processor_job_finished_payload.rb +288 -0
  164. data/lib/daily-ruby/models/batch_processor_job_finished_payload_input.rb +280 -0
  165. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output.rb +245 -0
  166. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output_concept.rb +259 -0
  167. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap.rb +259 -0
  168. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output_soap_s3_config.rb +236 -0
  169. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output_summary.rb +259 -0
  170. data/lib/daily-ruby/models/batch_processor_job_finished_payload_output_transcription_inner.rb +258 -0
  171. data/lib/daily-ruby/models/batch_room_create_request.rb +216 -0
  172. data/lib/daily-ruby/models/batch_room_create_request_rooms_inner.rb +232 -0
  173. data/lib/daily-ruby/models/batch_room_delete200_response.rb +214 -0
  174. data/lib/daily-ruby/models/{room_not_found_response.rb → buy_phone_number_request.rb} +16 -25
  175. data/lib/daily-ruby/models/{meeting_token_response.rb → create_meeting_token200_response.rb} +8 -10
  176. data/lib/daily-ruby/models/create_meeting_token_request.rb +214 -0
  177. data/lib/daily-ruby/models/create_room200_response.rb +270 -0
  178. data/lib/daily-ruby/models/create_room_request.rb +232 -0
  179. data/lib/daily-ruby/models/daily_live_streaming_options.rb +324 -0
  180. data/lib/daily-ruby/models/{meeting_token_request_properties_permissions_can_send.rb → daily_live_streaming_options_rtmp_url.rb} +7 -7
  181. data/lib/daily-ruby/models/{room_request.rb → daily_streaming_active_participant_layout_config.rb} +30 -42
  182. data/lib/daily-ruby/models/daily_streaming_custom_layout_config.rb +293 -0
  183. data/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params.rb +105 -0
  184. data/lib/daily-ruby/models/daily_streaming_custom_layout_config_composition_params_value.rb +105 -0
  185. data/lib/daily-ruby/models/daily_streaming_default_layout_config.rb +264 -0
  186. data/lib/daily-ruby/models/daily_streaming_endpoint.rb +221 -0
  187. data/lib/daily-ruby/models/daily_streaming_layout_config.rb +46 -0
  188. data/lib/daily-ruby/models/daily_streaming_options.rb +304 -0
  189. data/lib/daily-ruby/models/daily_streaming_portrait_layout_config.rb +273 -0
  190. data/lib/daily-ruby/models/daily_streaming_portrait_layout_variant.rb +41 -0
  191. data/lib/daily-ruby/models/daily_streaming_single_participant_layout_config.rb +271 -0
  192. data/lib/daily-ruby/models/delete_transcript200_response.rb +307 -0
  193. data/lib/daily-ruby/models/dialout_properties.rb +254 -0
  194. data/lib/daily-ruby/models/dialout_properties_codecs.rb +228 -0
  195. data/lib/daily-ruby/models/{meeting_token_request.rb → domain.rb} +9 -10
  196. data/lib/daily-ruby/models/domain_properties.rb +628 -0
  197. data/lib/daily-ruby/models/eject200_response.rb +216 -0
  198. data/lib/daily-ruby/models/eject_request.rb +241 -0
  199. data/lib/daily-ruby/models/get_domain_config200_response.rb +271 -0
  200. data/lib/daily-ruby/models/get_domain_config200_response_config.rb +404 -0
  201. data/lib/daily-ruby/models/get_domain_config200_response_config_recordings_bucket.rb +223 -0
  202. data/lib/daily-ruby/models/get_meeting_info200_response.rb +259 -0
  203. data/lib/daily-ruby/models/get_meeting_info200_response_data_inner.rb +353 -0
  204. data/lib/daily-ruby/models/get_meeting_info200_response_data_inner_participants_inner.rb +290 -0
  205. data/lib/daily-ruby/models/get_presence200_response.rb +243 -0
  206. data/lib/daily-ruby/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner.rb +370 -0
  207. data/lib/daily-ruby/models/get_recording_info200_response.rb +340 -0
  208. data/lib/daily-ruby/models/get_recording_info200_response_tracks_inner.rb +269 -0
  209. data/lib/daily-ruby/models/get_recording_link200_response.rb +225 -0
  210. data/lib/daily-ruby/models/get_transcript_info200_response.rb +317 -0
  211. data/lib/daily-ruby/models/get_transcript_info200_response_out_params.rb +233 -0
  212. data/lib/daily-ruby/models/get_transcript_link200_response.rb +233 -0
  213. data/lib/daily-ruby/models/list_api_logs200_response.rb +315 -0
  214. data/lib/daily-ruby/models/list_recordings200_response.rb +227 -0
  215. data/lib/daily-ruby/models/list_recordings200_response_data_inner.rb +272 -0
  216. data/lib/daily-ruby/models/list_rooms200_response.rb +227 -0
  217. data/lib/daily-ruby/models/list_rooms200_response_data_inner.rb +270 -0
  218. data/lib/daily-ruby/models/list_rooms200_response_data_inner_config.rb +216 -0
  219. data/lib/daily-ruby/models/list_transcript200_response.rb +227 -0
  220. data/lib/daily-ruby/models/list_transcript200_response_data_inner.rb +298 -0
  221. data/lib/daily-ruby/models/meeting_ended.rb +278 -0
  222. data/lib/daily-ruby/models/{server_error_response.rb → meeting_ended_payload.rb} +47 -17
  223. data/lib/daily-ruby/models/meeting_participants_get_res.rb +216 -0
  224. data/lib/daily-ruby/models/meeting_participants_get_res_data_inner.rb +259 -0
  225. data/lib/daily-ruby/models/meeting_started.rb +278 -0
  226. data/lib/daily-ruby/models/meeting_started_payload.rb +236 -0
  227. data/lib/daily-ruby/models/meetings_meeting_get_res.rb +259 -0
  228. data/lib/daily-ruby/models/participant_joined.rb +278 -0
  229. data/lib/daily-ruby/models/participant_joined_payload.rb +285 -0
  230. data/lib/daily-ruby/models/participant_joined_payload_permissions.rb +240 -0
  231. data/lib/daily-ruby/models/participant_left.rb +278 -0
  232. data/lib/daily-ruby/models/participant_left_payload.rb +295 -0
  233. data/lib/daily-ruby/models/permissions.rb +234 -0
  234. data/lib/daily-ruby/models/permissions_can_admin.rb +106 -0
  235. data/lib/daily-ruby/models/permissions_can_send.rb +106 -0
  236. data/lib/daily-ruby/models/pin_dialin_inner.rb +234 -0
  237. data/lib/daily-ruby/models/pin_dialin_inner_ivr_greeting.rb +215 -0
  238. data/lib/daily-ruby/models/pinless_call_update_request.rb +235 -0
  239. data/lib/daily-ruby/models/pinless_dialin_inner.rb +245 -0
  240. data/lib/daily-ruby/models/post_webhook.rb +291 -0
  241. data/lib/daily-ruby/models/{meeting_token_request_properties.rb → properties.rb} +83 -21
  242. data/lib/daily-ruby/models/recording_error.rb +278 -0
  243. data/lib/daily-ruby/models/recording_error_payload.rb +290 -0
  244. data/lib/daily-ruby/models/recording_ready_to_download.rb +278 -0
  245. data/lib/daily-ruby/models/recording_ready_to_download_payload.rb +344 -0
  246. data/lib/daily-ruby/models/recording_started.rb +278 -0
  247. data/lib/daily-ruby/models/recording_started_payload.rb +299 -0
  248. data/lib/daily-ruby/models/recording_streaming_options.rb +350 -0
  249. data/lib/daily-ruby/models/recordings_bucket.rb +258 -0
  250. data/lib/daily-ruby/models/room_dial_out_send_dtmf_request.rb +224 -0
  251. data/lib/daily-ruby/models/{room_deleted_response.rb → room_dial_out_stop_request.rb} +16 -25
  252. data/lib/daily-ruby/models/room_properties.rb +736 -0
  253. data/lib/daily-ruby/models/room_properties_streaming_endpoints_inner.rb +267 -0
  254. data/lib/daily-ruby/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner.rb +255 -0
  255. data/lib/daily-ruby/models/room_sip_call_transfer_request.rb +224 -0
  256. data/lib/daily-ruby/models/{room_response.rb → rooms_room_name_get_res.rb} +23 -13
  257. data/lib/daily-ruby/models/rooms_room_name_presence_get_res.rb +225 -0
  258. data/lib/daily-ruby/models/rooms_room_name_presence_get_res_data_inner.rb +259 -0
  259. data/lib/daily-ruby/models/send_app_message_request.rb +227 -0
  260. data/lib/daily-ruby/models/set_room_config_request.rb +223 -0
  261. data/lib/daily-ruby/models/set_session_data_request.rb +273 -0
  262. data/lib/daily-ruby/models/streaming_ended.rb +278 -0
  263. data/lib/daily-ruby/models/streaming_ended_payload.rb +236 -0
  264. data/lib/daily-ruby/models/streaming_error.rb +278 -0
  265. data/lib/daily-ruby/models/streaming_error_payload.rb +256 -0
  266. data/lib/daily-ruby/models/streaming_started.rb +278 -0
  267. data/lib/daily-ruby/models/streaming_started_payload.rb +245 -0
  268. data/lib/daily-ruby/models/streaming_updated.rb +278 -0
  269. data/lib/daily-ruby/models/streaming_updated_payload.rb +245 -0
  270. data/lib/daily-ruby/models/transcription_bucket.rb +246 -0
  271. data/lib/daily-ruby/models/transcription_properties.rb +293 -0
  272. data/lib/daily-ruby/models/transcription_properties_endpointing.rb +106 -0
  273. data/lib/daily-ruby/models/transcription_properties_redact.rb +107 -0
  274. data/lib/daily-ruby/models/update_permissions_request.rb +216 -0
  275. data/lib/daily-ruby/models/{meeting_token_request_properties_permissions.rb → update_permissions_request_data_value.rb} +14 -13
  276. data/lib/daily-ruby/models/{meeting_token_request_properties_permissions_can_admin.rb → update_permissions_request_data_value_can_send.rb} +6 -6
  277. data/lib/daily-ruby/models/update_webhook.rb +291 -0
  278. data/lib/daily-ruby/models/validate_meeting_token200_response.rb +265 -0
  279. data/lib/daily-ruby/models/waiting_participant_joined.rb +278 -0
  280. data/lib/daily-ruby/models/waiting_participant_joined_payload.rb +285 -0
  281. data/lib/daily-ruby/models/waiting_participant_left.rb +278 -0
  282. data/lib/daily-ruby/models/waiting_participant_left_payload.rb +295 -0
  283. data/lib/daily-ruby/models/webhook.rb +361 -0
  284. data/lib/daily-ruby/version.rb +6 -6
  285. data/lib/daily-ruby.rb +140 -18
  286. data/run.sh +3 -3
  287. data/spec/api/batch_rooms_api_spec.rb +58 -0
  288. data/spec/api/dialin_api_spec.rb +47 -0
  289. data/spec/api/domain_api_spec.rb +58 -0
  290. data/spec/api/logs_api_spec.rb +70 -0
  291. data/spec/api/meeting_tokens_api_spec.rb +21 -8
  292. data/spec/api/meetings_api_spec.rb +81 -0
  293. data/spec/api/phone_numbers_api_spec.rb +87 -0
  294. data/spec/api/presence_api_spec.rb +45 -0
  295. data/spec/api/recordings_api_spec.rb +86 -0
  296. data/spec/api/rooms_api_spec.rb +278 -0
  297. data/spec/api/transcript_api_spec.rb +87 -0
  298. data/spec/api/webhooks_api_spec.rb +95 -0
  299. data/spec/models/batch_processor_error_payload_input_spec.rb +58 -0
  300. data/spec/models/batch_processor_error_payload_spec.rb +64 -0
  301. data/spec/models/batch_processor_error_spec.rb +58 -0
  302. data/spec/models/batch_processor_job_finished_payload_input_spec.rb +58 -0
  303. data/spec/models/batch_processor_job_finished_payload_output_concept_spec.rb +46 -0
  304. data/spec/models/batch_processor_job_finished_payload_output_soap_s3_config_spec.rb +48 -0
  305. data/spec/models/batch_processor_job_finished_payload_output_soap_spec.rb +46 -0
  306. data/spec/models/batch_processor_job_finished_payload_output_spec.rb +54 -0
  307. data/spec/models/batch_processor_job_finished_payload_output_summary_spec.rb +46 -0
  308. data/spec/models/batch_processor_job_finished_payload_output_transcription_inner_spec.rb +46 -0
  309. data/spec/models/batch_processor_job_finished_payload_spec.rb +64 -0
  310. data/spec/models/batch_processor_job_finished_spec.rb +58 -0
  311. data/spec/models/batch_room_create_request_rooms_inner_spec.rb +48 -0
  312. data/spec/models/batch_room_create_request_spec.rb +36 -0
  313. data/spec/models/batch_room_delete200_response_spec.rb +36 -0
  314. data/spec/models/buy_phone_number_request_spec.rb +36 -0
  315. data/spec/models/create_meeting_token200_response_spec.rb +36 -0
  316. data/spec/models/create_meeting_token_request_spec.rb +36 -0
  317. data/spec/models/create_room200_response_spec.rb +72 -0
  318. data/spec/models/{room_request_spec.rb → create_room_request_spec.rb} +10 -14
  319. data/spec/models/daily_live_streaming_options_rtmp_url_spec.rb +32 -0
  320. data/spec/models/daily_live_streaming_options_spec.rb +102 -0
  321. data/spec/models/daily_streaming_active_participant_layout_config_spec.rb +40 -0
  322. data/spec/models/daily_streaming_custom_layout_config_composition_params_spec.rb +21 -0
  323. data/spec/models/daily_streaming_custom_layout_config_composition_params_value_spec.rb +21 -0
  324. data/spec/models/daily_streaming_custom_layout_config_spec.rb +58 -0
  325. data/spec/models/daily_streaming_default_layout_config_spec.rb +46 -0
  326. data/spec/models/daily_streaming_endpoint_spec.rb +36 -0
  327. data/spec/models/daily_streaming_layout_config_spec.rb +38 -0
  328. data/spec/models/daily_streaming_options_spec.rb +90 -0
  329. data/spec/models/daily_streaming_portrait_layout_config_spec.rb +52 -0
  330. data/spec/models/daily_streaming_portrait_layout_variant_spec.rb +30 -0
  331. data/spec/models/daily_streaming_single_participant_layout_config_spec.rb +46 -0
  332. data/spec/models/delete_transcript200_response_spec.rb +76 -0
  333. data/spec/models/dialout_properties_codecs_spec.rb +42 -0
  334. data/spec/models/dialout_properties_spec.rb +60 -0
  335. data/spec/models/{room_request_properties_spec.rb → domain_properties_spec.rb} +39 -49
  336. data/spec/models/domain_spec.rb +36 -0
  337. data/spec/models/eject200_response_spec.rb +36 -0
  338. data/spec/models/eject_request_spec.rb +36 -0
  339. data/spec/models/get_domain_config200_response_config_recordings_bucket_spec.rb +42 -0
  340. data/spec/models/get_domain_config200_response_config_spec.rb +144 -0
  341. data/spec/models/get_domain_config200_response_spec.rb +48 -0
  342. data/spec/models/get_meeting_info200_response_data_inner_participants_inner_spec.rb +60 -0
  343. data/spec/models/get_meeting_info200_response_data_inner_spec.rb +66 -0
  344. data/spec/models/get_meeting_info200_response_spec.rb +42 -0
  345. data/spec/models/get_presence200_response_aivw_whz_hl_lhr_sd_hdw7_ew_inner_spec.rb +66 -0
  346. data/spec/models/get_presence200_response_spec.rb +36 -0
  347. data/spec/models/get_recording_info200_response_spec.rb +94 -0
  348. data/spec/models/get_recording_info200_response_tracks_inner_spec.rb +52 -0
  349. data/spec/models/get_recording_link200_response_spec.rb +42 -0
  350. data/spec/models/get_transcript_info200_response_out_params_spec.rb +48 -0
  351. data/spec/models/get_transcript_info200_response_spec.rb +82 -0
  352. data/spec/models/get_transcript_link200_response_spec.rb +48 -0
  353. data/spec/models/list_api_logs200_response_spec.rb +96 -0
  354. data/spec/models/list_recordings200_response_data_inner_spec.rb +72 -0
  355. data/spec/models/list_recordings200_response_spec.rb +42 -0
  356. data/spec/models/list_rooms200_response_data_inner_config_spec.rb +36 -0
  357. data/spec/models/list_rooms200_response_data_inner_spec.rb +72 -0
  358. data/spec/models/list_rooms200_response_spec.rb +42 -0
  359. data/spec/models/list_transcript200_response_data_inner_spec.rb +70 -0
  360. data/spec/models/list_transcript200_response_spec.rb +42 -0
  361. data/spec/models/meeting_ended_payload_spec.rb +54 -0
  362. data/spec/models/meeting_ended_spec.rb +58 -0
  363. data/spec/models/meeting_participants_get_res_data_inner_spec.rb +66 -0
  364. data/spec/models/meeting_participants_get_res_spec.rb +42 -0
  365. data/spec/models/meeting_started_payload_spec.rb +48 -0
  366. data/spec/models/meeting_started_spec.rb +58 -0
  367. data/spec/models/meetings_meeting_get_res_spec.rb +66 -0
  368. data/spec/models/participant_joined_payload_permissions_spec.rb +48 -0
  369. data/spec/models/participant_joined_payload_spec.rb +78 -0
  370. data/spec/models/participant_joined_spec.rb +58 -0
  371. data/spec/models/participant_left_payload_spec.rb +84 -0
  372. data/spec/models/participant_left_spec.rb +58 -0
  373. data/spec/models/{meeting_token_request_properties_permissions_can_send_spec.rb → permissions_can_admin_spec.rb} +6 -6
  374. data/spec/models/{meeting_token_request_properties_permissions_can_admin_spec.rb → permissions_can_send_spec.rb} +6 -6
  375. data/spec/models/{meeting_token_request_properties_permissions_spec.rb → permissions_spec.rb} +10 -10
  376. data/spec/models/pin_dialin_inner_ivr_greeting_spec.rb +36 -0
  377. data/spec/models/pin_dialin_inner_spec.rb +48 -0
  378. data/spec/models/pinless_call_update_request_spec.rb +48 -0
  379. data/spec/models/pinless_dialin_inner_spec.rb +54 -0
  380. data/spec/models/post_webhook_spec.rb +52 -0
  381. data/spec/models/{meeting_token_request_properties_spec.rb → properties_spec.rb} +27 -15
  382. data/spec/models/recording_error_payload_spec.rb +64 -0
  383. data/spec/models/recording_error_spec.rb +58 -0
  384. data/spec/models/recording_ready_to_download_payload_spec.rb +92 -0
  385. data/spec/models/recording_ready_to_download_spec.rb +58 -0
  386. data/spec/models/recording_started_payload_spec.rb +70 -0
  387. data/spec/models/recording_started_spec.rb +58 -0
  388. data/spec/models/recording_streaming_options_spec.rb +100 -0
  389. data/spec/models/recordings_bucket_spec.rb +60 -0
  390. data/spec/models/room_dial_out_send_dtmf_request_spec.rb +42 -0
  391. data/spec/models/room_dial_out_stop_request_spec.rb +36 -0
  392. data/spec/models/room_properties_spec.rb +272 -0
  393. data/spec/models/room_properties_streaming_endpoints_inner_hls_config_variants_inner_spec.rb +60 -0
  394. data/spec/models/room_properties_streaming_endpoints_inner_spec.rb +66 -0
  395. data/spec/models/room_sip_call_transfer_request_spec.rb +42 -0
  396. data/spec/models/{room_response_spec.rb → rooms_room_name_get_res_spec.rb} +16 -10
  397. data/spec/models/rooms_room_name_presence_get_res_data_inner_spec.rb +66 -0
  398. data/spec/models/rooms_room_name_presence_get_res_spec.rb +42 -0
  399. data/spec/models/send_app_message_request_spec.rb +42 -0
  400. data/spec/models/set_room_config_request_spec.rb +42 -0
  401. data/spec/models/set_session_data_request_spec.rb +52 -0
  402. data/spec/models/streaming_ended_payload_spec.rb +48 -0
  403. data/spec/models/streaming_ended_spec.rb +58 -0
  404. data/spec/models/streaming_error_payload_spec.rb +60 -0
  405. data/spec/models/streaming_error_spec.rb +58 -0
  406. data/spec/models/streaming_started_payload_spec.rb +54 -0
  407. data/spec/models/streaming_started_spec.rb +58 -0
  408. data/spec/models/streaming_updated_payload_spec.rb +54 -0
  409. data/spec/models/streaming_updated_spec.rb +58 -0
  410. data/spec/models/transcription_bucket_spec.rb +54 -0
  411. data/spec/models/transcription_properties_endpointing_spec.rb +32 -0
  412. data/spec/models/transcription_properties_redact_spec.rb +32 -0
  413. data/spec/models/transcription_properties_spec.rb +78 -0
  414. data/spec/models/update_permissions_request_data_value_can_send_spec.rb +32 -0
  415. data/spec/models/update_permissions_request_data_value_spec.rb +48 -0
  416. data/spec/models/update_permissions_request_spec.rb +36 -0
  417. data/spec/models/update_webhook_spec.rb +52 -0
  418. data/spec/models/validate_meeting_token200_response_spec.rb +66 -0
  419. data/spec/models/waiting_participant_joined_payload_spec.rb +78 -0
  420. data/spec/models/waiting_participant_joined_spec.rb +58 -0
  421. data/spec/models/waiting_participant_left_payload_spec.rb +84 -0
  422. data/spec/models/waiting_participant_left_spec.rb +58 -0
  423. data/spec/models/webhook_spec.rb +100 -0
  424. data/spec/spec_helper.rb +5 -5
  425. metadata +563 -56
  426. data/daily.yaml +0 -460
  427. data/docs/MeetingTokenRequest.md +0 -18
  428. data/docs/MeetingTokenRequestProperties.md +0 -56
  429. data/docs/MeetingTokenRequestPropertiesPermissions.md +0 -22
  430. data/docs/MeetingTokenResponse.md +0 -18
  431. data/docs/RoomApi.md +0 -297
  432. data/docs/RoomDeletedResponse.md +0 -20
  433. data/docs/RoomNotFoundResponse.md +0 -20
  434. data/docs/RoomRequestProperties.md +0 -76
  435. data/docs/RoomResponse.md +0 -28
  436. data/docs/ServerErrorResponse.md +0 -18
  437. data/lib/daily-ruby/api/room_api.rb +0 -281
  438. data/lib/daily-ruby/models/room_request_properties.rb +0 -521
  439. data/spec/api/room_api_spec.rb +0 -86
  440. data/spec/models/meeting_token_request_spec.rb +0 -36
  441. data/spec/models/meeting_token_response_spec.rb +0 -36
  442. data/spec/models/room_deleted_response_spec.rb +0 -42
  443. data/spec/models/room_not_found_response_spec.rb +0 -42
  444. data/spec/models/server_error_response_spec.rb +0 -36
@@ -0,0 +1,628 @@
1
+ =begin
2
+ #Daily API
3
+
4
+ #The Daily REST API offers the ability to manage the following: - Overall Domain Configuration - Individual Room creation and config management - Meeting token creation and validation - Recording and compositing management - Meeting analytics - Logs and metrics - Real-time presence Please reach out to help@daily.co if we can help with anything
5
+
6
+ The version of the OpenAPI document: 1.1.1
7
+ Contact: help@daily.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Daily
17
+ class DomainProperties
18
+ # Property that gives end users a richer chat experience. This includes: * Emoji reactions to chat messages * Emoji picker in the chat input form * Ability to send a Giphy chat message ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object.
19
+ attr_accessor :enable_advanced_chat
20
+
21
+ # Determines if [Daily Prebuilt](/guides/products/prebuilt) displays the People UI. When set to true, a People button in the call tray reveals a People tab in the call sidebar. The tab lists all participants, and next to each name indicates audio status and an option to pin the participant. When `enable_people_ui` is set to false, the button and tab are hidden. ⚠️ Has no effect on custom calls built on the Daily [call object](/guides/products/call-object).
22
+ attr_accessor :enable_people_ui
23
+
24
+ # Sets whether rooms for this domain can use [Daily Prebuilt](https://www.daily.co/prebuilt)'s Picture in Picture controls. When set to `true`, an additional button will be available in Daily Prebuilt's UI to toggle the Picture in Picture feature. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object.
25
+ attr_accessor :enable_pip_ui
26
+
27
+ # Determines if [Daily Prebuilt](https://www.daily.co/prebuilt) displays the Emoji Reactions UI. When set to `true`, a Reactions button appears in the call tray. This button allows users to select and send a reaction into the call. When set to `false`, the Reactions button is hidden and the feature is disabled. Usage: This feature is a good fit for meetings when a host or presenter would benefit from receiving nonverbal cues from the audience. It's also great to keep meetings fun. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object.
28
+ attr_accessor :enable_emoji_reactions
29
+
30
+ # Sets whether the participants in the room can use [Daily Prebuilt](https://www.daily.co/prebuilt)'s hand raising controls. When set to `true`, an additional button will be available in Daily Prebuilt's UI to toggle a hand raise. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object.
31
+ attr_accessor :enable_hand_raising
32
+
33
+ # Determines whether participants enter a waiting room with a camera, mic, and browser check before joining a call in any room under this domain. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_prejoin_ui`.
34
+ attr_accessor :enable_prejoin_ui
35
+
36
+ # Sets whether rooms for this domain have [Daily Prebuilt](https://www.daily.co/prebuilt)’s breakout rooms feature enabled. When set to `true`, an owner in a Prebuilt call can create breakout rooms to divide participants into smaller, private groups. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_breakout_rooms`. ⚠️ This property is in beta.
37
+ attr_accessor :enable_breakout_rooms
38
+
39
+ # Sets whether participants in a room see a closed captions button in their Daily Prebuilt call tray. When the closed caption button is clicked, closed captions are displayed locally. When set to `true`, a closed captions button appears in the call tray. When set to `false`, the closed captions button is hidden from the call tray. Note: Transcription must be enabled for the room or users must have permission to start transcription for this feature to be enabled. View the [transcription guide](/guides/products/transcription) for more details. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_live_captions_ui`.
40
+ attr_accessor :enable_live_captions_ui
41
+
42
+ # Determines whether the network button, and the network panel it reveals on click, appears across all rooms belonging to this domain. ⚠️ You must be using [Daily Prebuilt](https://daily.co/blog/daily-prebuilt-video-chat) to use `enable_network_ui`.
43
+ attr_accessor :enable_network_ui
44
+
45
+ # Determines whether Daily Prebuilt displays noise cancellation controls. When set to `true`, a participant can enable microphone noise cancellation during a Daily Prebuilt call. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object. To learn more about adding noise cancellation to a custom application, see the [`updateInputSettings()` docs](/reference/daily-js/instance-methods/update-input-settings).
46
+ attr_accessor :enable_noise_cancellation_ui
47
+
48
+ # Determines whether Daily Prebuilt displays background blur controls. When set to `true`, a participant can enable blur during a Daily Prebuilt call. ⚠️ This flag only applies to Daily Prebuilt. It has no effect when building custom video applications with the Daily call object.
49
+ attr_accessor :enable_video_processing_ui
50
+
51
+ # Whether \"Powered by Daily\" displays in the in-call UI.
52
+ attr_accessor :hide_daily_branding
53
+
54
+ # (For meetings that open in a separate browser tab.) When a user clicks on the in-call menu bar's \"leave meeting\" button, the browser loads this URL. A query string that includes a parameter of the form `recent-call=<domain>/<room>` is appended to the URL. On mobile, you can redirect to a deep link to bring a user back into your app.
55
+ attr_accessor :redirect_on_meeting_exit
56
+
57
+ # Email us at help@daily.co to turn on HIPAA. Learn more about [our HIPAA compliance](https://www.daily.co/hipaa-compliance).
58
+ attr_accessor :hipaa
59
+
60
+ # Whether to automatically start recording when an Intercom support agent joins an Intercom-created call. Please see our [Intercom Messenger App page](https://www.daily.co/intercom) for more information. ⚠️This method is read-only; please contact us if you'd like to enable intercom call auto-recording.
61
+ attr_accessor :intercom_auto_record
62
+
63
+ # The default language for the video call UI, for all calls. If you set the language at this domain level, you can still override the setting for specific rooms in [a room's configuration properties](/reference/rest-api/rooms/config), or for a specific participant in a [meeting token](/reference/rest-api/meeting-tokens/config). You can also set the language dynamically using the front-end library [setDailyLang() method](/reference/daily-js/instance-methods/set-daily-lang). `*` Norwegian `\"no\"` and Russian `\"ru\"` are only available in the new Daily Prebuilt.
64
+ attr_accessor :lang
65
+
66
+ # Sets a URL that will receive a webhook when a user joins a room. ⚠️ In place of the `meeting_join_hook`, we recommend setting up a [webhook](/reference/rest-api/webhooks) and listening for the [`participant.joined`](/reference/rest-api/webhooks/events/participant-joined) event.
67
+ attr_accessor :meeting_join_hook
68
+
69
+ # Daily uses signaling servers to manage all of the participants in a given call session. In an SFU/server mode call, the server will send and receive all audio and video from each participant. In a peer-to-peer call, each participant sends media directly to and from each other peer, but a signaling server still manages call state. Daily runs servers in several different AWS regions to minimize latency for users around the world. The job of 'picking' a call server is handled when the first participant joins a room. The first participant's browser connects to a call server using Amazon's Route 53 DNS resolution, which chooses a server in the region closest to them. This isn't always optimal. For example, if one person joins in London, and then ten more people join from Cape Town, the call will still be hosted out of `eu-west-2` . The majority of the participants will have higher latency to the server than if one of them had joined first and the call was being hosted in `af-south-1`. In cases like this, you may want to configure your domain (or a specific room) to always choose a call server in a specific AWS region. Available regions: - `\"af-south-1\"` (Cape Town) - `\"ap-northeast-2\"` (Seoul) - `\"ap-southeast-1\"` (Singapore) - `\"ap-southeast-2\"` (Sydney) - `\"ap-south-1\"` (Mumbai) - `\"eu-central-1\"` (Frankfurt) - `\"eu-west-2\"` (London) - `\"sa-east-1\"` (São Paulo) - `\"us-east-1\"` (N. Virginia) - `\"us-west-2\"` (Oregon)
70
+ attr_accessor :geo
71
+
72
+ # Used to select the region where an RTMP stream should originate. In cases where RTMP streaming services aren't available in the desired region, we'll attempt to fall back to the default region based on the SFU being used for the meeting. Available regions: - `\"us-west-2\"` (Oregon) - `\"eu-central-1\"` (Frankfurt) - `\"ap-south-1\"` (Mumbai) The default regions are grouped based on the SFU region like so: - RTMP region `\"us-west-2\"` includes SFU regions: `\"us-west-2\"`, `\"us-east-1\"`, `\"sa-east-1\"` - RTMP region `\"eu-central-1\"` includes SFU regions: `\"eu-central-1\"`, `\"eu-west-2\"`, `\"af-south-1\"` - RTMP region `\"ap-south-1\"` includes SFU regions: `\"ap-southeast-1\"`, `\"ap-southeast-2\"`, `\"ap-northeast-2\"`, `\"ap-south-1\"`
73
+ attr_accessor :rtmp_geo
74
+
75
+ # Disable the fall back behavior of rtmp_geo. When rtmp_geo is set, we first try to connect to a media server in desired region. If a media server is not available in the desired region, we fall back to default region based on SFU's region. This property disables this automatic fall back. When this property is set, we will trigger a recording/streaming error event when media worker is unavailable. Also, the client should retry recording/streaming.
76
+ attr_accessor :disable_rtmp_geo_fallback
77
+
78
+ # Reduces the volume of log messages. This feature should be enabled when there are more than 200 participants in a meeting to help improve performance. See our [guides for supporting large experiences](/guides/scaling-calls) for additional instruction.
79
+ attr_accessor :enable_terse_logging
80
+
81
+ # Live transcriptions generated can be saved as WebVTT. This flag controls if transcription started with [`startTranscription()`](/reference/daily-js/instance-methods/start-transcription) should be saved or not.
82
+ attr_accessor :enable_transcription_storage
83
+
84
+ attr_accessor :transcription_bucket
85
+
86
+ # Cloud recordings are stored in either Daily's S3 bucket or the customer's own S3 bucket. By default recordings are stored as `{domain_name}/{room_name}/{epoch_time}`. Sometimes, the use case may call for custom recording file names to be used (for example, if you'd like to enforce the presence of the .mp4 extension in the file name). `recordings_template` is made up of a replacement string with prefixes, suffixes, or both. The currently supported replacements are: - `epoch_time`: The epoch time in seconds (mandatory) - `domain_name`: Your Daily domain (optional) - `room_name`: The name of the room which is getting recorded (optional) - `mtg_session_id`: The ID of the meeting session which is getting recorded (optional) - `instance_id`: The instance ID of the recording (optional) - `recording_id`: The recording ID of the recording (optional) The restrictions for defining a recording template are as follows: - The `epoch_time` tag is mandatory to ensure the recording file name is unique under all conditions - The maximum size of the template is 1024 characters - Each replacement parameter should be placed within a curly bracket (e.g., `{domain_name}`) - Only alphanumeric characters `(0-9, A-Z, a-z)` and `.`, `/`, `-`, `_` are valid within the template - `.mp4` is the only valid extension Examples - Example domain: \"myDomain\" - Example room: \"myRoom\" Example 1: - Template: `myprefix-{domain_name}-{epoch_time}.mp4` - Resulting file name: `myprefix-myDomain-1675842936274.mp4` Example 2: - Template: `{room_name}/{instance_id}/{epoch_time}` - Resulting room name: `myRoom/d529cd2f-fbcc-4fb7-b2c0-c4995b1162b6/1675842936274`
87
+ attr_accessor :recordings_template
88
+
89
+ # Configures a room to use multiple SFUs for a call's media. This feature enables calls to scale to large sizes and to reduce latency between participants. It is recommended specifically for interactive live streaming. See our [guide for interactive live streaming](/guides/scaling-calls/interactive-live-streaming-rtmp-output#daily-prebuilt-configurations-to-support-100-000-participants) for additional instruction.
90
+ attr_accessor :enable_mesh_sfu
91
+
92
+ # Dictates the participant count after which room topology automatically switches from Peer-to-Peer (P2P) to Selective Forwarding Unit (SFU) mode, or vice versa. For example, if `sfu_switchover` is set to `2` and the current network topology is P2P, the topology will switch to SFU mode when the _third_ participant joins the call. If the current topology is SFU, it will switch to P2P mode when the participant count decreases from `2` to `1`. We recommend specifying an integer value for this property except for cases where you would like the room to switch to SFU mode as soon as the first participant joins. In this case, set `sfu_switchover` to `0.5`. See our [guide about video call architecture](/guides/architecture-and-monitoring/intro-to-video-arch#the-architecture-of-a-room-p2p-vs-sfu-calls) for additional information.
93
+ attr_accessor :sfu_switchover
94
+
95
+ # Configures a domain or room to use [Daily Adaptive Bitrate](/guides/building-additional-features/daily-adaptive-bitrate). When enabled, along with configuring the client to [`allowAdaptiveLayers`](/reference/daily-js/instance-methods/update-send-settings#sendsettings), the Daily client will continually adapt send settings to the current network conditions. `allowAdaptiveLayers` is `true` by default; if you haven't modified that setting, then setting `enable_adaptive_simulcast` to `true` will enable Daily Adaptive Bitrate for 1:1 calls.
96
+ attr_accessor :enable_adaptive_simulcast
97
+
98
+ # Configures a domain or room to disallow multiple participants from having the same `user_id`. This feature can be enabled to prevent users from \"sharing\" meeting tokens. When enabled, a participant joining or reconnecting to a meeting will cause existing participants with the same user_id to be ejected.
99
+ attr_accessor :enforce_unique_user_ids
100
+
101
+ attr_accessor :recordings_bucket
102
+
103
+ attr_accessor :permissions
104
+
105
+ # Defines a custom S3 bucket where the batch processor will write its output
106
+ attr_accessor :batch_processor_bucket
107
+
108
+ # Enables the use of Opus in-band FEC (Forward Error Correction) when encoding audio to send, where possible. This can make audio quality more resilient to packet loss.
109
+ attr_accessor :enable_opus_fec
110
+
111
+ # [SIP Interconnect and Pinless Dialin](/guides/products/dial-in-dial-out/dialin-pinless#provisioning-sip-interconnect-and-pinless-dialin-workflow),i.e., without entering a PIN code when dialling a phone number or directly calling a Daily SIP Interconnect address. In this case you dont need a SIP address associated to a particular Daily Room. When a call comes in to this phone number or to the sip interconnect address, it will trigger a webhook, where you'll need to create the Daily room and forward the call to the `sipUri` assocaited to the newly created room. The Pinless Dialin only works with purchased phone numbers, because the call is not intended for a particular Daily room. Read more details on our [dosc-site](/guides/products/dial-in-dial-out/dialin-pinless).
112
+ attr_accessor :pinless_dialin
113
+
114
+ # Dialin with a [PIN code](/guides/products/dial-in-dial-out/dialin-pin). This works with both the Global phone numbers and any number that you purchased. When a call comes into one of the phone numbers, the dialer must enter the PIN code. If the code is correct, the user will be connected to the Daily Room. Otherwise the incoming call will be disconnected if an incorrect PIN code is entered.
115
+ attr_accessor :pin_dialin
116
+
117
+ class EnumAttributeValidator
118
+ attr_reader :datatype
119
+ attr_reader :allowable_values
120
+
121
+ def initialize(datatype, allowable_values)
122
+ @allowable_values = allowable_values.map do |value|
123
+ case datatype.to_s
124
+ when /Integer/i
125
+ value.to_i
126
+ when /Float/i
127
+ value.to_f
128
+ else
129
+ value
130
+ end
131
+ end
132
+ end
133
+
134
+ def valid?(value)
135
+ !value || allowable_values.include?(value)
136
+ end
137
+ end
138
+
139
+ # Attribute mapping from ruby-style variable name to JSON key.
140
+ def self.attribute_map
141
+ {
142
+ :'enable_advanced_chat' => :'enable_advanced_chat',
143
+ :'enable_people_ui' => :'enable_people_ui',
144
+ :'enable_pip_ui' => :'enable_pip_ui',
145
+ :'enable_emoji_reactions' => :'enable_emoji_reactions',
146
+ :'enable_hand_raising' => :'enable_hand_raising',
147
+ :'enable_prejoin_ui' => :'enable_prejoin_ui',
148
+ :'enable_breakout_rooms' => :'enable_breakout_rooms',
149
+ :'enable_live_captions_ui' => :'enable_live_captions_ui',
150
+ :'enable_network_ui' => :'enable_network_ui',
151
+ :'enable_noise_cancellation_ui' => :'enable_noise_cancellation_ui',
152
+ :'enable_video_processing_ui' => :'enable_video_processing_ui',
153
+ :'hide_daily_branding' => :'hide_daily_branding',
154
+ :'redirect_on_meeting_exit' => :'redirect_on_meeting_exit',
155
+ :'hipaa' => :'hipaa',
156
+ :'intercom_auto_record' => :'intercom_auto_record',
157
+ :'lang' => :'lang',
158
+ :'meeting_join_hook' => :'meeting_join_hook',
159
+ :'geo' => :'geo',
160
+ :'rtmp_geo' => :'rtmp_geo',
161
+ :'disable_rtmp_geo_fallback' => :'disable_rtmp_geo_fallback',
162
+ :'enable_terse_logging' => :'enable_terse_logging',
163
+ :'enable_transcription_storage' => :'enable_transcription_storage',
164
+ :'transcription_bucket' => :'transcription_bucket',
165
+ :'recordings_template' => :'recordings_template',
166
+ :'enable_mesh_sfu' => :'enable_mesh_sfu',
167
+ :'sfu_switchover' => :'sfu_switchover',
168
+ :'enable_adaptive_simulcast' => :'enable_adaptive_simulcast',
169
+ :'enforce_unique_user_ids' => :'enforce_unique_user_ids',
170
+ :'recordings_bucket' => :'recordings_bucket',
171
+ :'permissions' => :'permissions',
172
+ :'batch_processor_bucket' => :'batch_processor_bucket',
173
+ :'enable_opus_fec' => :'enable_opus_fec',
174
+ :'pinless_dialin' => :'pinless_dialin',
175
+ :'pin_dialin' => :'pin_dialin'
176
+ }
177
+ end
178
+
179
+ # Returns all the JSON keys this model knows about
180
+ def self.acceptable_attributes
181
+ attribute_map.values
182
+ end
183
+
184
+ # Attribute type mapping.
185
+ def self.openapi_types
186
+ {
187
+ :'enable_advanced_chat' => :'Boolean',
188
+ :'enable_people_ui' => :'Boolean',
189
+ :'enable_pip_ui' => :'Boolean',
190
+ :'enable_emoji_reactions' => :'Boolean',
191
+ :'enable_hand_raising' => :'Boolean',
192
+ :'enable_prejoin_ui' => :'Boolean',
193
+ :'enable_breakout_rooms' => :'Boolean',
194
+ :'enable_live_captions_ui' => :'Boolean',
195
+ :'enable_network_ui' => :'Boolean',
196
+ :'enable_noise_cancellation_ui' => :'Boolean',
197
+ :'enable_video_processing_ui' => :'Boolean',
198
+ :'hide_daily_branding' => :'Boolean',
199
+ :'redirect_on_meeting_exit' => :'String',
200
+ :'hipaa' => :'Boolean',
201
+ :'intercom_auto_record' => :'Boolean',
202
+ :'lang' => :'String',
203
+ :'meeting_join_hook' => :'String',
204
+ :'geo' => :'String',
205
+ :'rtmp_geo' => :'String',
206
+ :'disable_rtmp_geo_fallback' => :'Boolean',
207
+ :'enable_terse_logging' => :'Boolean',
208
+ :'enable_transcription_storage' => :'Boolean',
209
+ :'transcription_bucket' => :'TranscriptionBucket',
210
+ :'recordings_template' => :'String',
211
+ :'enable_mesh_sfu' => :'Boolean',
212
+ :'sfu_switchover' => :'Float',
213
+ :'enable_adaptive_simulcast' => :'Boolean',
214
+ :'enforce_unique_user_ids' => :'Boolean',
215
+ :'recordings_bucket' => :'RecordingsBucket',
216
+ :'permissions' => :'Permissions',
217
+ :'batch_processor_bucket' => :'Object',
218
+ :'enable_opus_fec' => :'Boolean',
219
+ :'pinless_dialin' => :'Array<PinlessDialinInner>',
220
+ :'pin_dialin' => :'Array<PinDialinInner>'
221
+ }
222
+ end
223
+
224
+ # List of attributes with nullable: true
225
+ def self.openapi_nullable
226
+ Set.new([
227
+ ])
228
+ end
229
+
230
+ # Initializes the object
231
+ # @param [Hash] attributes Model attributes in the form of hash
232
+ def initialize(attributes = {})
233
+ if (!attributes.is_a?(Hash))
234
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Daily::DomainProperties` initialize method"
235
+ end
236
+
237
+ # check to see if the attribute exists and convert string to symbol for hash key
238
+ attributes = attributes.each_with_object({}) { |(k, v), h|
239
+ if (!self.class.attribute_map.key?(k.to_sym))
240
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Daily::DomainProperties`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
241
+ end
242
+ h[k.to_sym] = v
243
+ }
244
+
245
+ if attributes.key?(:'enable_advanced_chat')
246
+ self.enable_advanced_chat = attributes[:'enable_advanced_chat']
247
+ else
248
+ self.enable_advanced_chat = false
249
+ end
250
+
251
+ if attributes.key?(:'enable_people_ui')
252
+ self.enable_people_ui = attributes[:'enable_people_ui']
253
+ else
254
+ self.enable_people_ui = true
255
+ end
256
+
257
+ if attributes.key?(:'enable_pip_ui')
258
+ self.enable_pip_ui = attributes[:'enable_pip_ui']
259
+ else
260
+ self.enable_pip_ui = false
261
+ end
262
+
263
+ if attributes.key?(:'enable_emoji_reactions')
264
+ self.enable_emoji_reactions = attributes[:'enable_emoji_reactions']
265
+ else
266
+ self.enable_emoji_reactions = false
267
+ end
268
+
269
+ if attributes.key?(:'enable_hand_raising')
270
+ self.enable_hand_raising = attributes[:'enable_hand_raising']
271
+ else
272
+ self.enable_hand_raising = false
273
+ end
274
+
275
+ if attributes.key?(:'enable_prejoin_ui')
276
+ self.enable_prejoin_ui = attributes[:'enable_prejoin_ui']
277
+ else
278
+ self.enable_prejoin_ui = true
279
+ end
280
+
281
+ if attributes.key?(:'enable_breakout_rooms')
282
+ self.enable_breakout_rooms = attributes[:'enable_breakout_rooms']
283
+ else
284
+ self.enable_breakout_rooms = false
285
+ end
286
+
287
+ if attributes.key?(:'enable_live_captions_ui')
288
+ self.enable_live_captions_ui = attributes[:'enable_live_captions_ui']
289
+ else
290
+ self.enable_live_captions_ui = false
291
+ end
292
+
293
+ if attributes.key?(:'enable_network_ui')
294
+ self.enable_network_ui = attributes[:'enable_network_ui']
295
+ else
296
+ self.enable_network_ui = false
297
+ end
298
+
299
+ if attributes.key?(:'enable_noise_cancellation_ui')
300
+ self.enable_noise_cancellation_ui = attributes[:'enable_noise_cancellation_ui']
301
+ else
302
+ self.enable_noise_cancellation_ui = true
303
+ end
304
+
305
+ if attributes.key?(:'enable_video_processing_ui')
306
+ self.enable_video_processing_ui = attributes[:'enable_video_processing_ui']
307
+ else
308
+ self.enable_video_processing_ui = true
309
+ end
310
+
311
+ if attributes.key?(:'hide_daily_branding')
312
+ self.hide_daily_branding = attributes[:'hide_daily_branding']
313
+ else
314
+ self.hide_daily_branding = false
315
+ end
316
+
317
+ if attributes.key?(:'redirect_on_meeting_exit')
318
+ self.redirect_on_meeting_exit = attributes[:'redirect_on_meeting_exit']
319
+ end
320
+
321
+ if attributes.key?(:'hipaa')
322
+ self.hipaa = attributes[:'hipaa']
323
+ else
324
+ self.hipaa = false
325
+ end
326
+
327
+ if attributes.key?(:'intercom_auto_record')
328
+ self.intercom_auto_record = attributes[:'intercom_auto_record']
329
+ end
330
+
331
+ if attributes.key?(:'lang')
332
+ self.lang = attributes[:'lang']
333
+ else
334
+ self.lang = 'en'
335
+ end
336
+
337
+ if attributes.key?(:'meeting_join_hook')
338
+ self.meeting_join_hook = attributes[:'meeting_join_hook']
339
+ else
340
+ self.meeting_join_hook = 'NULL'
341
+ end
342
+
343
+ if attributes.key?(:'geo')
344
+ self.geo = attributes[:'geo']
345
+ else
346
+ self.geo = 'NULL'
347
+ end
348
+
349
+ if attributes.key?(:'rtmp_geo')
350
+ self.rtmp_geo = attributes[:'rtmp_geo']
351
+ else
352
+ self.rtmp_geo = 'The closest available region to the SFU region used by the meeting.'
353
+ end
354
+
355
+ if attributes.key?(:'disable_rtmp_geo_fallback')
356
+ self.disable_rtmp_geo_fallback = attributes[:'disable_rtmp_geo_fallback']
357
+ else
358
+ self.disable_rtmp_geo_fallback = false
359
+ end
360
+
361
+ if attributes.key?(:'enable_terse_logging')
362
+ self.enable_terse_logging = attributes[:'enable_terse_logging']
363
+ else
364
+ self.enable_terse_logging = false
365
+ end
366
+
367
+ if attributes.key?(:'enable_transcription_storage')
368
+ self.enable_transcription_storage = attributes[:'enable_transcription_storage']
369
+ else
370
+ self.enable_transcription_storage = false
371
+ end
372
+
373
+ if attributes.key?(:'transcription_bucket')
374
+ self.transcription_bucket = attributes[:'transcription_bucket']
375
+ end
376
+
377
+ if attributes.key?(:'recordings_template')
378
+ self.recordings_template = attributes[:'recordings_template']
379
+ else
380
+ self.recordings_template = '{domain_name}/{room_name}/{epoch_time}.'
381
+ end
382
+
383
+ if attributes.key?(:'enable_mesh_sfu')
384
+ self.enable_mesh_sfu = attributes[:'enable_mesh_sfu']
385
+ end
386
+
387
+ if attributes.key?(:'sfu_switchover')
388
+ self.sfu_switchover = attributes[:'sfu_switchover']
389
+ else
390
+ self.sfu_switchover = 0.5
391
+ end
392
+
393
+ if attributes.key?(:'enable_adaptive_simulcast')
394
+ self.enable_adaptive_simulcast = attributes[:'enable_adaptive_simulcast']
395
+ else
396
+ self.enable_adaptive_simulcast = true
397
+ end
398
+
399
+ if attributes.key?(:'enforce_unique_user_ids')
400
+ self.enforce_unique_user_ids = attributes[:'enforce_unique_user_ids']
401
+ else
402
+ self.enforce_unique_user_ids = false
403
+ end
404
+
405
+ if attributes.key?(:'recordings_bucket')
406
+ self.recordings_bucket = attributes[:'recordings_bucket']
407
+ end
408
+
409
+ if attributes.key?(:'permissions')
410
+ self.permissions = attributes[:'permissions']
411
+ end
412
+
413
+ if attributes.key?(:'batch_processor_bucket')
414
+ self.batch_processor_bucket = attributes[:'batch_processor_bucket']
415
+ end
416
+
417
+ if attributes.key?(:'enable_opus_fec')
418
+ self.enable_opus_fec = attributes[:'enable_opus_fec']
419
+ end
420
+
421
+ if attributes.key?(:'pinless_dialin')
422
+ if (value = attributes[:'pinless_dialin']).is_a?(Array)
423
+ self.pinless_dialin = value
424
+ end
425
+ end
426
+
427
+ if attributes.key?(:'pin_dialin')
428
+ if (value = attributes[:'pin_dialin']).is_a?(Array)
429
+ self.pin_dialin = value
430
+ end
431
+ end
432
+ end
433
+
434
+ # Show invalid properties with the reasons. Usually used together with valid?
435
+ # @return Array for valid properties with the reasons
436
+ def list_invalid_properties
437
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
438
+ invalid_properties = Array.new
439
+ invalid_properties
440
+ end
441
+
442
+ # Check to see if the all the properties in the model are valid
443
+ # @return true if the model is valid
444
+ def valid?
445
+ warn '[DEPRECATED] the `valid?` method is obsolete'
446
+ lang_validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"])
447
+ return false unless lang_validator.valid?(@lang)
448
+ true
449
+ end
450
+
451
+ # Custom attribute writer method checking allowed values (enum).
452
+ # @param [Object] lang Object to be assigned
453
+ def lang=(lang)
454
+ validator = EnumAttributeValidator.new('String', ["da", "de", "en", "es", "fi", "fr", "it", "jp", "ka", "nl", "no", "pt", "pt-BR", "pl", "ru", "sv", "tr", "user", "unknown_default_open_api"])
455
+ unless validator.valid?(lang)
456
+ fail ArgumentError, "invalid value for \"lang\", must be one of #{validator.allowable_values}."
457
+ end
458
+ @lang = lang
459
+ end
460
+
461
+ # Checks equality by comparing each attribute.
462
+ # @param [Object] Object to be compared
463
+ def ==(o)
464
+ return true if self.equal?(o)
465
+ self.class == o.class &&
466
+ enable_advanced_chat == o.enable_advanced_chat &&
467
+ enable_people_ui == o.enable_people_ui &&
468
+ enable_pip_ui == o.enable_pip_ui &&
469
+ enable_emoji_reactions == o.enable_emoji_reactions &&
470
+ enable_hand_raising == o.enable_hand_raising &&
471
+ enable_prejoin_ui == o.enable_prejoin_ui &&
472
+ enable_breakout_rooms == o.enable_breakout_rooms &&
473
+ enable_live_captions_ui == o.enable_live_captions_ui &&
474
+ enable_network_ui == o.enable_network_ui &&
475
+ enable_noise_cancellation_ui == o.enable_noise_cancellation_ui &&
476
+ enable_video_processing_ui == o.enable_video_processing_ui &&
477
+ hide_daily_branding == o.hide_daily_branding &&
478
+ redirect_on_meeting_exit == o.redirect_on_meeting_exit &&
479
+ hipaa == o.hipaa &&
480
+ intercom_auto_record == o.intercom_auto_record &&
481
+ lang == o.lang &&
482
+ meeting_join_hook == o.meeting_join_hook &&
483
+ geo == o.geo &&
484
+ rtmp_geo == o.rtmp_geo &&
485
+ disable_rtmp_geo_fallback == o.disable_rtmp_geo_fallback &&
486
+ enable_terse_logging == o.enable_terse_logging &&
487
+ enable_transcription_storage == o.enable_transcription_storage &&
488
+ transcription_bucket == o.transcription_bucket &&
489
+ recordings_template == o.recordings_template &&
490
+ enable_mesh_sfu == o.enable_mesh_sfu &&
491
+ sfu_switchover == o.sfu_switchover &&
492
+ enable_adaptive_simulcast == o.enable_adaptive_simulcast &&
493
+ enforce_unique_user_ids == o.enforce_unique_user_ids &&
494
+ recordings_bucket == o.recordings_bucket &&
495
+ permissions == o.permissions &&
496
+ batch_processor_bucket == o.batch_processor_bucket &&
497
+ enable_opus_fec == o.enable_opus_fec &&
498
+ pinless_dialin == o.pinless_dialin &&
499
+ pin_dialin == o.pin_dialin
500
+ end
501
+
502
+ # @see the `==` method
503
+ # @param [Object] Object to be compared
504
+ def eql?(o)
505
+ self == o
506
+ end
507
+
508
+ # Calculates hash code according to all attributes.
509
+ # @return [Integer] Hash code
510
+ def hash
511
+ [enable_advanced_chat, enable_people_ui, enable_pip_ui, enable_emoji_reactions, enable_hand_raising, enable_prejoin_ui, enable_breakout_rooms, enable_live_captions_ui, enable_network_ui, enable_noise_cancellation_ui, enable_video_processing_ui, hide_daily_branding, redirect_on_meeting_exit, hipaa, intercom_auto_record, lang, meeting_join_hook, geo, rtmp_geo, disable_rtmp_geo_fallback, enable_terse_logging, enable_transcription_storage, transcription_bucket, recordings_template, enable_mesh_sfu, sfu_switchover, enable_adaptive_simulcast, enforce_unique_user_ids, recordings_bucket, permissions, batch_processor_bucket, enable_opus_fec, pinless_dialin, pin_dialin].hash
512
+ end
513
+
514
+ # Builds the object from hash
515
+ # @param [Hash] attributes Model attributes in the form of hash
516
+ # @return [Object] Returns the model itself
517
+ def self.build_from_hash(attributes)
518
+ return nil unless attributes.is_a?(Hash)
519
+ attributes = attributes.transform_keys(&:to_sym)
520
+ transformed_hash = {}
521
+ openapi_types.each_pair do |key, type|
522
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
523
+ transformed_hash["#{key}"] = nil
524
+ elsif type =~ /\AArray<(.*)>/i
525
+ # check to ensure the input is an array given that the attribute
526
+ # is documented as an array but the input is not
527
+ if attributes[attribute_map[key]].is_a?(Array)
528
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
529
+ end
530
+ elsif !attributes[attribute_map[key]].nil?
531
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
532
+ end
533
+ end
534
+ new(transformed_hash)
535
+ end
536
+
537
+ # Deserializes the data based on type
538
+ # @param string type Data type
539
+ # @param string value Value to be deserialized
540
+ # @return [Object] Deserialized data
541
+ def self._deserialize(type, value)
542
+ case type.to_sym
543
+ when :Time
544
+ Time.parse(value)
545
+ when :Date
546
+ Date.parse(value)
547
+ when :String
548
+ value.to_s
549
+ when :Integer
550
+ value.to_i
551
+ when :Float
552
+ value.to_f
553
+ when :Boolean
554
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
555
+ true
556
+ else
557
+ false
558
+ end
559
+ when :Object
560
+ # generic object (usually a Hash), return directly
561
+ value
562
+ when /\AArray<(?<inner_type>.+)>\z/
563
+ inner_type = Regexp.last_match[:inner_type]
564
+ value.map { |v| _deserialize(inner_type, v) }
565
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
566
+ k_type = Regexp.last_match[:k_type]
567
+ v_type = Regexp.last_match[:v_type]
568
+ {}.tap do |hash|
569
+ value.each do |k, v|
570
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
571
+ end
572
+ end
573
+ else # model
574
+ # models (e.g. Pet) or oneOf
575
+ klass = Daily.const_get(type)
576
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
577
+ end
578
+ end
579
+
580
+ # Returns the string representation of the object
581
+ # @return [String] String presentation of the object
582
+ def to_s
583
+ to_hash.to_s
584
+ end
585
+
586
+ # to_body is an alias to to_hash (backward compatibility)
587
+ # @return [Hash] Returns the object in the form of hash
588
+ def to_body
589
+ to_hash
590
+ end
591
+
592
+ # Returns the object in the form of hash
593
+ # @return [Hash] Returns the object in the form of hash
594
+ def to_hash
595
+ hash = {}
596
+ self.class.attribute_map.each_pair do |attr, param|
597
+ value = self.send(attr)
598
+ if value.nil?
599
+ is_nullable = self.class.openapi_nullable.include?(attr)
600
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
601
+ end
602
+
603
+ hash[param] = _to_hash(value)
604
+ end
605
+ hash
606
+ end
607
+
608
+ # Outputs non-array value in the form of hash
609
+ # For object, use to_hash. Otherwise, just return the value
610
+ # @param [Object] value Any valid value
611
+ # @return [Hash] Returns the value in the form of hash
612
+ def _to_hash(value)
613
+ if value.is_a?(Array)
614
+ value.compact.map { |v| _to_hash(v) }
615
+ elsif value.is_a?(Hash)
616
+ {}.tap do |hash|
617
+ value.each { |k, v| hash[k] = _to_hash(v) }
618
+ end
619
+ elsif value.respond_to? :to_hash
620
+ value.to_hash
621
+ else
622
+ value
623
+ end
624
+ end
625
+
626
+ end
627
+
628
+ end