google-apis-containeranalysis_v1alpha1 0.9.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eca2824b5d5c9546cdead456b95585e9c8489a28c84811565beca742089c32ae
4
- data.tar.gz: 196da3ebb70cde99f45d9be4d2dc3704dd75b9ace72211ee7120738d4ce90f44
3
+ metadata.gz: b01d175a62b08eaa7266ca43826c60d95cf54b3d8bf28017dd293397c985e325
4
+ data.tar.gz: 3f76c4e4a077d07b33e41da807aee832f799df58a516325b35c4bf63efb9f736
5
5
  SHA512:
6
- metadata.gz: dbdddfd8fc58edf8d74c00f0dc42dba6998fd4ae1ace23b7296e04b7a10de4ab5609f467461334faeab9e984eca3a9762a1dd7a756c2ddf42079bb4ec8913d3a
7
- data.tar.gz: 70e2821e96c6fac23cdd85e402fb267c39729f5233709f143406f70471f14843748dec9dba4c670b9b7c4d2d42b8bfcb90d07bcc16db32ed5db31ff64fd250b5
6
+ metadata.gz: fdfa58358a40cfde5d5d8e0b0737f6cc801de9f6ecfb4a4083aed461f1d2e5b97d41c471c5fa0b2423293454b2fd2bb6ad58c6efb9756fc60c8cb89e60be5f78
7
+ data.tar.gz: 48deb3a3c0d707e9065079121a7e95c343d895ba80ec4ca786d089d66bfb3506a00921615d46be3b1979888cf28a8b77a1c227475eee140dd5f8d63c7464e208
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Release history for google-apis-containeranalysis_v1alpha1
2
2
 
3
+ ### v0.13.0 (2021-08-26)
4
+
5
+ * Regenerated from discovery document revision 20210820
6
+
7
+ ### v0.12.0 (2021-08-19)
8
+
9
+ * Regenerated from discovery document revision 20210813
10
+
11
+ ### v0.11.0 (2021-08-05)
12
+
13
+ * Regenerated from discovery document revision 20210730
14
+
15
+ ### v0.10.0 (2021-07-29)
16
+
17
+ * Regenerated from discovery document revision 20210723
18
+
3
19
  ### v0.9.0 (2021-06-29)
4
20
 
5
21
  * Regenerated using generator version 0.4.0
@@ -259,6 +259,11 @@ module Google
259
259
  class BuildDetails
260
260
  include Google::Apis::Core::Hashable
261
261
 
262
+ # In-toto Provenance representation as defined in spec.
263
+ # Corresponds to the JSON property `intotoProvenance`
264
+ # @return [Google::Apis::ContaineranalysisV1alpha1::InTotoProvenance]
265
+ attr_accessor :intoto_provenance
266
+
262
267
  # Provenance of a build. Contains all information needed to verify the full
263
268
  # details about the build from source to completion.
264
269
  # Corresponds to the JSON property `provenance`
@@ -283,6 +288,7 @@ module Google
283
288
 
284
289
  # Update properties of this object
285
290
  def update!(**args)
291
+ @intoto_provenance = args[:intoto_provenance] if args.key?(:intoto_provenance)
286
292
  @provenance = args[:provenance] if args.key?(:provenance)
287
293
  @provenance_bytes = args[:provenance_bytes] if args.key?(:provenance_bytes)
288
294
  end
@@ -458,6 +464,25 @@ module Google
458
464
  end
459
465
  end
460
466
 
467
+ #
468
+ class BuilderConfig
469
+ include Google::Apis::Core::Hashable
470
+
471
+ #
472
+ # Corresponds to the JSON property `id`
473
+ # @return [String]
474
+ attr_accessor :id
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @id = args[:id] if args.key?(:id)
483
+ end
484
+ end
485
+
461
486
  # A compliance check that is a CIS benchmark.
462
487
  class CisBenchmark
463
488
  include Google::Apis::Core::Hashable
@@ -535,6 +560,43 @@ module Google
535
560
  end
536
561
  end
537
562
 
563
+ # Indicates that the builder claims certain fields in this message to be
564
+ # complete.
565
+ class Completeness
566
+ include Google::Apis::Core::Hashable
567
+
568
+ # If true, the builder claims that recipe.arguments is complete, meaning that
569
+ # all external inputs are properly captured in the recipe.
570
+ # Corresponds to the JSON property `arguments`
571
+ # @return [Boolean]
572
+ attr_accessor :arguments
573
+ alias_method :arguments?, :arguments
574
+
575
+ # If true, the builder claims that recipe.environment is claimed to be complete.
576
+ # Corresponds to the JSON property `environment`
577
+ # @return [Boolean]
578
+ attr_accessor :environment
579
+ alias_method :environment?, :environment
580
+
581
+ # If true, the builder claims that materials are complete, usually through some
582
+ # controls to prevent network access. Sometimes called "hermetic".
583
+ # Corresponds to the JSON property `materials`
584
+ # @return [Boolean]
585
+ attr_accessor :materials
586
+ alias_method :materials?, :materials
587
+
588
+ def initialize(**args)
589
+ update!(**args)
590
+ end
591
+
592
+ # Update properties of this object
593
+ def update!(**args)
594
+ @arguments = args[:arguments] if args.key?(:arguments)
595
+ @environment = args[:environment] if args.key?(:environment)
596
+ @materials = args[:materials] if args.key?(:materials)
597
+ end
598
+ end
599
+
538
600
  # ComplianceNote encapsulates all information about a specific compliance check.
539
601
  class ComplianceNote
540
602
  include Google::Apis::Core::Hashable
@@ -671,6 +733,83 @@ module Google
671
733
  end
672
734
  end
673
735
 
