/// Layer holds metadata specific to a layer of a Docker image.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Layer {
/// Required. The recovered Dockerfile directive used to construct this layer.
#[prost(enumeration = "layer::Directive", tag = "1")]
pub directive: i32,
/// The recovered arguments to the Dockerfile directive.
#[prost(string, tag = "2")]
pub arguments: ::prost::alloc::string::String,
}
/// Nested message and enum types in `Layer`.
pub mod layer {
/// Instructions from Dockerfile.
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Directive {
/// Default value for unsupported/missing directive.
Unspecified = 0,
///
Maintainer = 1,
///
Run = 2,
///
Cmd = 3,
///
Label = 4,
///
Expose = 5,
///
Env = 6,
///
Add = 7,
///
Copy = 8,
///
Entrypoint = 9,
///
Volume = 10,
///
User = 11,
///
Workdir = 12,
///
Arg = 13,
///
Onbuild = 14,
///
Stopsignal = 15,
///
Healthcheck = 16,
///
Shell = 17,
}
}
/// A set of properties that uniquely identify a given Docker image.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fingerprint {
/// Required. The layer ID of the final layer in the Docker image's v1
/// representation.
#[prost(string, tag = "1")]
pub v1_name: ::prost::alloc::string::String,
/// Required. The ordered list of v2 blobs that represent a given image.
#[prost(string, repeated, tag = "2")]
pub v2_blob: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
/// Output only. The name of the image's v2 blobs computed via:
/// \[bottom\] := v2_blob\[bottom\]
/// \[N\] := sha256(v2_blob\[N\] + " " + v2_name\[N+1\])
/// Only the name of the final blob is kept.
#[prost(string, tag = "3")]
pub v2_name: ::prost::alloc::string::String,
}
/// Basis describes the base image portion (Note) of the DockerImage
/// relationship. Linked occurrences are derived from this or an
/// equivalent image via:
/// FROM
/// Or an equivalent reference, e.g. a tag of the resource_url.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Basis {
/// Required. Immutable. The resource_url for the resource representing the
/// basis of associated occurrence images.
#[prost(string, tag = "1")]
pub resource_url: ::prost::alloc::string::String,
/// Required. Immutable. The fingerprint of the base image.
#[prost(message, optional, tag = "2")]
pub fingerprint: ::core::option::Option,
}
/// Details of an image occurrence.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Details {
/// Required. Immutable. The child image derived from the base image.
#[prost(message, optional, tag = "1")]
pub derived_image: ::core::option::Option,
}
/// Derived describes the derived image portion (Occurrence) of the DockerImage
/// relationship. This image would be produced from a Dockerfile with FROM
/// .
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Derived {
/// Required. The fingerprint of the derived image.
#[prost(message, optional, tag = "1")]
pub fingerprint: ::core::option::Option,
/// Output only. The number of layers by which this image differs from the
/// associated image basis.
#[prost(int32, tag = "2")]
pub distance: i32,
/// This contains layer-specific metadata, if populated it has length
/// "distance" and is ordered with \[distance\] being the layer immediately
/// following the base image and \[1\] being the final layer.
#[prost(message, repeated, tag = "3")]
pub layer_info: ::prost::alloc::vec::Vec,
/// Output only. This contains the base image URL for the derived image
/// occurrence.
#[prost(string, tag = "4")]
pub base_resource_url: ::prost::alloc::string::String,
}