vapi_server_sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +129 -62
  4. data/lib/vapi_server_sdk/assistants/client.rb +15 -2
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  9. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  10. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +16 -4
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -8
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  14. data/lib/vapi_server_sdk/logs/client.rb +84 -0
  15. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  16. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  17. data/lib/vapi_server_sdk/squads/client.rb +8 -0
  18. data/lib/vapi_server_sdk/tools/client.rb +7 -91
  19. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  20. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  21. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  22. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  23. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  27. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  28. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  30. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  31. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  32. data/lib/vapi_server_sdk/types/azure_credential_region.rb +1 -1
  33. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  34. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  35. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -1
  36. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  37. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  38. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  39. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  40. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  41. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  42. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  43. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  44. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  45. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  46. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  47. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  48. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  49. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  50. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  51. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  52. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  53. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  54. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  55. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  56. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +1 -1
  57. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  58. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  59. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -1
  60. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  61. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  62. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  63. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  64. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  65. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  66. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  67. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  68. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  69. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  70. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  71. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  72. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  74. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  75. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  76. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  77. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  79. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  80. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  82. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  85. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  86. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  88. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  89. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  90. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  91. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  92. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  93. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  94. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  95. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  96. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  97. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  98. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  99. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  100. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  101. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  102. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  103. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  104. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  105. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  106. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  107. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  108. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  109. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  110. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  111. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  112. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  113. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  114. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  115. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  116. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  117. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  118. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  119. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/org.rb +25 -25
  122. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  123. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  124. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  125. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  126. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  127. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  128. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  129. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  130. data/lib/vapi_server_sdk/types/subscription.rb +2 -2
  131. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  132. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  133. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  134. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  135. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  136. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  137. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  138. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  139. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +1 -1
  140. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  141. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  142. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -1
  143. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  144. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  145. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  146. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  147. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  148. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  149. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  150. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  151. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  152. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  153. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  154. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  155. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  156. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  157. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  158. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  159. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  160. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  161. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  162. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  163. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  164. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  165. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  166. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  167. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  168. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  169. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  170. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  171. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  172. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  173. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  175. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  176. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  177. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  178. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  179. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  180. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  181. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  182. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  183. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  184. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  185. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  187. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  188. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  189. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  190. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  191. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  192. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  193. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  194. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  196. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  197. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  198. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  199. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  200. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  201. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  202. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  203. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  204. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  206. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  207. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  208. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  209. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  210. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  211. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  212. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  213. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  214. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  215. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  216. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  217. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  218. metadata +88 -21
  219. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  220. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  221. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  222. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  223. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  224. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  225. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  226. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  227. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +0 -55
  228. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  229. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  230. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +0 -55
  231. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +0 -55
  232. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  233. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_byo_phone_number_dto_fallback_destination"
