google-cloud-container_analysis-v1 0.4.3 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/AUTHENTICATION.md +7 -25
  4. data/README.md +1 -1
  5. data/lib/google/cloud/container_analysis/v1/container_analysis/client.rb +81 -13
  6. data/lib/google/cloud/container_analysis/v1/version.rb +1 -1
  7. data/lib/google/devtools/containeranalysis/v1/containeranalysis_pb.rb +5 -3
  8. data/lib/google/devtools/containeranalysis/v1/containeranalysis_services_pb.rb +1 -1
  9. data/proto_docs/google/api/resource.rb +10 -71
  10. data/proto_docs/google/devtools/containeranalysis/v1/containeranalysis.rb +1 -1
  11. data/proto_docs/google/protobuf/any.rb +141 -0
  12. data/proto_docs/google/protobuf/empty.rb +36 -0
  13. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  14. data/proto_docs/google/rpc/status.rb +46 -0
  15. data/proto_docs/grafeas/v1/attestation.rb +98 -0
  16. data/proto_docs/grafeas/v1/build.rb +64 -0
  17. data/proto_docs/grafeas/v1/common.rb +31 -2
  18. data/proto_docs/grafeas/v1/compliance.rb +98 -0
  19. data/proto_docs/grafeas/v1/cvss.rb +105 -0
  20. data/proto_docs/grafeas/v1/deployment.rb +74 -0
  21. data/proto_docs/grafeas/v1/discovery.rb +95 -0
  22. data/proto_docs/grafeas/v1/dsse_attestation.rb +59 -0
  23. data/proto_docs/grafeas/v1/grafeas.rb +419 -0
  24. data/proto_docs/grafeas/v1/image.rb +95 -0
  25. data/proto_docs/grafeas/v1/intoto_provenance.rb +134 -0
  26. data/proto_docs/grafeas/v1/intoto_statement.rb +65 -0
  27. data/proto_docs/grafeas/v1/package.rb +8 -0
  28. data/proto_docs/grafeas/v1/provenance.rb +318 -0
  29. data/proto_docs/grafeas/v1/severity.rb +43 -0
  30. data/proto_docs/grafeas/v1/slsa_provenance.rb +152 -0
  31. data/proto_docs/grafeas/v1/upgrade.rb +148 -0
  32. data/proto_docs/grafeas/v1/vulnerability.rb +25 -21
  33. metadata +31 -7
