grafeas-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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