1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct AzureCredential {
19 #[serde(rename = "provider")]
20 pub provider: Provider,
21 #[serde(rename = "service")]
23 pub service: Service,
24 #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
26 pub region: Option<Region>,
27 #[serde(rename = "apiKey", skip_serializing_if = "Option::is_none")]
29 pub api_key: Option<String>,
30 #[serde(rename = "id")]
32 pub id: String,
33 #[serde(rename = "orgId")]
35 pub org_id: String,
36 #[serde(rename = "createdAt")]
38 pub created_at: String,
39 #[serde(rename = "updatedAt")]
41 pub updated_at: String,
42 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
44 pub name: Option<String>,
45 #[serde(rename = "bucketPlan", skip_serializing_if = "Option::is_none")]
47 pub bucket_plan: Option<models::AzureBlobStorageBucketPlan>,
48}
49
50impl AzureCredential {
51 pub fn new(
52 provider: Provider,
53 service: Service,
54 id: String,
55 org_id: String,
56 created_at: String,
57 updated_at: String,
58 ) -> AzureCredential {
59 AzureCredential {
60 provider,
61 service,
62 region: None,
63 api_key: None,
64 id,
65 org_id,
66 created_at,
67 updated_at,
68 name: None,
69 bucket_plan: None,
70 }
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
75pub enum Provider {
76 #[serde(rename = "azure")]
77 Azure,
78}
79
80impl Default for Provider {
81 fn default() -> Provider {
82 Self::Azure
83 }
84}
85#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
87pub enum Service {
88 #[serde(rename = "speech")]
89 Speech,
90 #[serde(rename = "blob_storage")]
91 BlobStorage,
92}
93
94impl Default for Service {
95 fn default() -> Service {
96 Self::Speech
97 }
98}
99#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
101pub enum Region {
102 #[serde(rename = "australia")]
103 Australia,
104 #[serde(rename = "canadaeast")]
105 Canadaeast,
106 #[serde(rename = "canadacentral")]
107 Canadacentral,
108 #[serde(rename = "eastus2")]
109 Eastus2,
110 #[serde(rename = "eastus")]
111 Eastus,
112 #[serde(rename = "france")]
113 France,
114 #[serde(rename = "india")]
115 India,
116 #[serde(rename = "japaneast")]
117 Japaneast,
118 #[serde(rename = "japanwest")]
119 Japanwest,
120 #[serde(rename = "uaenorth")]
121 Uaenorth,
122 #[serde(rename = "northcentralus")]
123 Northcentralus,
124 #[serde(rename = "norway")]
125 Norway,
126 #[serde(rename = "southcentralus")]
127 Southcentralus,
128 #[serde(rename = "swedencentral")]
129 Swedencentral,
130 #[serde(rename = "switzerland")]
131 Switzerland,
132 #[serde(rename = "uk")]
133 Uk,
134 #[serde(rename = "westus")]
135 Westus,
136 #[serde(rename = "westus3")]
137 Westus3,
138}
139
140impl Default for Region {
141 fn default() -> Region {
142 Self::Australia
143 }
144}