4
+ require_relative "server"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class UpdateByoPhoneNumberDto
10
+ # @return [Vapi::UpdateByoPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
11
+ # 1. `assistantId` is not set
12
+ # 2. `squadId` is not set
13
+ # 3. and, `assistant-request` message to the `serverUrl` fails
14
+ # If this is not set and above conditions are met, the inbound call is hung up
15
+ # with an error message.
16
+ attr_reader :fallback_destination
17
+ # @return [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
18
+ # advanced property which should be used if you know your use case requires it.
19
+ # Use cases:
20
+ # - `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`.
21
+ # This is useful for dialing out to non-E164 numbers on your SIP trunks.
22
+ # - `true` (default): To allow only E164 numbers like `+14155551234`. This is
23
+ # standard for PSTN calls.
24
+ # If `false`, the `number` is still required to only contain alphanumeric
25
+ # characters (regex: `/^\+?[a-zA-Z0-9]+$/`).
26
+ # @default true (E164 check is enabled)
27
+ attr_reader :number_e_164_check_enabled
28
+ # @return [String] This is the name of the phone number. This is just for your own reference.
29
+ attr_reader :name
30
+ # @return [String] This is the assistant that will be used for incoming calls to this phone number.
31
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
32
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
33
+ # shape of the message and response that is expected.
34
+ attr_reader :assistant_id
35
+ # @return [String] This is the squad that will be used for incoming calls to this phone number.
36
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
37
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
38
+ # shape of the message and response that is expected.
39
+ attr_reader :squad_id
40
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
41
+ # with their shape in ServerMessage schema.
42
+ # The order of precedence is:
43
+ # 1. assistant.server
44
+ # 2. phoneNumber.server
45
+ # 3. org.server
46
+ attr_reader :server
47
+ # @return [String] This is the number of the customer.
48
+ attr_reader :number
49
+ # @return [String] This is the credential of your own SIP trunk or Carrier (type `byo-sip-trunk`)
50
+ # which can be used to make calls to this phone number.
51
+ # You can add the SIP trunk or Carrier credential in the Provider Credentials page
52
+ # on the Dashboard to get the credentialId.
53
+ attr_reader :credential_id
54
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
55
+ attr_reader :additional_properties
56
+ # @return [Object]
57
+ attr_reader :_field_set
58
+ protected :_field_set
59
+
60
+ OMIT = Object.new
61
+
62
+ # @param fallback_destination [Vapi::UpdateByoPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
63
+ # 1. `assistantId` is not set
64
+ # 2. `squadId` is not set
65
+ # 3. and, `assistant-request` message to the `serverUrl` fails
66
+ # If this is not set and above conditions are met, the inbound call is hung up
67
+ # with an error message.
68
+ # @param number_e_164_check_enabled [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
69
+ # advanced property which should be used if you know your use case requires it.
70
+ # Use cases:
71
+ # - `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`.
72
+ # This is useful for dialing out to non-E164 numbers on your SIP trunks.
73
+ # - `true` (default): To allow only E164 numbers like `+14155551234`. This is
74
+ # standard for PSTN calls.
75
+ # If `false`, the `number` is still required to only contain alphanumeric
76
+ # characters (regex: `/^\+?[a-zA-Z0-9]+$/`).
77
+ # @default true (E164 check is enabled)
78
+ # @param name [String] This is the name of the phone number. This is just for your own reference.
79
+ # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
80
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
81
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
82
+ # shape of the message and response that is expected.
83
+ # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
84
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
85
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
86
+ # shape of the message and response that is expected.
87
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
88
+ # with their shape in ServerMessage schema.
89
+ # The order of precedence is:
90
+ # 1. assistant.server
91
+ # 2. phoneNumber.server
92
+ # 3. org.server
93
+ # @param number [String] This is the number of the customer.
94
+ # @param credential_id [String] This is the credential of your own SIP trunk or Carrier (type `byo-sip-trunk`)
95
+ # which can be used to make calls to this phone number.
96
+ # You can add the SIP trunk or Carrier credential in the Provider Credentials page
97
+ # on the Dashboard to get the credentialId.
98
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
99
+ # @return [Vapi::UpdateByoPhoneNumberDto]
100
+ def initialize(fallback_destination: OMIT, number_e_164_check_enabled: OMIT, name: OMIT, assistant_id: OMIT,
101
+ squad_id: OMIT, server: OMIT, number: OMIT, credential_id: OMIT, additional_properties: nil)
102
+ @fallback_destination = fallback_destination if fallback_destination != OMIT
103
+ @number_e_164_check_enabled = number_e_164_check_enabled if number_e_164_check_enabled != OMIT
104
+ @name = name if name != OMIT
105
+ @assistant_id = assistant_id if assistant_id != OMIT
106
+ @squad_id = squad_id if squad_id != OMIT
107
+ @server = server if server != OMIT
108
+ @number = number if number != OMIT
109
+ @credential_id = credential_id if credential_id != OMIT
110
+ @additional_properties = additional_properties
111
+ @_field_set = {
112
+ "fallbackDestination": fallback_destination,
113
+ "numberE164CheckEnabled": number_e_164_check_enabled,
114
+ "name": name,
115
+ "assistantId": assistant_id,
116
+ "squadId": squad_id,
117
+ "server": server,
118
+ "number": number,
119
+ "credentialId": credential_id
120
+ }.reject do |_k, v|
121
+ v == OMIT
122
+ end
123
+ end
124
+
125
+ # Deserialize a JSON object to an instance of UpdateByoPhoneNumberDto
126
+ #
127
+ # @param json_object [String]
128
+ # @return [Vapi::UpdateByoPhoneNumberDto]
129
+ def self.from_json(json_object:)
130
+ struct = JSON.parse(json_object, object_class: OpenStruct)
131
+ parsed_json = JSON.parse(json_object)
132
+ if parsed_json["fallbackDestination"].nil?
133
+ fallback_destination = nil
134
+ else
135
+ fallback_destination = parsed_json["fallbackDestination"].to_json
136
+ fallback_destination = Vapi::UpdateByoPhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
137
+ end
138
+ number_e_164_check_enabled = parsed_json["numberE164CheckEnabled"]
139
+ name = parsed_json["name"]
140
+ assistant_id = parsed_json["assistantId"]
141
+ squad_id = parsed_json["squadId"]
142
+ if parsed_json["server"].nil?
143
+ server = nil
144
+ else
145
+ server = parsed_json["server"].to_json
146
+ server = Vapi::Server.from_json(json_object: server)
147
+ end
148
+ number = parsed_json["number"]
149
+ credential_id = parsed_json["credentialId"]
150
+ new(
151
+ fallback_destination: fallback_destination,
152
+ number_e_164_check_enabled: number_e_164_check_enabled,
153
+ name: name,
154
+ assistant_id: assistant_id,
155
+ squad_id: squad_id,
156
+ server: server,
157
+ number: number,
158
+ credential_id: credential_id,
159
+ additional_properties: struct
160
+ )
161
+ end
162
+
163
+ # Serialize an instance of UpdateByoPhoneNumberDto to a JSON object
164
+ #
165
+ # @return [String]
166
+ def to_json(*_args)
167
+ @_field_set&.to_json
168
+ end
169
+
170
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
171
+ # hash and check each fields type against the current object's property
172
+ # definitions.
173
+ #
174
+ # @param obj [Object]
175
+ # @return [Void]
176
+ def self.validate_raw(obj:)
177
+ obj.fallback_destination.nil? || Vapi::UpdateByoPhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
178
+ obj.number_e_164_check_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.number_e_164_check_enabled is not the expected type, validation failed.")
179
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
180
+ obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
181
+ obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
182
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
183
+ obj.number&.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
184
+ obj.credential_id&.is_a?(String) != false || raise("Passed value for field obj.credential_id is not the expected type, validation failed.")
185
+ end
186
+ end
187
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_number"
5
+ require_relative "transfer_destination_sip"
6
+
7
+ module Vapi
8
+ # This is the fallback destination an inbound call will be transferred to if:
9
+ # 1. `assistantId` is not set
10
+ # 2. `squadId` is not set
11
+ # 3. and, `assistant-request` message to the `serverUrl` fails
12
+ # If this is not set and above conditions are met, the inbound call is hung up
13
+ # with an error message.
14
+ class UpdateByoPhoneNumberDtoFallbackDestination
15
+ # @return [Object]
16
+ attr_reader :member
17
+ # @return [String]
18
+ attr_reader :discriminant
19
+
20
+ private_class_method :new
21
+ alias kind_of? is_a?
22
+
23
+ # @param member [Object]
24
+ # @param discriminant [String]
25
+ # @return [Vapi::UpdateByoPhoneNumberDtoFallbackDestination]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of
32
+ # UpdateByoPhoneNumberDtoFallbackDestination
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Vapi::UpdateByoPhoneNumberDtoFallbackDestination]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ member = case struct.type
39
+ when "number"
40
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
41
+ when "sip"
42
+ Vapi::TransferDestinationSip.from_json(json_object: json_object)
43
+ else
44
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.type)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "number"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "sip"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ else
59
+ { "type": @discriminant, value: @member }.to_json
60
+ end
61
+ @member.to_json
62
+ end
63
+
64
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
65
+ # hash and check each fields type against the current object's property
66
+ # definitions.
67
+ #
68
+ # @param obj [Object]
69
+ # @return [Void]
70
+ def self.validate_raw(obj:)
71
+ case obj.type
72
+ when "number"
73
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
74
+ when "sip"
75
+ Vapi::TransferDestinationSip.validate_raw(obj: obj)
76
+ else
77
+ raise("Passed value matched no type within the union, validation failed.")
78
+ end
79
+ end
80
+
81
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
82
+ #
83
+ # @param obj [Object]
84
+ # @return [Boolean]
85
+ def is_a?(obj)
86
+ @member.is_a?(obj)
87
+ end
88
+
89
+ # @param member [Vapi::TransferDestinationNumber]
90
+ # @return [Vapi::UpdateByoPhoneNumberDtoFallbackDestination]
91
+ def self.number(member:)
92
+ new(member: member, discriminant: "number")
93
+ end
94
+
95
+ # @param member [Vapi::TransferDestinationSip]
96
+ # @return [Vapi::UpdateByoPhoneNumberDtoFallbackDestination]
97
+ def self.sip(member:)
98
+ new(member: member, discriminant: "sip")
99
+ end
100
+ end
101
+ end
@@ -8,8 +8,8 @@ require "json"
8
8
 