736
+ # A note describing an attestation
737
+ class DsseAttestationNote
738
+ include Google::Apis::Core::Hashable
739
+
740
+ # This submessage provides human-readable hints about the purpose of the
741
+ # authority. Because the name of a note acts as its resource reference, it is
742
+ # important to disambiguate the canonical name of the Note (which might be a
743
+ # UUID for security purposes) from "readable" names more suitable for debug
744
+ # output. Note that these hints should not be used to look up authorities in
745
+ # security sensitive contexts, such as when looking up attestations to verify.
746
+ # Corresponds to the JSON property `hint`
747
+ # @return [Google::Apis::ContaineranalysisV1alpha1::DsseHint]
748
+ attr_accessor :hint
749
+
750
+ def initialize(**args)
751
+ update!(**args)
752
+ end
753
+
754
+ # Update properties of this object
755
+ def update!(**args)
756
+ @hint = args[:hint] if args.key?(:hint)
757
+ end
758
+ end
759
+
760
+ # An occurrence describing an attestation on a resource
761
+ class DsseAttestationOccurrence
762
+ include Google::Apis::Core::Hashable
763
+
764
+ # MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.
765
+ # proto. An authenticated message of arbitrary type.
766
+ # Corresponds to the JSON property `envelope`
767
+ # @return [Google::Apis::ContaineranalysisV1alpha1::Envelope]
768
+ attr_accessor :envelope
769
+
770
+ # Spec defined at https://github.com/in-toto/attestation/tree/main/spec#
771
+ # statement The serialized InTotoStatement will be stored as Envelope.payload.
772
+ # Envelope.payloadType is always "application/vnd.in-toto+json".
773
+ # Corresponds to the JSON property `statement`
774
+ # @return [Google::Apis::ContaineranalysisV1alpha1::InTotoStatement]
775
+ attr_accessor :statement
776
+
777
+ def initialize(**args)
778
+ update!(**args)
779
+ end
780
+
781
+ # Update properties of this object
782
+ def update!(**args)
783
+ @envelope = args[:envelope] if args.key?(:envelope)
784
+ @statement = args[:statement] if args.key?(:statement)
785
+ end
786
+ end
787
+
788
+ # This submessage provides human-readable hints about the purpose of the
789
+ # authority. Because the name of a note acts as its resource reference, it is
790
+ # important to disambiguate the canonical name of the Note (which might be a
791
+ # UUID for security purposes) from "readable" names more suitable for debug
792
+ # output. Note that these hints should not be used to look up authorities in
793
+ # security sensitive contexts, such as when looking up attestations to verify.
794
+ class DsseHint
795
+ include Google::Apis::Core::Hashable
796
+
797
+ # Required. The human readable name of this attestation authority, for example "
798
+ # cloudbuild-prod".
799
+ # Corresponds to the JSON property `humanReadableName`
800
+ # @return [String]
801
+ attr_accessor :human_readable_name
802
+
803
+ def initialize(**args)
804
+ update!(**args)
805
+ end
806
+
807
+ # Update properties of this object
808
+ def update!(**args)
809
+ @human_readable_name = args[:human_readable_name] if args.key?(:human_readable_name)
810
+ end
811
+ end
812
+
674
813
  # An artifact that can be deployed in some runtime.
675
814
  class Deployable
676
815
  include Google::Apis::Core::Hashable
@@ -1007,6 +1146,112 @@ module Google
1007
1146
  end
1008
1147
  end
1009
1148
 
1149
+ # DocumentNote represents an SPDX Document Creation Infromation section: https://
1150
+ # spdx.github.io/spdx-spec/2-document-creation-information/
1151
+ class DocumentNote
1152
+ include Google::Apis::Core::Hashable
1153
+
1154
+ # Compliance with the SPDX specification includes populating the SPDX fields
1155
+ # therein with data related to such fields ("SPDX-Metadata")
1156
+ # Corresponds to the JSON property `dataLicence`
1157
+ # @return [String]
1158
+ attr_accessor :data_licence
1159
+
1160
+ # Provide a reference number that can be used to understand how to parse and
1161
+ # interpret the rest of the file
1162
+ # Corresponds to the JSON property `spdxVersion`
1163
+ # @return [String]
1164
+ attr_accessor :spdx_version
1165
+
1166
+ def initialize(**args)
1167
+ update!(**args)
1168
+ end
1169
+
1170
+ # Update properties of this object
1171
+ def update!(**args)
1172
+ @data_licence = args[:data_licence] if args.key?(:data_licence)
1173
+ @spdx_version = args[:spdx_version] if args.key?(:spdx_version)
1174
+ end
1175
+ end
1176
+
1177
+ # DocumentOccurrence represents an SPDX Document Creation Information section:
1178
+ # https://spdx.github.io/spdx-spec/2-document-creation-information/
1179
+ class DocumentOccurrence
1180
+ include Google::Apis::Core::Hashable
1181
+
1182
+ # Identify when the SPDX file was originally created. The date is to be
1183
+ # specified according to combined date and time in UTC format as specified in
1184
+ # ISO 8601 standard
1185
+ # Corresponds to the JSON property `createTime`
1186
+ # @return [String]
1187
+ attr_accessor :create_time
1188
+
1189
+ # A field for creators of the SPDX file to provide general comments about the
1190
+ # creation of the SPDX file or any other relevant comment not included in the
1191
+ # other fields
1192
+ # Corresponds to the JSON property `creatorComment`
1193
+ # @return [String]
1194
+ attr_accessor :creator_comment
1195
+
1196
+ # Identify who (or what, in the case of a tool) created the SPDX file. If the
1197
+ # SPDX file was created by an individual, indicate the person's name
1198
+ # Corresponds to the JSON property `creators`
1199
+ # @return [Array<String>]
1200
+ attr_accessor :creators
1201
+
1202
+ # A field for creators of the SPDX file content to provide comments to the
1203
+ # consumers of the SPDX document
1204
+ # Corresponds to the JSON property `documentComment`
1205
+ # @return [String]
1206
+ attr_accessor :document_comment
1207
+
1208
+ # Identify any external SPDX documents referenced within this SPDX document
1209
+ # Corresponds to the JSON property `externalDocumentRefs`
1210
+ # @return [Array<String>]
1211
+ attr_accessor :external_document_refs
1212
+
1213
+ # Identify the current SPDX document which may be referenced in relationships by
1214
+ # other files, packages internally and documents externally
1215
+ # Corresponds to the JSON property `id`
1216
+ # @return [String]
1217
+ attr_accessor :id
1218
+
1219
+ # A field for creators of the SPDX file to provide the version of the SPDX
1220
+ # License List used when the SPDX file was created
1221
+ # Corresponds to the JSON property `licenseListVersion`
1222
+ # @return [String]
1223
+ attr_accessor :license_list_version
1224
+
1225
+ # Provide an SPDX document specific namespace as a unique absolute Uniform
1226
+ # Resource Identifier (URI) as specified in RFC-3986, with the exception of the ‘
1227
+ # #’ delimiter
1228
+ # Corresponds to the JSON property `namespace`
1229
+ # @return [String]
1230
+ attr_accessor :namespace
1231
+
1232
+ # Identify name of this document as designated by creator
1233
+ # Corresponds to the JSON property `title`
1234
+ # @return [String]
1235
+ attr_accessor :title
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ @create_time = args[:create_time] if args.key?(:create_time)
1244
+ @creator_comment = args[:creator_comment] if args.key?(:creator_comment)
1245
+ @creators = args[:creators] if args.key?(:creators)
1246
+ @document_comment = args[:document_comment] if args.key?(:document_comment)
1247
+ @external_document_refs = args[:external_document_refs] if args.key?(:external_document_refs)
1248
+ @id = args[:id] if args.key?(:id)
1249
+ @license_list_version = args[:license_list_version] if args.key?(:license_list_version)
1250
+ @namespace = args[:namespace] if args.key?(:namespace)
1251
+ @title = args[:title] if args.key?(:title)
1252
+ end
1253
+ end
1254
+
1010
1255
  # A generic empty message that you can re-use to avoid defining duplicated empty
1011
1256
  # messages in your APIs. A typical example is to use it as the request or the
1012
1257
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1024,6 +1269,65 @@ module Google
1024
1269
  end
1025
1270
  end
1026
1271
 
