vapi_client/models/
azure_open_ai_credential.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 AzureOpenAiCredential {
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    /// This is the unique identifier for the credential.
32    #[serde(rename = "id")]
33    pub id: String,
34    /// This is the unique identifier for the org that this credential belongs to.
35    #[serde(rename = "orgId")]
36    pub org_id: String,
37    /// This is the ISO 8601 date-time string of when the credential was created.
38    #[serde(rename = "createdAt")]
39    pub created_at: String,
40    /// This is the ISO 8601 date-time string of when the assistant was last updated.
41    #[serde(rename = "updatedAt")]
42    pub updated_at: String,
43    /// This is the name of credential. This is just for your reference.
44    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
45    pub name: Option<String>,
46    #[serde(rename = "openAIEndpoint")]
47    pub open_ai_endpoint: String,
48}
49
50impl AzureOpenAiCredential {
51    pub fn new(
52        provider: ProviderTrue,
53        region: RegionTrue,
54        models: Vec<ModelsTrue>,
55        open_ai_key: String,
56        id: String,
57        org_id: String,
58        created_at: String,
59        updated_at: String,
60        open_ai_endpoint: String,
61    ) -> AzureOpenAiCredential {
62        AzureOpenAiCredential {
63            provider,
64            region,
65            models,
66            open_ai_key,
67            ocp_apim_subscription_key: None,
68            id,
69            org_id,
70            created_at,
71            updated_at,
72            name: None,
73            open_ai_endpoint,
74        }
75    }
76}
77///
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
79pub enum ProviderTrue {
80    #[serde(rename = "azure-openai")]
81    AzureOpenai,
82}
83
84impl Default for ProviderTrue {
85    fn default() -> ProviderTrue {
86        Self::AzureOpenai
87    }
88}
89///
90#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
91pub enum RegionTrue {
92    #[serde(rename = "australia")]
93    Australia,
94    #[serde(rename = "canadaeast")]
95    Canadaeast,
96    #[serde(rename = "canadacentral")]
97    Canadacentral,
98    #[serde(rename = "eastus2")]
99    Eastus2,
100    #[serde(rename = "eastus")]
101    Eastus,
102    #[serde(rename = "france")]
103    France,
104    #[serde(rename = "india")]
105    India,
106    #[serde(rename = "japaneast")]
107    Japaneast,
108    #[serde(rename = "japanwest")]
109    Japanwest,
110    #[serde(rename = "uaenorth")]
111    Uaenorth,
112    #[serde(rename = "northcentralus")]
113    Northcentralus,
114    #[serde(rename = "norway")]
115    Norway,
116    #[serde(rename = "southcentralus")]
117    Southcentralus,
118    #[serde(rename = "swedencentral")]
119    Swedencentral,
120    #[serde(rename = "switzerland")]
121    Switzerland,
122    #[serde(rename = "uk")]
123    Uk,
124    #[serde(rename = "westus")]
125    Westus,
126    #[serde(rename = "westus3")]
127    Westus3,
128}
129
130impl Default for RegionTrue {
131    fn default() -> RegionTrue {
132        Self::Australia
133    }
134}
135///
136#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
137pub enum ModelsTrue {
138    #[serde(rename = "gpt-4.1-2025-04-14")]
139    Gpt4Period120250414,
140    #[serde(rename = "gpt-4.1-mini-2025-04-14")]
141    Gpt4Period1Mini20250414,
142    #[serde(rename = "gpt-4.1-nano-2025-04-14")]
143    Gpt4Period1Nano20250414,
144    #[serde(rename = "gpt-4o-2024-11-20")]
145    Gpt4o20241120,
146    #[serde(rename = "gpt-4o-2024-08-06")]
147    Gpt4o20240806,
148    #[serde(rename = "gpt-4o-2024-05-13")]
149    Gpt4o20240513,
150    #[serde(rename = "gpt-4o-mini-2024-07-18")]
151    Gpt4oMini20240718,
152    #[serde(rename = "gpt-4-turbo-2024-04-09")]
153    Gpt4Turbo20240409,
154    #[serde(rename = "gpt-4-0125-preview")]
155    Gpt40125Preview,
156    #[serde(rename = "gpt-4-1106-preview")]
157    Gpt41106Preview,
158    #[serde(rename = "gpt-4-0613")]
159    Gpt40613,
160    #[serde(rename = "gpt-35-turbo-0125")]
161    Gpt35Turbo0125,
162    #[serde(rename = "gpt-35-turbo-1106")]
163    Gpt35Turbo1106,
164}
165
166impl Default for ModelsTrue {
167    fn default() -> ModelsTrue {
168        Self::Gpt4Period120250414
169    }
170}