vapi_client/models/
create_azure_open_ai_credential_dto.rs1use 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 #[serde(rename = "openAIKey")]
24 pub open_ai_key: String,
25 #[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 #[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#[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#[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#[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