#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NetworkSpec {
#[prost(enumeration = "NetworkMode", tag = "1")]
pub mode: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::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(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResourceLimits {
#[prost(uint32, tag = "1")]
pub vcpus: u32,
#[prost(uint64, tag = "2")]
pub memory_mib: u64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExitStatus {
#[prost(oneof = "exit_status::Status", tags = "1, 2")]
pub status: ::core::option::Option<exit_status::Status>,
}
pub mod exit_status {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Status {
#[prost(int32, tag = "1")]
Code(i32),
#[prost(int32, tag = "2")]
Signal(i32),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct KeepAlive {}
#[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(message, optional, tag = "6")]
pub limits: ::core::option::Option<ResourceLimits>,
#[prost(string, repeated, tag = "8")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "20")]
pub no_default_cmd: bool,
#[prost(map = "string, string", tag = "9")]
pub env:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bool, tag = "21")]
pub no_default_env: bool,
#[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>,
#[prost(string, tag = "17")]
pub template: ::prost::alloc::string::String,
#[prost(uint32, tag = "18")]
pub idle_timeout_seconds: u32,
#[prost(enumeration = "IdleAction", tag = "19")]
pub on_idle: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::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(enumeration = "SandboxState", tag = "3")]
pub state: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StopSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub timeout_seconds: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoveSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub force: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PauseSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResumeSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLifecycleRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, optional, tag = "2")]
pub ttl_seconds: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "3")]
pub idle_timeout_seconds: ::core::option::Option<u32>,
#[prost(enumeration = "IdleAction", optional, tag = "4")]
pub on_idle: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCapabilitiesRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCapabilitiesResponse {
#[prost(string, tag = "1")]
pub daemon_version: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub protocol: u32,
#[prost(string, repeated, tag = "3")]
pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub nested_virt: ::core::option::Option<NestedVirtCapability>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NestedVirtCapability {
#[prost(bool, tag = "1")]
pub supported: bool,
#[prost(string, tag = "2")]
pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InspectSandboxRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxInfo {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "SandboxState", tag = "2")]
pub state: i32,
#[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(message, optional, tag = "6")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub ready_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub last_exited_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "9")]
pub last_exit_status: ::core::option::Option<ExitStatus>,
#[prost(string, tag = "10")]
pub error: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub template: ::prost::alloc::string::String,
#[prost(message, optional, tag = "12")]
pub ttl_deadline: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "13")]
pub idle_timeout_seconds: u32,
#[prost(enumeration = "IdleAction", tag = "14")]
pub on_idle: i32,
#[prost(message, optional, tag = "15")]
pub paused_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "16")]
pub failed_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint64, tag = "17")]
pub storage_bytes: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::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,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSandboxesRequest {
#[prost(enumeration = "SandboxState", tag = "1")]
pub state: i32,
#[prost(map = "string, string", tag = "2")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(uint32, tag = "3")]
pub page_size: u32,
#[prost(string, tag = "4")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSandboxesResponse {
#[prost(message, repeated, tag = "1")]
pub sandboxes: ::prost::alloc::vec::Vec<SandboxSummary>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxSummary {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "SandboxState", tag = "2")]
pub state: i32,
#[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(message, optional, tag = "5")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "6")]
pub ready_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub paused_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub failed_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint64, tag = "9")]
pub storage_bytes: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SandboxEventsRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(enumeration = "SandboxEventKind", tag = "2")]
pub kind: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WatchEventsResponse {
#[prost(oneof = "watch_events_response::Payload", tags = "1, 2")]
pub payload: ::core::option::Option<watch_events_response::Payload>,
}
pub mod watch_events_response {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Payload {
#[prost(message, tag = "1")]
Event(super::SandboxEvent),
#[prost(message, tag = "2")]
KeepAlive(super::KeepAlive),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SandboxEvent {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(enumeration = "SandboxEventKind", tag = "2")]
pub kind: i32,
#[prost(message, optional, tag = "3")]
pub time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub attributes:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExposePortRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub sandbox_port: u32,
#[prost(uint32, tag = "3")]
pub host_port: u32,
#[prost(enumeration = "PortProtocol", tag = "4")]
pub protocol: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExposePortResponse {
#[prost(uint32, tag = "1")]
pub host_port: u32,
#[prost(uint32, tag = "2")]
pub guest_port: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnexposePortRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub sandbox_port: u32,
#[prost(enumeration = "PortProtocol", tag = "3")]
pub protocol: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SandboxState {
Unspecified = 0,
Starting = 1,
Ready = 2,
Running = 3,
Stopping = 4,
Stopped = 5,
Failed = 6,
Pausing = 7,
Paused = 8,
}
impl SandboxState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SANDBOX_STATE_UNSPECIFIED",
Self::Starting => "SANDBOX_STATE_STARTING",
Self::Ready => "SANDBOX_STATE_READY",
Self::Running => "SANDBOX_STATE_RUNNING",
Self::Stopping => "SANDBOX_STATE_STOPPING",
Self::Stopped => "SANDBOX_STATE_STOPPED",
Self::Failed => "SANDBOX_STATE_FAILED",
Self::Pausing => "SANDBOX_STATE_PAUSING",
Self::Paused => "SANDBOX_STATE_PAUSED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SANDBOX_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"SANDBOX_STATE_STARTING" => Some(Self::Starting),
"SANDBOX_STATE_READY" => Some(Self::Ready),
"SANDBOX_STATE_RUNNING" => Some(Self::Running),
"SANDBOX_STATE_STOPPING" => Some(Self::Stopping),
"SANDBOX_STATE_STOPPED" => Some(Self::Stopped),
"SANDBOX_STATE_FAILED" => Some(Self::Failed),
"SANDBOX_STATE_PAUSING" => Some(Self::Pausing),
"SANDBOX_STATE_PAUSED" => Some(Self::Paused),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SandboxEventKind {
Unspecified = 0,
Created = 1,
Ready = 2,
Running = 3,
Idle = 4,
Stopping = 5,
Stopped = 6,
Failed = 7,
Removed = 8,
Pausing = 9,
Paused = 10,
Resumed = 11,
}
impl SandboxEventKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SANDBOX_EVENT_KIND_UNSPECIFIED",
Self::Created => "SANDBOX_EVENT_KIND_CREATED",
Self::Ready => "SANDBOX_EVENT_KIND_READY",
Self::Running => "SANDBOX_EVENT_KIND_RUNNING",
Self::Idle => "SANDBOX_EVENT_KIND_IDLE",
Self::Stopping => "SANDBOX_EVENT_KIND_STOPPING",
Self::Stopped => "SANDBOX_EVENT_KIND_STOPPED",
Self::Failed => "SANDBOX_EVENT_KIND_FAILED",
Self::Removed => "SANDBOX_EVENT_KIND_REMOVED",
Self::Pausing => "SANDBOX_EVENT_KIND_PAUSING",
Self::Paused => "SANDBOX_EVENT_KIND_PAUSED",
Self::Resumed => "SANDBOX_EVENT_KIND_RESUMED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SANDBOX_EVENT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"SANDBOX_EVENT_KIND_CREATED" => Some(Self::Created),
"SANDBOX_EVENT_KIND_READY" => Some(Self::Ready),
"SANDBOX_EVENT_KIND_RUNNING" => Some(Self::Running),
"SANDBOX_EVENT_KIND_IDLE" => Some(Self::Idle),
"SANDBOX_EVENT_KIND_STOPPING" => Some(Self::Stopping),
"SANDBOX_EVENT_KIND_STOPPED" => Some(Self::Stopped),
"SANDBOX_EVENT_KIND_FAILED" => Some(Self::Failed),
"SANDBOX_EVENT_KIND_REMOVED" => Some(Self::Removed),
"SANDBOX_EVENT_KIND_PAUSING" => Some(Self::Pausing),
"SANDBOX_EVENT_KIND_PAUSED" => Some(Self::Paused),
"SANDBOX_EVENT_KIND_RESUMED" => Some(Self::Resumed),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IdleAction {
Unspecified = 0,
Kill = 1,
Pause = 2,
}
impl IdleAction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "IDLE_ACTION_UNSPECIFIED",
Self::Kill => "IDLE_ACTION_KILL",
Self::Pause => "IDLE_ACTION_PAUSE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"IDLE_ACTION_UNSPECIFIED" => Some(Self::Unspecified),
"IDLE_ACTION_KILL" => Some(Self::Kill),
"IDLE_ACTION_PAUSE" => Some(Self::Pause),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NetworkMode {
Unspecified = 0,
Enabled = 1,
None = 2,
}
impl NetworkMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NETWORK_MODE_UNSPECIFIED",
Self::Enabled => "NETWORK_MODE_ENABLED",
Self::None => "NETWORK_MODE_NONE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NETWORK_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"NETWORK_MODE_ENABLED" => Some(Self::Enabled),
"NETWORK_MODE_NONE" => Some(Self::None),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PortProtocol {
Unspecified = 0,
Tcp = 1,
Udp = 2,
}
impl PortProtocol {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PORT_PROTOCOL_UNSPECIFIED",
Self::Tcp => "PORT_PROTOCOL_TCP",
Self::Udp => "PORT_PROTOCOL_UDP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PORT_PROTOCOL_UNSPECIFIED" => Some(Self::Unspecified),
"PORT_PROTOCOL_TCP" => Some(Self::Tcp),
"PORT_PROTOCOL_UDP" => Some(Self::Udp),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TerminalSize {
#[prost(uint32, tag = "1")]
pub width: u32,
#[prost(uint32, tag = "2")]
pub height: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Execution {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(enumeration = "ExecutionState", tag = "3")]
pub state: i32,
#[prost(bool, tag = "4")]
pub tty: bool,
#[prost(message, optional, tag = "5")]
pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "6")]
pub exited_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub exit_status: ::core::option::Option<ExitStatus>,
#[prost(string, tag = "8")]
pub error: ::prost::alloc::string::String,
#[prost(uint64, tag = "9")]
pub stdout_len: u64,
#[prost(uint64, tag = "10")]
pub stderr_len: u64,
#[prost(message, optional, tag = "11")]
pub stdin: ::core::option::Option<StdinStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartExecutionRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "4")]
pub env:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub working_dir: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub user: ::prost::alloc::string::String,
#[prost(bool, tag = "7")]
pub tty: bool,
#[prost(message, optional, tag = "8")]
pub tty_size: ::core::option::Option<TerminalSize>,
#[prost(uint32, tag = "9")]
pub timeout_seconds: u32,
#[prost(bool, tag = "10")]
pub stdin: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AttachExecutionRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub stdout_offset: u64,
#[prost(uint64, tag = "4")]
pub stderr_offset: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionEvent {
#[prost(oneof = "execution_event::Event", tags = "1, 2, 3, 4")]
pub event: ::core::option::Option<execution_event::Event>,
}
pub mod execution_event {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Event {
#[prost(message, tag = "1")]
Started(super::ExecutionStarted),
#[prost(message, tag = "2")]
Output(super::ExecutionOutput),
#[prost(message, tag = "3")]
Exited(super::ExecutionExited),
#[prost(message, tag = "4")]
KeepAlive(super::KeepAlive),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionStarted {
#[prost(message, optional, tag = "1")]
pub execution: ::core::option::Option<Execution>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionOutput {
#[prost(enumeration = "StdioChannel", tag = "1")]
pub channel: i32,
#[prost(uint64, tag = "2")]
pub offset: u64,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionExited {
#[prost(message, optional, tag = "1")]
pub execution: ::core::option::Option<Execution>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WriteStdinRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub offset: u64,
#[prost(bytes = "vec", tag = "4")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "5")]
pub eof: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StdinStatus {
#[prost(uint64, tag = "1")]
pub bytes_written: u64,
#[prost(bool, tag = "2")]
pub closed: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetStdinStatusRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SignalExecutionRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(enumeration = "Signal", tag = "3")]
pub signal: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResizeExecutionTtyRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub size: ::core::option::Option<TerminalSize>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WaitExecutionRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub execution_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub timeout_seconds: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListExecutionsRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListExecutionsResponse {
#[prost(message, repeated, tag = "1")]
pub executions: ::prost::alloc::vec::Vec<Execution>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WaitForPortRequest {
#[prost(string, tag = "1")]
pub sandbox_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(uint32, tag = "3")]
pub timeout_seconds: u32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExecutionState {
Unspecified = 0,
Running = 1,
Exited = 2,
}
impl ExecutionState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "EXECUTION_STATE_UNSPECIFIED",
Self::Running => "EXECUTION_STATE_RUNNING",
Self::Exited => "EXECUTION_STATE_EXITED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EXECUTION_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"EXECUTION_STATE_RUNNING" => Some(Self::Running),
"EXECUTION_STATE_EXITED" => Some(Self::Exited),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StdioChannel {
Unspecified = 0,
Stdout = 1,
Stderr = 2,
Pty = 3,
}
impl StdioChannel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STDIO_CHANNEL_UNSPECIFIED",
Self::Stdout => "STDIO_CHANNEL_STDOUT",
Self::Stderr => "STDIO_CHANNEL_STDERR",
Self::Pty => "STDIO_CHANNEL_PTY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STDIO_CHANNEL_UNSPECIFIED" => Some(Self::Unspecified),
"STDIO_CHANNEL_STDOUT" => Some(Self::Stdout),
"STDIO_CHANNEL_STDERR" => Some(Self::Stderr),
"STDIO_CHANNEL_PTY" => Some(Self::Pty),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Signal {
Unspecified = 0,
Sighup = 1,
Sigint = 2,
Sigquit = 3,
Sigkill = 9,
Sigusr1 = 10,
Sigusr2 = 12,
Sigterm = 15,
}
impl Signal {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SIGNAL_UNSPECIFIED",
Self::Sighup => "SIGNAL_SIGHUP",
Self::Sigint => "SIGNAL_SIGINT",
Self::Sigquit => "SIGNAL_SIGQUIT",
Self::Sigkill => "SIGNAL_SIGKILL",
Self::Sigusr1 => "SIGNAL_SIGUSR1",
Self::Sigusr2 => "SIGNAL_SIGUSR2",
Self::Sigterm => "SIGNAL_SIGTERM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIGNAL_UNSPECIFIED" => Some(Self::Unspecified),
"SIGNAL_SIGHUP" => Some(Self::Sighup),
"SIGNAL_SIGINT" => Some(Self::Sigint),
"SIGNAL_SIGQUIT" => Some(Self::Sigquit),
"SIGNAL_SIGKILL" => Some(Self::Sigkill),
"SIGNAL_SIGUSR1" => Some(Self::Sigusr1),
"SIGNAL_SIGUSR2" => Some(Self::Sigusr2),
"SIGNAL_SIGTERM" => Some(Self::Sigterm),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReadFileRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FileChunk {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "2")]
pub done: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WriteFileOpen {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub mode: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WriteFileRequest {
#[prost(oneof = "write_file_request::Payload", tags = "1, 2")]
pub payload: ::core::option::Option<write_file_request::Payload>,
}
pub mod write_file_request {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Payload {
#[prost(message, tag = "1")]
Open(super::WriteFileOpen),
#[prost(message, tag = "2")]
Chunk(super::FileChunk),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FileStat {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "FileKind", tag = "2")]
pub kind: i32,
#[prost(uint64, tag = "3")]
pub size: u64,
#[prost(uint32, tag = "4")]
pub mode: u32,
#[prost(message, optional, tag = "5")]
pub modified_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "6")]
pub uid: u32,
#[prost(uint32, tag = "7")]
pub gid: u32,
#[prost(string, tag = "8")]
pub symlink_target: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StatFileRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListDirRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDirResponse {
#[prost(message, repeated, tag = "1")]
pub entries: ::prost::alloc::vec::Vec<FileStat>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MakeDirRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub mode: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoveEntryRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub recursive: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MoveEntryRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub from_path: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub to_path: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WatchDirRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub recursive: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FsEvent {
#[prost(enumeration = "FsEventKind", tag = "1")]
pub kind: i32,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub renamed_to: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WatchDirResponse {
#[prost(oneof = "watch_dir_response::Payload", tags = "1, 2")]
pub payload: ::core::option::Option<watch_dir_response::Payload>,
}
pub mod watch_dir_response {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Payload {
#[prost(message, tag = "1")]
Event(super::FsEvent),
#[prost(message, tag = "2")]
KeepAlive(super::KeepAlive),
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FileKind {
Unspecified = 0,
File = 1,
Directory = 2,
Symlink = 3,
Other = 4,
}
impl FileKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FILE_KIND_UNSPECIFIED",
Self::File => "FILE_KIND_FILE",
Self::Directory => "FILE_KIND_DIRECTORY",
Self::Symlink => "FILE_KIND_SYMLINK",
Self::Other => "FILE_KIND_OTHER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FILE_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"FILE_KIND_FILE" => Some(Self::File),
"FILE_KIND_DIRECTORY" => Some(Self::Directory),
"FILE_KIND_SYMLINK" => Some(Self::Symlink),
"FILE_KIND_OTHER" => Some(Self::Other),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FsEventKind {
Unspecified = 0,
Created = 1,
Modified = 2,
Removed = 3,
Renamed = 4,
}
impl FsEventKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FS_EVENT_KIND_UNSPECIFIED",
Self::Created => "FS_EVENT_KIND_CREATED",
Self::Modified => "FS_EVENT_KIND_MODIFIED",
Self::Removed => "FS_EVENT_KIND_REMOVED",
Self::Renamed => "FS_EVENT_KIND_RENAMED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FS_EVENT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"FS_EVENT_KIND_CREATED" => Some(Self::Created),
"FS_EVENT_KIND_MODIFIED" => Some(Self::Modified),
"FS_EVENT_KIND_REMOVED" => Some(Self::Removed),
"FS_EVENT_KIND_RENAMED" => Some(Self::Renamed),
_ => None,
}
}
}
#[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(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CheckpointResponse {
#[prost(string, tag = "1")]
pub snapshot_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[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(Clone, PartialEq, Eq, Hash, ::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(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>,
#[prost(uint32, tag = "3")]
pub page_size: u32,
#[prost(string, tag = "4")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSnapshotsResponse {
#[prost(message, repeated, tag = "1")]
pub snapshots: ::prost::alloc::vec::Vec<SnapshotSummary>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[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(message, optional, tag = "6")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSnapshotRequest {
#[prost(string, tag = "1")]
pub snapshot_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Template {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub digest: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub rootfs_ref: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub warm_snapshot_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub defaults: ::core::option::Option<TemplateDefaults>,
#[prost(message, optional, tag = "7")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "8")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(uint64, tag = "9")]
pub size_bytes: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TemplateDefaults {
#[prost(message, optional, tag = "1")]
pub limits: ::core::option::Option<ResourceLimits>,
#[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(uint32, repeated, tag = "4")]
pub exposed_ports: ::prost::alloc::vec::Vec<u32>,
#[prost(message, optional, tag = "5")]
pub ready_probe: ::core::option::Option<ReadyProbe>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReadyProbe {
#[prost(uint32, tag = "3")]
pub timeout_seconds: u32,
#[prost(oneof = "ready_probe::Probe", tags = "1, 2")]
pub probe: ::core::option::Option<ready_probe::Probe>,
}
pub mod ready_probe {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Probe {
#[prost(uint32, tag = "1")]
Port(u32),
#[prost(message, tag = "2")]
Command(super::CommandProbe),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CommandProbe {
#[prost(string, repeated, tag = "1")]
pub cmd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuildTemplateRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub defaults: ::core::option::Option<TemplateDefaults>,
#[prost(map = "string, string", tag = "6")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bool, tag = "7")]
pub prewarm: bool,
#[prost(oneof = "build_template_request::Source", tags = "2, 3, 4")]
pub source: ::core::option::Option<build_template_request::Source>,
}
pub mod build_template_request {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Source {
#[prost(string, tag = "2")]
DockerRef(::prost::alloc::string::String),
#[prost(string, tag = "3")]
Dockerfile(::prost::alloc::string::String),
#[prost(string, tag = "4")]
SnapshotId(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PublishTemplateRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTemplateRequest {
#[prost(string, tag = "1")]
pub reference: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListTemplatesRequest {
#[prost(map = "string, string", tag = "1")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(uint32, tag = "2")]
pub page_size: u32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListTemplatesResponse {
#[prost(message, repeated, tag = "1")]
pub templates: ::prost::alloc::vec::Vec<Template>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteTemplateRequest {
#[prost(string, tag = "1")]
pub reference: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ErrorInfo {
#[prost(enumeration = "ErrorCode", tag = "1")]
pub code: i32,
#[prost(string, tag = "2")]
pub suggestion: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub context:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ErrorCode {
Unspecified = 0,
SandboxNotFound = 1,
TemplateNotFound = 2,
ExecutionNotFound = 3,
FileNotFound = 4,
SandboxPaused = 5,
SandboxNotReady = 6,
SandboxFailed = 7,
TtlExpired = 8,
CommandTimeout = 9,
NestedVirtUnsupported = 10,
TemplateInvalid = 11,
FileTooLarge = 12,
StdinClosed = 13,
TtyRequired = 14,
PortInUse = 15,
AuthRequired = 16,
ProtocolMismatch = 17,
ResourceExhaustedHost = 18,
}
impl ErrorCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ERROR_CODE_UNSPECIFIED",
Self::SandboxNotFound => "ERROR_CODE_SANDBOX_NOT_FOUND",
Self::TemplateNotFound => "ERROR_CODE_TEMPLATE_NOT_FOUND",
Self::ExecutionNotFound => "ERROR_CODE_EXECUTION_NOT_FOUND",
Self::FileNotFound => "ERROR_CODE_FILE_NOT_FOUND",
Self::SandboxPaused => "ERROR_CODE_SANDBOX_PAUSED",
Self::SandboxNotReady => "ERROR_CODE_SANDBOX_NOT_READY",
Self::SandboxFailed => "ERROR_CODE_SANDBOX_FAILED",
Self::TtlExpired => "ERROR_CODE_TTL_EXPIRED",
Self::CommandTimeout => "ERROR_CODE_COMMAND_TIMEOUT",
Self::NestedVirtUnsupported => "ERROR_CODE_NESTED_VIRT_UNSUPPORTED",
Self::TemplateInvalid => "ERROR_CODE_TEMPLATE_INVALID",
Self::FileTooLarge => "ERROR_CODE_FILE_TOO_LARGE",
Self::StdinClosed => "ERROR_CODE_STDIN_CLOSED",
Self::TtyRequired => "ERROR_CODE_TTY_REQUIRED",
Self::PortInUse => "ERROR_CODE_PORT_IN_USE",
Self::AuthRequired => "ERROR_CODE_AUTH_REQUIRED",
Self::ProtocolMismatch => "ERROR_CODE_PROTOCOL_MISMATCH",
Self::ResourceExhaustedHost => "ERROR_CODE_RESOURCE_EXHAUSTED_HOST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ERROR_CODE_UNSPECIFIED" => Some(Self::Unspecified),
"ERROR_CODE_SANDBOX_NOT_FOUND" => Some(Self::SandboxNotFound),
"ERROR_CODE_TEMPLATE_NOT_FOUND" => Some(Self::TemplateNotFound),
"ERROR_CODE_EXECUTION_NOT_FOUND" => Some(Self::ExecutionNotFound),
"ERROR_CODE_FILE_NOT_FOUND" => Some(Self::FileNotFound),
"ERROR_CODE_SANDBOX_PAUSED" => Some(Self::SandboxPaused),
"ERROR_CODE_SANDBOX_NOT_READY" => Some(Self::SandboxNotReady),
"ERROR_CODE_SANDBOX_FAILED" => Some(Self::SandboxFailed),
"ERROR_CODE_TTL_EXPIRED" => Some(Self::TtlExpired),
"ERROR_CODE_COMMAND_TIMEOUT" => Some(Self::CommandTimeout),
"ERROR_CODE_NESTED_VIRT_UNSUPPORTED" => Some(Self::NestedVirtUnsupported),
"ERROR_CODE_TEMPLATE_INVALID" => Some(Self::TemplateInvalid),
"ERROR_CODE_FILE_TOO_LARGE" => Some(Self::FileTooLarge),
"ERROR_CODE_STDIN_CLOSED" => Some(Self::StdinClosed),
"ERROR_CODE_TTY_REQUIRED" => Some(Self::TtyRequired),
"ERROR_CODE_PORT_IN_USE" => Some(Self::PortInUse),
"ERROR_CODE_AUTH_REQUIRED" => Some(Self::AuthRequired),
"ERROR_CODE_PROTOCOL_MISMATCH" => Some(Self::ProtocolMismatch),
"ERROR_CODE_RESOURCE_EXHAUSTED_HOST" => Some(Self::ResourceExhaustedHost),
_ => None,
}
}
}