grafeas-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +11 -0
  3. data/LICENSE.md +203 -0
  4. data/README.md +63 -0
  5. data/lib/grafeas-v1.rb +21 -0
  6. data/lib/grafeas/v1.rb +31 -0
  7. data/lib/grafeas/v1/attestation_pb.rb +28 -0
  8. data/lib/grafeas/v1/build_pb.rb +24 -0
  9. data/lib/grafeas/v1/common_pb.rb +36 -0
  10. data/lib/grafeas/v1/cvss_pb.rb +68 -0
  11. data/lib/grafeas/v1/deployment_pb.rb +36 -0
  12. data/lib/grafeas/v1/discovery_pb.rb +44 -0
  13. data/lib/grafeas/v1/grafeas.rb +57 -0
  14. data/lib/grafeas/v1/grafeas/client.rb +1459 -0
  15. data/lib/grafeas/v1/grafeas/paths.rb +77 -0
  16. data/lib/grafeas/v1/grafeas_pb.rb +169 -0
  17. data/lib/grafeas/v1/grafeas_services_pb.rb +85 -0
  18. data/lib/grafeas/v1/image_pb.rb +37 -0
  19. data/lib/grafeas/v1/package_pb.rb +60 -0
  20. data/lib/grafeas/v1/provenance_pb.rb +117 -0
  21. data/lib/grafeas/v1/upgrade_pb.rb +57 -0
  22. data/lib/grafeas/v1/version.rb +24 -0
  23. data/lib/grafeas/v1/vulnerability_pb.rb +85 -0
  24. data/proto_docs/README.md +4 -0
  25. data/proto_docs/google/api/field_behavior.rb +59 -0
  26. data/proto_docs/google/api/resource.rb +247 -0
  27. data/proto_docs/google/protobuf/any.rb +138 -0
  28. data/proto_docs/google/protobuf/empty.rb +36 -0
  29. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  30. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  31. data/proto_docs/google/rpc/status.rb +46 -0
  32. data/proto_docs/grafeas/v1/attestation.rb +77 -0
  33. data/proto_docs/grafeas/v1/build.rb +54 -0
  34. data/proto_docs/grafeas/v1/common.rb +118 -0
  35. data/proto_docs/grafeas/v1/cvss.rb +111 -0
  36. data/proto_docs/grafeas/v1/deployment.rb +74 -0
  37. data/proto_docs/grafeas/v1/discovery.rb +92 -0
  38. data/proto_docs/grafeas/v1/grafeas.rb +404 -0
  39. data/proto_docs/grafeas/v1/image.rb +95 -0
  40. data/proto_docs/grafeas/v1/package.rb +144 -0
  41. data/proto_docs/grafeas/v1/provenance.rb +318 -0
  42. data/proto_docs/grafeas/v1/upgrade.rb +148 -0
  43. data/proto_docs/grafeas/v1/vulnerability.rb +245 -0
  44. metadata +225 -0
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Grafeas
21
+ module V1
22
+ # Layer holds metadata specific to a layer of a Docker image.
23
+ # @!attribute [rw] directive
24
+ # @return [::String]
25
+ # Required. The recovered Dockerfile directive used to construct this layer.
26
+ # See https://docs.docker.com/engine/reference/builder/ for more information.
27
+ # @!attribute [rw] arguments
28
+ # @return [::String]
29
+ # The recovered arguments to the Dockerfile directive.
30
+ class Layer
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # A set of properties that uniquely identify a given Docker image.
36
+ # @!attribute [rw] v1_name
37
+ # @return [::String]
38
+ # Required. The layer ID of the final layer in the Docker image's v1
39
+ # representation.
40
+ # @!attribute [rw] v2_blob
41
+ # @return [::Array<::String>]
42
+ # Required. The ordered list of v2 blobs that represent a given image.
43
+ # @!attribute [rw] v2_name
44
+ # @return [::String]
45
+ # Output only. The name of the image's v2 blobs computed via:
46
+ # [bottom] := v2_blob[bottom]
47
+ # [N] := sha256(v2_blob[N] + " " + v2_name[N+1])
48
+ # Only the name of the final blob is kept.
49
+ class Fingerprint
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Basis describes the base image portion (Note) of the DockerImage
55
+ # relationship. Linked occurrences are derived from this or an equivalent image
56
+ # via:
57
+ # FROM <Basis.resource_url>
58
+ # Or an equivalent reference, e.g., a tag of the resource_url.
59
+ # @!attribute [rw] resource_url
60
+ # @return [::String]
61
+ # Required. Immutable. The resource_url for the resource representing the
62
+ # basis of associated occurrence images.
63
+ # @!attribute [rw] fingerprint
64
+ # @return [::Grafeas::V1::Fingerprint]
65
+ # Required. Immutable. The fingerprint of the base image.
66
+ class ImageNote
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # Details of the derived image portion of the DockerImage relationship. This
72
+ # image would be produced from a Dockerfile with FROM <DockerImage.Basis in
73
+ # attached Note>.
74
+ # @!attribute [rw] fingerprint
75
+ # @return [::Grafeas::V1::Fingerprint]
76
+ # Required. The fingerprint of the derived image.
77
+ # @!attribute [rw] distance
78
+ # @return [::Integer]
79
+ # Output only. The number of layers by which this image differs from the
80
+ # associated image basis.
81
+ # @!attribute [rw] layer_info
82
+ # @return [::Array<::Grafeas::V1::Layer>]
83
+ # This contains layer-specific metadata, if populated it has length
84
+ # "distance" and is ordered with [distance] being the layer immediately
85
+ # following the base image and [1] being the final layer.
86
+ # @!attribute [rw] base_resource_url
87
+ # @return [::String]
88
+ # Output only. This contains the base image URL for the derived image
89
+ # occurrence.
90
+ class ImageOccurrence
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Grafeas
21
+ module V1
22
+ # This represents a particular channel of distribution for a given package.
23
+ # E.g., Debian's jessie-backports dpkg mirror.
24
+ # @!attribute [rw] cpe_uri
25
+ # @return [::String]
26
+ # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
27
+ # denoting the package manager version distributing a package.
28
+ # @!attribute [rw] architecture
29
+ # @return [::Grafeas::V1::Architecture]
30
+ # The CPU architecture for which packages in this distribution channel were
31
+ # built.
32
+ # @!attribute [rw] latest_version
33
+ # @return [::Grafeas::V1::Version]
34
+ # The latest available version of this package in this distribution channel.
35
+ # @!attribute [rw] maintainer
36
+ # @return [::String]
37
+ # A freeform string denoting the maintainer of this package.
38
+ # @!attribute [rw] url
39
+ # @return [::String]
40
+ # The distribution channel-specific homepage for this package.
41
+ # @!attribute [rw] description
42
+ # @return [::String]
43
+ # The distribution channel-specific description of this package.
44
+ class Distribution
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+
49
+ # An occurrence of a particular package installation found within a system's
50
+ # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
51
+ # @!attribute [rw] cpe_uri
52
+ # @return [::String]
53
+ # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
54
+ # denoting the package manager version distributing a package.
55
+ # @!attribute [rw] version
56
+ # @return [::Grafeas::V1::Version]
57
+ # The version installed at this location.
58
+ # @!attribute [rw] path
59
+ # @return [::String]
60
+ # The path from which we gathered that this package/version is installed.
61
+ class Location
62
+ include ::Google::Protobuf::MessageExts
63
+ extend ::Google::Protobuf::MessageExts::ClassMethods
64
+ end
65
+
66
+ # This represents a particular package that is distributed over various
67
+ # channels. E.g., glibc (aka libc6) is distributed by many, at various
68
+ # versions.
69
+ # @!attribute [rw] name
70
+ # @return [::String]
71
+ # Required. Immutable. The name of the package.
72
+ # @!attribute [rw] distribution
73
+ # @return [::Array<::Grafeas::V1::Distribution>]
74
+ # The various channels by which a package is distributed.
75
+ class PackageNote
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+
80
+ # Details on how a particular software package was installed on a system.
81
+ # @!attribute [rw] name
82
+ # @return [::String]
83
+ # Output only. The name of the installed package.
84
+ # @!attribute [rw] location
85
+ # @return [::Array<::Grafeas::V1::Location>]
86
+ # Required. All of the places within the filesystem versions of this package
87
+ # have been found.
88
+ class PackageOccurrence
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Version contains structured information about the version of a package.
94
+ # @!attribute [rw] epoch
95
+ # @return [::Integer]
96
+ # Used to correct mistakes in the version numbering scheme.
97
+ # @!attribute [rw] name
98
+ # @return [::String]
99
+ # Required only when version kind is NORMAL. The main part of the version
100
+ # name.
101
+ # @!attribute [rw] revision
102
+ # @return [::String]
103
+ # The iteration of the package build from the above version.
104
+ # @!attribute [rw] kind
105
+ # @return [::Grafeas::V1::Version::VersionKind]
106
+ # Required. Distinguishes between sentinel MIN/MAX versions and normal
107
+ # versions.
108
+ # @!attribute [rw] full_name
109
+ # @return [::String]
110
+ # Human readable version string. This string is of the form
111
+ # <epoch>:<name>-<revision> and is only set when kind is NORMAL.
112
+ class Version
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+
116
+ # Whether this is an ordinary package version or a sentinel MIN/MAX version.
117
+ module VersionKind
118
+ # Unknown.
119
+ VERSION_KIND_UNSPECIFIED = 0
120
+
121
+ # A standard package version.
122
+ NORMAL = 1
123
+
124
+ # A special version representing negative infinity.
125
+ MINIMUM = 2
126
+
127
+ # A special version representing positive infinity.
128
+ MAXIMUM = 3
129
+ end
130
+ end
131
+
132
+ # Instruction set architectures supported by various package managers.
133
+ module Architecture
134
+ # Unknown architecture.
135
+ ARCHITECTURE_UNSPECIFIED = 0
136
+
137
+ # X86 architecture.
138
+ X86 = 1
139
+
140
+ # X64 architecture.
141
+ X64 = 2
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Grafeas
21
+ module V1
22
+ # Provenance of a build. Contains all information needed to verify the full
23
+ # details about the build from source to completion.
24
+ # @!attribute [rw] id
25
+ # @return [::String]
26
+ # Required. Unique identifier of the build.
27
+ # @!attribute [rw] project_id
28
+ # @return [::String]
29
+ # ID of the project.
30
+ # @!attribute [rw] commands
31
+ # @return [::Array<::Grafeas::V1::Command>]
32
+ # Commands requested by the build.
33
+ # @!attribute [rw] built_artifacts
34
+ # @return [::Array<::Grafeas::V1::Artifact>]
35
+ # Output of the build.
36
+ # @!attribute [rw] create_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Time at which the build was created.
39
+ # @!attribute [rw] start_time
40
+ # @return [::Google::Protobuf::Timestamp]
41
+ # Time at which execution of the build was started.
42
+ # @!attribute [rw] end_time
43
+ # @return [::Google::Protobuf::Timestamp]
44
+ # Time at which execution of the build was finished.
45
+ # @!attribute [rw] creator
46
+ # @return [::String]
47
+ # E-mail address of the user who initiated this build. Note that this was the
48
+ # user's e-mail address at the time the build was initiated; this address may
49
+ # not represent the same end-user for all time.
50
+ # @!attribute [rw] logs_uri
51
+ # @return [::String]
52
+ # URI where any logs for this provenance were written.
53
+ # @!attribute [rw] source_provenance
54
+ # @return [::Grafeas::V1::Source]
55
+ # Details of the Source input to the build.
56
+ # @!attribute [rw] trigger_id
57
+ # @return [::String]
58
+ # Trigger identifier if the build was triggered automatically; empty if not.
59
+ # @!attribute [rw] build_options
60
+ # @return [::Google::Protobuf::Map{::String => ::String}]
61
+ # Special options applied to this build. This is a catch-all field where
62
+ # build providers can enter any desired additional details.
63
+ # @!attribute [rw] builder_version
64
+ # @return [::String]
65
+ # Version string of the builder at the time this build was executed.
66
+ class BuildProvenance
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+
70
+ # @!attribute [rw] key
71
+ # @return [::String]
72
+ # @!attribute [rw] value
73
+ # @return [::String]
74
+ class BuildOptionsEntry
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+ end
78
+ end
79
+
80
+ # Source describes the location of the source used for the build.
81
+ # @!attribute [rw] artifact_storage_source_uri
82
+ # @return [::String]
83
+ # If provided, the input binary artifacts for the build came from this
84
+ # location.
85
+ # @!attribute [rw] file_hashes
86
+ # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::FileHashes}]
87
+ # Hash(es) of the build source, which can be used to verify that the original
88
+ # source integrity was maintained in the build.
89
+ #
90
+ # The keys to this map are file paths used as build source and the values
91
+ # contain the hash values for those files.
92
+ #
93
+ # If the build source came in a single package such as a gzipped tarfile
94
+ # (.tar.gz), the FileHash will be for the single path to that file.
95
+ # @!attribute [rw] context
96
+ # @return [::Grafeas::V1::SourceContext]
97
+ # If provided, the source code used for the build came from this location.
98
+ # @!attribute [rw] additional_contexts
99
+ # @return [::Array<::Grafeas::V1::SourceContext>]
100
+ # If provided, some of the source code used for the build may be found in
101
+ # these locations, in the case where the source repository had multiple
102
+ # remotes or submodules. This list will not include the context specified in
103
+ # the context field.
104
+ class Source
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+
108
+ # @!attribute [rw] key
109
+ # @return [::String]
110
+ # @!attribute [rw] value
111
+ # @return [::Grafeas::V1::FileHashes]
112
+ class FileHashesEntry
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+ end
117
+
118
+ # Container message for hashes of byte content of files, used in source
119
+ # messages to verify integrity of source input to the build.
120
+ # @!attribute [rw] file_hash
121
+ # @return [::Array<::Grafeas::V1::Hash>]
122
+ # Required. Collection of file hashes.
123
+ class FileHashes
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+ end
127
+
128
+ # Container message for hash values.
129
+ # @!attribute [rw] type
130
+ # @return [::String]
131
+ # Required. The type of hash that was performed, e.g. "SHA-256".
132
+ # @!attribute [rw] value
133
+ # @return [::String]
134
+ # Required. The hash value.
135
+ class Hash
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # Command describes a step performed as part of the build pipeline.
141
+ # @!attribute [rw] name
142
+ # @return [::String]
143
+ # Required. Name of the command, as presented on the command line, or if the
144
+ # command is packaged as a Docker container, as presented to `docker pull`.
145
+ # @!attribute [rw] env
146
+ # @return [::Array<::String>]
147
+ # Environment variables set before running this command.
148
+ # @!attribute [rw] args
149
+ # @return [::Array<::String>]
150
+ # Command-line arguments used when executing this command.
151
+ # @!attribute [rw] dir
152
+ # @return [::String]
153
+ # Working directory (relative to project source root) used when running this
154
+ # command.
155
+ # @!attribute [rw] id
156
+ # @return [::String]
157
+ # Optional unique identifier for this command, used in wait_for to reference
158
+ # this command as a dependency.
159
+ # @!attribute [rw] wait_for
160
+ # @return [::Array<::String>]
161
+ # The ID(s) of the command(s) that this command depends on.
162
+ class Command
163
+ include ::Google::Protobuf::MessageExts
164
+ extend ::Google::Protobuf::MessageExts::ClassMethods
165
+ end
166
+
167
+ # Artifact describes a build product.
168
+ # @!attribute [rw] checksum
169
+ # @return [::String]
170
+ # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
171
+ # container.
172
+ # @!attribute [rw] id
173
+ # @return [::String]
174
+ # Artifact ID, if any; for container images, this will be a URL by digest
175
+ # like `gcr.io/projectID/imagename@sha256:123456`.
176
+ # @!attribute [rw] names
177
+ # @return [::Array<::String>]
178
+ # Related artifact names. This may be the path to a binary or jar file, or in
179
+ # the case of a container build, the name used to push the container image to
180
+ # Google Container Registry, as presented to `docker push`. Note that a
181
+ # single Artifact ID can have multiple names, for example if two tags are
182
+ # applied to one image.
183
+ class Artifact
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+
188
+ # A SourceContext is a reference to a tree of files. A SourceContext together
189
+ # with a path point to a unique revision of a single file or directory.
190
+ # @!attribute [rw] cloud_repo
191
+ # @return [::Grafeas::V1::CloudRepoSourceContext]
192
+ # A SourceContext referring to a revision in a Google Cloud Source Repo.
193
+ # @!attribute [rw] gerrit
194
+ # @return [::Grafeas::V1::GerritSourceContext]
195
+ # A SourceContext referring to a Gerrit project.
196
+ # @!attribute [rw] git
197
+ # @return [::Grafeas::V1::GitSourceContext]
198
+ # A SourceContext referring to any third party Git repo (e.g., GitHub).
199
+ # @!attribute [rw] labels
200
+ # @return [::Google::Protobuf::Map{::String => ::String}]
201
+ # Labels with user defined metadata.
202
+ class SourceContext
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+
206
+ # @!attribute [rw] key
207
+ # @return [::String]
208
+ # @!attribute [rw] value
209
+ # @return [::String]
210
+ class LabelsEntry
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+ end
215
+
216
+ # An alias to a repo revision.
217
+ # @!attribute [rw] kind
218
+ # @return [::Grafeas::V1::AliasContext::Kind]
219
+ # The alias kind.
220
+ # @!attribute [rw] name
221
+ # @return [::String]
222
+ # The alias name.
223
+ class AliasContext
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+
227
+ # The type of an alias.
228
+ module Kind
229
+ # Unknown.
230
+ KIND_UNSPECIFIED = 0
231
+
232
+ # Git tag.
233
+ FIXED = 1
234
+
235
+ # Git branch.
236
+ MOVABLE = 2
237
+
238
+ # Used to specify non-standard aliases. For example, if a Git repo has a
239
+ # ref named "refs/foo/bar".
240
+ OTHER = 4
241
+ end
242
+ end
243
+
244
+ # A CloudRepoSourceContext denotes a particular revision in a Google Cloud
245
+ # Source Repo.
246
+ # @!attribute [rw] repo_id
247
+ # @return [::Grafeas::V1::RepoId]
248
+ # The ID of the repo.
249
+ # @!attribute [rw] revision_id
250
+ # @return [::String]
251
+ # A revision ID.
252
+ # @!attribute [rw] alias_context
253
+ # @return [::Grafeas::V1::AliasContext]
254
+ # An alias, which may be a branch or tag.
255
+ class CloudRepoSourceContext
256
+ include ::Google::Protobuf::MessageExts
257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
258
+ end
259
+
260
+ # A SourceContext referring to a Gerrit project.
261
+ # @!attribute [rw] host_uri
262
+ # @return [::String]
263
+ # The URI of a running Gerrit instance.
264
+ # @!attribute [rw] gerrit_project
265
+ # @return [::String]
266
+ # The full project name within the host. Projects may be nested, so
267
+ # "project/subproject" is a valid project name. The "repo name" is the
268
+ # hostURI/project.
269
+ # @!attribute [rw] revision_id
270
+ # @return [::String]
271
+ # A revision (commit) ID.
272
+ # @!attribute [rw] alias_context
273
+ # @return [::Grafeas::V1::AliasContext]
274
+ # An alias, which may be a branch or tag.
275
+ class GerritSourceContext
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+
280
+ # A GitSourceContext denotes a particular revision in a third party Git
281
+ # repository (e.g., GitHub).
282
+ # @!attribute [rw] url
283
+ # @return [::String]
284
+ # Git repository URL.
285
+ # @!attribute [rw] revision_id
286
+ # @return [::String]
287
+ # Git commit hash.
288
+ class GitSourceContext
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+ end
292
+
293
+ # A unique identifier for a Cloud Repo.
294
+ # @!attribute [rw] project_repo_id
295
+ # @return [::Grafeas::V1::ProjectRepoId]
296
+ # A combination of a project ID and a repo name.
297
+ # @!attribute [rw] uid
298
+ # @return [::String]
299
+ # A server-assigned, globally unique identifier.
300
+ class RepoId
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # Selects a repo using a Google Cloud Platform project ID (e.g.,
306
+ # winged-cargo-31) and a repo name within that project.
307
+ # @!attribute [rw] project_id
308
+ # @return [::String]
309
+ # The ID of the project.
310
+ # @!attribute [rw] repo_name
311
+ # @return [::String]
312
+ # The name of the repo. Leave empty for the default repo.
313
+ class ProjectRepoId
314
+ include ::Google::Protobuf::MessageExts
315
+ extend ::Google::Protobuf::MessageExts::ClassMethods
316
+ end
317
+ end
318
+ end