google-apis-containeranalysis_v1alpha1 0.9.0 → 0.13.0

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