Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / devtools / containeranalysis / v1alpha1 / bill_of_materials.proto
1 // Copyright 2018 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 syntax = "proto3";
16
17 package google.devtools.containeranalysis.v1alpha1;
18
19 import "google/api/annotations.proto";
20 import "google/devtools/containeranalysis/v1alpha1/package_vulnerability.proto";
21
22 option go_package = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1alpha1;containeranalysis";
23 option java_multiple_files = true;
24 option java_package = "com.google.containeranalysis.v1alpha1";
25 option objc_class_prefix = "GCA";
26
27 // PackageManager provides metadata about available / installed packages.
28 message PackageManager {
29   // This represents a particular channel of distribution for a given package.
30   // e.g. Debian's jessie-backports dpkg mirror
31   message Distribution {
32     // The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
33     // denoting the package manager version distributing a package.
34     string cpe_uri = 1;
35
36     // The CPU architecture for which packages in this distribution
37     // channel were built
38     Architecture architecture = 2;
39
40     // The latest available version of this package in
41     // this distribution channel.
42     VulnerabilityType.Version latest_version = 3;
43
44     // A freeform string denoting the maintainer of this package.
45     string maintainer = 4;
46
47     // The distribution channel-specific homepage for this package.
48     string url = 6;
49
50     // The distribution channel-specific description of this package.
51     string description = 7;
52   }
53
54   // An occurrence of a particular package installation found within a
55   // system's filesystem.
56   // e.g. glibc was found in /var/lib/dpkg/status
57   message Location {
58     // The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
59     // denoting the package manager version distributing a package.
60     string cpe_uri = 1;
61
62     // The version installed at this location.
63     VulnerabilityType.Version version = 2;
64
65     // The path from which we gathered that this package/version is installed.
66     string path = 3;
67   }
68
69   // This represents a particular package that is distributed over
70   // various channels.
71   // e.g. glibc (aka libc6) is distributed by many, at various versions.
72   message Package {
73     // The name of the package.
74     string name = 1;
75
76     // The various channels by which a package is distributed.
77     repeated Distribution distribution = 10;
78   }
79
80   // This represents how a particular software package may be installed on
81   // a system.
82   message Installation {
83     // Output only. The name of the installed package.
84     string name = 1;
85
86     // All of the places within the filesystem versions of this package
87     // have been found.
88     repeated Location location = 2;
89   }
90
91   // Instruction set architectures supported by various package managers.
92   enum Architecture {
93     // Unknown architecture
94     ARCHITECTURE_UNSPECIFIED = 0;
95
96     // X86 architecture
97     X86 = 1;
98
99     // X64 architecture
100     X64 = 2;
101   }
102 }