vapi_client/models/
create_azure_open_ai_credential_dto.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateAzureOpenAiCredentialDto {
16    #[serde(rename = "provider")]
17    pub provider: ProviderTrue,
18    #[serde(rename = "region")]
19    pub region: RegionTrue,
20    #[serde(rename = "models")]
21    pub models: Vec<ModelsTrue>,
22    /// This is not returned in the API.
23    #[serde(rename = "openAIKey")]
24    pub open_ai_key: String,
25    /// This is not returned in the API.
26    #[serde(
27        rename = "ocpApimSubscriptionKey",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub ocp_apim_subscription_key: Option<String>,
31    #[serde(rename = "openAIEndpoint")]
32    pub open_ai_endpoint: String,
33    /// This is the name of credential. This is just for your reference.
34    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
35    pub name: Option<String>,
36}
37
38impl CreateAzureOpenAiCredentialDto {
39    pub fn new(
40        provider: ProviderTrue,
41        region: RegionTrue,
42        models: Vec<ModelsTrue>,
43        open_ai_key: String,
44        open_ai_endpoint: String,
45    ) -> CreateAzureOpenAiCredentialDto {
46        CreateAzureOpenAiCredentialDto {
47            provider,
48            region,
49            models,
50            open_ai_key,
51            ocp_apim_subscription_key: None,
52            open_ai_endpoint,
53            name: None,
54        }
55    }
56}
57///
58#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
59pub enum ProviderTrue {
60    #[serde(rename = "azure-openai")]
61    AzureOpenai,
62}
63
64impl Default for ProviderTrue {
65    fn default() -> ProviderTrue {
66        Self::AzureOpenai
67    }
68}
69///
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
71pub enum RegionTrue {
72    #[serde(rename = "australia")]
73    Australia,
74    #[serde(rename = "canadaeast")]
75    Canadaeast,
76    #[serde(rename = "canadacentral")]
77    Canadacentral,
78    #[serde(rename = "eastus2")]
79    Eastus2,
80    #[serde(rename = "eastus")]
81    Eastus,
82    #[serde(rename = "france")]
83    France,
84    #[serde(rename = "india")]
85    India,
86    #[serde(rename = "japaneast")]
87    Japaneast,
88    #[serde(rename = "japanwest")]
89    Japanwest,
90    #[serde(rename = "uaenorth")]
91    Uaenorth,
92    #[serde(rename = "northcentralus")]
93    Northcentralus,
94    #[serde(rename = "norway")]
95    Norway,
96    #[serde(rename = "southcentralus")]
97    Southcentralus,
98    #[serde(rename = "swedencentral")]
99    Swedencentral,
100    #[serde(rename = "switzerland")]
101    Switzerland,
102    #[serde(rename = "uk")]
103    Uk,
104    #[serde(rename = "westus")]
105    Westus,
106    #[serde(rename = "westus3")]
107    Westus3,
108}
109
110impl Default for RegionTrue {
111    fn default() -> RegionTrue {
112        Self::Australia
113    }
114}
115///
116#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
117pub enum ModelsTrue {
118    #[serde(rename = "gpt-4.1-2025-04-14")]
119    Gpt4Period120250414,
120    #[serde(rename = "gpt-4.1-mini-2025-04-14")]
121    Gpt4Period1Mini20250414,
122    #[serde(rename = "gpt-4.1-nano-2025-04-14")]
123    Gpt4Period1Nano20250414,
124    #[serde(rename = "gpt-4o-2024-11-20")]
125    Gpt4o20241120,
126    #[serde(rename = "gpt-4o-2024-08-06")]
127    Gpt4o20240806,
128    #[serde(rename = "gpt-4o-2024-05-13")]
129    Gpt4o20240513,
130    #[serde(rename = "gpt-4o-mini-2024-07-18")]
131    Gpt4oMini20240718,
132    #[serde(rename = "gpt-4-turbo-2024-04-09")]
133    Gpt4Turbo20240409,
134    #[serde(rename = "gpt-4-0125-preview")]
135    Gpt40125Preview,
136    #[serde(rename = "gpt-4-1106-preview")]
137    Gpt41106Preview,
138    #[serde(rename = "gpt-4-0613")]
139    Gpt40613,
140    #[serde(rename = "gpt-35-turbo-0125")]
141    Gpt35Turbo0125,
142    #[serde(rename = "gpt-35-turbo-1106")]
143    Gpt35Turbo1106,
144}
145
146impl Default for ModelsTrue {
147    fn default() -> ModelsTrue {
148        Self::Gpt4Period120250414
149    }
150}