9
9
  module Vapi
10
10
  class UpdateByoSipTrunkCredentialDto
11
- # @return [String] This can be used to bring your own SIP trunks or to connect to a Carrier.
12
- attr_reader :provider
11
+ # @return [String] This is the name of credential. This is just for your reference.
12
+ attr_reader :name
13
13
  # @return [Array<Vapi::SipTrunkGateway>] This is the list of SIP trunk's gateways.
14
14
  attr_reader :gateways
15
15
  # @return [Vapi::SipTrunkOutboundAuthenticationPlan] This can be used to configure the outbound authentication if required by the SIP
@@ -31,8 +31,6 @@ module Vapi
31
31
  # onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC
32
32
  # provided by Vapi.
33
33
  attr_reader :sbc_configuration
34
- # @return [String] This is the name of credential. This is just for your reference.
35
- attr_reader :name
36
34
  # @return [OpenStruct] Additional properties unmapped to the current class definition
37
35
  attr_reader :additional_properties
38
36
  # @return [Object]
@@ -41,7 +39,7 @@ module Vapi
41
39
 
42
40
  OMIT = Object.new
43
41
 
44
- # @param provider [String] This can be used to bring your own SIP trunks or to connect to a Carrier.
42
+ # @param name [String] This is the name of credential. This is just for your reference.
45
43
  # @param gateways [Array<Vapi::SipTrunkGateway>] This is the list of SIP trunk's gateways.