@@ -0,0 +1,419 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+ # An instance of an analysis type that has been found on a resource.
23
+ # @!attribute [rw] name
24
+ # @return [::String]
25
+ # Output only. The name of the occurrence in the form of
26
+ # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
27
+ # @!attribute [rw] resource_uri
28
+ # @return [::String]
29
+ # Required. Immutable. A URI that represents the resource for which the
30
+ # occurrence applies. For example,
31
+ # `https://gcr.io/project/image@sha256:123abc` for a Docker image.
32
+ # @!attribute [rw] note_name
33
+ # @return [::String]
34
+ # Required. Immutable. The analysis note associated with this occurrence, in
35
+ # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
36
+ # used as a filter in list requests.
37
+ # @!attribute [rw] kind
38
+ # @return [::Grafeas::V1::NoteKind]
39
+ # Output only. This explicitly denotes which of the occurrence details are
40
+ # specified. This field can be used as a filter in list requests.
41
+ # @!attribute [rw] remediation
42
+ # @return [::String]
43
+ # A description of actions that can be taken to remedy the note.
44
+ # @!attribute [rw] create_time
45
+ # @return [::Google::Protobuf::Timestamp]
46
+ # Output only. The time this occurrence was created.
47
+ # @!attribute [rw] update_time
48
+ # @return [::Google::Protobuf::Timestamp]
49
+ # Output only. The time this occurrence was last updated.
50
+ # @!attribute [rw] vulnerability
51
+ # @return [::Grafeas::V1::VulnerabilityOccurrence]
52
+ # Describes a security vulnerability.
53
+ # @!attribute [rw] build
54
+ # @return [::Grafeas::V1::BuildOccurrence]
55
+ # Describes a verifiable build.
56
+ # @!attribute [rw] image
57
+ # @return [::Grafeas::V1::ImageOccurrence]
58
+ # Describes how this resource derives from the basis in the associated
59
+ # note.
60
+ # @!attribute [rw] package
61
+ # @return [::Grafeas::V1::PackageOccurrence]
62
+ # Describes the installation of a package on the linked resource.
63
+ # @!attribute [rw] deployment
64
+ # @return [::Grafeas::V1::DeploymentOccurrence]
65
+ # Describes the deployment of an artifact on a runtime.
66
+ # @!attribute [rw] discovery
67
+ # @return [::Grafeas::V1::DiscoveryOccurrence]
68
+ # Describes when a resource was discovered.
69
+ # @!attribute [rw] attestation
70
+ # @return [::Grafeas::V1::AttestationOccurrence]
71
+ # Describes an attestation of an artifact.
72
+ # @!attribute [rw] upgrade
73
+ # @return [::Grafeas::V1::UpgradeOccurrence]
74
+ # Describes an available package upgrade on the linked resource.
75
+ # @!attribute [rw] compliance
76
+ # @return [::Grafeas::V1::ComplianceOccurrence]
77
+ # Describes a compliance violation on a linked resource.
78
+ # @!attribute [rw] dsse_attestation
79
+ # @return [::Grafeas::V1::DSSEAttestationOccurrence]
80
+ # Describes an attestation of an artifact using dsse.
81
+ # @!attribute [rw] envelope
82
+ # @return [::Grafeas::V1::Envelope]
83
+ # https://github.com/secure-systems-lab/dsse
84
+ class Occurrence
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+ end
88
+
89
+ # A type of analysis that can be done for a resource.
90
+ # @!attribute [rw] name
91
+ # @return [::String]
92
+ # Output only. The name of the note in the form of
93
+ # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
94
+ # @!attribute [rw] short_description
95
+ # @return [::String]
96
+ # A one sentence description of this note.
97
+ # @!attribute [rw] long_description
98
+ # @return [::String]
99
+ # A detailed description of this note.
100
+ # @!attribute [rw] kind
101
+ # @return [::Grafeas::V1::NoteKind]
102
+ # Output only. The type of analysis. This field can be used as a filter in
103
+ # list requests.
104
+ # @!attribute [rw] related_url
105
+ # @return [::Array<::Grafeas::V1::RelatedUrl>]
106
+ # URLs associated with this note.
107
+ # @!attribute [rw] expiration_time
108
+ # @return [::Google::Protobuf::Timestamp]
109
+ # Time of expiration for this note. Empty if note does not expire.
110
+ # @!attribute [rw] create_time
111
+ # @return [::Google::Protobuf::Timestamp]
112
+ # Output only. The time this note was created. This field can be used as a
113
+ # filter in list requests.
114
+ # @!attribute [rw] update_time
115
+ # @return [::Google::Protobuf::Timestamp]
116
+ # Output only. The time this note was last updated. This field can be used as
117
+ # a filter in list requests.
118
+ # @!attribute [rw] related_note_names
119
+ # @return [::Array<::String>]
120
+ # Other notes related to this note.
121
+ # @!attribute [rw] vulnerability
122
+ # @return [::Grafeas::V1::VulnerabilityNote]
123
+ # A note describing a package vulnerability.
124
+ # @!attribute [rw] build
125
+ # @return [::Grafeas::V1::BuildNote]
126
+ # A note describing build provenance for a verifiable build.
127
+ # @!attribute [rw] image
128
+ # @return [::Grafeas::V1::ImageNote]
129
+ # A note describing a base image.
130
+ # @!attribute [rw] package
131
+ # @return [::Grafeas::V1::PackageNote]
132
+ # A note describing a package hosted by various package managers.
133
+ # @!attribute [rw] deployment
134
+ # @return [::Grafeas::V1::DeploymentNote]
135
+ # A note describing something that can be deployed.
136
+ # @!attribute [rw] discovery
137
+ # @return [::Grafeas::V1::DiscoveryNote]
138
+ # A note describing the initial analysis of a resource.
139
+ # @!attribute [rw] attestation
140
+ # @return [::Grafeas::V1::AttestationNote]
141
+ # A note describing an attestation role.
142
+ # @!attribute [rw] upgrade
143
+ # @return [::Grafeas::V1::UpgradeNote]
144
+ # A note describing available package upgrades.
145
+ # @!attribute [rw] compliance
146
+ # @return [::Grafeas::V1::ComplianceNote]
147
+ # A note describing a compliance check.
148
+ # @!attribute [rw] dsse_attestation
149
+ # @return [::Grafeas::V1::DSSEAttestationNote]
150
+ # A note describing a dsse attestation note.
151
+ class Note
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+
156
+ # Request to get an occurrence.
157
+ # @!attribute [rw] name
158
+ # @return [::String]
159
+ # The name of the occurrence in the form of
160
+ # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
161
+ class GetOccurrenceRequest
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
166
+ # Request to list occurrences.
167
+ # @!attribute [rw] parent
168
+ # @return [::String]
169
+ # The name of the project to list occurrences for in the form of
170
+ # `projects/[PROJECT_ID]`.
171
+ # @!attribute [rw] filter
172
+ # @return [::String]
173
+ # The filter expression.
174
+ # @!attribute [rw] page_size
175
+ # @return [::Integer]
176
+ # Number of occurrences to return in the list. Must be positive. Max allowed
177
+ # page size is 1000. If not specified, page size defaults to 20.
178
+ # @!attribute [rw] page_token
179
+ # @return [::String]
180
+ # Token to provide to skip to a particular spot in the list.
181
+ class ListOccurrencesRequest
182
+ include ::Google::Protobuf::MessageExts
183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
184
+ end
185
+
186
+ # Response for listing occurrences.
187
+ # @!attribute [rw] occurrences
188
+ # @return [::Array<::Grafeas::V1::Occurrence>]
189
+ # The occurrences requested.
190
+ # @!attribute [rw] next_page_token
191
+ # @return [::String]
192
+ # The next pagination token in the list response. It should be used as
193
+ # `page_token` for the following request. An empty value means no more
194
+ # results.
195
+ class ListOccurrencesResponse
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Request to delete an occurrence.
201
+ # @!attribute [rw] name
202
+ # @return [::String]
203
+ # The name of the occurrence in the form of
204
+ # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
205
+ class DeleteOccurrenceRequest
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+
210
+ # Request to create a new occurrence.
211
+ # @!attribute [rw] parent
212
+ # @return [::String]
213
+ # The name of the project in the form of `projects/[PROJECT_ID]`, under which
214
+ # the occurrence is to be created.
215
+ # @!attribute [rw] occurrence
216
+ # @return [::Grafeas::V1::Occurrence]
217
+ # The occurrence to create.
218
+ class CreateOccurrenceRequest
219
+ include ::Google::Protobuf::MessageExts
220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
221
+ end
222
+
223
+ # Request to update an occurrence.
224
+ # @!attribute [rw] name
225
+ # @return [::String]
226
+ # The name of the occurrence in the form of
227
+ # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
228
+ # @!attribute [rw] occurrence
229
+ # @return [::Grafeas::V1::Occurrence]
230
+ # The updated occurrence.
231
+ # @!attribute [rw] update_mask
232
+ # @return [::Google::Protobuf::FieldMask]
233
+ # The fields to update.
234
+ class UpdateOccurrenceRequest
235
+ include ::Google::Protobuf::MessageExts
236
+ extend ::Google::Protobuf::MessageExts::ClassMethods
237
+ end
238
+
239
+ # Request to get a note.
240
+ # @!attribute [rw] name
241
+ # @return [::String]
242
+ # The name of the note in the form of
243
+ # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
244
+ class GetNoteRequest
245
+ include ::Google::Protobuf::MessageExts
246
+ extend ::Google::Protobuf::MessageExts::ClassMethods
247
+ end
248
+
249
+ # Request to get the note to which the specified occurrence is attached.
250
+ # @!attribute [rw] name
251
+ # @return [::String]
252
+ # The name of the occurrence in the form of
253
+ # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
254
+ class GetOccurrenceNoteRequest
255
+ include ::Google::Protobuf::MessageExts
256
+ extend ::Google::Protobuf::MessageExts::ClassMethods
257
+ end
258
+
259
+ # Request to list notes.
260
+ # @!attribute [rw] parent
261
+ # @return [::String]
262
+ # The name of the project to list notes for in the form of
263
+ # `projects/[PROJECT_ID]`.
264
+ # @!attribute [rw] filter
265
+ # @return [::String]
266
+ # The filter expression.
267
+ # @!attribute [rw] page_size
268
+ # @return [::Integer]
269
+ # Number of notes to return in the list. Must be positive. Max allowed page
270
+ # size is 1000. If not specified, page size defaults to 20.
271
+ # @!attribute [rw] page_token
272
+ # @return [::String]
273
+ # Token to provide to skip to a particular spot in the list.
274
+ class ListNotesRequest
275
+ include ::Google::Protobuf::MessageExts
276
+ extend ::Google::Protobuf::MessageExts::ClassMethods
277
+ end
278
+
279
+ # Response for listing notes.
280
+ # @!attribute [rw] notes
281
+ # @return [::Array<::Grafeas::V1::Note>]
282
+ # The notes requested.
283
+ # @!attribute [rw] next_page_token
284
+ # @return [::String]
285
+ # The next pagination token in the list response. It should be used as
286
+ # `page_token` for the following request. An empty value means no more
287
+ # results.
288
+ class ListNotesResponse
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+ end
292
+
293
+ # Request to delete a note.
294
+ # @!attribute [rw] name
295
+ # @return [::String]
296
+ # The name of the note in the form of
297
+ # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
298
+ class DeleteNoteRequest
299
+ include ::Google::Protobuf::MessageExts
300
+ extend ::Google::Protobuf::MessageExts::ClassMethods
301
+ end
302
+
303
+ # Request to create a new note.
304
+ # @!attribute [rw] parent
305
+ # @return [::String]
306
+ # The name of the project in the form of `projects/[PROJECT_ID]`, under which
307
+ # the note is to be created.
308
+ # @!attribute [rw] note_id
309
+ # @return [::String]
310
+ # The ID to use for this note.
311
+ # @!attribute [rw] note
312
+ # @return [::Grafeas::V1::Note]
313
+ # The note to create.
314
+ class CreateNoteRequest
315
+ include ::Google::Protobuf::MessageExts
316
+ extend ::Google::Protobuf::MessageExts::ClassMethods
317
+ end
318
+
319
+ # Request to update a note.
320
+ # @!attribute [rw] name
321
+ # @return [::String]
322
+ # The name of the note in the form of
323
+ # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
324
+ # @!attribute [rw] note
325
+ # @return [::Grafeas::V1::Note]
326
+ # The updated note.
327
+ # @!attribute [rw] update_mask
328
+ # @return [::Google::Protobuf::FieldMask]
329
+ # The fields to update.
330
+ class UpdateNoteRequest
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # Request to list occurrences for a note.
336
+ # @!attribute [rw] name
337
+ # @return [::String]
338
+ # The name of the note to list occurrences for in the form of
339
+ # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
340
+ # @!attribute [rw] filter
341
+ # @return [::String]
342
+ # The filter expression.
343
+ # @!attribute [rw] page_size
344
+ # @return [::Integer]
345
+ # Number of occurrences to return in the list.
346
+ # @!attribute [rw] page_token
347
+ # @return [::String]
348
+ # Token to provide to skip to a particular spot in the list.
349
+ class ListNoteOccurrencesRequest
350
+ include ::Google::Protobuf::MessageExts
351
+ extend ::Google::Protobuf::MessageExts::ClassMethods
352
+ end
353
+
354
+ # Response for listing occurrences for a note.
355
+ # @!attribute [rw] occurrences
356
+ # @return [::Array<::Grafeas::V1::Occurrence>]
357
+ # The occurrences attached to the specified note.
358
+ # @!attribute [rw] next_page_token
359
+ # @return [::String]
360
+ # Token to provide to skip to a particular spot in the list.
361
+ class ListNoteOccurrencesResponse
362
+ include ::Google::Protobuf::MessageExts
363
+ extend ::Google::Protobuf::MessageExts::ClassMethods
364
+ end
365
+
366
+ # Request to create notes in batch.
367
+ # @!attribute [rw] parent
368
+ # @return [::String]
369
+ # The name of the project in the form of `projects/[PROJECT_ID]`, under which
370
+ # the notes are to be created.
371
+ # @!attribute [rw] notes
372
+ # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::Note}]
373
+ # The notes to create. Max allowed length is 1000.
374
+ class BatchCreateNotesRequest
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+
378
+ # @!attribute [rw] key
379
+ # @return [::String]
380
+ # @!attribute [rw] value
381
+ # @return [::Grafeas::V1::Note]
382
+ class NotesEntry
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+ end
387
+
388
+ # Response for creating notes in batch.
389
+ # @!attribute [rw] notes
390
+ # @return [::Array<::Grafeas::V1::Note>]
391
+ # The notes that were created.
392
+ class BatchCreateNotesResponse
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+ end
396
+
397
+ # Request to create occurrences in batch.
398
+ # @!attribute [rw] parent
399
+ # @return [::String]
400
+ # The name of the project in the form of `projects/[PROJECT_ID]`, under which
401
+ # the occurrences are to be created.
402
+ # @!attribute [rw] occurrences
403
+ # @return [::Array<::Grafeas::V1::Occurrence>]
404
+ # The occurrences to create. Max allowed length is 1000.
405
+ class BatchCreateOccurrencesRequest
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
410
+ # Response for creating occurrences in batch.
411
+ # @!attribute [rw] occurrences
412
+ # @return [::Array<::Grafeas::V1::Occurrence>]
413
+ # The occurrences that were created.
414
+ class BatchCreateOccurrencesResponse
415
+ include ::Google::Protobuf::MessageExts
416
+ extend ::Google::Protobuf::MessageExts::ClassMethods
417
+ end
418
+ end
419
+ end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+ # Steps taken to build the artifact.
23
+ # For a TaskRun, typically each container corresponds to one step in the
24
+ # recipe.
25
+ # @!attribute [rw] type
26
+ # @return [::String]
27
+ # URI indicating what type of recipe was performed. It determines the meaning
28
+ # of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.
29
+ # @!attribute [rw] defined_in_material
30
+ # @return [::Integer]
31
+ # Index in materials containing the recipe steps that are not implied by
32
+ # recipe.type. For example, if the recipe type were "make", then this would
33
+ # point to the source containing the Makefile, not the make program itself.
34
+ # Set to -1 if the recipe doesn't come from a material, as zero is default
35
+ # unset value for int64.
36
+ # @!attribute [rw] entry_point
37
+ # @return [::String]
38
+ # String identifying the entry point into the build.
39
+ # This is often a path to a configuration file and/or a target label within
40
+ # that file. The syntax and meaning are defined by recipe.type. For example,
41
+ # if the recipe type were "make", then this would reference the directory in
42
+ # which to run make as well as which target to use.
43
+ # @!attribute [rw] arguments
44
+ # @return [::Array<::Google::Protobuf::Any>]
45
+ # Collection of all external inputs that influenced the build on top of
46
+ # recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe
47
+ # type were "make", then this might be the flags passed to make aside from
48
+ # the target, which is captured in recipe.entryPoint. Since the arguments
49
+ # field can greatly vary in structure, depending on the builder and recipe
50
+ # type, this is of form "Any".
51
+ # @!attribute [rw] environment
52
+ # @return [::Array<::Google::Protobuf::Any>]
53
+ # Any other builder-controlled inputs necessary for correctly evaluating the
54
+ # recipe. Usually only needed for reproducing the build but not evaluated as
55
+ # part of policy. Since the environment field can greatly vary in structure,
56
+ # depending on the builder and recipe type, this is of form "Any".
57
+ class Recipe
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # Indicates that the builder claims certain fields in this message to be
63
+ # complete.
64
+ # @!attribute [rw] arguments
65
+ # @return [::Boolean]
66
+ # If true, the builder claims that recipe.arguments is complete, meaning that
67
+ # all external inputs are properly captured in the recipe.
68
+ # @!attribute [rw] environment
69
+ # @return [::Boolean]
70
+ # If true, the builder claims that recipe.environment is claimed to be
71
+ # complete.
72
+ # @!attribute [rw] materials
73
+ # @return [::Boolean]
74
+ # If true, the builder claims that materials are complete, usually through
75
+ # some controls to prevent network access. Sometimes called "hermetic".
76
+ class Completeness
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # Other properties of the build.
82
+ # @!attribute [rw] build_invocation_id
83
+ # @return [::String]
84
+ # Identifies the particular build invocation, which can be useful for finding
85
+ # associated logs or other ad-hoc analysis. The value SHOULD be globally
86
+ # unique, per in-toto Provenance spec.
87
+ # @!attribute [rw] build_started_on
88
+ # @return [::Google::Protobuf::Timestamp]
89
+ # The timestamp of when the build started.
90
+ # @!attribute [rw] build_finished_on
91
+ # @return [::Google::Protobuf::Timestamp]
92
+ # The timestamp of when the build completed.
93
+ # @!attribute [rw] completeness
94
+ # @return [::Grafeas::V1::Completeness]
95
+ # Indicates that the builder claims certain fields in this message to be
96
+ # complete.
97
+ # @!attribute [rw] reproducible
98
+ # @return [::Boolean]
99
+ # If true, the builder claims that running the recipe on materials will
100
+ # produce bit-for-bit identical output.
101
+ class Metadata
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # @!attribute [rw] id
107
+ # @return [::String]
108
+ class BuilderConfig
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # @!attribute [rw] builder_config
114
+ # @return [::Grafeas::V1::BuilderConfig]
115
+ # @!attribute [rw] recipe
116
+ # @return [::Grafeas::V1::Recipe]
117
+ # Identifies the configuration used for the build.
118
+ # When combined with materials, this SHOULD fully describe the build,
119
+ # such that re-running this recipe results in bit-for-bit identical output
120
+ # (if the build is reproducible).
121
+ # @!attribute [rw] metadata
122
+ # @return [::Grafeas::V1::Metadata]
123
+ # @!attribute [rw] materials
124
+ # @return [::Array<::String>]
125
+ # The collection of artifacts that influenced the build including sources,
126
+ # dependencies, build tools, base images, and so on. This is considered to be
127
+ # incomplete unless metadata.completeness.materials is true. Unset or null is
128
+ # equivalent to empty.
129
+ class InTotoProvenance
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+ end
133
+ end
134
+ end