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: Provider,
18    #[serde(rename = "region")]
19    pub region: Region,
20    #[serde(rename = "models")]
21    pub models: Vec<Models>,
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(rename = "ocpApimSubscriptionKey", skip_serializing_if = "Option::is_none")]
27    pub ocp_apim_subscription_key: Option<String>,
28    #[serde(rename = "openAIEndpoint")]
29    pub open_ai_endpoint: String,
30    /// This is the name of credential. This is just for your reference.
31    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
32    pub name: Option<String>,
33}
34
35impl CreateAzureOpenAiCredentialDto {
36    pub fn new(provider: Provider, region: Region, models: Vec<Models>, open_ai_key: String, open_ai_endpoint: String) -> CreateAzureOpenAiCredentialDto {
37        CreateAzureOpenAiCredentialDto {
38            provider,
39            region,
40            models,
41            open_ai_key,
42            ocp_apim_subscription_key: None,
43            open_ai_endpoint,
44            name: None,
45        }
46    }
47}
48/// 
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum Provider {
51    #[serde(rename = "azure-openai")]
52    AzureOpenai,
53}
54
55impl Default for Provider {
56    fn default() -> Provider {
57        Self::AzureOpenai
58    }
59}
60/// 
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum Region {
63    #[serde(rename = "australia")]
64    Australia,
65    #[serde(rename = "canadaeast")]
66    Canadaeast,
67    #[serde(rename = "canadacentral")]
68    Canadacentral,
69    #[serde(rename = "eastus2")]
70    Eastus2,
71    #[serde(rename = "eastus")]
72    Eastus,
73    #[serde(rename = "france")]
74    France,
75    #[serde(rename = "india")]
76    India,
77    #[serde(rename = "japaneast")]
78    Japaneast,
79    #[serde(rename = "japanwest")]
80    Japanwest,
81    #[serde(rename = "uaenorth")]
82    Uaenorth,
83    #[serde(rename = "northcentralus")]
84    Northcentralus,
85    #[serde(rename = "norway")]
86    Norway,
87    #[serde(rename = "southcentralus")]
88    Southcentralus,
89    #[serde(rename = "swedencentral")]
90    Swedencentral,
91    #[serde(rename = "switzerland")]
92    Switzerland,
93    #[serde(rename = "uk")]
94    Uk,
95    #[serde(rename = "westus")]
96    Westus,
97    #[serde(rename = "westus3")]
98    Westus3,
99}
100
101impl Default for Region {
102    fn default() -> Region {
103        Self::Australia
104    }
105}
106/// 
107#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
108pub enum Models {
109    #[serde(rename = "gpt-4o-2024-08-06")]
110    Gpt4o20240806,
111    #[serde(rename = "gpt-4o-mini-2024-07-18")]
112    Gpt4oMini20240718,
113    #[serde(rename = "gpt-4o-2024-05-13")]
114    Gpt4o20240513,
115    #[serde(rename = "gpt-4-turbo-2024-04-09")]
116    Gpt4Turbo20240409,
117    #[serde(rename = "gpt-4-0125-preview")]
118    Gpt40125Preview,
119    #[serde(rename = "gpt-4-1106-preview")]
120    Gpt41106Preview,
121    #[serde(rename = "gpt-4-0613")]
122    Gpt40613,
123    #[serde(rename = "gpt-35-turbo-0125")]
124    Gpt35Turbo0125,
125    #[serde(rename = "gpt-35-turbo-1106")]
126    Gpt35Turbo1106,
127}
128
129impl Default for Models {
130    fn default() -> Models {
131        Self::Gpt4o20240806
132    }
133}
134