#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Op {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<Input>,
#[prost(message, optional, tag = "10")]
pub platform: ::core::option::Option<Platform>,
#[prost(message, optional, tag = "11")]
pub constraints: ::core::option::Option<WorkerConstraints>,
#[prost(oneof = "op::Op", tags = "2, 3, 4, 5, 6, 7")]
pub op: ::core::option::Option<op::Op>,
}
pub mod op {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Op {
#[prost(message, tag = "2")]
Exec(super::ExecOp),
#[prost(message, tag = "3")]
Source(super::SourceOp),
#[prost(message, tag = "4")]
File(super::FileOp),
#[prost(message, tag = "5")]
Build(super::BuildOp),
#[prost(message, tag = "6")]
Merge(super::MergeOp),
#[prost(message, tag = "7")]
Diff(super::DiffOp),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Platform {
#[prost(string, tag = "1")]
pub architecture: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub os: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub variant: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub os_version: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "5")]
pub os_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Input {
#[prost(string, tag = "1")]
pub digest: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub index: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecOp {
#[prost(message, optional, tag = "1")]
pub meta: ::core::option::Option<Meta>,
#[prost(message, repeated, tag = "2")]
pub mounts: ::prost::alloc::vec::Vec<Mount>,
#[prost(enumeration = "NetMode", tag = "3")]
pub network: i32,
#[prost(enumeration = "SecurityMode", tag = "4")]
pub security: i32,
#[prost(message, repeated, tag = "5")]
pub secretenv: ::prost::alloc::vec::Vec<SecretEnv>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meta {
#[prost(string, repeated, tag = "1")]
pub args: ::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(message, optional, tag = "5")]
pub proxy_env: ::core::option::Option<ProxyEnv>,
#[prost(message, repeated, tag = "6")]
pub extra_hosts: ::prost::alloc::vec::Vec<HostIp>,
#[prost(string, tag = "7")]
pub hostname: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "9")]
pub ulimit: ::prost::alloc::vec::Vec<Ulimit>,
#[prost(string, tag = "10")]
pub cgroup_parent: ::prost::alloc::string::String,
#[prost(bool, tag = "11")]
pub remove_mount_stubs_recursive: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HostIp {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ulimit {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub soft: i64,
#[prost(int64, tag = "3")]
pub hard: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecretEnv {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub optional: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mount {
#[prost(int64, tag = "1")]
pub input: i64,
#[prost(string, tag = "2")]
pub selector: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub dest: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub output: i64,
#[prost(bool, tag = "5")]
pub readonly: bool,
#[prost(enumeration = "MountType", tag = "6")]
pub mount_type: i32,
#[prost(message, optional, tag = "19")]
pub tmpfs_opt: ::core::option::Option<TmpfsOpt>,
#[prost(message, optional, tag = "20")]
pub cache_opt: ::core::option::Option<CacheOpt>,
#[prost(message, optional, tag = "21")]
pub secret_opt: ::core::option::Option<SecretOpt>,
#[prost(message, optional, tag = "22")]
pub ssh_opt: ::core::option::Option<SshOpt>,
#[prost(string, tag = "23")]
pub result_id: ::prost::alloc::string::String,
#[prost(enumeration = "MountContentCache", tag = "24")]
pub content_cache: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TmpfsOpt {
#[prost(int64, tag = "1")]
pub size: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CacheOpt {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "CacheSharingOpt", tag = "2")]
pub sharing: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecretOpt {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub uid: u32,
#[prost(uint32, tag = "3")]
pub gid: u32,
#[prost(uint32, tag = "4")]
pub mode: u32,
#[prost(bool, tag = "5")]
pub optional: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SshOpt {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub uid: u32,
#[prost(uint32, tag = "3")]
pub gid: u32,
#[prost(uint32, tag = "4")]
pub mode: u32,
#[prost(bool, tag = "5")]
pub optional: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceOp {
#[prost(string, tag = "1")]
pub identifier: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub attrs: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuildOp {
#[prost(int64, tag = "1")]
pub builder: i64,
#[prost(map = "string, message", tag = "2")]
pub inputs: ::std::collections::HashMap<::prost::alloc::string::String, BuildInput>,
#[prost(message, optional, tag = "3")]
pub def: ::core::option::Option<Definition>,
#[prost(map = "string, string", tag = "4")]
pub attrs: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuildInput {
#[prost(int64, tag = "1")]
pub input: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpMetadata {
#[prost(bool, tag = "1")]
pub ignore_cache: bool,
#[prost(map = "string, string", tag = "2")]
pub description: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "4")]
pub export_cache: ::core::option::Option<ExportCache>,
#[prost(map = "string, bool", tag = "5")]
pub caps: ::std::collections::HashMap<::prost::alloc::string::String, bool>,
#[prost(message, optional, tag = "6")]
pub progress_group: ::core::option::Option<ProgressGroup>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Source {
#[prost(map = "string, message", tag = "1")]
pub locations: ::std::collections::HashMap<
::prost::alloc::string::String,
Locations,
>,
#[prost(message, repeated, tag = "2")]
pub infos: ::prost::alloc::vec::Vec<SourceInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Locations {
#[prost(message, repeated, tag = "1")]
pub locations: ::prost::alloc::vec::Vec<Location>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceInfo {
#[prost(string, tag = "1")]
pub filename: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub definition: ::core::option::Option<Definition>,
#[prost(string, tag = "4")]
pub language: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Location {
#[prost(int32, tag = "1")]
pub source_index: i32,
#[prost(message, repeated, tag = "2")]
pub ranges: ::prost::alloc::vec::Vec<Range>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Range {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<Position>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<Position>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Position {
#[prost(int32, tag = "1")]
pub line: i32,
#[prost(int32, tag = "2")]
pub character: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExportCache {
#[prost(bool, tag = "1")]
pub value: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProgressGroup {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub weak: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProxyEnv {
#[prost(string, tag = "1")]
pub http_proxy: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub https_proxy: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub ftp_proxy: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub no_proxy: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub all_proxy: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkerConstraints {
#[prost(string, repeated, tag = "1")]
pub filter: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Definition {
#[prost(bytes = "vec", repeated, tag = "1")]
pub def: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(map = "string, message", tag = "2")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
OpMetadata,
>,
#[prost(message, optional, tag = "3")]
pub source: ::core::option::Option<Source>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileOp {
#[prost(message, repeated, tag = "2")]
pub actions: ::prost::alloc::vec::Vec<FileAction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileAction {
#[prost(int64, tag = "1")]
pub input: i64,
#[prost(int64, tag = "2")]
pub secondary_input: i64,
#[prost(int64, tag = "3")]
pub output: i64,
#[prost(oneof = "file_action::Action", tags = "4, 5, 6, 7")]
pub action: ::core::option::Option<file_action::Action>,
}
pub mod file_action {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "4")]
Copy(super::FileActionCopy),
#[prost(message, tag = "5")]
Mkfile(super::FileActionMkFile),
#[prost(message, tag = "6")]
Mkdir(super::FileActionMkDir),
#[prost(message, tag = "7")]
Rm(super::FileActionRm),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileActionCopy {
#[prost(string, tag = "1")]
pub src: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub dest: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub owner: ::core::option::Option<ChownOpt>,
#[prost(int32, tag = "4")]
pub mode: i32,
#[prost(bool, tag = "5")]
pub follow_symlink: bool,
#[prost(bool, tag = "6")]
pub dir_copy_contents: bool,
#[prost(bool, tag = "7")]
pub attempt_unpack_docker_compatibility: bool,
#[prost(bool, tag = "8")]
pub create_dest_path: bool,
#[prost(bool, tag = "9")]
pub allow_wildcard: bool,
#[prost(bool, tag = "10")]
pub allow_empty_wildcard: bool,
#[prost(int64, tag = "11")]
pub timestamp: i64,
#[prost(string, repeated, tag = "12")]
pub include_patterns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "13")]
pub exclude_patterns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileActionMkFile {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub mode: i32,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "4")]
pub owner: ::core::option::Option<ChownOpt>,
#[prost(int64, tag = "5")]
pub timestamp: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileActionMkDir {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub mode: i32,
#[prost(bool, tag = "3")]
pub make_parents: bool,
#[prost(message, optional, tag = "4")]
pub owner: ::core::option::Option<ChownOpt>,
#[prost(int64, tag = "5")]
pub timestamp: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileActionRm {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub allow_not_found: bool,
#[prost(bool, tag = "3")]
pub allow_wildcard: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChownOpt {
#[prost(message, optional, tag = "1")]
pub user: ::core::option::Option<UserOpt>,
#[prost(message, optional, tag = "2")]
pub group: ::core::option::Option<UserOpt>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserOpt {
#[prost(oneof = "user_opt::User", tags = "1, 2")]
pub user: ::core::option::Option<user_opt::User>,
}
pub mod user_opt {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum User {
#[prost(message, tag = "1")]
ByName(super::NamedUserOpt),
#[prost(uint32, tag = "2")]
ById(u32),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedUserOpt {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub input: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeInput {
#[prost(int64, tag = "1")]
pub input: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeOp {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<MergeInput>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LowerDiffInput {
#[prost(int64, tag = "1")]
pub input: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpperDiffInput {
#[prost(int64, tag = "1")]
pub input: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiffOp {
#[prost(message, optional, tag = "1")]
pub lower: ::core::option::Option<LowerDiffInput>,
#[prost(message, optional, tag = "2")]
pub upper: ::core::option::Option<UpperDiffInput>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NetMode {
Unset = 0,
Host = 1,
None = 2,
}
impl NetMode {
pub fn as_str_name(&self) -> &'static str {
match self {
NetMode::Unset => "UNSET",
NetMode::Host => "HOST",
NetMode::None => "NONE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNSET" => Some(Self::Unset),
"HOST" => Some(Self::Host),
"NONE" => Some(Self::None),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecurityMode {
Sandbox = 0,
Insecure = 1,
}
impl SecurityMode {
pub fn as_str_name(&self) -> &'static str {
match self {
SecurityMode::Sandbox => "SANDBOX",
SecurityMode::Insecure => "INSECURE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SANDBOX" => Some(Self::Sandbox),
"INSECURE" => Some(Self::Insecure),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MountType {
Bind = 0,
Secret = 1,
Ssh = 2,
Cache = 3,
Tmpfs = 4,
}
impl MountType {
pub fn as_str_name(&self) -> &'static str {
match self {
MountType::Bind => "BIND",
MountType::Secret => "SECRET",
MountType::Ssh => "SSH",
MountType::Cache => "CACHE",
MountType::Tmpfs => "TMPFS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BIND" => Some(Self::Bind),
"SECRET" => Some(Self::Secret),
"SSH" => Some(Self::Ssh),
"CACHE" => Some(Self::Cache),
"TMPFS" => Some(Self::Tmpfs),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MountContentCache {
Default = 0,
On = 1,
Off = 2,
}
impl MountContentCache {
pub fn as_str_name(&self) -> &'static str {
match self {
MountContentCache::Default => "DEFAULT",
MountContentCache::On => "ON",
MountContentCache::Off => "OFF",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT" => Some(Self::Default),
"ON" => Some(Self::On),
"OFF" => Some(Self::Off),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CacheSharingOpt {
Shared = 0,
Private = 1,
Locked = 2,
}
impl CacheSharingOpt {
pub fn as_str_name(&self) -> &'static str {
match self {
CacheSharingOpt::Shared => "SHARED",
CacheSharingOpt::Private => "PRIVATE",
CacheSharingOpt::Locked => "LOCKED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SHARED" => Some(Self::Shared),
"PRIVATE" => Some(Self::Private),
"LOCKED" => Some(Self::Locked),
_ => None,
}
}
}