vapi_client/models/
create_tool_template_dto.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateToolTemplateDto {
16    #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
17    pub details: Option<models::AnyscaleModelToolsInner>,
18    #[serde(rename = "providerDetails", skip_serializing_if = "Option::is_none")]
19    pub provider_details: Option<models::CreateToolTemplateDtoProviderDetails>,
20    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
21    pub metadata: Option<models::ToolTemplateMetadata>,
22    #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
23    pub visibility: Option<VisibilityTrue>,
24    #[serde(rename = "type")]
25    pub r#type: TypeTrue,
26    /// The name of the template. This is just for your own reference.
27    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
28    pub name: Option<String>,
29    #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
30    pub provider: Option<ProviderTrue>,
31}
32
33impl CreateToolTemplateDto {
34    pub fn new(r#type: TypeTrue) -> CreateToolTemplateDto {
35        CreateToolTemplateDto {
36            details: None,
37            provider_details: None,
38            metadata: None,
39            visibility: None,
40            r#type,
41            name: None,
42            provider: None,
43        }
44    }
45}
46///
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
48pub enum VisibilityTrue {
49    #[serde(rename = "public")]
50    Public,
51    #[serde(rename = "private")]
52    Private,
53}
54
55impl Default for VisibilityTrue {
56    fn default() -> VisibilityTrue {
57        Self::Public
58    }
59}
60///
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum TypeTrue {
63    #[serde(rename = "tool")]
64    Tool,
65}
66
67impl Default for TypeTrue {
68    fn default() -> TypeTrue {
69        Self::Tool
70    }
71}
72///
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
74pub enum ProviderTrue {
75    #[serde(rename = "make")]
76    Make,
77    #[serde(rename = "gohighlevel")]
78    Gohighlevel,
79    #[serde(rename = "function")]
80    Function,
81}
82
83impl Default for ProviderTrue {
84    fn default() -> ProviderTrue {
85        Self::Make
86    }
87}