mistral-openapi-client 0.1.0

Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
Documentation
/*
 * Mistral AI API
 *
 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum ToolsInner {
    #[serde(rename="function")]
    Function(Box<models::FunctionTool>),
    #[serde(rename="web_search")]
    WebSearch(Box<models::WebSearchTool>),
    #[serde(rename="web_search_premium")]
    WebSearchPremium(Box<models::WebSearchPremiumTool>),
    #[serde(rename="code_interpreter")]
    CodeInterpreter(Box<models::CodeInterpreterTool>),
    #[serde(rename="image_generation")]
    ImageGeneration(Box<models::ImageGenerationTool>),
    #[serde(rename="document_library")]
    DocumentLibrary(Box<models::DocumentLibraryTool>),
    #[serde(rename="connector")]
    Connector(Box<models::CustomConnector>),
}

impl Default for ToolsInner {
    fn default() -> Self {
        Self::Function(Default::default())
    }
}