// @generated
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hello {
    #[prost(uint32, tag = "1")]
    pub protocol_version: u32,
    #[prost(string, tag = "2")]
    pub agent_version: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub boot_id: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub nix_version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Init {
    #[prost(string, tag = "1")]
    pub job_id: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "2")]
    pub cache_trusted_public_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "3")]
    pub cache_read_proxy_port: u32,
    #[prost(uint32, tag = "4")]
    pub cache_upload_proxy_port: u32,
    #[prost(uint32, tag = "5")]
    pub dns_proxy_port: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecStart {
    #[prost(string, repeated, tag = "1")]
    pub argv: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "2")]
    pub env: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "3")]
    pub cwd: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub user: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub timeout_seconds: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecStdout {
    #[prost(string, tag = "1")]
    pub data: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecStderr {
    #[prost(string, tag = "1")]
    pub data: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecExit {
    #[prost(int32, tag = "1")]
    pub exit_code: i32,
    #[prost(string, tag = "2")]
    pub error: ::prost::alloc::string::String,
    /// set when the guest killed the step on its own timeout timer, so the host
    /// can classify it as a timeout rather than inferring failure from exit_code.
    #[prost(bool, tag = "3")]
    pub timed_out: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActivateConfig {
    #[prost(string, tag = "1")]
    pub config_key: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub base_config_hash: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub user_config: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub toplevel: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub timeout_seconds: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActivateConfigResult {
    #[prost(string, tag = "1")]
    pub config_key: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub toplevel: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub error: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuiltPaths {
    #[prost(string, repeated, tag = "1")]
    pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "2")]
    pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CacheDrain {
    #[prost(uint32, tag = "1")]
    pub timeout_seconds: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CacheDrainResult {
    #[prost(string, tag = "1")]
    pub error: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub cache_queued: u32,
    #[prost(uint32, tag = "3")]
    pub cache_active: u32,
    #[prost(uint32, tag = "4")]
    pub cache_uploaded: u32,
    #[prost(uint32, tag = "5")]
    pub cache_failed: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Poweroff {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PoweroffResult {
    #[prost(string, tag = "1")]
    pub error: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Message {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub hello: ::core::option::Option<Hello>,
    #[prost(message, optional, tag = "3")]
    pub init: ::core::option::Option<Init>,
    #[prost(message, optional, tag = "4")]
    pub exec_start: ::core::option::Option<ExecStart>,
    #[prost(message, optional, tag = "5")]
    pub exec_stdout: ::core::option::Option<ExecStdout>,
    #[prost(message, optional, tag = "6")]
    pub exec_stderr: ::core::option::Option<ExecStderr>,
    #[prost(message, optional, tag = "7")]
    pub exec_exit: ::core::option::Option<ExecExit>,
    #[prost(message, optional, tag = "8")]
    pub activate_config: ::core::option::Option<ActivateConfig>,
    #[prost(message, optional, tag = "9")]
    pub activate_config_result: ::core::option::Option<ActivateConfigResult>,
    #[prost(message, optional, tag = "10")]
    pub built_paths: ::core::option::Option<BuiltPaths>,
    #[prost(message, optional, tag = "11")]
    pub cache_drain: ::core::option::Option<CacheDrain>,
    #[prost(message, optional, tag = "12")]
    pub cache_drain_result: ::core::option::Option<CacheDrainResult>,
    #[prost(message, optional, tag = "13")]
    pub poweroff: ::core::option::Option<Poweroff>,
    #[prost(message, optional, tag = "14")]
    pub poweroff_result: ::core::option::Option<PoweroffResult>,
}
// @@protoc_insertion_point(module)