1272
+ # MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.
1273
+ # proto. An authenticated message of arbitrary type.
1274
+ class Envelope
1275
+ include Google::Apis::Core::Hashable
1276
+
1277
+ # The bytes being signed
1278
+ # Corresponds to the JSON property `payload`
1279
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1280
+ # @return [String]
1281
+ attr_accessor :payload
1282
+
1283
+ # The type of payload being signed
1284
+ # Corresponds to the JSON property `payloadType`
1285
+ # @return [String]
1286
+ attr_accessor :payload_type
1287
+
1288
+ # The signatures over the payload
1289
+ # Corresponds to the JSON property `signatures`
1290
+ # @return [Array<Google::Apis::ContaineranalysisV1alpha1::EnvelopeSignature>]
1291
+ attr_accessor :signatures
1292
+
1293
+ def initialize(**args)
1294
+ update!(**args)
1295
+ end
1296
+
1297
+ # Update properties of this object
1298
+ def update!(**args)
1299
+ @payload = args[:payload] if args.key?(:payload)
1300
+ @payload_type = args[:payload_type] if args.key?(:payload_type)
1301
+ @signatures = args[:signatures] if args.key?(:signatures)
1302
+ end
1303
+ end
1304
+
1305
+ # A DSSE signature
1306
+ class EnvelopeSignature
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # A reference id to the key being used for signing
1310
+ # Corresponds to the JSON property `keyid`
1311
+ # @return [String]
1312
+ attr_accessor :keyid
1313
+
1314
+ # The signature itself
1315
+ # Corresponds to the JSON property `sig`
1316
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1317
+ # @return [String]
1318
+ attr_accessor :sig
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @keyid = args[:keyid] if args.key?(:keyid)
1327
+ @sig = args[:sig] if args.key?(:sig)
1328
+ end
1329
+ end
1330
+
1027
1331
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
1028
1332
  # CEL is a C-like expression language. The syntax and semantics of CEL are
1029
1333
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -1078,6 +1382,48 @@ module Google
1078
1382
  end
1079
1383
  end
1080
1384
 
1385
+ # An External Reference allows a Package to reference an external source of
1386
+ # additional information, metadata, enumerations, asset identifiers, or
1387
+ # downloadable content believed to be relevant to the Package
1388
+ class ExternalRef
1389
+ include Google::Apis::Core::Hashable
1390
+
1391
+ # An External Reference allows a Package to reference an external source of
1392
+ # additional information, metadata, enumerations, asset identifiers, or
1393
+ # downloadable content believed to be relevant to the Package
1394
+ # Corresponds to the JSON property `category`
1395
+ # @return [String]
1396
+ attr_accessor :category
1397
+
1398
+ # Human-readable information about the purpose and target of the reference
1399
+ # Corresponds to the JSON property `comment`
1400
+ # @return [String]
1401
+ attr_accessor :comment
1402
+
1403
+ # The unique string with no spaces necessary to access the package-specific
1404
+ # information, metadata, or content within the target location
1405
+ # Corresponds to the JSON property `locator`
1406
+ # @return [String]
1407
+ attr_accessor :locator
1408
+
1409
+ # Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)
1410
+ # Corresponds to the JSON property `type`
1411
+ # @return [String]
1412
+ attr_accessor :type
1413
+
1414
+ def initialize(**args)
1415
+ update!(**args)
1416
+ end
1417
+
1418
+ # Update properties of this object
1419
+ def update!(**args)
1420
+ @category = args[:category] if args.key?(:category)
1421
+ @comment = args[:comment] if args.key?(:comment)
1422
+ @locator = args[:locator] if args.key?(:locator)
1423
+ @type = args[:type] if args.key?(:type)
1424
+ end
1425
+ end
1426
+
1081
1427
  # Container message for hashes of byte content of files, used in Source messages
1082
1428
  # to verify integrity of source input to the build.
1083
1429
  class FileHashes
@@ -1098,6 +1444,117 @@ module Google
1098
1444
  end
1099
1445
  end
1100
1446
 
1447
+ # FileNote represents an SPDX File Information section: https://spdx.github.io/
1448
+ # spdx-spec/4-file-information/
1449
+ class FileNote
1450
+ include Google::Apis::Core::Hashable
1451
+
1452
+ # Provide a unique identifier to match analysis information on each specific
1453
+ # file in a package
1454
+ # Corresponds to the JSON property `checksum`
1455
+ # @return [Array<String>]
1456
+ attr_accessor :checksum
1457
+
1458
+ # This field provides information about the type of file identified
1459
+ # Corresponds to the JSON property `fileType`
1460
+ # @return [String]
1461
+ attr_accessor :file_type
1462
+
1463
+ # Identify the full path and filename that corresponds to the file information
1464
+ # in this section
1465
+ # Corresponds to the JSON property `title`
1466
+ # @return [String]
1467
+ attr_accessor :title
1468
+
1469
+ def initialize(**args)
1470
+ update!(**args)
1471
+ end
1472
+
1473
+ # Update properties of this object
1474
+ def update!(**args)
1475
+ @checksum = args[:checksum] if args.key?(:checksum)
1476
+ @file_type = args[:file_type] if args.key?(:file_type)
1477
+ @title = args[:title] if args.key?(:title)
1478
+ end
1479
+ end
1480
+
1481
+ # FileOccurrence represents an SPDX File Information section: https://spdx.
1482
+ # github.io/spdx-spec/4-file-information/
1483
+ class FileOccurrence
1484
+ include Google::Apis::Core::Hashable
1485
+
1486
+ # This field provides a place for the SPDX data creator to record, at the file
1487
+ # level, acknowledgements that may be needed to be communicated in some contexts
1488
+ # Corresponds to the JSON property `attributions`
1489
+ # @return [Array<String>]
1490
+ attr_accessor :attributions
1491
+
1492
+ # This field provides a place for the SPDX file creator to record any general
1493
+ # comments about the file
1494
+ # Corresponds to the JSON property `comment`
1495
+ # @return [String]
1496
+ attr_accessor :comment
1497
+
1498
+ # This field provides a place for the SPDX file creator to record file
1499
+ # contributors
1500
+ # Corresponds to the JSON property `contributors`
1501
+ # @return [Array<String>]
1502
+ attr_accessor :contributors
1503
+
1504
+ # Identify the copyright holder of the file, as well as any dates present
1505
+ # Corresponds to the JSON property `copyright`
1506
+ # @return [String]
1507
+ attr_accessor :copyright
1508
+
1509
+ # This field contains the license information actually found in the file, if any
1510
+ # Corresponds to the JSON property `filesLicenseInfo`
1511
+ # @return [Array<String>]
1512
+ attr_accessor :files_license_info
1513
+
1514
+ # Uniquely identify any element in an SPDX document which may be referenced by
1515
+ # other elements
1516
+ # Corresponds to the JSON property `id`
1517
+ # @return [String]
1518
+ attr_accessor :id
1519
+
1520
+ # This field provides a place for the SPDX file creator to record any relevant
1521
+ # background references or analysis that went in to arriving at the Concluded
1522
+ # License for a file
1523
+ # Corresponds to the JSON property `licenseComments`
1524
+ # @return [String]
1525
+ attr_accessor :license_comments
1526
+
1527
+ # This field contains the license the SPDX file creator has concluded as
1528
+ # governing the file or alternative values if the governing license cannot be
1529
+ # determined
1530
+ # Corresponds to the JSON property `licenseConcluded`
1531
+ # @return [String]
1532
+ attr_accessor :license_concluded
1533
+
1534
+ # This field provides a place for the SPDX file creator to record license
1535
+ # notices or other such related notices found in the file
1536
+ # Corresponds to the JSON property `notice`
1537
+ # @return [String]
1538
+ attr_accessor :notice
1539
+
1540
+ def initialize(**args)
1541
+ update!(**args)
1542
+ end
1543
+
1544
+ # Update properties of this object
1545
+ def update!(**args)
1546
+ @attributions = args[:attributions] if args.key?(:attributions)
1547
+ @comment = args[:comment] if args.key?(:comment)
1548
+ @contributors = args[:contributors] if args.key?(:contributors)
1549
+ @copyright = args[:copyright] if args.key?(:copyright)
1550
+ @files_license_info = args[:files_license_info] if args.key?(:files_license_info)
1551
+ @id = args[:id] if args.key?(:id)
1552
+ @license_comments = args[:license_comments] if args.key?(:license_comments)
1553
+ @license_concluded = args[:license_concluded] if args.key?(:license_concluded)
1554
+ @notice = args[:notice] if args.key?(:notice)
1555
+ end
1556
+ end
1557
+
1101
1558
  # A set of properties that uniquely identify a given Docker image.