46
44
  # @param outbound_authentication_plan [Vapi::SipTrunkOutboundAuthenticationPlan] This can be used to configure the outbound authentication if required by the SIP
47
45
  # trunk.
@@ -57,29 +55,26 @@ module Vapi
57
55
  # @param sbc_configuration [Vapi::SbcConfiguration] This is an advanced configuration for enterprise deployments. This uses the
58
56
  # onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC
59
57
  # provided by Vapi.
60
- # @param name [String] This is the name of credential. This is just for your reference.
61
58
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
62
59
  # @return [Vapi::UpdateByoSipTrunkCredentialDto]
63
- def initialize(gateways:, provider: OMIT, outbound_authentication_plan: OMIT, outbound_leading_plus_enabled: OMIT,
64
- tech_prefix: OMIT, sip_diversion_header: OMIT, sbc_configuration: OMIT, name: OMIT, additional_properties: nil)
65
- @provider = provider if provider != OMIT
66
- @gateways = gateways
60
+ def initialize(name: OMIT, gateways: OMIT, outbound_authentication_plan: OMIT, outbound_leading_plus_enabled: OMIT,
61
+ tech_prefix: OMIT, sip_diversion_header: OMIT, sbc_configuration: OMIT, additional_properties: nil)
62
+ @name = name if name != OMIT
63
+ @gateways = gateways if gateways != OMIT
67
64
  @outbound_authentication_plan = outbound_authentication_plan if outbound_authentication_plan != OMIT
68
65
  @outbound_leading_plus_enabled = outbound_leading_plus_enabled if outbound_leading_plus_enabled != OMIT
69
66
  @tech_prefix = tech_prefix if tech_prefix != OMIT
70
67
  @sip_diversion_header = sip_diversion_header if sip_diversion_header != OMIT
71
68
  @sbc_configuration = sbc_configuration if sbc_configuration != OMIT
72
- @name = name if name != OMIT
73
69
  @additional_properties = additional_properties
74
70
  @_field_set = {
75
- "provider": provider,
71
+ "name": name,
76
72
  "gateways": gateways,
77
73
  "outboundAuthenticationPlan": outbound_authentication_plan,
78
74
  "outboundLeadingPlusEnabled": outbound_leading_plus_enabled,
79
75
  "techPrefix": tech_prefix,
80
76
  "sipDiversionHeader": sip_diversion_header,
81
- "sbcConfiguration": sbc_configuration,
82
- "name": name
77
+ "sbcConfiguration": sbc_configuration
83
78
  }.reject do |_k, v|
84
79
  v == OMIT
85
80
  end
@@ -92,7 +87,7 @@ module Vapi
92
87
  def self.from_json(json_object:)
93
88
  struct = JSON.parse(json_object, object_class: OpenStruct)
94
89
  parsed_json = JSON.parse(json_object)
95
- provider = parsed_json["provider"]
90
+ name = parsed_json["name"]
96
91
  gateways = parsed_json["gateways"]&.map do |item|
97
92
  item = item.to_json
98
93
  Vapi::SipTrunkGateway.from_json(json_object: item)
@@ -112,16 +107,14 @@ module Vapi
112
107
  sbc_configuration = parsed_json["sbcConfiguration"].to_json
