#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Empty {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkSpec {
#[prost(string, tag = "1")]
pub mode: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mount {
#[prost(string, tag = "1")]
pub source: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub target: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub readonly: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResourceLimits {
#[prost(uint32, tag = "1")]
pub vcpus: u32,
#[prost(uint64, tag = "2")]
pub memory_mib: u64,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TerminalSize {
#[prost(uint32, tag = "1")]
pub width: u32,
#[prost(uint32, tag = "2")]
pub height: u32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub kernel: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub rootfs: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub boot_args: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub limits: ::core::option::Option<ResourceLimits>,
#[prost(string, tag = "7")]
pub image: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "8")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "9")]
pub env:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "10")]
pub working_dir: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub user: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "12")]
pub mounts: ::prost::alloc::vec::Vec<Mount>,
#[prost(message, optional, tag = "13")]
pub network: ::core::option::Option<NetworkSpec>,
#[prost(uint32, tag = "14")]
pub ttl_seconds: u32,
#[prost(string, optional, tag = "15")]
pub ssh_public_key: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSandboxResponse {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip_address: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub state: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "3")]
pub env:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub working_dir: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub tty: bool,
#[prost(uint32, tag = "7")]
pub timeout_seconds: u32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunOutput {
#[prost(string, tag = "1")]
pub stream: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(int32, tag = "3")]
pub exit_code: i32,
#[prost(bool, tag = "4")]
pub done: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecInput {
#[prost(oneof = "exec_input::Payload", tags = "1, 2, 3")]
pub payload: ::core::option::Option<exec_input::Payload>,
}
pub mod exec_input {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Payload {
#[prost(message, tag = "1")]
Init(super::ExecRequest),
#[prost(bytes, tag = "2")]
Stdin(::prost::alloc::vec::Vec<u8>),
#[prost(message, tag = "3")]
Resize(super::TerminalSize),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "3")]
pub env:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub working_dir: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub tty: bool,
#[prost(message, optional, tag = "7")]
pub tty_size: ::core::option::Option<TerminalSize>,
#[prost(uint32, tag = "8")]
pub timeout_seconds: u32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecOutput {
#[prost(string, tag = "1")]
pub stream: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(int32, tag = "3")]
pub exit_code: i32,
#[prost(bool, tag = "4")]
pub done: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub timeout_seconds: u32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub force: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InspectSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxInfo {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub limits: ::core::option::Option<ResourceLimits>,
#[prost(message, optional, tag = "5")]
pub network: ::core::option::Option<SandboxNetwork>,
#[prost(int64, tag = "6")]
pub created_at: i64,
#[prost(int64, tag = "7")]
pub ready_at: i64,
#[prost(int64, tag = "8")]
pub last_exited_at: i64,
#[prost(int32, tag = "9")]
pub last_exit_code: i32,
#[prost(string, tag = "10")]
pub error: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxNetwork {
#[prost(string, tag = "1")]
pub ip_address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub gateway: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub tap_name: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSandboxesRequest {
#[prost(string, tag = "1")]
pub state: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSandboxesResponse {
#[prost(message, repeated, tag = "1")]
pub sandboxes: ::prost::alloc::vec::Vec<SandboxSummary>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxSummary {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub ip_address: ::prost::alloc::string::String,
#[prost(int64, tag = "5")]
pub created_at: i64,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxEventsRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub action: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxEvent {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub action: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub timestamp: i64,
#[prost(map = "string, string", tag = "4")]
pub attributes:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckpointRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckpointResponse {
#[prost(string, tag = "1")]
pub snapshot_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub snapshot_dir: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub created_at: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestoreRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub snapshot_id: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub network_override: bool,
#[prost(uint32, tag = "5")]
pub ttl_seconds: u32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestoreResponse {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip_address: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSnapshotsRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSnapshotsResponse {
#[prost(message, repeated, tag = "1")]
pub snapshots: ::prost::alloc::vec::Vec<SnapshotSummary>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotSummary {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub snapshot_dir: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub created_at: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSnapshotRequest {
#[prost(string, tag = "1")]
pub snapshot_id: ::prost::alloc::string::String,
}