1102
1559
  class Fingerprint
1103
1560
  include Google::Apis::Core::Hashable
@@ -1461,6 +1918,86 @@ module Google
1461
1918
  end
1462
1919
  end
1463
1920
 
1921
+ #
1922
+ class InTotoProvenance
1923
+ include Google::Apis::Core::Hashable
1924
+
1925
+ # required
1926
+ # Corresponds to the JSON property `builderConfig`
1927
+ # @return [Google::Apis::ContaineranalysisV1alpha1::BuilderConfig]
1928
+ attr_accessor :builder_config
1929
+
1930
+ # The collection of artifacts that influenced the build including sources,
1931
+ # dependencies, build tools, base images, and so on. This is considered to be
1932
+ # incomplete unless metadata.completeness.materials is true. Unset or null is
1933
+ # equivalent to empty.
1934
+ # Corresponds to the JSON property `materials`
1935
+ # @return [Array<String>]
1936
+ attr_accessor :materials
1937
+
1938
+ # Other properties of the build.
1939
+ # Corresponds to the JSON property `metadata`
1940
+ # @return [Google::Apis::ContaineranalysisV1alpha1::Metadata]
1941
+ attr_accessor :metadata
1942
+
1943
+ # Steps taken to build the artifact. For a TaskRun, typically each container
1944
+ # corresponds to one step in the recipe.
1945
+ # Corresponds to the JSON property `recipe`
1946
+ # @return [Google::Apis::ContaineranalysisV1alpha1::Recipe]
1947
+ attr_accessor :recipe
1948
+
1949
+ def initialize(**args)
1950
+ update!(**args)
1951
+ end
1952
+
1953
+ # Update properties of this object
1954
+ def update!(**args)
1955
+ @builder_config = args[:builder_config] if args.key?(:builder_config)
1956
+ @materials = args[:materials] if args.key?(:materials)
1957
+ @metadata = args[:metadata] if args.key?(:metadata)
1958
+ @recipe = args[:recipe] if args.key?(:recipe)
1959
+ end
1960
+ end
1961
+
1962
+ # Spec defined at https://github.com/in-toto/attestation/tree/main/spec#
1963
+ # statement The serialized InTotoStatement will be stored as Envelope.payload.
1964
+ # Envelope.payloadType is always "application/vnd.in-toto+json".
1965
+ class InTotoStatement
1966
+ include Google::Apis::Core::Hashable
1967
+
1968
+ # "https://in-toto.io/Provenance/v0.1" for InTotoProvenance.
1969
+ # Corresponds to the JSON property `predicateType`
1970
+ # @return [String]
1971
+ attr_accessor :predicate_type
1972
+
1973
+ #
1974
+ # Corresponds to the JSON property `provenance`
1975
+ # @return [Google::Apis::ContaineranalysisV1alpha1::InTotoProvenance]
1976
+ attr_accessor :provenance
1977
+
1978
+ #
1979
+ # Corresponds to the JSON property `subject`
1980
+ # @return [Array<Google::Apis::ContaineranalysisV1alpha1::Subject>]
1981
+ attr_accessor :subject
1982
+
1983
+ # Always "https://in-toto.io/Statement/v0.1".
1984
+ # Corresponds to the JSON property `type`
1985
+ # @return [String]
1986
+ attr_accessor :type
1987
+
1988
+ def initialize(**args)
1989
+ update!(**args)
1990
+ end
1991
+
1992
+ # Update properties of this object
1993
+ def update!(**args)
1994
+ @predicate_type = args[:predicate_type] if args.key?(:predicate_type)
1995
+ @provenance = args[:provenance] if args.key?(:provenance)
1996
+ @subject = args[:subject] if args.key?(:subject)
1997
+ @type = args[:type] if args.key?(:type)
1998
+ end
1999
+ end
2000
+
1464
2001
  # This represents how a particular software package may be installed on a system.
1465
2002
  class Installation
1466
2003
  include Google::Apis::Core::Hashable
@@ -1650,6 +2187,54 @@ module Google
1650
2187
  end
1651
2188
  end
1652
2189
 
2190
+ # Other properties of the build.
2191
+ class Metadata
2192
+ include Google::Apis::Core::Hashable
2193
+
2194
+ # The timestamp of when the build completed.
2195
+ # Corresponds to the JSON property `buildFinishedOn`
2196
+ # @return [String]
2197
+ attr_accessor :build_finished_on
2198
+
2199
+ # Identifies the particular build invocation, which can be useful for finding
2200
+ # associated logs or other ad-hoc analysis. The value SHOULD be globally unique,
2201
+ # per in-toto Provenance spec.
2202
+ # Corresponds to the JSON property `buildInvocationId`
2203
+ # @return [String]
2204
+ attr_accessor :build_invocation_id
2205
+
2206
+ # The timestamp of when the build started.
2207
+ # Corresponds to the JSON property `buildStartedOn`
2208
+ # @return [String]
2209
+ attr_accessor :build_started_on
2210
+
2211
+ # Indicates that the builder claims certain fields in this message to be
2212
+ # complete.
2213
+ # Corresponds to the JSON property `completeness`
2214
+ # @return [Google::Apis::ContaineranalysisV1alpha1::Completeness]
2215
+ attr_accessor :completeness
2216
+
2217
+ # If true, the builder claims that running the recipe on materials will produce
2218
+ # bit-for-bit identical output.
2219
+ # Corresponds to the JSON property `reproducible`
2220
+ # @return [Boolean]
2221
+ attr_accessor :reproducible
2222
+ alias_method :reproducible?, :reproducible
2223
+
2224
+ def initialize(**args)
2225
+ update!(**args)
2226
+ end
2227
+
2228
+ # Update properties of this object
2229
+ def update!(**args)
2230
+ @build_finished_on = args[:build_finished_on] if args.key?(:build_finished_on)
2231
+ @build_invocation_id = args[:build_invocation_id] if args.key?(:build_invocation_id)
2232
+ @build_started_on = args[:build_started_on] if args.key?(:build_started_on)
2233
+ @completeness = args[:completeness] if args.key?(:completeness)
2234
+ @reproducible = args[:reproducible] if args.key?(:reproducible)
2235
+ end
2236
+ end
2237
+
1653
2238
  # Details about files that caused a compliance check to fail.