113
108
  sbc_configuration = Vapi::SbcConfiguration.from_json(json_object: sbc_configuration)
114
109
  end
115
- name = parsed_json["name"]
116
110
  new(
117
- provider: provider,
111
+ name: name,
118
112
  gateways: gateways,
119
113
  outbound_authentication_plan: outbound_authentication_plan,
120
114
  outbound_leading_plus_enabled: outbound_leading_plus_enabled,
121
115
  tech_prefix: tech_prefix,
122
116
  sip_diversion_header: sip_diversion_header,
123
117
  sbc_configuration: sbc_configuration,
124
- name: name,
125
118
  additional_properties: struct
126
119
  )
127
120
  end
@@ -140,14 +133,13 @@ module Vapi
140
133
  # @param obj [Object]
141
134
  # @return [Void]
142
135
  def self.validate_raw(obj:)
143
- obj.provider&.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
144
- obj.gateways.is_a?(Array) != false || raise("Passed value for field obj.gateways is not the expected type, validation failed.")
136
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
137
+ obj.gateways&.is_a?(Array) != false || raise("Passed value for field obj.gateways is not the expected type, validation failed.")
145
138
  obj.outbound_authentication_plan.nil? || Vapi::SipTrunkOutboundAuthenticationPlan.validate_raw(obj: obj.outbound_authentication_plan)
146
139
  obj.outbound_leading_plus_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.outbound_leading_plus_enabled is not the expected type, validation failed.")
147
140
  obj.tech_prefix&.is_a?(String) != false || raise("Passed value for field obj.tech_prefix is not the expected type, validation failed.")
148
141
  obj.sip_diversion_header&.is_a?(String) != false || raise("Passed value for field obj.sip_diversion_header is not the expected type, validation failed.")
149
142
  obj.sbc_configuration.nil? || Vapi::SbcConfiguration.validate_raw(obj: obj.sbc_configuration)
150
- obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
151
143
  end
152
144
  end
153
145
  end
@@ -5,8 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class UpdateCartesiaCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_key
12
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -19,17 +17,15 @@ module Vapi
19
17
 
20
18
  OMIT = Object.new
21
19
 
22
- # @param provider [String]
23
20
  # @param api_key [String] This is not returned in the API.
24
21
  # @param name [String] This is the name of credential. This is just for your reference.
25
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
23
  # @return [Vapi::UpdateCartesiaCredentialDto]
27
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
28
- @provider = provider
29
- @api_key = api_key
24
+ def initialize(api_key: OMIT, name: OMIT, additional_properties: nil)
25
+ @api_key = api_key if api_key != OMIT
30
26
  @name = name if name != OMIT
31
27
  @additional_properties = additional_properties
32
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
33
29
  v == OMIT
34
30
  end
35
31
  end
@@ -41,11 +37,9 @@ module Vapi
41
37
  def self.from_json(json_object:)
42
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
43
39
  parsed_json = JSON.parse(json_object)
44
- provider = parsed_json["provider"]
45
40
  api_key = parsed_json["apiKey"]
46
41
  name = parsed_json["name"]
