windmill_api/models/
ai_provider_kind.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum AiProviderKind {
18 #[serde(rename = "openai")]
19 Openai,
20 #[serde(rename = "azure_openai")]
21 AzureOpenai,
22 #[serde(rename = "anthropic")]
23 Anthropic,
24 #[serde(rename = "mistral")]
25 Mistral,
26 #[serde(rename = "deepseek")]
27 Deepseek,
28 #[serde(rename = "googleai")]
29 Googleai,
30 #[serde(rename = "groq")]
31 Groq,
32 #[serde(rename = "openrouter")]
33 Openrouter,
34 #[serde(rename = "togetherai")]
35 Togetherai,
36 #[serde(rename = "customai")]
37 Customai,
38 #[serde(rename = "aws_bedrock")]
39 AwsBedrock,
40
41}
42
43impl std::fmt::Display for AiProviderKind {
44 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
45 match self {
46 Self::Openai => write!(f, "openai"),
47 Self::AzureOpenai => write!(f, "azure_openai"),
48 Self::Anthropic => write!(f, "anthropic"),
49 Self::Mistral => write!(f, "mistral"),
50 Self::Deepseek => write!(f, "deepseek"),
51 Self::Googleai => write!(f, "googleai"),
52 Self::Groq => write!(f, "groq"),
53 Self::Openrouter => write!(f, "openrouter"),
54 Self::Togetherai => write!(f, "togetherai"),
55 Self::Customai => write!(f, "customai"),
56 Self::AwsBedrock => write!(f, "aws_bedrock"),
57 }
58 }
59}
60
61impl Default for AiProviderKind {
62 fn default() -> AiProviderKind {
63 Self::Openai
64 }
65}
66