1654
2239
  class NonCompliantFile
1655
2240
  include Google::Apis::Core::Hashable
@@ -1737,6 +2322,11 @@ module Google
1737
2322
  # @return [Google::Apis::ContaineranalysisV1alpha1::Discovery]
1738
2323
  attr_accessor :discovery
1739
2324
 
2325
+ # A note describing an attestation
2326
+ # Corresponds to the JSON property `dsseAttestation`
2327
+ # @return [Google::Apis::ContaineranalysisV1alpha1::DsseAttestationNote]
2328
+ attr_accessor :dsse_attestation
2329
+
1740
2330
  # Time of expiration for this note, null if note does not expire.
1741
2331
  # Corresponds to the JSON property `expirationTime`
1742
2332
  # @return [String]
@@ -1770,11 +2360,35 @@ module Google
1770
2360
  # @return [Array<Google::Apis::ContaineranalysisV1alpha1::RelatedUrl>]
1771
2361
  attr_accessor :related_url
1772
2362
 
2363
+ # DocumentNote represents an SPDX Document Creation Infromation section: https://
2364
+ # spdx.github.io/spdx-spec/2-document-creation-information/
2365
+ # Corresponds to the JSON property `sbom`
2366
+ # @return [Google::Apis::ContaineranalysisV1alpha1::DocumentNote]
2367
+ attr_accessor :sbom
2368
+
1773
2369
  # A one sentence description of this `Note`.
1774
2370
  # Corresponds to the JSON property `shortDescription`
1775
2371
  # @return [String]
1776
2372
  attr_accessor :short_description
1777
2373
 
2374
+ # FileNote represents an SPDX File Information section: https://spdx.github.io/
2375
+ # spdx-spec/4-file-information/
2376
+ # Corresponds to the JSON property `spdxFile`
2377
+ # @return [Google::Apis::ContaineranalysisV1alpha1::FileNote]
2378
+ attr_accessor :spdx_file
2379
+
2380
+ # PackageNote represents an SPDX Package Information section: https://spdx.
2381
+ # github.io/spdx-spec/3-package-information/
2382
+ # Corresponds to the JSON property `spdxPackage`
2383
+ # @return [Google::Apis::ContaineranalysisV1alpha1::PackageNote]
2384
+ attr_accessor :spdx_package
2385
+
2386
+ # RelationshipNote represents an SPDX Relationship section: https://spdx.github.
2387
+ # io/spdx-spec/7-relationships-between-SPDX-elements/
2388
+ # Corresponds to the JSON property `spdxRelationship`
2389
+ # @return [Google::Apis::ContaineranalysisV1alpha1::RelationshipNote]
2390
+ attr_accessor :spdx_relationship
2391
+
1778
2392
  # Output only. The time this note was last updated. This field can be used as a
1779
2393
  # filter in list requests.
1780
2394
  # Corresponds to the JSON property `updateTime`
@@ -1806,13 +2420,18 @@ module Google
1806
2420
  @create_time = args[:create_time] if args.key?(:create_time)
1807
2421
  @deployable = args[:deployable] if args.key?(:deployable)
1808
2422
  @discovery = args[:discovery] if args.key?(:discovery)
2423
+ @dsse_attestation = args[:dsse_attestation] if args.key?(:dsse_attestation)
1809
2424
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
1810
2425
  @kind = args[:kind] if args.key?(:kind)
1811
2426
  @long_description = args[:long_description] if args.key?(:long_description)
1812
2427
  @name = args[:name] if args.key?(:name)
1813
2428
  @package = args[:package] if args.key?(:package)
1814
2429
  @related_url = args[:related_url] if args.key?(:related_url)
2430
+ @sbom = args[:sbom] if args.key?(:sbom)
1815
2431
  @short_description = args[:short_description] if args.key?(:short_description)
2432
+ @spdx_file = args[:spdx_file] if args.key?(:spdx_file)
2433
+ @spdx_package = args[:spdx_package] if args.key?(:spdx_package)
2434
+ @spdx_relationship = args[:spdx_relationship] if args.key?(:spdx_relationship)
1816
2435
  @update_time = args[:update_time] if args.key?(:update_time)
1817
2436
  @upgrade = args[:upgrade] if args.key?(:upgrade)
1818
2437
  @vulnerability_type = args[:vulnerability_type] if args.key?(:vulnerability_type)
@@ -1867,6 +2486,17 @@ module Google
1867
2486
  # @return [Google::Apis::ContaineranalysisV1alpha1::Discovered]
1868
2487
  attr_accessor :discovered
1869
2488
 
2489
+ # An occurrence describing an attestation on a resource
2490
+ # Corresponds to the JSON property `dsseAttestation`
2491
+ # @return [Google::Apis::ContaineranalysisV1alpha1::DsseAttestationOccurrence]
2492
+ attr_accessor :dsse_attestation
2493
+
2494
+ # MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.
2495
+ # proto. An authenticated message of arbitrary type.
2496
+ # Corresponds to the JSON property `envelope`
2497
+ # @return [Google::Apis::ContaineranalysisV1alpha1::Envelope]
2498
+ attr_accessor :envelope
2499
+
1870
2500
  # This represents how a particular software package may be installed on a system.
1871
2501
  # Corresponds to the JSON property `installation`
1872
2502
  # @return [Google::Apis::ContaineranalysisV1alpha1::Installation]
@@ -1908,6 +2538,30 @@ module Google
1908
2538
  # @return [String]
1909
2539
  attr_accessor :resource_url
1910
2540
 
2541
+ # DocumentOccurrence represents an SPDX Document Creation Information section:
2542
+ # https://spdx.github.io/spdx-spec/2-document-creation-information/
2543
+ # Corresponds to the JSON property `sbom`
2544
+ # @return [Google::Apis::ContaineranalysisV1alpha1::DocumentOccurrence]
2545
+ attr_accessor :sbom
2546
+
2547
+ # FileOccurrence represents an SPDX File Information section: https://spdx.
2548
+ # github.io/spdx-spec/4-file-information/
2549
+ # Corresponds to the JSON property `spdxFile`
2550
+ # @return [Google::Apis::ContaineranalysisV1alpha1::FileOccurrence]
2551
+ attr_accessor :spdx_file
2552
+
2553
+ # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2554
+ # github.io/spdx-spec/3-package-information/
2555
+ # Corresponds to the JSON property `spdxPackage`
2556
+ # @return [Google::Apis::ContaineranalysisV1alpha1::PackageOccurrence]
2557
+ attr_accessor :spdx_package
2558
+
2559
+ # RelationshipOccurrence represents an SPDX Relationship section: https://spdx.
2560
+ # github.io/spdx-spec/7-relationships-between-SPDX-elements/
2561
+ # Corresponds to the JSON property `spdxRelationship`
2562
+ # @return [Google::Apis::ContaineranalysisV1alpha1::RelationshipOccurrence]
2563
+ attr_accessor :spdx_relationship
2564
+
1911
2565
  # Output only. The time this `Occurrence` was last updated.
