/// This represents a particular channel of distribution for a given package.
/// E.g., Debian's jessie-backports dpkg mirror.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Distribution {
/// Required. The cpe_uri in [CPE format]()
/// denoting the package manager version distributing a package.
#[prost(string, tag = "1")]
pub cpe_uri: ::prost::alloc::string::String,
/// The CPU architecture for which packages in this distribution channel were
/// built.
#[prost(enumeration = "Architecture", tag = "2")]
pub architecture: i32,
/// The latest available version of this package in this distribution channel.
#[prost(message, optional, tag = "3")]
pub latest_version: ::core::option::Option,
/// A freeform string denoting the maintainer of this package.
#[prost(string, tag = "4")]
pub maintainer: ::prost::alloc::string::String,
/// The distribution channel-specific homepage for this package.
#[prost(string, tag = "5")]
pub url: ::prost::alloc::string::String,
/// The distribution channel-specific description of this package.
#[prost(string, tag = "6")]
pub description: ::prost::alloc::string::String,
}
/// An occurrence of a particular package installation found within a system's
/// filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Location {
/// Required. The CPE URI in [CPE format]()
/// denoting the package manager version distributing a package.
#[prost(string, tag = "1")]
pub cpe_uri: ::prost::alloc::string::String,
/// The version installed at this location.
#[prost(message, optional, tag = "2")]
pub version: ::core::option::Option,
/// The path from which we gathered that this package/version is installed.
#[prost(string, tag = "3")]
pub path: ::prost::alloc::string::String,
}
/// This represents a particular package that is distributed over various
/// channels. E.g., glibc (aka libc6) is distributed by many, at various
/// versions.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Package {
/// Required. Immutable. The name of the package.
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
/// The various channels by which a package is distributed.
#[prost(message, repeated, tag = "10")]
pub distribution: ::prost::alloc::vec::Vec,
}
/// Details of a package occurrence.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Details {
/// Required. Where the package was installed.
#[prost(message, optional, tag = "1")]
pub installation: ::core::option::Option,
}
/// This represents how a particular software package may be installed on a
/// system.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Installation {
/// Output only. The name of the installed package.
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
/// Required. All of the places within the filesystem versions of this package
/// have been found.
#[prost(message, repeated, tag = "2")]
pub location: ::prost::alloc::vec::Vec,
}
/// Version contains structured information about the version of a package.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Version {
/// Used to correct mistakes in the version numbering scheme.
#[prost(int32, tag = "1")]
pub epoch: i32,
/// Required only when version kind is NORMAL. The main part of the version
/// name.
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
/// The iteration of the package build from the above version.
#[prost(string, tag = "3")]
pub revision: ::prost::alloc::string::String,
/// Required. Distinguishes between sentinel MIN/MAX versions and normal
/// versions.
#[prost(enumeration = "version::VersionKind", tag = "4")]
pub kind: i32,
}
/// Nested message and enum types in `Version`.
pub mod version {
/// Whether this is an ordinary package version or a sentinel MIN/MAX version.
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VersionKind {
/// Unknown.
Unspecified = 0,
/// A standard package version.
Normal = 1,
/// A special version representing negative infinity.
Minimum = 2,
/// A special version representing positive infinity.
Maximum = 3,
}
}
/// Instruction set architectures supported by various package managers.
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Architecture {
/// Unknown architecture.
Unspecified = 0,
/// X86 architecture.
X86 = 1,
/// X64 architecture.
X64 = 2,
}