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