Skip to main content

systemprompt_models/profile/
cloud.rs

1//! Cloud configuration.
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6pub struct CloudConfig {
7    #[serde(default = "default_credentials_path")]
8    pub credentials_path: String,
9
10    #[serde(default = "default_tenants_path")]
11    pub tenants_path: String,
12
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub tenant_id: Option<String>,
15
16    #[serde(default)]
17    pub validation: CloudValidationMode,
18}
19
20#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
21#[serde(rename_all = "lowercase")]
22pub enum CloudValidationMode {
23    #[default]
24    Strict,
25    Warn,
26    Skip,
27}
28
29fn default_credentials_path() -> String {
30    "./credentials.json".to_string()
31}
32
33fn default_tenants_path() -> String {
34    "./tenants.json".to_string()
35}