vapi_client/models/
groq_credential.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GroqCredential {
16    #[serde(rename = "provider")]
17    pub provider: Provider,
18    #[serde(rename = "apiKey")]
20    pub api_key: String,
21    #[serde(rename = "id")]
23    pub id: String,
24    #[serde(rename = "orgId")]
26    pub org_id: String,
27    #[serde(rename = "createdAt")]
29    pub created_at: String,
30    #[serde(rename = "updatedAt")]
32    pub updated_at: String,
33    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
35    pub name: Option<String>,
36}
37
38impl GroqCredential {
39    pub fn new(provider: Provider, api_key: String, id: String, org_id: String, created_at: String, updated_at: String) -> GroqCredential {
40        GroqCredential {
41            provider,
42            api_key,
43            id,
44            org_id,
45            created_at,
46            updated_at,
47            name: None,
48        }
49    }
50}
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum Provider {
54    #[serde(rename = "groq")]
55    Groq,
56}
57
58impl Default for Provider {
59    fn default() -> Provider {
60        Self::Groq
61    }
62}
63