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