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 pub active: bool,
15}
16
17#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
18#[serde(rename_all = "camelCase")]
19pub struct EnvironmentProviderAdminConfig {
20 pub moulin: EnvironmentProviderSlotView,
21 pub e2b: EnvironmentProviderSlotView,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub default_provider: Option<String>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub default_snapshot_id: Option<String>,
26 pub managed: bool,
27}
28
29#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase", deny_unknown_fields)]
31pub struct UpdateEnvironmentProviderSlotRequest {
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub base_url: Option<String>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub build_url: Option<String>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub credential: Option<String>,
38 #[serde(default)]
39 pub clear_credential: bool,
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub default_build: Option<SnapshotBuildSpec>,
42}
43
44#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
45#[serde(rename_all = "camelCase", deny_unknown_fields)]
46pub struct UpdateEnvironmentProviderAdminConfigRequest {
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub moulin: Option<UpdateEnvironmentProviderSlotRequest>,
49 #[serde(default, skip_serializing_if = "Option::is_none")]
50 pub e2b: Option<UpdateEnvironmentProviderSlotRequest>,
51 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub default_provider: Option<String>,
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub default_snapshot_id: Option<String>,
55}