123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- // Copyright 2018 The Grafeas Authors. All rights reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package grafeas.v1beta1.package;
- option go_package = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1/package";
- option java_multiple_files = true;
- option java_package = "io.grafeas.v1beta1.pkg";
- option objc_class_prefix = "GRA";
- // Instruction set architectures supported by various package managers.
- enum Architecture {
- // Unknown architecture.
- ARCHITECTURE_UNSPECIFIED = 0;
- // X86 architecture.
- X86 = 1;
- // X64 architecture.
- X64 = 2;
- }
- // This represents a particular channel of distribution for a given package.
- // E.g., Debian's jessie-backports dpkg mirror.
- message Distribution {
- // Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
- // denoting the package manager version distributing a package.
- string cpe_uri = 1;
- // The CPU architecture for which packages in this distribution channel were
- // built.
- Architecture architecture = 2;
- // The latest available version of this package in this distribution channel.
- Version latest_version = 3;
- // A freeform string denoting the maintainer of this package.
- string maintainer = 4;
- // The distribution channel-specific homepage for this package.
- string url = 5;
- // The distribution channel-specific description of this package.
- string description = 6;
- }
- // An occurrence of a particular package installation found within a system's
- // filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
- message Location {
- // Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
- // denoting the package manager version distributing a package.
- string cpe_uri = 1;
- // The version installed at this location.
- Version version = 2;
- // The path from which we gathered that this package/version is installed.
- string path = 3;
- }
- // This represents a particular package that is distributed over various
- // channels. E.g., glibc (aka libc6) is distributed by many, at various
- // versions.
- message Package {
- // Required. Immutable. The name of the package.
- string name = 1;
- // The various channels by which a package is distributed.
- repeated Distribution distribution = 10;
- }
- // Details of a package occurrence.
- message Details {
- // Required. Where the package was installed.
- Installation installation = 1;
- }
- // This represents how a particular software package may be installed on a
- // system.
- message Installation {
- // Output only. The name of the installed package.
- string name = 1;
- // Required. All of the places within the filesystem versions of this package
- // have been found.
- repeated Location location = 2;
- }
- // Version contains structured information about the version of a package.
- message Version {
- // Used to correct mistakes in the version numbering scheme.
- int32 epoch = 1;
- // Required only when version kind is NORMAL. The main part of the version
- // name.
- string name = 2;
- // The iteration of the package build from the above version.
- string revision = 3;
- // Whether this is an ordinary package version or a sentinel MIN/MAX version.
- enum VersionKind {
- // Unknown.
- VERSION_KIND_UNSPECIFIED = 0;
- // A standard package version.
- NORMAL = 1;
- // A special version representing negative infinity.
- MINIMUM = 2;
- // A special version representing positive infinity.
- MAXIMUM = 3;
- };
- // Required. Distinguishes between sentinel MIN/MAX versions and normal
- // versions.
- VersionKind kind = 4;
- }
|