@@ -16,6 +16,9 @@ syntax = "proto3";
1616
1717package grafeas.v1 ;
1818
19+ import "google/api/field_behavior.proto" ;
20+ import "grafeas/v1/common.proto" ;
21+
1922option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas" ;
2023option java_multiple_files = true ;
2124option java_package = "io.grafeas.v1" ;
@@ -34,9 +37,9 @@ enum Architecture {
3437// This represents a particular channel of distribution for a given package.
3538// E.g., Debian's jessie-backports dpkg mirror.
3639message Distribution {
37- // Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
40+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
3841 // denoting the package manager version distributing a package.
39- string cpe_uri = 1 ;
42+ string cpe_uri = 1 [ (google.api .field_behavior ) = REQUIRED ] ;
4043
4144 // The CPU architecture for which packages in this distribution channel were
4245 // built.
@@ -58,36 +61,93 @@ message Distribution {
5861// An occurrence of a particular package installation found within a system's
5962// filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
6063message Location {
61- // Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
62- // denoting the package manager version distributing a package.
64+ // Deprecated.
65+ // The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
6366 string cpe_uri = 1 ;
6467
68+ // Deprecated.
6569 // The version installed at this location.
6670 Version version = 2 ;
6771
6872 // The path from which we gathered that this package/version is installed.
6973 string path = 3 ;
7074}
7175
72- // This represents a particular package that is distributed over various
73- // channels. E.g., glibc (aka libc6) is distributed by many, at various
74- // versions.
76+ // PackageNote represents a particular package version.
7577message PackageNote {
76- // Required. Immutable. The name of the package.
77- string name = 1 ;
78+ // The name of the package.
79+ string name = 1 [
80+ (google.api.field_behavior ) = REQUIRED ,
81+ (google.api.field_behavior ) = IMMUTABLE
82+ ];
7883
84+ // Deprecated.
7985 // The various channels by which a package is distributed.
8086 repeated Distribution distribution = 10 ;
87+
88+ // The type of package; whether native or non native (e.g., ruby gems,
89+ // node.js packages, etc.).
90+ string package_type = 11 ;
91+
92+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
93+ // denoting the package manager version distributing a package.
94+ // The cpe_uri will be blank for language packages.
95+ string cpe_uri = 12 ;
96+
97+ // The CPU architecture for which packages in this distribution channel were
98+ // built. Architecture will be blank for language packages.
99+ Architecture architecture = 13 ;
100+
101+ // The version of the package.
102+ Version version = 14 ;
103+
104+ // A freeform text denoting the maintainer of this package.
105+ string maintainer = 15 ;
106+
107+ // The homepage for this package.
108+ string url = 16 ;
109+
110+ // The description of this package.
111+ string description = 17 ;
112+
113+ // Licenses that have been declared by the authors of the package.
114+ License license = 18 ;
115+
116+ // Hash value, typically a file digest, that allows unique
117+ // identification a specific package.
118+ repeated Digest digest = 19 ;
81119}
82120
83121// Details on how a particular software package was installed on a system.
84122message PackageOccurrence {
85- // Output only. The name of the installed package.
86- string name = 1 ;
123+ // The name of the installed package.
124+ string name = 1 [
125+ (google.api.field_behavior ) = REQUIRED ,
126+ (google.api.field_behavior ) = OUTPUT_ONLY
127+ ];
87128
88- // Required. All of the places within the filesystem versions of this package
129+ // All of the places within the filesystem versions of this package
89130 // have been found.
90131 repeated Location location = 2 ;
132+
133+ // The type of package; whether native or non native (e.g., ruby gems,
134+ // node.js packages, etc.).
135+ string package_type = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
136+
137+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
138+ // denoting the package manager version distributing a package.
139+ // The cpe_uri will be blank for language packages.
140+ string cpe_uri = 4 [(google.api.field_behavior ) = OUTPUT_ONLY ];
141+
142+ // The CPU architecture for which packages in this distribution channel were
143+ // built. Architecture will be blank for language packages.
144+ Architecture architecture = 5 [(google.api.field_behavior ) = OUTPUT_ONLY ];
145+
146+ // Licenses that have been declared by the authors of the package.
147+ License license = 6 ;
148+
149+ // The version of the package.
150+ Version version = 7 [(google.api.field_behavior ) = OUTPUT_ONLY ];
91151}
92152
93153// Version contains structured information about the version of a package.
0 commit comments