1912
2566
  # Corresponds to the JSON property `updateTime`
1913
2567
  # @return [String]
@@ -1939,6 +2593,8 @@ module Google
1939
2593
  @deployment = args[:deployment] if args.key?(:deployment)
1940
2594
  @derived_image = args[:derived_image] if args.key?(:derived_image)
1941
2595
  @discovered = args[:discovered] if args.key?(:discovered)
2596
+ @dsse_attestation = args[:dsse_attestation] if args.key?(:dsse_attestation)
2597
+ @envelope = args[:envelope] if args.key?(:envelope)
1942
2598
  @installation = args[:installation] if args.key?(:installation)
1943
2599
  @kind = args[:kind] if args.key?(:kind)
1944
2600
  @name = args[:name] if args.key?(:name)
@@ -1946,6 +2602,10 @@ module Google
1946
2602
  @remediation = args[:remediation] if args.key?(:remediation)
1947
2603
  @resource = args[:resource] if args.key?(:resource)
1948
2604
  @resource_url = args[:resource_url] if args.key?(:resource_url)
2605
+ @sbom = args[:sbom] if args.key?(:sbom)
2606
+ @spdx_file = args[:spdx_file] if args.key?(:spdx_file)
2607
+ @spdx_package = args[:spdx_package] if args.key?(:spdx_package)
2608
+ @spdx_relationship = args[:spdx_relationship] if args.key?(:spdx_relationship)
1949
2609
  @update_time = args[:update_time] if args.key?(:update_time)
1950
2610
  @upgrade = args[:upgrade] if args.key?(:upgrade)
1951
2611
  @vulnerability_details = args[:vulnerability_details] if args.key?(:vulnerability_details)
@@ -2050,11 +2710,24 @@ module Google
2050
2710
  # @return [Google::Apis::ContaineranalysisV1alpha1::VulnerabilityLocation]
2051
2711
  attr_accessor :affected_location
2052
2712
 
2713
+ # Output only. The distro or language system assigned severity for this
2714
+ # vulnerability when that is available and note provider assigned severity when
2715
+ # distro or language system has not yet assigned a severity for this
2716
+ # vulnerability.
2717
+ # Corresponds to the JSON property `effectiveSeverity`
2718
+ # @return [String]
2719
+ attr_accessor :effective_severity
2720
+
2053
2721
  # The location of the vulnerability
2054
2722
  # Corresponds to the JSON property `fixedLocation`
2055
2723
  # @return [Google::Apis::ContaineranalysisV1alpha1::VulnerabilityLocation]
2056
2724
  attr_accessor :fixed_location
2057
2725
 
2726
+ # The type of package (e.g. OS, MAVEN, GO).
2727
+ # Corresponds to the JSON property `packageType`
2728
+ # @return [String]
2729
+ attr_accessor :package_type
2730
+
2058
2731
  #
2059
2732
  # Corresponds to the JSON property `severityName`
2060
2733
  # @return [String]
@@ -2067,11 +2740,196 @@ module Google
2067
2740
  # Update properties of this object
2068
2741
  def update!(**args)
2069
2742
  @affected_location = args[:affected_location] if args.key?(:affected_location)
2743
+ @effective_severity = args[:effective_severity] if args.key?(:effective_severity)
2070
2744
  @fixed_location = args[:fixed_location] if args.key?(:fixed_location)
2745
+ @package_type = args[:package_type] if args.key?(:package_type)
2071
2746
  @severity_name = args[:severity_name] if args.key?(:severity_name)
2072
2747
  end
2073
2748
  end
2074
2749
 
