You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: schema/bom-1.5.proto
+19-7Lines changed: 19 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ message Bom {
29
29
repeatedExternalReferenceexternal_references=7;
30
30
// Provides the ability to document dependency relationships.
31
31
repeatedDependencydependencies=8;
32
-
// Provides the ability to document aggregate completeness
32
+
// Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness. The completeness of vulnerabilities expressed in a BOM may also be described.
33
33
repeatedCompositioncompositions=9;
34
34
// Vulnerabilities identified in components or services.
35
35
repeatedVulnerabilityvulnerabilities=10;
@@ -557,18 +557,26 @@ message Property {
557
557
}
558
558
559
559
enumAggregate {
560
-
// Default, no statement about the aggregate completeness is being made
560
+
// The relationship completeness is not specified.
561
561
AGGREGATE_NOT_SPECIFIED=0;
562
-
// The aggregate composition is complete
562
+
// The relationship is complete. No further relationships including constituent components, services, or dependencies are known to exist.
563
563
AGGREGATE_COMPLETE=1;
564
-
// The aggregate composition is incomplete
564
+
// The relationship is incomplete. Additional relationships exist and may include constituent components, services, or dependencies.
565
565
AGGREGATE_INCOMPLETE=2;
566
-
// The aggregate composition is incompletefor firstparty components, complete for third party components
566
+
// The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented.
567
567
AGGREGATE_INCOMPLETE_FIRST_PARTY_ONLY=3;
568
-
// The aggregate composition is incompletefor thirdparty components, complete for first party components
568
+
// The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented.
569
569
AGGREGATE_INCOMPLETE_THIRD_PARTY_ONLY=4;
570
-
// The aggregate composition completeness is unknown
570
+
// The relationship may be complete or incomplete. This usually signifies a 'best-effort' to obtain constituent components, services, or dependencies but the completeness is inconclusive.
571
571
AGGREGATE_UNKNOWN=5;
572
+
// The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.
// The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are opensource.
// The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.
// The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are opensource.
Copy file name to clipboardExpand all lines: schema/bom-1.5.schema.json
+20-2Lines changed: 20 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -87,7 +87,7 @@
87
87
"items": {"$ref": "#/definitions/compositions"},
88
88
"uniqueItems": true,
89
89
"title": "Compositions",
90
-
"description": "Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness."
90
+
"description": "Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness. The completeness of vulnerabilities expressed in a BOM may also be described."
91
91
},
92
92
"vulnerabilities": {
93
93
"type": "array",
@@ -1524,10 +1524,15 @@
1524
1524
],
1525
1525
"additionalProperties": false,
1526
1526
"properties": {
1527
+
"bom-ref": {
1528
+
"$ref": "#/definitions/refType",
1529
+
"title": "BOM Reference",
1530
+
"description": "An optional identifier which can be used to reference the composition elsewhere in the BOM. Every bom-ref MUST be unique within the BOM."
1531
+
},
1527
1532
"aggregate": {
1528
1533
"$ref": "#/definitions/aggregateType",
1529
1534
"title": "Aggregate",
1530
-
"description": "Specifies an aggregate type that describe how complete a relationship is."
1535
+
"description": "Specifies an aggregate type that describe how complete a relationship is.\n\n* __complete__ = The relationship is complete. No further relationships including constituent components, services, or dependencies are known to exist.\n* __incomplete__ = The relationship is incomplete. Additional relationships exist and may include constituent components, services, or dependencies.\n* __incomplete_first_party_only__ = The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented.\n* __incomplete_first_party_proprietary_only__ = The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.\n* __incomplete_first_party_opensource_only__ = The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are opensource.\n* __incomplete_third_party_only__ = The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented.\n* __incomplete_third_party_proprietary_only__ = The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.\n* __incomplete_third_party_opensource_only__ = The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are opensource.\n* __unknown__ = The relationship may be complete or incomplete. This usually signifies a 'best-effort' to obtain constituent components, services, or dependencies but the completeness is inconclusive.\n* __not_specified__ = The relationship completeness is not specified.\n"
1531
1536
},
1532
1537
"assemblies": {
1533
1538
"type": "array",
@@ -1547,6 +1552,15 @@
1547
1552
"title": "BOM references",
1548
1553
"description": "The bom-ref identifiers of the components or services being described. Dependencies refer to a relationship whereby an independent constituent part requires another independent constituent part. References do not cascade to transitive dependencies. References are explicit for the specified dependency only."
1549
1554
},
1555
+
"vulnerabilities": {
1556
+
"type": "array",
1557
+
"uniqueItems": true,
1558
+
"items": {
1559
+
"type": "string"
1560
+
},
1561
+
"title": "BOM references",
1562
+
"description": "The bom-ref identifiers of the vulnerabilities being described."
Allows any undeclared elements as long as the elements are placed in a different namespace.
2198
+
</xs:documentation>
2199
+
</xs:annotation>
2200
+
</xs:any>
2201
+
</xs:sequence>
2202
+
</xs:complexType>
2203
+
</xs:element>
2185
2204
</xs:sequence>
2205
+
<xs:attributename="bom-ref"type="bom:refType">
2206
+
<xs:annotation>
2207
+
<xs:documentation>
2208
+
An optional identifier which can be used to reference the composition elsewhere in the BOM.
2209
+
Uniqueness is enforced within all elements and children of the root-level bom element.
2210
+
</xs:documentation>
2211
+
</xs:annotation>
2212
+
</xs:attribute>
2186
2213
</xs:complexType>
2187
2214
2188
2215
<xs:simpleTypename="aggregateType">
2189
2216
<xs:restrictionbase="xs:string">
2190
2217
<xs:enumerationvalue="complete">
2191
2218
<xs:annotation>
2192
-
<xs:documentation>The relationship is complete. No further relationships including constituent components, services, or dependencies exist.</xs:documentation>
2219
+
<xs:documentation>The relationship is complete. No further relationships including constituent components, services, or dependencies are known to exist.</xs:documentation>
2193
2220
</xs:annotation>
2194
2221
</xs:enumeration>
2195
2222
<xs:enumerationvalue="incomplete">
@@ -2202,11 +2229,31 @@ limitations under the License.
2202
2229
<xs:documentation>The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented.</xs:documentation>
<xs:documentation>The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.</xs:documentation>
<xs:documentation>The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are opensource.</xs:documentation>
<xs:documentation>The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented.</xs:documentation>
<xs:documentation>The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.</xs:documentation>
<xs:documentation>The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are opensource.</xs:documentation>
2255
+
</xs:annotation>
2256
+
</xs:enumeration>
2210
2257
<xs:enumerationvalue="unknown">
2211
2258
<xs:annotation>
2212
2259
<xs:documentation>The relationship may be complete or incomplete. This usually signifies a 'best-effort' to obtain constituent components, services, or dependencies but the completeness is inconclusive.</xs:documentation>
@@ -3864,7 +3911,7 @@ limitations under the License.
<xs:documentation>Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness.</xs:documentation>
3914
+
<xs:documentation>Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness. The completeness of vulnerabilities expressed in a BOM may also be described.</xs:documentation>
0 commit comments