vapi-client 0.4.2

Unofficial crate for Vapi - Voice AI for developers.
Documentation
/*
 * Vapi API
 *
 * Voice AI for developers.
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateAzureOpenAiCredentialDto {
    #[serde(rename = "provider")]
    pub provider: ProviderTrue,
    #[serde(rename = "region")]
    pub region: RegionTrue,
    #[serde(rename = "models")]
    pub models: Vec<ModelsTrue>,
    /// This is not returned in the API.
    #[serde(rename = "openAIKey")]
    pub open_ai_key: String,
    /// This is not returned in the API.
    #[serde(
        rename = "ocpApimSubscriptionKey",
        skip_serializing_if = "Option::is_none"
    )]
    pub ocp_apim_subscription_key: Option<String>,
    #[serde(rename = "openAIEndpoint")]
    pub open_ai_endpoint: String,
    /// This is the name of credential. This is just for your reference.
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
}

impl CreateAzureOpenAiCredentialDto {
    pub fn new(
        provider: ProviderTrue,
        region: RegionTrue,
        models: Vec<ModelsTrue>,
        open_ai_key: String,
        open_ai_endpoint: String,
    ) -> CreateAzureOpenAiCredentialDto {
        CreateAzureOpenAiCredentialDto {
            provider,
            region,
            models,
            open_ai_key,
            ocp_apim_subscription_key: None,
            open_ai_endpoint,
            name: None,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderTrue {
    #[serde(rename = "azure-openai")]
    AzureOpenai,
}

impl Default for ProviderTrue {
    fn default() -> ProviderTrue {
        Self::AzureOpenai
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RegionTrue {
    #[serde(rename = "australia")]
    Australia,
    #[serde(rename = "canadaeast")]
    Canadaeast,
    #[serde(rename = "canadacentral")]
    Canadacentral,
    #[serde(rename = "eastus2")]
    Eastus2,
    #[serde(rename = "eastus")]
    Eastus,
    #[serde(rename = "france")]
    France,
    #[serde(rename = "india")]
    India,
    #[serde(rename = "japaneast")]
    Japaneast,
    #[serde(rename = "japanwest")]
    Japanwest,
    #[serde(rename = "uaenorth")]
    Uaenorth,
    #[serde(rename = "northcentralus")]
    Northcentralus,
    #[serde(rename = "norway")]
    Norway,
    #[serde(rename = "southcentralus")]
    Southcentralus,
    #[serde(rename = "swedencentral")]
    Swedencentral,
    #[serde(rename = "switzerland")]
    Switzerland,
    #[serde(rename = "uk")]
    Uk,
    #[serde(rename = "westus")]
    Westus,
    #[serde(rename = "westus3")]
    Westus3,
}

impl Default for RegionTrue {
    fn default() -> RegionTrue {
        Self::Australia
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModelsTrue {
    #[serde(rename = "gpt-4.1-2025-04-14")]
    Gpt4Period120250414,
    #[serde(rename = "gpt-4.1-mini-2025-04-14")]
    Gpt4Period1Mini20250414,
    #[serde(rename = "gpt-4.1-nano-2025-04-14")]
    Gpt4Period1Nano20250414,
    #[serde(rename = "gpt-4o-2024-11-20")]
    Gpt4o20241120,
    #[serde(rename = "gpt-4o-2024-08-06")]
    Gpt4o20240806,
    #[serde(rename = "gpt-4o-2024-05-13")]
    Gpt4o20240513,
    #[serde(rename = "gpt-4o-mini-2024-07-18")]
    Gpt4oMini20240718,
    #[serde(rename = "gpt-4-turbo-2024-04-09")]
    Gpt4Turbo20240409,
    #[serde(rename = "gpt-4-0125-preview")]
    Gpt40125Preview,
    #[serde(rename = "gpt-4-1106-preview")]
    Gpt41106Preview,
    #[serde(rename = "gpt-4-0613")]
    Gpt40613,
    #[serde(rename = "gpt-35-turbo-0125")]
    Gpt35Turbo0125,
    #[serde(rename = "gpt-35-turbo-1106")]
    Gpt35Turbo1106,
}

impl Default for ModelsTrue {
    fn default() -> ModelsTrue {
        Self::Gpt4Period120250414
    }
}