google-cloud-container_analysis-v1 0.4.3 → 0.4.7

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 (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