vapi_client/models/
create_azure_credential_dto.rs

1/*
2 * Vapi API
3 *
4 * API for building voice assistants
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct CreateAzureCredentialDto {
19    #[serde(rename = "provider")]
20    pub provider: Provider,
21    /// This is the service being used in Azure.
22    #[serde(rename = "service")]
23    pub service: Service,
24    /// This is the region of the Azure resource.
25    #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
26    pub region: Option<Region>,
27    /// This is not returned in the API.
28    #[serde(rename = "apiKey", skip_serializing_if = "Option::is_none")]
29    pub api_key: Option<String>,
30    /// This is the bucket plan that can be provided to store call artifacts in Azure Blob Storage.
31    #[serde(rename = "bucketPlan", skip_serializing_if = "Option::is_none")]
32    pub bucket_plan: Option<models::AzureBlobStorageBucketPlan>,
33    /// This is the name of credential. This is just for your reference.
34    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
35    pub name: Option<String>,
36}
37
38impl CreateAzureCredentialDto {
39    pub fn new(provider: Provider, service: Service) -> CreateAzureCredentialDto {
40        CreateAzureCredentialDto {
41            provider,
42            service,
43            region: None,
44            api_key: None,
45            bucket_plan: None,
46            name: None,
47        }
48    }
49}
50///
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
52pub enum Provider {
53    #[serde(rename = "azure")]
54    Azure,
55}
56
57impl Default for Provider {
58    fn default() -> Provider {
59        Self::Azure
60    }
61}
62/// This is the service being used in Azure.
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
64pub enum Service {
65    #[serde(rename = "speech")]
66    Speech,
67    #[serde(rename = "blob_storage")]
68    BlobStorage,
69}
70
71impl Default for Service {
72    fn default() -> Service {
73        Self::Speech
74    }
75}
76/// This is the region of the Azure resource.
77#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
78pub enum Region {
79    #[serde(rename = "australia")]
80    Australia,
81    #[serde(rename = "canadaeast")]
82    Canadaeast,
83    #[serde(rename = "canadacentral")]
84    Canadacentral,
85    #[serde(rename = "eastus2")]
86    Eastus2,
87    #[serde(rename = "eastus")]
88    Eastus,
89    #[serde(rename = "france")]
90    France,
91    #[serde(rename = "india")]
92    India,
93    #[serde(rename = "japaneast")]
94    Japaneast,
95    #[serde(rename = "japanwest")]
96    Japanwest,
97    #[serde(rename = "uaenorth")]
98    Uaenorth,
99    #[serde(rename = "northcentralus")]
100    Northcentralus,
101    #[serde(rename = "norway")]
102    Norway,
103    #[serde(rename = "southcentralus")]
104    Southcentralus,
105    #[serde(rename = "swedencentral")]
106    Swedencentral,
107    #[serde(rename = "switzerland")]
108    Switzerland,
109    #[serde(rename = "uk")]
110    Uk,
111    #[serde(rename = "westus")]
112    Westus,
113    #[serde(rename = "westus3")]
114    Westus3,
115}
116
117impl Default for Region {
118    fn default() -> Region {
119        Self::Australia
120    }
121}