2750
+ # PackageNote represents an SPDX Package Information section: https://spdx.
2751
+ # github.io/spdx-spec/3-package-information/
2752
+ class PackageNote
2753
+ include Google::Apis::Core::Hashable
2754
+
2755
+ # Indicates whether the file content of this package has been available for or
2756
+ # subjected to analysis when creating the SPDX document
2757
+ # Corresponds to the JSON property `analyzed`
2758
+ # @return [Boolean]
2759
+ attr_accessor :analyzed
2760
+ alias_method :analyzed?, :analyzed
2761
+
2762
+ # A place for the SPDX data creator to record, at the package level,
2763
+ # acknowledgements that may be needed to be communicated in some contexts
2764
+ # Corresponds to the JSON property `attribution`
2765
+ # @return [String]
2766
+ attr_accessor :attribution
2767
+
2768
+ # Provide an independently reproducible mechanism that permits unique
2769
+ # identification of a specific package that correlates to the data in this SPDX
2770
+ # file
2771
+ # Corresponds to the JSON property `checksum`
2772
+ # @return [String]
2773
+ attr_accessor :checksum
2774
+
2775
+ # Identify the copyright holders of the package, as well as any dates present
2776
+ # Corresponds to the JSON property `copyright`
2777
+ # @return [String]
2778
+ attr_accessor :copyright
2779
+
2780
+ # A more detailed description of the package
2781
+ # Corresponds to the JSON property `detailedDescription`
2782
+ # @return [String]
2783
+ attr_accessor :detailed_description
2784
+
2785
+ # This section identifies the download Universal Resource Locator (URL), or a
2786
+ # specific location within a version control system (VCS) for the package at the
2787
+ # time that the SPDX file was created
2788
+ # Corresponds to the JSON property `downloadLocation`
2789
+ # @return [String]
2790
+ attr_accessor :download_location
2791
+
2792
+ # ExternalRef
2793
+ # Corresponds to the JSON property `externalRefs`
2794
+ # @return [Array<Google::Apis::ContaineranalysisV1alpha1::ExternalRef>]
2795
+ attr_accessor :external_refs
2796
+
2797
+ # Contain the license the SPDX file creator has concluded as governing the This
2798
+ # field is to contain a list of all licenses found in the package. The
2799
+ # relationship between licenses (i.e., conjunctive, disjunctive) is not
2800
+ # specified in this field – it is simply a listing of all licenses found
2801
+ # Corresponds to the JSON property `filesLicenseInfo`
2802
+ # @return [Array<String>]
2803
+ attr_accessor :files_license_info
2804
+
2805
+ # Provide a place for the SPDX file creator to record a web site that serves as
2806
+ # the package's home page
2807
+ # Corresponds to the JSON property `homePage`
2808
+ # @return [String]
2809
+ attr_accessor :home_page
2810
+
2811
+ # List the licenses that have been declared by the authors of the package
2812
+ # Corresponds to the JSON property `licenseDeclared`
2813
+ # @return [String]
2814
+ attr_accessor :license_declared
2815
+
2816
+ # If the package identified in the SPDX file originated from a different person
2817
+ # or organization than identified as Package Supplier, this field identifies
2818
+ # from where or whom the package originally came
2819
+ # Corresponds to the JSON property `originator`
2820
+ # @return [String]
2821
+ attr_accessor :originator
2822
+
2823
+ # A short description of the package
2824
+ # Corresponds to the JSON property `summaryDescription`
2825
+ # @return [String]
2826
+ attr_accessor :summary_description
2827
+
2828
+ # Identify the actual distribution source for the package/directory identified
2829
+ # in the SPDX file
2830
+ # Corresponds to the JSON property `supplier`
2831
+ # @return [String]
2832
+ attr_accessor :supplier
2833
+
2834
+ # Identify the full name of the package as given by the Package Originator
2835
+ # Corresponds to the JSON property `title`
2836
+ # @return [String]
2837
+ attr_accessor :title
2838
+
2839
+ # This field provides an independently reproducible mechanism identifying
2840
+ # specific contents of a package based on the actual files (except the SPDX file
2841
+ # itself, if it is included in the package) that make up each package and that
2842
+ # correlates to the data in this SPDX file
2843
+ # Corresponds to the JSON property `verificationCode`
2844
+ # @return [String]
2845
+ attr_accessor :verification_code
2846
+
2847
+ # Identify the version of the package
2848
+ # Corresponds to the JSON property `version`
2849
+ # @return [String]
2850
+ attr_accessor :version
2851
+
2852
+ def initialize(**args)
2853
+ update!(**args)
2854
+ end
2855
+
2856
+ # Update properties of this object
2857
+ def update!(**args)
2858
+ @analyzed = args[:analyzed] if args.key?(:analyzed)
2859
+ @attribution = args[:attribution] if args.key?(:attribution)
2860
+ @checksum = args[:checksum] if args.key?(:checksum)
2861
+ @copyright = args[:copyright] if args.key?(:copyright)
2862
+ @detailed_description = args[:detailed_description] if args.key?(:detailed_description)
2863
+ @download_location = args[:download_location] if args.key?(:download_location)
2864
+ @external_refs = args[:external_refs] if args.key?(:external_refs)
2865
+ @files_license_info = args[:files_license_info] if args.key?(:files_license_info)
2866
+ @home_page = args[:home_page] if args.key?(:home_page)
2867
+ @license_declared = args[:license_declared] if args.key?(:license_declared)
2868
+ @originator = args[:originator] if args.key?(:originator)
2869
+ @summary_description = args[:summary_description] if args.key?(:summary_description)
2870
+ @supplier = args[:supplier] if args.key?(:supplier)
2871
+ @title = args[:title] if args.key?(:title)
2872
+ @verification_code = args[:verification_code] if args.key?(:verification_code)
2873
+ @version = args[:version] if args.key?(:version)
2874
+ end
2875
+ end
2876
+
2877
+ # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2878
+ # github.io/spdx-spec/3-package-information/
2879
+ class PackageOccurrence
2880
+ include Google::Apis::Core::Hashable
2881
+
2882
+ # A place for the SPDX file creator to record any general comments about the
2883
+ # package being described
2884
+ # Corresponds to the JSON property `comment`
2885
+ # @return [String]
2886
+ attr_accessor :comment
2887
+
2888
+ # Provide the actual file name of the package, or path of the directory being
2889
+ # treated as a package
2890
+ # Corresponds to the JSON property `filename`
2891
+ # @return [String]
2892
+ attr_accessor :filename
2893
+
2894
+ # Uniquely identify any element in an SPDX document which may be referenced by
2895
+ # other elements
2896
+ # Corresponds to the JSON property `id`
2897
+ # @return [String]
2898
+ attr_accessor :id
2899
+
2900
+ # This field provides a place for the SPDX file creator to record any relevant
2901
+ # background information or analysis that went in to arriving at the Concluded
2902
+ # License for a package
2903
+ # Corresponds to the JSON property `licenseComments`
2904
+ # @return [String]
2905
+ attr_accessor :license_comments
2906
+
2907
+ # package or alternative values, if the governing license cannot be determined
2908
+ # Corresponds to the JSON property `licenseConcluded`
2909
+ # @return [String]
2910
+ attr_accessor :license_concluded
2911
+
2912
+ # Provide a place for the SPDX file creator to record any relevant background
2913
+ # information or additional comments about the origin of the package
2914
+ # Corresponds to the JSON property `sourceInfo`
2915
+ # @return [String]
2916
+ attr_accessor :source_info
2917
+
2918
+ def initialize(**args)
2919
+ update!(**args)
2920
+ end
2921
+
2922
+ # Update properties of this object
2923
+ def update!(**args)
2924
+ @comment = args[:comment] if args.key?(:comment)
2925
+ @filename = args[:filename] if args.key?(:filename)
2926
+ @id = args[:id] if args.key?(:id)
2927
+ @license_comments = args[:license_comments] if args.key?(:license_comments)
2928
+ @license_concluded = args[:license_concluded] if args.key?(:license_concluded)
2929
+ @source_info = args[:source_info] if args.key?(:source_info)
2930
+ end
2931
+ end
2932
+
2075
2933
  # An attestation wrapper with a PGP-compatible signature. This message only
2076
2934
  # supports `ATTACHED` signatures, where the payload that is signed is included
2077
2935
  # alongside the signature itself in the same file.
@@ -2149,7 +3007,7 @@ module Google
2149
3007
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2150
3008
  # roles/resourcemanager.organizationViewer condition: title: expirable access
2151
3009
  # description: Does not grant access after Sep 2020 expression: request.time <
2152
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
3010
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2153
3011
  # description of IAM and its features, see the [IAM documentation](https://cloud.
2154
3012
  # google.com/iam/docs/).
2155
3013
  class Policy
@@ -2209,6 +3067,64 @@ module Google
2209
3067
  end
2210
3068
  end
2211
3069
 