47
42
  new(
48
- provider: provider,
49
43
  api_key: api_key,
50
44
  name: name,
51
45
  additional_properties: struct
@@ -66,8 +60,7 @@ module Vapi
66
60
  # @param obj [Object]
67
61
  # @return [Void]
68
62
  def self.validate_raw(obj:)
69
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
70
- obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
63
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
71
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
72
65
  end
73
66
  end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class UpdateCerebrasCredentialDto
8
+ # @return [String] This is not returned in the API.
9
+ attr_reader :api_key
10
+ # @return [String] This is the name of credential. This is just for your reference.
11
+ attr_reader :name
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param api_key [String] This is not returned in the API.
21
+ # @param name [String] This is the name of credential. This is just for your reference.
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Vapi::UpdateCerebrasCredentialDto]
24
+ def initialize(api_key: OMIT, name: OMIT, additional_properties: nil)
25
+ @api_key = api_key if api_key != OMIT
26
+ @name = name if name != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
29
+ v == OMIT
30
+ end
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of UpdateCerebrasCredentialDto
34
+ #
35
+ # @param json_object [String]
36
+ # @return [Vapi::UpdateCerebrasCredentialDto]
37
+ def self.from_json(json_object:)
38
+ struct = JSON.parse(json_object, object_class: OpenStruct)
39
+ parsed_json = JSON.parse(json_object)
40
+ api_key = parsed_json["apiKey"]
41
+ name = parsed_json["name"]
42
+ new(
43
+ api_key: api_key,
44
+ name: name,
45
+ additional_properties: struct
46
+ )
47
+ end
48
+
49
+ # Serialize an instance of UpdateCerebrasCredentialDto to a JSON object
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ @_field_set&.to_json
54
+ end
55
+
56
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
57
+ # hash and check each fields type against the current object's property
58
+ # definitions.
59
+ #
60
+ # @param obj [Object]
61
+ # @return [Void]
62
+ def self.validate_raw(obj:)
63
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
64
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "cloudflare_r_2_bucket_plan"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class UpdateCloudflareCredentialDto
9
+ # @return [String] Cloudflare Account Id.
10
+ attr_reader :account_id
11
+ # @return [String] Cloudflare API Key / Token.
12
+ attr_reader :api_key
13
+ # @return [String] Cloudflare Account Email.
14
+ attr_reader :account_email
15
+ # @return [String] This is the name of credential. This is just for your reference.
16
+ attr_reader :name
17
+ # @return [Vapi::CloudflareR2BucketPlan] This is the bucket plan that can be provided to store call artifacts in R2
18
+ attr_reader :bucket_plan
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param account_id [String] Cloudflare Account Id.
28
+ # @param api_key [String] Cloudflare API Key / Token.
29
+ # @param account_email [String] Cloudflare Account Email.
30
+ # @param name [String] This is the name of credential. This is just for your reference.
31
+ # @param bucket_plan [Vapi::CloudflareR2BucketPlan] This is the bucket plan that can be provided to store call artifacts in R2
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [Vapi::UpdateCloudflareCredentialDto]
34
+ def initialize(account_id: OMIT, api_key: OMIT, account_email: OMIT, name: OMIT, bucket_plan: OMIT,
35
+ additional_properties: nil)
36
+ @account_id = account_id if account_id != OMIT
37
+ @api_key = api_key if api_key != OMIT
38
+ @account_email = account_email if account_email != OMIT
39
+ @name = name if name != OMIT
40
+ @bucket_plan = bucket_plan if bucket_plan != OMIT
41
+ @additional_properties = additional_properties
42
+ @_field_set = {
43
+ "accountId": account_id,
44
+ "apiKey": api_key,
45
+ "accountEmail": account_email,
46
+ "name": name,
47
+ "bucketPlan": bucket_plan
48
+ }.reject do |_k, v|
49
+ v == OMIT
50
+ end
51
+ end
52
+
53
+ # Deserialize a JSON object to an instance of UpdateCloudflareCredentialDto
54
+ #
55
+ # @param json_object [String]
56
+ # @return [Vapi::UpdateCloudflareCredentialDto]
57
+ def self.from_json(json_object:)
58
+ struct = JSON.parse(json_object, object_class: OpenStruct)
59
+ parsed_json = JSON.parse(json_object)
60
+ account_id = parsed_json["accountId"]
61
+ api_key = parsed_json["apiKey"]
62
+ account_email = parsed_json["accountEmail"]
63
+ name = parsed_json["name"]
64
+ if parsed_json["bucketPlan"].nil?
65
+ bucket_plan = nil
66
+ else
67
+ bucket_plan = parsed_json["bucketPlan"].to_json
68
+ bucket_plan = Vapi::CloudflareR2BucketPlan.from_json(json_object: bucket_plan)
69
+ end
70
+ new(
71
+ account_id: account_id,
72
+ api_key: api_key,
73
+ account_email: account_email,
74
+ name: name,
75
+ bucket_plan: bucket_plan,
76
+ additional_properties: struct
77
+ )
78
+ end
79
+
80
+ # Serialize an instance of UpdateCloudflareCredentialDto to a JSON object
81
+ #
82
+ # @return [String]
83
+ def to_json(*_args)
84
+ @_field_set&.to_json
85
+ end
86
+
87
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
88
+ # hash and check each fields type against the current object's property
89
+ # definitions.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Void]
93
+ def self.validate_raw(obj:)
94
+ obj.account_id&.is_a?(String) != false || raise("Passed value for field obj.account_id is not the expected type, validation failed.")
95
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
96
+ obj.account_email&.is_a?(String) != false || raise("Passed value for field obj.account_email is not the expected type, validation failed.")
97
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
98
+ obj.bucket_plan.nil? || Vapi::CloudflareR2BucketPlan.validate_raw(obj: obj.bucket_plan)
99
+ end
100
+ end
101
+ end