agent_workspace_contract/
provider_config.rs1use serde::{Deserialize, Serialize};
2
3use crate::SnapshotBuildSpec;
4
5#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct EnvironmentProviderSlotView {
8 pub base_url: String,
9 #[serde(default)]
10 pub build_url: String,
11 pub credential_configured: bool,
12 #[serde(default, skip_serializing_if = "Option::is_none")]
13 pub default_build: Option<SnapshotBuildSpec>,
14 #[serde(default, skip_serializing_if = "Option::is_none")]
15 pub default_template_id: Option<String>,
16 pub active: bool,
17}
18
19#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
20#[serde(rename_all = "camelCase")]
21pub struct EnvironmentProviderAdminConfig {
22 pub moulin: EnvironmentProviderSlotView,
23 pub e2b: EnvironmentProviderSlotView,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub default_provider: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub default_snapshot_id: Option<String>,
28 pub managed: bool,
29}
30
31#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase", deny_unknown_fields)]
33pub struct UpdateEnvironmentProviderSlotRequest {
34 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub base_url: Option<String>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub build_url: Option<String>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub credential: Option<String>,
40 #[serde(default)]
41 pub clear_credential: bool,
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub default_build: Option<SnapshotBuildSpec>,
44 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub default_template_id: Option<String>,
46}
47
48#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
49#[serde(rename_all = "camelCase", deny_unknown_fields)]
50pub struct UpdateEnvironmentProviderAdminConfigRequest {
51 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub moulin: Option<UpdateEnvironmentProviderSlotRequest>,
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub e2b: Option<UpdateEnvironmentProviderSlotRequest>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub default_provider: Option<String>,
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub default_snapshot_id: Option<String>,
59}