3070
+ # Steps taken to build the artifact. For a TaskRun, typically each container
3071
+ # corresponds to one step in the recipe.
3072
+ class Recipe
3073
+ include Google::Apis::Core::Hashable
3074
+
3075
+ # Collection of all external inputs that influenced the build on top of recipe.
3076
+ # definedInMaterial and recipe.entryPoint. For example, if the recipe type were "
3077
+ # make", then this might be the flags passed to make aside from the target,
3078
+ # which is captured in recipe.entryPoint.
3079
+ # Corresponds to the JSON property `arguments`
3080
+ # @return [Array<String>]
3081
+ attr_accessor :arguments
3082
+
3083
+ # Index in materials containing the recipe steps that are not implied by recipe.
3084
+ # type. For example, if the recipe type were "make", then this would point to
3085
+ # the source containing the Makefile, not the make program itself. Set to -1 if
3086
+ # the recipe doesn't come from a material, as zero is default unset value for
3087
+ # int64.
3088
+ # Corresponds to the JSON property `definedInMaterial`
3089
+ # @return [Fixnum]
3090
+ attr_accessor :defined_in_material
3091
+
3092
+ # String identifying the entry point into the build. This is often a path to a
3093
+ # configuration file and/or a target label within that file. The syntax and
3094
+ # meaning are defined by recipe.type. For example, if the recipe type were "make"
3095
+ # , then this would reference the directory in which to run make as well as
3096
+ # which target to use.
3097
+ # Corresponds to the JSON property `entryPoint`
3098
+ # @return [String]
3099
+ attr_accessor :entry_point
3100
+
3101
+ # Any other builder-controlled inputs necessary for correctly evaluating the
3102
+ # recipe. Usually only needed for reproducing the build but not evaluated as
3103
+ # part of policy.
3104
+ # Corresponds to the JSON property `environment`
3105
+ # @return [Hash<String,String>]
3106
+ attr_accessor :environment
3107
+
3108
+ # URI indicating what type of recipe was performed. It determines the meaning of
3109
+ # recipe.entryPoint, recipe.arguments, recipe.environment, and materials.
3110
+ # Corresponds to the JSON property `type`
3111
+ # @return [String]
3112
+ attr_accessor :type
3113
+
3114
+ def initialize(**args)
3115
+ update!(**args)
3116
+ end
3117
+
3118
+ # Update properties of this object
3119
+ def update!(**args)
3120
+ @arguments = args[:arguments] if args.key?(:arguments)
3121
+ @defined_in_material = args[:defined_in_material] if args.key?(:defined_in_material)
3122
+ @entry_point = args[:entry_point] if args.key?(:entry_point)
3123
+ @environment = args[:environment] if args.key?(:environment)
3124
+ @type = args[:type] if args.key?(:type)
3125
+ end
3126
+ end
3127
+
2212
3128
  # Metadata for any related URL information
2213
3129
  class RelatedUrl
2214
3130
  include Google::Apis::Core::Hashable
@@ -2234,6 +3150,63 @@ module Google
2234
3150
  end
2235
3151
  end
2236
3152
 
3153
+ # RelationshipNote represents an SPDX Relationship section: https://spdx.github.
3154
+ # io/spdx-spec/7-relationships-between-SPDX-elements/
3155
+ class RelationshipNote
3156
+ include Google::Apis::Core::Hashable
3157
+
3158
+ def initialize(**args)
3159
+ update!(**args)
3160
+ end
3161
+
3162
+ # Update properties of this object
3163
+ def update!(**args)
3164
+ end
3165
+ end
3166
+
3167
+ # RelationshipOccurrence represents an SPDX Relationship section: https://spdx.
3168
+ # github.io/spdx-spec/7-relationships-between-SPDX-elements/
3169
+ class RelationshipOccurrence
3170
+ include Google::Apis::Core::Hashable
3171
+
3172
+ # A place for the SPDX file creator to record any general comments about the
3173
+ # relationship
3174
+ # Corresponds to the JSON property `comment`
3175
+ # @return [String]
3176
+ attr_accessor :comment
3177
+
3178
+ # Also referred to as SPDXRef-A The source SPDX element (file, package, etc)
3179
+ # Corresponds to the JSON property `source`
3180
+ # @return [String]
3181
+ attr_accessor :source
3182
+
3183
+ # Also referred to as SPDXRef-B The target SPDC element (file, package, etc) In
3184
+ # cases where there are "known unknowns", the use of the keyword NOASSERTION can
3185
+ # be used The keywords NONE can be used to indicate that an SPDX element (
3186
+ # package/file/snippet) has no other elements connected by some relationship to
3187
+ # it
3188
+ # Corresponds to the JSON property `target`
3189
+ # @return [String]
3190
+ attr_accessor :target
3191
+
3192
+ # The type of relationship between the source and target SPDX elements
3193
+ # Corresponds to the JSON property `type`
3194
+ # @return [String]
3195
+ attr_accessor :type
3196
+
3197
+ def initialize(**args)
3198
+ update!(**args)
3199
+ end
3200
+
3201
+ # Update properties of this object
3202
+ def update!(**args)
3203
+ @comment = args[:comment] if args.key?(:comment)
3204
+ @source = args[:source] if args.key?(:source)
3205
+ @target = args[:target] if args.key?(:target)
3206
+ @type = args[:type] if args.key?(:type)
3207
+ end
3208
+ end
3209
+
2237
3210
  # RepoSource describes the location of the source in a Google Cloud Source
2238
3211
  # Repository.
2239
3212
  class RepoSource
@@ -2383,7 +3356,7 @@ module Google
2383
3356
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2384
3357
  # roles/resourcemanager.organizationViewer condition: title: expirable access
2385
3358
  # description: Does not grant access after Sep 2020 expression: request.time <
2386
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
3359
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2387
3360
  # description of IAM and its features, see the [IAM documentation](https://cloud.
2388
3361
  # google.com/iam/docs/).
2389
3362
  # Corresponds to the JSON property `policy`
@@ -2557,6 +3530,31 @@ module Google
2557
3530
  end
2558
3531
  end
2559
3532
 
3533
+ #
3534
+ class Subject
3535
+ include Google::Apis::Core::Hashable
3536
+
3537
+ # "": ""
3538
+ # Corresponds to the JSON property `digest`
3539
+ # @return [Hash<String,String>]
3540
+ attr_accessor :digest
3541
+
3542
+ #
3543
+ # Corresponds to the JSON property `name`
3544
+ # @return [String]
3545
+ attr_accessor :name
3546
+
3547
+ def initialize(**args)
3548
+ update!(**args)
3549
+ end
3550
+
3551
+ # Update properties of this object
3552
+ def update!(**args)
3553
+ @digest = args[:digest] if args.key?(:digest)
3554
+ @name = args[:name] if args.key?(:name)
3555
+ end
3556
+ end
3557
+
2560
3558
  # Request message for `TestIamPermissions` method.
2561
3559
  class TestIamPermissionsRequest
2562
3560
  include Google::Apis::Core::Hashable
@@ -2801,7 +3799,14 @@ module Google
2801
3799
 
2802
3800
  # The distro assigned severity for this vulnerability when that is available and
2803
3801
  # note provider assigned severity when distro has not yet assigned a severity
2804
- # for this vulnerability.
3802
+ # for this vulnerability. When there are multiple package issues for this
3803
+ # vulnerability, they can have different effective severities because some might
3804
+ # come from the distro and some might come from installed language packs (e.g.
3805
+ # Maven JARs or Go binaries). For this reason, it is advised to use the
3806
+ # effective severity on the PackageIssue level, as this field may eventually be
3807
+ # deprecated. In the case where multiple PackageIssues have different effective
3808
+ # severities, the one set here will be the highest severity of any of the
3809
+ # PackageIssues.
2805
3810
  # Corresponds to the JSON property `effectiveSeverity`
2806
3811
  # @return [String]
2807
3812
  attr_accessor :effective_severity
@@ -2818,7 +3823,8 @@ module Google
2818
3823
  attr_accessor :severity
2819
3824
 
2820
3825
  # The type of package; whether native or non native(ruby gems, node.js packages
2821
- # etc)
3826
+ # etc). This may be deprecated in the future because we can have multiple
3827
+ # PackageIssues with different package types.
2822
3828
  # Corresponds to the JSON property `type`
2823
3829
  # @return [String]
2824
3830
  attr_accessor :type