Skip to main content

agent_workspace_contract/
provider_config.rs

1use 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}