hoppr-cyclonedx-models 0.6.1__py3-none-any.whl → 0.6.2__py3-none-any.whl
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.
Potentially problematic release.
This version of hoppr-cyclonedx-models might be problematic. Click here for more details.
- hoppr_cyclonedx_models/__init__.py +1 -1
- hoppr_cyclonedx_models/cyclonedx_1_3.py +13 -59
- hoppr_cyclonedx_models/cyclonedx_1_4.py +58 -127
- hoppr_cyclonedx_models/cyclonedx_1_5.py +362 -1119
- hoppr_cyclonedx_models/cyclonedx_1_6.py +942 -2150
- hoppr_cyclonedx_models/spdx.py +3 -28
- {hoppr_cyclonedx_models-0.6.1.dist-info → hoppr_cyclonedx_models-0.6.2.dist-info}/METADATA +1 -1
- hoppr_cyclonedx_models-0.6.2.dist-info/RECORD +12 -0
- hoppr_cyclonedx_models-0.6.1.dist-info/RECORD +0 -12
- {hoppr_cyclonedx_models-0.6.1.dist-info → hoppr_cyclonedx_models-0.6.2.dist-info}/WHEEL +0 -0
- {hoppr_cyclonedx_models-0.6.1.dist-info → hoppr_cyclonedx_models-0.6.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
2
|
--------------------------------------------------------------------------------
|
|
3
|
-
SPDX-FileCopyrightText: Copyright ©
|
|
3
|
+
SPDX-FileCopyrightText: Copyright © 2024 Lockheed Martin <open.source@lmco.com>
|
|
4
4
|
SPDX-FileName: hoppr_cyclonedx_models/cyclonedx_1_5.py
|
|
5
5
|
SPDX-FileType: SOURCE
|
|
6
6
|
SPDX-License-Identifier: MIT
|
|
@@ -25,15 +25,15 @@ THE SOFTWARE.
|
|
|
25
25
|
--------------------------------------------------------------------------------
|
|
26
26
|
This file was generated by datamodel-codegen:
|
|
27
27
|
filename: bom-1.5.schema.json
|
|
28
|
-
timestamp:
|
|
29
|
-
version: 0.
|
|
28
|
+
timestamp: 2024-07-15T17:53:40+00:00
|
|
29
|
+
version: 0.21.5
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
from __future__ import annotations
|
|
33
33
|
|
|
34
34
|
from datetime import datetime
|
|
35
35
|
from enum import Enum
|
|
36
|
-
from typing import List, Optional, Union
|
|
36
|
+
from typing import Any, List, Optional, Union
|
|
37
37
|
|
|
38
38
|
from pydantic import AnyUrl, EmailStr, Extra, Field
|
|
39
39
|
from typing_extensions import Annotated, Literal
|
|
@@ -103,11 +103,7 @@ class Phase(Enum):
|
|
|
103
103
|
return next((member for member in cls if member.name in {str(value), str(value).upper()}), None)
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
class
|
|
107
|
-
"""
|
|
108
|
-
The product lifecycle(s) that this BOM represents.
|
|
109
|
-
"""
|
|
110
|
-
|
|
106
|
+
class Lifecycle(CycloneDXBaseModel):
|
|
111
107
|
class Config:
|
|
112
108
|
extra = Extra.forbid
|
|
113
109
|
|
|
@@ -141,11 +137,7 @@ class Lifecycles(CycloneDXBaseModel):
|
|
|
141
137
|
]
|
|
142
138
|
|
|
143
139
|
|
|
144
|
-
class
|
|
145
|
-
"""
|
|
146
|
-
The product lifecycle(s) that this BOM represents.
|
|
147
|
-
"""
|
|
148
|
-
|
|
140
|
+
class Lifecycle1(CycloneDXBaseModel):
|
|
149
141
|
class Config:
|
|
150
142
|
extra = Extra.forbid
|
|
151
143
|
|
|
@@ -324,33 +316,78 @@ class LicenseType(Enum):
|
|
|
324
316
|
return next((member for member in cls if member.name in {str(value), str(value).upper()}), None)
|
|
325
317
|
|
|
326
318
|
|
|
327
|
-
class
|
|
319
|
+
class Licensing(CycloneDXBaseModel):
|
|
320
|
+
"""
|
|
321
|
+
Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and other important metadata
|
|
322
|
+
"""
|
|
323
|
+
|
|
328
324
|
class Config:
|
|
329
325
|
extra = Extra.forbid
|
|
330
326
|
|
|
331
|
-
|
|
332
|
-
str,
|
|
327
|
+
altIds: Annotated[
|
|
328
|
+
Optional[List[str]],
|
|
333
329
|
Field(
|
|
334
|
-
|
|
335
|
-
title="
|
|
330
|
+
description="License identifiers that may be used to manage licenses and their lifecycle",
|
|
331
|
+
title="Alternate License Identifiers",
|
|
336
332
|
),
|
|
337
|
-
]
|
|
338
|
-
|
|
333
|
+
] = None
|
|
334
|
+
purchaseOrder: Annotated[
|
|
339
335
|
Optional[str],
|
|
340
336
|
Field(
|
|
341
|
-
alias="bom-ref",
|
|
342
337
|
description=(
|
|
343
|
-
"
|
|
344
|
-
" MUST be unique within the BOM."
|
|
338
|
+
"The purchase order identifier the purchaser sent to a supplier or vendor to authorize a purchase"
|
|
345
339
|
),
|
|
346
|
-
|
|
347
|
-
|
|
340
|
+
title="Purchase Order",
|
|
341
|
+
),
|
|
342
|
+
] = None
|
|
343
|
+
licenseTypes: Annotated[
|
|
344
|
+
Optional[List[LicenseType]],
|
|
345
|
+
Field(
|
|
346
|
+
description=(
|
|
347
|
+
"The type of license(s) that was granted to the licensee\n\n* __academic__ = A license that grants use"
|
|
348
|
+
" of software solely for the purpose of education or research.\n* __appliance__ = A license covering"
|
|
349
|
+
" use of software embedded in a specific piece of hardware.\n* __client-access__ = A Client Access"
|
|
350
|
+
" License (CAL) allows client computers to access services provided by server software.\n*"
|
|
351
|
+
" __concurrent-user__ = A Concurrent User license (aka floating license) limits the number of licenses"
|
|
352
|
+
" for a software application and licenses are shared among a larger number of users.\n* __core-points__"
|
|
353
|
+
" = A license where the core of a computer's processor is assigned a specific number of points.\n*"
|
|
354
|
+
" __custom-metric__ = A license for which consumption is measured by non-standard metrics.\n*"
|
|
355
|
+
" __device__ = A license that covers a defined number of installations on computers and other types of"
|
|
356
|
+
" devices.\n* __evaluation__ = A license that grants permission to install and use software for trial"
|
|
357
|
+
" purposes.\n* __named-user__ = A license that grants access to the software to one or more pre-defined"
|
|
358
|
+
" users.\n* __node-locked__ = A license that grants access to the software on one or more pre-defined"
|
|
359
|
+
" computers or devices.\n* __oem__ = An Original Equipment Manufacturer license that is delivered with"
|
|
360
|
+
" hardware, cannot be transferred to other hardware, and is valid for the life of the hardware.\n*"
|
|
361
|
+
" __perpetual__ = A license where the software is sold on a one-time basis and the licensee can use a"
|
|
362
|
+
" copy of the software indefinitely.\n* __processor-points__ = A license where each installation"
|
|
363
|
+
" consumes points per processor.\n* __subscription__ = A license where the licensee pays a fee to use"
|
|
364
|
+
" the software or service.\n* __user__ = A license that grants access to the software or service by a"
|
|
365
|
+
" specified number of users.\n* __other__ = Another license type.\n"
|
|
366
|
+
),
|
|
367
|
+
title="License Type",
|
|
368
|
+
),
|
|
369
|
+
] = None
|
|
370
|
+
lastRenewal: Annotated[
|
|
371
|
+
Optional[datetime],
|
|
372
|
+
Field(
|
|
373
|
+
description=(
|
|
374
|
+
"The timestamp indicating when the license was last renewed. For new purchases, this is often the"
|
|
375
|
+
" purchase or acquisition date. For non-perpetual licenses or subscriptions, this is the timestamp of"
|
|
376
|
+
" when the license was last renewed."
|
|
377
|
+
),
|
|
378
|
+
title="Last Renewal",
|
|
379
|
+
),
|
|
380
|
+
] = None
|
|
381
|
+
expiration: Annotated[
|
|
382
|
+
Optional[datetime],
|
|
383
|
+
Field(
|
|
384
|
+
description="The timestamp indicating when the current license expires (if applicable).", title="Expiration"
|
|
348
385
|
),
|
|
349
386
|
] = None
|
|
350
387
|
|
|
351
388
|
|
|
352
389
|
LicenseChoice2 = Annotated[
|
|
353
|
-
List[
|
|
390
|
+
List[Any],
|
|
354
391
|
Field(
|
|
355
392
|
description="A tuple of exactly one SPDX License Expression.",
|
|
356
393
|
max_items=1,
|
|
@@ -589,12 +626,11 @@ class Dependency(CycloneDXBaseModel):
|
|
|
589
626
|
),
|
|
590
627
|
]
|
|
591
628
|
dependsOn: Annotated[
|
|
592
|
-
Optional[List[
|
|
629
|
+
Optional[List[RefLinkType]],
|
|
593
630
|
Field(
|
|
594
631
|
description=(
|
|
595
632
|
"The bom-ref identifiers of the components or services that are dependencies of this dependency object."
|
|
596
633
|
),
|
|
597
|
-
min_length=1,
|
|
598
634
|
title="Depends On",
|
|
599
635
|
),
|
|
600
636
|
] = None
|
|
@@ -954,6 +990,19 @@ class Advisory(CycloneDXBaseModel):
|
|
|
954
990
|
url: Annotated[str, Field(description="Location where the advisory can be obtained.", title="URL")]
|
|
955
991
|
|
|
956
992
|
|
|
993
|
+
Cwe = Annotated[
|
|
994
|
+
int,
|
|
995
|
+
Field(
|
|
996
|
+
description=(
|
|
997
|
+
"Integer representation of a Common Weaknesses Enumerations (CWE). For example 399 (of"
|
|
998
|
+
" https://cwe.mitre.org/data/definitions/399.html)"
|
|
999
|
+
),
|
|
1000
|
+
ge=1,
|
|
1001
|
+
title="CWE",
|
|
1002
|
+
),
|
|
1003
|
+
]
|
|
1004
|
+
|
|
1005
|
+
|
|
957
1006
|
class Severity(Enum):
|
|
958
1007
|
"""
|
|
959
1008
|
Textual representation of the severity of the vulnerability adopted by the analysis method. If the analysis method uses values other than what is provided, the user is expected to translate appropriately.
|
|
@@ -1185,6 +1234,19 @@ class Analysis(CycloneDXBaseModel):
|
|
|
1185
1234
|
] = None
|
|
1186
1235
|
|
|
1187
1236
|
|
|
1237
|
+
class Affect(CycloneDXBaseModel):
|
|
1238
|
+
class Config:
|
|
1239
|
+
extra = Extra.forbid
|
|
1240
|
+
|
|
1241
|
+
ref: Annotated[
|
|
1242
|
+
Union[RefLinkType, BomLinkElementType],
|
|
1243
|
+
Field(description="References a component or service by the objects bom-ref", title="Reference"),
|
|
1244
|
+
]
|
|
1245
|
+
versions: Annotated[
|
|
1246
|
+
Optional[List], Field(description="Zero or more individual versions or range of versions.", title="Versions")
|
|
1247
|
+
] = None
|
|
1248
|
+
|
|
1249
|
+
|
|
1188
1250
|
class AffectedStatus(Enum):
|
|
1189
1251
|
"""
|
|
1190
1252
|
The vulnerability status of a given version or range of versions of a product. The statuses 'affected' and 'unaffected' indicate that the version is affected or unaffected by the vulnerability. The status 'unknown' indicates that it is unknown or unspecified whether the given version is affected. There can be many reasons for an 'unknown' status, including that an investigation has not been undertaken or that a vendor has not disclosed the status.
|
|
@@ -1202,6 +1264,24 @@ class AffectedStatus(Enum):
|
|
|
1202
1264
|
return next((member for member in cls if member.name in {str(value), str(value).upper()}), None)
|
|
1203
1265
|
|
|
1204
1266
|
|
|
1267
|
+
Version = Annotated[
|
|
1268
|
+
str, Field(description="A single version of a component or service.", max_length=1024, min_length=1)
|
|
1269
|
+
]
|
|
1270
|
+
|
|
1271
|
+
|
|
1272
|
+
Range = Annotated[
|
|
1273
|
+
str,
|
|
1274
|
+
Field(
|
|
1275
|
+
description=(
|
|
1276
|
+
"A version range specified in Package URL Version Range syntax (vers) which is defined at"
|
|
1277
|
+
" https://github.com/package-url/purl-spec/VERSION-RANGE-SPEC.rst"
|
|
1278
|
+
),
|
|
1279
|
+
max_length=1024,
|
|
1280
|
+
min_length=1,
|
|
1281
|
+
),
|
|
1282
|
+
]
|
|
1283
|
+
|
|
1284
|
+
|
|
1205
1285
|
class Type4(Enum):
|
|
1206
1286
|
"""
|
|
1207
1287
|
Learning types describing the learning problem or hybrid learning problem.
|
|
@@ -1238,7 +1318,7 @@ class Approach(CycloneDXBaseModel):
|
|
|
1238
1318
|
] = None
|
|
1239
1319
|
|
|
1240
1320
|
|
|
1241
|
-
class
|
|
1321
|
+
class Dataset(CycloneDXBaseModel):
|
|
1242
1322
|
class Config:
|
|
1243
1323
|
extra = Extra.forbid
|
|
1244
1324
|
|
|
@@ -1575,7 +1655,7 @@ class Parameter(CycloneDXBaseModel):
|
|
|
1575
1655
|
dataType: Annotated[Optional[str], Field(description="The data type of the parameter.", title="Data type")] = None
|
|
1576
1656
|
|
|
1577
1657
|
|
|
1578
|
-
class
|
|
1658
|
+
class AlgorithmEnum(Enum):
|
|
1579
1659
|
"""
|
|
1580
1660
|
Signature algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of "EdDSA".
|
|
1581
1661
|
"""
|
|
@@ -1705,565 +1785,165 @@ class Hash(CycloneDXBaseModel):
|
|
|
1705
1785
|
]
|
|
1706
1786
|
|
|
1707
1787
|
|
|
1708
|
-
class
|
|
1709
|
-
"""
|
|
1710
|
-
The individual or organization that grants a license to another individual or organization
|
|
1711
|
-
"""
|
|
1712
|
-
|
|
1788
|
+
class License(CycloneDXBaseModel):
|
|
1713
1789
|
class Config:
|
|
1714
1790
|
extra = Extra.forbid
|
|
1715
1791
|
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
Field(description="The organization that granted the license", title="Licensor (Organization)"),
|
|
1719
|
-
]
|
|
1720
|
-
individual: Annotated[
|
|
1721
|
-
Optional[OrganizationalContact],
|
|
1792
|
+
bom_ref: Annotated[
|
|
1793
|
+
Optional[str],
|
|
1722
1794
|
Field(
|
|
1723
|
-
|
|
1724
|
-
|
|
1795
|
+
alias="bom-ref",
|
|
1796
|
+
description=(
|
|
1797
|
+
"An optional identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref"
|
|
1798
|
+
" MUST be unique within the BOM."
|
|
1799
|
+
),
|
|
1800
|
+
min_length=1,
|
|
1801
|
+
title="BOM Reference",
|
|
1725
1802
|
),
|
|
1726
1803
|
] = None
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
"""
|
|
1731
|
-
The individual or organization that grants a license to another individual or organization
|
|
1732
|
-
"""
|
|
1733
|
-
|
|
1734
|
-
class Config:
|
|
1735
|
-
extra = Extra.forbid
|
|
1736
|
-
|
|
1737
|
-
organization: Annotated[
|
|
1738
|
-
Optional[OrganizationalEntity],
|
|
1739
|
-
Field(description="The organization that granted the license", title="Licensor (Organization)"),
|
|
1804
|
+
id: Annotated[
|
|
1805
|
+
Optional[spdx.LicenseID],
|
|
1806
|
+
Field(description="A valid SPDX license ID", examples=["Apache-2.0"], title="License ID (SPDX)"),
|
|
1740
1807
|
] = None
|
|
1741
|
-
|
|
1742
|
-
|
|
1808
|
+
name: Annotated[
|
|
1809
|
+
Optional[str],
|
|
1743
1810
|
Field(
|
|
1744
|
-
description="
|
|
1745
|
-
|
|
1811
|
+
description="If SPDX does not define the license used, this field may be used to provide the license name",
|
|
1812
|
+
examples=["Acme Software License"],
|
|
1813
|
+
title="License Name",
|
|
1746
1814
|
),
|
|
1747
|
-
]
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
class Config:
|
|
1756
|
-
extra = Extra.forbid
|
|
1757
|
-
|
|
1758
|
-
organization: Annotated[
|
|
1759
|
-
OrganizationalEntity,
|
|
1760
|
-
Field(description="The organization that was granted the license", title="Licensee (Organization)"),
|
|
1761
|
-
]
|
|
1762
|
-
individual: Annotated[
|
|
1763
|
-
Optional[OrganizationalContact],
|
|
1815
|
+
] = None
|
|
1816
|
+
text: Annotated[
|
|
1817
|
+
Optional[Attachment],
|
|
1818
|
+
Field(description="An optional way to include the textual content of a license.", title="License text"),
|
|
1819
|
+
] = None
|
|
1820
|
+
url: Annotated[
|
|
1821
|
+
Optional[str],
|
|
1764
1822
|
Field(
|
|
1765
|
-
description=
|
|
1766
|
-
|
|
1823
|
+
description=(
|
|
1824
|
+
"The URL to the license file. If specified, a 'license' externalReference should also be specified for"
|
|
1825
|
+
" completeness"
|
|
1826
|
+
),
|
|
1827
|
+
examples=["https://www.apache.org/licenses/LICENSE-2.0.txt"],
|
|
1828
|
+
title="License URL",
|
|
1829
|
+
),
|
|
1830
|
+
] = None
|
|
1831
|
+
licensing: Annotated[
|
|
1832
|
+
Optional[Licensing],
|
|
1833
|
+
Field(
|
|
1834
|
+
description=(
|
|
1835
|
+
"Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and"
|
|
1836
|
+
" other important metadata"
|
|
1837
|
+
),
|
|
1838
|
+
title="Licensing information",
|
|
1839
|
+
),
|
|
1840
|
+
] = None
|
|
1841
|
+
properties: Annotated[
|
|
1842
|
+
Optional[List[Property]],
|
|
1843
|
+
Field(
|
|
1844
|
+
description=(
|
|
1845
|
+
"Provides the ability to document properties in a name-value store. This provides flexibility to"
|
|
1846
|
+
" include data not officially supported in the standard without having to use additional namespaces or"
|
|
1847
|
+
" create extensions. Unlike key-value stores, properties support duplicate names, each potentially"
|
|
1848
|
+
" having different values. Property names of interest to the general public are encouraged to be"
|
|
1849
|
+
" registered in the [CycloneDX Property"
|
|
1850
|
+
" Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."
|
|
1851
|
+
),
|
|
1852
|
+
title="Properties",
|
|
1767
1853
|
),
|
|
1768
1854
|
] = None
|
|
1769
1855
|
|
|
1770
1856
|
|
|
1771
|
-
class
|
|
1772
|
-
"""
|
|
1773
|
-
The individual or organization for which a license was granted to
|
|
1774
|
-
"""
|
|
1775
|
-
|
|
1857
|
+
class LicenseChoice1(CycloneDXBaseModel):
|
|
1776
1858
|
class Config:
|
|
1777
1859
|
extra = Extra.forbid
|
|
1778
1860
|
|
|
1779
|
-
|
|
1780
|
-
Optional[OrganizationalEntity],
|
|
1781
|
-
Field(description="The organization that was granted the license", title="Licensee (Organization)"),
|
|
1782
|
-
] = None
|
|
1783
|
-
individual: Annotated[
|
|
1784
|
-
OrganizationalContact,
|
|
1785
|
-
Field(
|
|
1786
|
-
description="The individual, not associated with an organization, that was granted the license",
|
|
1787
|
-
title="Licensee (Individual)",
|
|
1788
|
-
),
|
|
1789
|
-
]
|
|
1861
|
+
license: License
|
|
1790
1862
|
|
|
1791
1863
|
|
|
1792
|
-
class
|
|
1864
|
+
class Commit(CycloneDXBaseModel):
|
|
1793
1865
|
"""
|
|
1794
|
-
|
|
1866
|
+
Specifies an individual commit
|
|
1795
1867
|
"""
|
|
1796
1868
|
|
|
1797
1869
|
class Config:
|
|
1798
1870
|
extra = Extra.forbid
|
|
1799
1871
|
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
Field(
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1872
|
+
uid: Annotated[
|
|
1873
|
+
Optional[str],
|
|
1874
|
+
Field(
|
|
1875
|
+
description=(
|
|
1876
|
+
"A unique identifier of the commit. This may be version control specific. For example, Subversion uses"
|
|
1877
|
+
" revision numbers whereas git uses commit hashes."
|
|
1878
|
+
),
|
|
1879
|
+
title="UID",
|
|
1880
|
+
),
|
|
1881
|
+
] = None
|
|
1882
|
+
url: Annotated[
|
|
1883
|
+
Optional[str],
|
|
1806
1884
|
Field(
|
|
1807
|
-
description="The
|
|
1808
|
-
title="
|
|
1885
|
+
description="The URL to the commit. This URL will typically point to a commit in a version control system.",
|
|
1886
|
+
title="URL",
|
|
1809
1887
|
),
|
|
1810
1888
|
] = None
|
|
1889
|
+
author: Annotated[
|
|
1890
|
+
Optional[IdentifiableAction],
|
|
1891
|
+
Field(description="The author who created the changes in the commit", title="Author"),
|
|
1892
|
+
] = None
|
|
1893
|
+
committer: Annotated[
|
|
1894
|
+
Optional[IdentifiableAction],
|
|
1895
|
+
Field(description="The person who committed or pushed the commit", title="Committer"),
|
|
1896
|
+
] = None
|
|
1897
|
+
message: Annotated[
|
|
1898
|
+
Optional[str], Field(description="The text description of the contents of the commit", title="Message")
|
|
1899
|
+
] = None
|
|
1811
1900
|
|
|
1812
1901
|
|
|
1813
|
-
class
|
|
1902
|
+
class Patch(CycloneDXBaseModel):
|
|
1814
1903
|
"""
|
|
1815
|
-
|
|
1904
|
+
Specifies an individual patch
|
|
1816
1905
|
"""
|
|
1817
1906
|
|
|
1818
1907
|
class Config:
|
|
1819
1908
|
extra = Extra.forbid
|
|
1820
1909
|
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
Field(description="The organization that purchased the license", title="Purchaser (Organization)"),
|
|
1824
|
-
] = None
|
|
1825
|
-
individual: Annotated[
|
|
1826
|
-
OrganizationalContact,
|
|
1910
|
+
type: Annotated[
|
|
1911
|
+
Type1,
|
|
1827
1912
|
Field(
|
|
1828
|
-
description=
|
|
1829
|
-
|
|
1913
|
+
description=(
|
|
1914
|
+
"Specifies the purpose for the patch including the resolution of defects, security issues, or new"
|
|
1915
|
+
" behavior or functionality.\n\n* __unofficial__ = A patch which is not developed by the creators or"
|
|
1916
|
+
" maintainers of the software being patched. Refer to"
|
|
1917
|
+
" [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch)\n*"
|
|
1918
|
+
" __monkey__ = A patch which dynamically modifies runtime behavior. Refer to"
|
|
1919
|
+
" [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch)\n*"
|
|
1920
|
+
" __backport__ = A patch which takes code from a newer version of software and applies it to older"
|
|
1921
|
+
" versions of the same software. Refer to"
|
|
1922
|
+
" [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting)\n*"
|
|
1923
|
+
" __cherry-pick__ = A patch created by selectively applying commits from other versions or branches of"
|
|
1924
|
+
" the same software."
|
|
1925
|
+
),
|
|
1926
|
+
title="Type",
|
|
1830
1927
|
),
|
|
1831
1928
|
]
|
|
1929
|
+
diff: Annotated[
|
|
1930
|
+
Optional[Diff],
|
|
1931
|
+
Field(
|
|
1932
|
+
description=(
|
|
1933
|
+
"The patch file (or diff) that show changes. Refer to"
|
|
1934
|
+
" [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)"
|
|
1935
|
+
),
|
|
1936
|
+
title="Diff",
|
|
1937
|
+
),
|
|
1938
|
+
] = None
|
|
1939
|
+
resolves: Annotated[
|
|
1940
|
+
Optional[List[Issue]], Field(description="A collection of issues the patch resolves", title="Resolves")
|
|
1941
|
+
] = None
|
|
1832
1942
|
|
|
1833
1943
|
|
|
1834
|
-
class
|
|
1944
|
+
class ExternalReference(CycloneDXBaseModel):
|
|
1835
1945
|
"""
|
|
1836
|
-
|
|
1837
|
-
"""
|
|
1838
|
-
|
|
1839
|
-
class Config:
|
|
1840
|
-
extra = Extra.forbid
|
|
1841
|
-
|
|
1842
|
-
altIds: Annotated[
|
|
1843
|
-
Optional[List[str]],
|
|
1844
|
-
Field(
|
|
1845
|
-
description="License identifiers that may be used to manage licenses and their lifecycle",
|
|
1846
|
-
title="Alternate License Identifiers",
|
|
1847
|
-
),
|
|
1848
|
-
] = None
|
|
1849
|
-
licensor: Annotated[
|
|
1850
|
-
Optional[Union[Licensor, Licensor1]],
|
|
1851
|
-
Field(
|
|
1852
|
-
description="The individual or organization that grants a license to another individual or organization",
|
|
1853
|
-
title="Licensor",
|
|
1854
|
-
),
|
|
1855
|
-
] = None
|
|
1856
|
-
licensee: Annotated[
|
|
1857
|
-
Optional[Union[Licensee, Licensee1]],
|
|
1858
|
-
Field(description="The individual or organization for which a license was granted to", title="Licensee"),
|
|
1859
|
-
] = None
|
|
1860
|
-
purchaser: Annotated[
|
|
1861
|
-
Optional[Union[Purchaser, Purchaser1]],
|
|
1862
|
-
Field(description="The individual or organization that purchased the license", title="Purchaser"),
|
|
1863
|
-
] = None
|
|
1864
|
-
purchaseOrder: Annotated[
|
|
1865
|
-
Optional[str],
|
|
1866
|
-
Field(
|
|
1867
|
-
description=(
|
|
1868
|
-
"The purchase order identifier the purchaser sent to a supplier or vendor to authorize a purchase"
|
|
1869
|
-
),
|
|
1870
|
-
title="Purchase Order",
|
|
1871
|
-
),
|
|
1872
|
-
] = None
|
|
1873
|
-
licenseTypes: Annotated[
|
|
1874
|
-
Optional[List[LicenseType]],
|
|
1875
|
-
Field(
|
|
1876
|
-
description=(
|
|
1877
|
-
"The type of license(s) that was granted to the licensee\n\n* __academic__ = A license that grants use"
|
|
1878
|
-
" of software solely for the purpose of education or research.\n* __appliance__ = A license covering"
|
|
1879
|
-
" use of software embedded in a specific piece of hardware.\n* __client-access__ = A Client Access"
|
|
1880
|
-
" License (CAL) allows client computers to access services provided by server software.\n*"
|
|
1881
|
-
" __concurrent-user__ = A Concurrent User license (aka floating license) limits the number of licenses"
|
|
1882
|
-
" for a software application and licenses are shared among a larger number of users.\n* __core-points__"
|
|
1883
|
-
" = A license where the core of a computer's processor is assigned a specific number of points.\n*"
|
|
1884
|
-
" __custom-metric__ = A license for which consumption is measured by non-standard metrics.\n*"
|
|
1885
|
-
" __device__ = A license that covers a defined number of installations on computers and other types of"
|
|
1886
|
-
" devices.\n* __evaluation__ = A license that grants permission to install and use software for trial"
|
|
1887
|
-
" purposes.\n* __named-user__ = A license that grants access to the software to one or more pre-defined"
|
|
1888
|
-
" users.\n* __node-locked__ = A license that grants access to the software on one or more pre-defined"
|
|
1889
|
-
" computers or devices.\n* __oem__ = An Original Equipment Manufacturer license that is delivered with"
|
|
1890
|
-
" hardware, cannot be transferred to other hardware, and is valid for the life of the hardware.\n*"
|
|
1891
|
-
" __perpetual__ = A license where the software is sold on a one-time basis and the licensee can use a"
|
|
1892
|
-
" copy of the software indefinitely.\n* __processor-points__ = A license where each installation"
|
|
1893
|
-
" consumes points per processor.\n* __subscription__ = A license where the licensee pays a fee to use"
|
|
1894
|
-
" the software or service.\n* __user__ = A license that grants access to the software or service by a"
|
|
1895
|
-
" specified number of users.\n* __other__ = Another license type.\n"
|
|
1896
|
-
),
|
|
1897
|
-
title="License Type",
|
|
1898
|
-
),
|
|
1899
|
-
] = None
|
|
1900
|
-
lastRenewal: Annotated[
|
|
1901
|
-
Optional[datetime],
|
|
1902
|
-
Field(
|
|
1903
|
-
description=(
|
|
1904
|
-
"The timestamp indicating when the license was last renewed. For new purchases, this is often the"
|
|
1905
|
-
" purchase or acquisition date. For non-perpetual licenses or subscriptions, this is the timestamp of"
|
|
1906
|
-
" when the license was last renewed."
|
|
1907
|
-
),
|
|
1908
|
-
title="Last Renewal",
|
|
1909
|
-
),
|
|
1910
|
-
] = None
|
|
1911
|
-
expiration: Annotated[
|
|
1912
|
-
Optional[datetime],
|
|
1913
|
-
Field(
|
|
1914
|
-
description="The timestamp indicating when the current license expires (if applicable).", title="Expiration"
|
|
1915
|
-
),
|
|
1916
|
-
] = None
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
class License1(CycloneDXBaseModel):
|
|
1920
|
-
class Config:
|
|
1921
|
-
extra = Extra.forbid
|
|
1922
|
-
|
|
1923
|
-
bom_ref: Annotated[
|
|
1924
|
-
Optional[str],
|
|
1925
|
-
Field(
|
|
1926
|
-
alias="bom-ref",
|
|
1927
|
-
description=(
|
|
1928
|
-
"An optional identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref"
|
|
1929
|
-
" MUST be unique within the BOM."
|
|
1930
|
-
),
|
|
1931
|
-
min_length=1,
|
|
1932
|
-
title="BOM Reference",
|
|
1933
|
-
),
|
|
1934
|
-
] = None
|
|
1935
|
-
id: Annotated[
|
|
1936
|
-
spdx.LicenseID, Field(description="A valid SPDX license ID", examples=["Apache-2.0"], title="License ID (SPDX)")
|
|
1937
|
-
]
|
|
1938
|
-
name: Annotated[
|
|
1939
|
-
Optional[str],
|
|
1940
|
-
Field(
|
|
1941
|
-
description="If SPDX does not define the license used, this field may be used to provide the license name",
|
|
1942
|
-
examples=["Acme Software License"],
|
|
1943
|
-
title="License Name",
|
|
1944
|
-
),
|
|
1945
|
-
] = None
|
|
1946
|
-
text: Annotated[
|
|
1947
|
-
Optional[Attachment],
|
|
1948
|
-
Field(description="An optional way to include the textual content of a license.", title="License text"),
|
|
1949
|
-
] = None
|
|
1950
|
-
url: Annotated[
|
|
1951
|
-
Optional[str],
|
|
1952
|
-
Field(
|
|
1953
|
-
description=(
|
|
1954
|
-
"The URL to the license file. If specified, a 'license' externalReference should also be specified for"
|
|
1955
|
-
" completeness"
|
|
1956
|
-
),
|
|
1957
|
-
examples=["https://www.apache.org/licenses/LICENSE-2.0.txt"],
|
|
1958
|
-
title="License URL",
|
|
1959
|
-
),
|
|
1960
|
-
] = None
|
|
1961
|
-
licensing: Annotated[
|
|
1962
|
-
Optional[Licensing],
|
|
1963
|
-
Field(
|
|
1964
|
-
description=(
|
|
1965
|
-
"Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and"
|
|
1966
|
-
" other important metadata"
|
|
1967
|
-
),
|
|
1968
|
-
title="Licensing information",
|
|
1969
|
-
),
|
|
1970
|
-
] = None
|
|
1971
|
-
properties: Annotated[
|
|
1972
|
-
Optional[List[Property]],
|
|
1973
|
-
Field(
|
|
1974
|
-
description=(
|
|
1975
|
-
"Provides the ability to document properties in a name-value store. This provides flexibility to"
|
|
1976
|
-
" include data not officially supported in the standard without having to use additional namespaces or"
|
|
1977
|
-
" create extensions. Unlike key-value stores, properties support duplicate names, each potentially"
|
|
1978
|
-
" having different values. Property names of interest to the general public are encouraged to be"
|
|
1979
|
-
" registered in the [CycloneDX Property"
|
|
1980
|
-
" Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."
|
|
1981
|
-
),
|
|
1982
|
-
title="Properties",
|
|
1983
|
-
),
|
|
1984
|
-
] = None
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
class Licensor2(Licensor):
|
|
1988
|
-
"""
|
|
1989
|
-
The individual or organization that grants a license to another individual or organization
|
|
1990
|
-
"""
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
class Licensor3(Licensor1):
|
|
1994
|
-
"""
|
|
1995
|
-
The individual or organization that grants a license to another individual or organization
|
|
1996
|
-
"""
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
class Licensee2(Licensee):
|
|
2000
|
-
"""
|
|
2001
|
-
The individual or organization for which a license was granted to
|
|
2002
|
-
"""
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
class Licensee3(Licensee1):
|
|
2006
|
-
"""
|
|
2007
|
-
The individual or organization for which a license was granted to
|
|
2008
|
-
"""
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
class Purchaser2(Purchaser):
|
|
2012
|
-
"""
|
|
2013
|
-
The individual or organization that purchased the license
|
|
2014
|
-
"""
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
class Purchaser3(Purchaser1):
|
|
2018
|
-
"""
|
|
2019
|
-
The individual or organization that purchased the license
|
|
2020
|
-
"""
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
class Licensing1(CycloneDXBaseModel):
|
|
2024
|
-
"""
|
|
2025
|
-
Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and other important metadata
|
|
2026
|
-
"""
|
|
2027
|
-
|
|
2028
|
-
class Config:
|
|
2029
|
-
extra = Extra.forbid
|
|
2030
|
-
|
|
2031
|
-
altIds: Annotated[
|
|
2032
|
-
Optional[List[str]],
|
|
2033
|
-
Field(
|
|
2034
|
-
description="License identifiers that may be used to manage licenses and their lifecycle",
|
|
2035
|
-
title="Alternate License Identifiers",
|
|
2036
|
-
),
|
|
2037
|
-
] = None
|
|
2038
|
-
licensor: Annotated[
|
|
2039
|
-
Optional[Union[Licensor2, Licensor3]],
|
|
2040
|
-
Field(
|
|
2041
|
-
description="The individual or organization that grants a license to another individual or organization",
|
|
2042
|
-
title="Licensor",
|
|
2043
|
-
),
|
|
2044
|
-
] = None
|
|
2045
|
-
licensee: Annotated[
|
|
2046
|
-
Optional[Union[Licensee2, Licensee3]],
|
|
2047
|
-
Field(description="The individual or organization for which a license was granted to", title="Licensee"),
|
|
2048
|
-
] = None
|
|
2049
|
-
purchaser: Annotated[
|
|
2050
|
-
Optional[Union[Purchaser2, Purchaser3]],
|
|
2051
|
-
Field(description="The individual or organization that purchased the license", title="Purchaser"),
|
|
2052
|
-
] = None
|
|
2053
|
-
purchaseOrder: Annotated[
|
|
2054
|
-
Optional[str],
|
|
2055
|
-
Field(
|
|
2056
|
-
description=(
|
|
2057
|
-
"The purchase order identifier the purchaser sent to a supplier or vendor to authorize a purchase"
|
|
2058
|
-
),
|
|
2059
|
-
title="Purchase Order",
|
|
2060
|
-
),
|
|
2061
|
-
] = None
|
|
2062
|
-
licenseTypes: Annotated[
|
|
2063
|
-
Optional[List[LicenseType]],
|
|
2064
|
-
Field(
|
|
2065
|
-
description=(
|
|
2066
|
-
"The type of license(s) that was granted to the licensee\n\n* __academic__ = A license that grants use"
|
|
2067
|
-
" of software solely for the purpose of education or research.\n* __appliance__ = A license covering"
|
|
2068
|
-
" use of software embedded in a specific piece of hardware.\n* __client-access__ = A Client Access"
|
|
2069
|
-
" License (CAL) allows client computers to access services provided by server software.\n*"
|
|
2070
|
-
" __concurrent-user__ = A Concurrent User license (aka floating license) limits the number of licenses"
|
|
2071
|
-
" for a software application and licenses are shared among a larger number of users.\n* __core-points__"
|
|
2072
|
-
" = A license where the core of a computer's processor is assigned a specific number of points.\n*"
|
|
2073
|
-
" __custom-metric__ = A license for which consumption is measured by non-standard metrics.\n*"
|
|
2074
|
-
" __device__ = A license that covers a defined number of installations on computers and other types of"
|
|
2075
|
-
" devices.\n* __evaluation__ = A license that grants permission to install and use software for trial"
|
|
2076
|
-
" purposes.\n* __named-user__ = A license that grants access to the software to one or more pre-defined"
|
|
2077
|
-
" users.\n* __node-locked__ = A license that grants access to the software on one or more pre-defined"
|
|
2078
|
-
" computers or devices.\n* __oem__ = An Original Equipment Manufacturer license that is delivered with"
|
|
2079
|
-
" hardware, cannot be transferred to other hardware, and is valid for the life of the hardware.\n*"
|
|
2080
|
-
" __perpetual__ = A license where the software is sold on a one-time basis and the licensee can use a"
|
|
2081
|
-
" copy of the software indefinitely.\n* __processor-points__ = A license where each installation"
|
|
2082
|
-
" consumes points per processor.\n* __subscription__ = A license where the licensee pays a fee to use"
|
|
2083
|
-
" the software or service.\n* __user__ = A license that grants access to the software or service by a"
|
|
2084
|
-
" specified number of users.\n* __other__ = Another license type.\n"
|
|
2085
|
-
),
|
|
2086
|
-
title="License Type",
|
|
2087
|
-
),
|
|
2088
|
-
] = None
|
|
2089
|
-
lastRenewal: Annotated[
|
|
2090
|
-
Optional[datetime],
|
|
2091
|
-
Field(
|
|
2092
|
-
description=(
|
|
2093
|
-
"The timestamp indicating when the license was last renewed. For new purchases, this is often the"
|
|
2094
|
-
" purchase or acquisition date. For non-perpetual licenses or subscriptions, this is the timestamp of"
|
|
2095
|
-
" when the license was last renewed."
|
|
2096
|
-
),
|
|
2097
|
-
title="Last Renewal",
|
|
2098
|
-
),
|
|
2099
|
-
] = None
|
|
2100
|
-
expiration: Annotated[
|
|
2101
|
-
Optional[datetime],
|
|
2102
|
-
Field(
|
|
2103
|
-
description="The timestamp indicating when the current license expires (if applicable).", title="Expiration"
|
|
2104
|
-
),
|
|
2105
|
-
] = None
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
class License2(CycloneDXBaseModel):
|
|
2109
|
-
class Config:
|
|
2110
|
-
extra = Extra.forbid
|
|
2111
|
-
|
|
2112
|
-
bom_ref: Annotated[
|
|
2113
|
-
Optional[str],
|
|
2114
|
-
Field(
|
|
2115
|
-
alias="bom-ref",
|
|
2116
|
-
description=(
|
|
2117
|
-
"An optional identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref"
|
|
2118
|
-
" MUST be unique within the BOM."
|
|
2119
|
-
),
|
|
2120
|
-
min_length=1,
|
|
2121
|
-
title="BOM Reference",
|
|
2122
|
-
),
|
|
2123
|
-
] = None
|
|
2124
|
-
id: Annotated[
|
|
2125
|
-
Optional[spdx.LicenseID],
|
|
2126
|
-
Field(description="A valid SPDX license ID", examples=["Apache-2.0"], title="License ID (SPDX)"),
|
|
2127
|
-
] = None
|
|
2128
|
-
name: Annotated[
|
|
2129
|
-
str,
|
|
2130
|
-
Field(
|
|
2131
|
-
description="If SPDX does not define the license used, this field may be used to provide the license name",
|
|
2132
|
-
examples=["Acme Software License"],
|
|
2133
|
-
title="License Name",
|
|
2134
|
-
),
|
|
2135
|
-
]
|
|
2136
|
-
text: Annotated[
|
|
2137
|
-
Optional[Attachment],
|
|
2138
|
-
Field(description="An optional way to include the textual content of a license.", title="License text"),
|
|
2139
|
-
] = None
|
|
2140
|
-
url: Annotated[
|
|
2141
|
-
Optional[str],
|
|
2142
|
-
Field(
|
|
2143
|
-
description=(
|
|
2144
|
-
"The URL to the license file. If specified, a 'license' externalReference should also be specified for"
|
|
2145
|
-
" completeness"
|
|
2146
|
-
),
|
|
2147
|
-
examples=["https://www.apache.org/licenses/LICENSE-2.0.txt"],
|
|
2148
|
-
title="License URL",
|
|
2149
|
-
),
|
|
2150
|
-
] = None
|
|
2151
|
-
licensing: Annotated[
|
|
2152
|
-
Optional[Licensing1],
|
|
2153
|
-
Field(
|
|
2154
|
-
description=(
|
|
2155
|
-
"Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and"
|
|
2156
|
-
" other important metadata"
|
|
2157
|
-
),
|
|
2158
|
-
title="Licensing information",
|
|
2159
|
-
),
|
|
2160
|
-
] = None
|
|
2161
|
-
properties: Annotated[
|
|
2162
|
-
Optional[List[Property]],
|
|
2163
|
-
Field(
|
|
2164
|
-
description=(
|
|
2165
|
-
"Provides the ability to document properties in a name-value store. This provides flexibility to"
|
|
2166
|
-
" include data not officially supported in the standard without having to use additional namespaces or"
|
|
2167
|
-
" create extensions. Unlike key-value stores, properties support duplicate names, each potentially"
|
|
2168
|
-
" having different values. Property names of interest to the general public are encouraged to be"
|
|
2169
|
-
" registered in the [CycloneDX Property"
|
|
2170
|
-
" Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."
|
|
2171
|
-
),
|
|
2172
|
-
title="Properties",
|
|
2173
|
-
),
|
|
2174
|
-
] = None
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
class LicenseChoice1(CycloneDXBaseModel):
|
|
2178
|
-
class Config:
|
|
2179
|
-
extra = Extra.forbid
|
|
2180
|
-
|
|
2181
|
-
license: Annotated[Union[License1, License2], Field(title="License Object")]
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
class Commit(CycloneDXBaseModel):
|
|
2185
|
-
"""
|
|
2186
|
-
Specifies an individual commit
|
|
2187
|
-
"""
|
|
2188
|
-
|
|
2189
|
-
class Config:
|
|
2190
|
-
extra = Extra.forbid
|
|
2191
|
-
|
|
2192
|
-
uid: Annotated[
|
|
2193
|
-
Optional[str],
|
|
2194
|
-
Field(
|
|
2195
|
-
description=(
|
|
2196
|
-
"A unique identifier of the commit. This may be version control specific. For example, Subversion uses"
|
|
2197
|
-
" revision numbers whereas git uses commit hashes."
|
|
2198
|
-
),
|
|
2199
|
-
title="UID",
|
|
2200
|
-
),
|
|
2201
|
-
] = None
|
|
2202
|
-
url: Annotated[
|
|
2203
|
-
Optional[str],
|
|
2204
|
-
Field(
|
|
2205
|
-
description="The URL to the commit. This URL will typically point to a commit in a version control system.",
|
|
2206
|
-
title="URL",
|
|
2207
|
-
),
|
|
2208
|
-
] = None
|
|
2209
|
-
author: Annotated[
|
|
2210
|
-
Optional[IdentifiableAction],
|
|
2211
|
-
Field(description="The author who created the changes in the commit", title="Author"),
|
|
2212
|
-
] = None
|
|
2213
|
-
committer: Annotated[
|
|
2214
|
-
Optional[IdentifiableAction],
|
|
2215
|
-
Field(description="The person who committed or pushed the commit", title="Committer"),
|
|
2216
|
-
] = None
|
|
2217
|
-
message: Annotated[
|
|
2218
|
-
Optional[str], Field(description="The text description of the contents of the commit", title="Message")
|
|
2219
|
-
] = None
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
class Patch(CycloneDXBaseModel):
|
|
2223
|
-
"""
|
|
2224
|
-
Specifies an individual patch
|
|
2225
|
-
"""
|
|
2226
|
-
|
|
2227
|
-
class Config:
|
|
2228
|
-
extra = Extra.forbid
|
|
2229
|
-
|
|
2230
|
-
type: Annotated[
|
|
2231
|
-
Type1,
|
|
2232
|
-
Field(
|
|
2233
|
-
description=(
|
|
2234
|
-
"Specifies the purpose for the patch including the resolution of defects, security issues, or new"
|
|
2235
|
-
" behavior or functionality.\n\n* __unofficial__ = A patch which is not developed by the creators or"
|
|
2236
|
-
" maintainers of the software being patched. Refer to"
|
|
2237
|
-
" [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch)\n*"
|
|
2238
|
-
" __monkey__ = A patch which dynamically modifies runtime behavior. Refer to"
|
|
2239
|
-
" [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch)\n*"
|
|
2240
|
-
" __backport__ = A patch which takes code from a newer version of software and applies it to older"
|
|
2241
|
-
" versions of the same software. Refer to"
|
|
2242
|
-
" [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting)\n*"
|
|
2243
|
-
" __cherry-pick__ = A patch created by selectively applying commits from other versions or branches of"
|
|
2244
|
-
" the same software."
|
|
2245
|
-
),
|
|
2246
|
-
title="Type",
|
|
2247
|
-
),
|
|
2248
|
-
]
|
|
2249
|
-
diff: Annotated[
|
|
2250
|
-
Optional[Diff],
|
|
2251
|
-
Field(
|
|
2252
|
-
description=(
|
|
2253
|
-
"The patch file (or diff) that show changes. Refer to"
|
|
2254
|
-
" [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)"
|
|
2255
|
-
),
|
|
2256
|
-
title="Diff",
|
|
2257
|
-
),
|
|
2258
|
-
] = None
|
|
2259
|
-
resolves: Annotated[
|
|
2260
|
-
Optional[List[Issue]], Field(description="A collection of issues the patch resolves", title="Resolves")
|
|
2261
|
-
] = None
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
class ExternalReference(CycloneDXBaseModel):
|
|
2265
|
-
"""
|
|
2266
|
-
External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.
|
|
1946
|
+
External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.
|
|
2267
1947
|
"""
|
|
2268
1948
|
|
|
2269
1949
|
class Config:
|
|
@@ -2414,92 +2094,32 @@ class Rating(CycloneDXBaseModel):
|
|
|
2414
2094
|
description="Textual representation of the metric values used to score the vulnerability", title="Vector"
|
|
2415
2095
|
),
|
|
2416
2096
|
] = None
|
|
2417
|
-
justification: Annotated[
|
|
2418
|
-
Optional[str],
|
|
2419
|
-
Field(description="An optional reason for rating the vulnerability as it was", title="Justification"),
|
|
2420
|
-
] = None
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
class Credits(CycloneDXBaseModel):
|
|
2424
|
-
"""
|
|
2425
|
-
Individuals or organizations credited with the discovery of the vulnerability.
|
|
2426
|
-
"""
|
|
2427
|
-
|
|
2428
|
-
class Config:
|
|
2429
|
-
extra = Extra.forbid
|
|
2430
|
-
|
|
2431
|
-
organizations: Annotated[
|
|
2432
|
-
Optional[List[OrganizationalEntity]],
|
|
2433
|
-
Field(description="The organizations credited with vulnerability discovery.", title="Organizations"),
|
|
2434
|
-
] = None
|
|
2435
|
-
individuals: Annotated[
|
|
2436
|
-
Optional[List[OrganizationalContact]],
|
|
2437
|
-
Field(
|
|
2438
|
-
description=(
|
|
2439
|
-
"The individuals, not associated with organizations, that are credited with vulnerability discovery."
|
|
2440
|
-
),
|
|
2441
|
-
title="Individuals",
|
|
2442
|
-
),
|
|
2443
|
-
] = None
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
class Versions(CycloneDXBaseModel):
|
|
2447
|
-
class Config:
|
|
2448
|
-
extra = Extra.forbid
|
|
2449
|
-
|
|
2450
|
-
version: Annotated[
|
|
2451
|
-
str, Field(description="A single version of a component or service.", max_length=1024, min_length=1)
|
|
2452
|
-
]
|
|
2453
|
-
range: Annotated[
|
|
2454
|
-
Optional[str],
|
|
2455
|
-
Field(
|
|
2456
|
-
description=(
|
|
2457
|
-
"A version range specified in Package URL Version Range syntax (vers) which is defined at"
|
|
2458
|
-
" https://github.com/package-url/purl-spec/VERSION-RANGE-SPEC.rst"
|
|
2459
|
-
),
|
|
2460
|
-
max_length=1024,
|
|
2461
|
-
min_length=1,
|
|
2462
|
-
),
|
|
2463
|
-
] = None
|
|
2464
|
-
status: Annotated[
|
|
2465
|
-
Optional[AffectedStatus], Field(description="The vulnerability status for the version or range of versions.")
|
|
2466
|
-
] = AffectedStatus.affected
|
|
2097
|
+
justification: Annotated[
|
|
2098
|
+
Optional[str],
|
|
2099
|
+
Field(description="An optional reason for rating the vulnerability as it was", title="Justification"),
|
|
2100
|
+
] = None
|
|
2467
2101
|
|
|
2468
2102
|
|
|
2469
|
-
class
|
|
2103
|
+
class Credits(CycloneDXBaseModel):
|
|
2104
|
+
"""
|
|
2105
|
+
Individuals or organizations credited with the discovery of the vulnerability.
|
|
2106
|
+
"""
|
|
2107
|
+
|
|
2470
2108
|
class Config:
|
|
2471
2109
|
extra = Extra.forbid
|
|
2472
2110
|
|
|
2473
|
-
|
|
2474
|
-
Optional[
|
|
2111
|
+
organizations: Annotated[
|
|
2112
|
+
Optional[List[OrganizationalEntity]],
|
|
2113
|
+
Field(description="The organizations credited with vulnerability discovery.", title="Organizations"),
|
|
2475
2114
|
] = None
|
|
2476
|
-
|
|
2477
|
-
|
|
2115
|
+
individuals: Annotated[
|
|
2116
|
+
Optional[List[OrganizationalContact]],
|
|
2478
2117
|
Field(
|
|
2479
2118
|
description=(
|
|
2480
|
-
"
|
|
2481
|
-
" https://github.com/package-url/purl-spec/VERSION-RANGE-SPEC.rst"
|
|
2119
|
+
"The individuals, not associated with organizations, that are credited with vulnerability discovery."
|
|
2482
2120
|
),
|
|
2483
|
-
|
|
2484
|
-
min_length=1,
|
|
2121
|
+
title="Individuals",
|
|
2485
2122
|
),
|
|
2486
|
-
]
|
|
2487
|
-
status: Annotated[
|
|
2488
|
-
Optional[AffectedStatus], Field(description="The vulnerability status for the version or range of versions.")
|
|
2489
|
-
] = AffectedStatus.affected
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
class Affect(CycloneDXBaseModel):
|
|
2493
|
-
class Config:
|
|
2494
|
-
extra = Extra.forbid
|
|
2495
|
-
|
|
2496
|
-
ref: Annotated[
|
|
2497
|
-
Union[RefLinkType, BomLinkElementType],
|
|
2498
|
-
Field(description="References a component or service by the objects bom-ref", title="Reference"),
|
|
2499
|
-
]
|
|
2500
|
-
versions: Annotated[
|
|
2501
|
-
Optional[List[Union[Versions, Versions1]]],
|
|
2502
|
-
Field(description="Zero or more individual versions or range of versions.", title="Versions"),
|
|
2503
2123
|
] = None
|
|
2504
2124
|
|
|
2505
2125
|
|
|
@@ -2553,20 +2173,12 @@ class Considerations(CycloneDXBaseModel):
|
|
|
2553
2173
|
] = None
|
|
2554
2174
|
|
|
2555
2175
|
|
|
2556
|
-
class
|
|
2557
|
-
class Config:
|
|
2558
|
-
extra = Extra.forbid
|
|
2559
|
-
|
|
2560
|
-
organization: Annotated[OrganizationalEntity, Field(title="Organization")]
|
|
2561
|
-
contact: Annotated[Optional[OrganizationalContact], Field(title="Individual")] = None
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
class DataGovernanceResponsibleParty2(CycloneDXBaseModel):
|
|
2176
|
+
class DataGovernanceResponsibleParty(CycloneDXBaseModel):
|
|
2565
2177
|
class Config:
|
|
2566
2178
|
extra = Extra.forbid
|
|
2567
2179
|
|
|
2568
2180
|
organization: Annotated[Optional[OrganizationalEntity], Field(title="Organization")] = None
|
|
2569
|
-
contact: Annotated[OrganizationalContact, Field(title="Individual")]
|
|
2181
|
+
contact: Annotated[Optional[OrganizationalContact], Field(title="Individual")] = None
|
|
2570
2182
|
|
|
2571
2183
|
|
|
2572
2184
|
class GraphicsCollection(CycloneDXBaseModel):
|
|
@@ -2598,25 +2210,7 @@ class Step(CycloneDXBaseModel):
|
|
|
2598
2210
|
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2599
2211
|
|
|
2600
2212
|
|
|
2601
|
-
class
|
|
2602
|
-
"""
|
|
2603
|
-
A reference to a locally defined resource (e.g., a bom-ref) or an externally accessible resource.
|
|
2604
|
-
"""
|
|
2605
|
-
|
|
2606
|
-
class Config:
|
|
2607
|
-
extra = Extra.forbid
|
|
2608
|
-
|
|
2609
|
-
ref: Annotated[
|
|
2610
|
-
Union[RefLinkType, BomLinkElementType],
|
|
2611
|
-
Field(description="References an object by its bom-ref attribute", title="BOM Reference"),
|
|
2612
|
-
]
|
|
2613
|
-
externalReference: Annotated[
|
|
2614
|
-
Optional[ExternalReference],
|
|
2615
|
-
Field(description="Reference to an externally accessible resource.", title="External reference"),
|
|
2616
|
-
] = None
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
class ResourceReferenceChoice2(CycloneDXBaseModel):
|
|
2213
|
+
class ResourceReferenceChoice(CycloneDXBaseModel):
|
|
2620
2214
|
"""
|
|
2621
2215
|
A reference to a locally defined resource (e.g., a bom-ref) or an externally accessible resource.
|
|
2622
2216
|
"""
|
|
@@ -2629,16 +2223,16 @@ class ResourceReferenceChoice2(CycloneDXBaseModel):
|
|
|
2629
2223
|
Field(description="References an object by its bom-ref attribute", title="BOM Reference"),
|
|
2630
2224
|
] = None
|
|
2631
2225
|
externalReference: Annotated[
|
|
2632
|
-
ExternalReference,
|
|
2226
|
+
Optional[ExternalReference],
|
|
2633
2227
|
Field(description="Reference to an externally accessible resource.", title="External reference"),
|
|
2634
|
-
]
|
|
2228
|
+
] = None
|
|
2635
2229
|
|
|
2636
2230
|
|
|
2637
2231
|
class Signer(CycloneDXBaseModel):
|
|
2638
2232
|
class Config:
|
|
2639
2233
|
extra = Extra.forbid
|
|
2640
2234
|
|
|
2641
|
-
algorithm: Union[
|
|
2235
|
+
algorithm: Union[AlgorithmEnum, AnyUrl]
|
|
2642
2236
|
keyId: Annotated[
|
|
2643
2237
|
Optional[str],
|
|
2644
2238
|
Field(description="Optional. Application specific string identifying the signature key.", title="Key ID"),
|
|
@@ -2735,21 +2329,21 @@ class DataGovernance(CycloneDXBaseModel):
|
|
|
2735
2329
|
extra = Extra.forbid
|
|
2736
2330
|
|
|
2737
2331
|
custodians: Annotated[
|
|
2738
|
-
Optional[List[
|
|
2332
|
+
Optional[List[DataGovernanceResponsibleParty]],
|
|
2739
2333
|
Field(
|
|
2740
2334
|
description="Data custodians are responsible for the safe custody, transport, and storage of data.",
|
|
2741
2335
|
title="Data Custodians",
|
|
2742
2336
|
),
|
|
2743
2337
|
] = None
|
|
2744
2338
|
stewards: Annotated[
|
|
2745
|
-
Optional[List[
|
|
2339
|
+
Optional[List[DataGovernanceResponsibleParty]],
|
|
2746
2340
|
Field(
|
|
2747
2341
|
description="Data stewards are responsible for data content, context, and associated business rules.",
|
|
2748
2342
|
title="Data Stewards",
|
|
2749
2343
|
),
|
|
2750
2344
|
] = None
|
|
2751
2345
|
owners: Annotated[
|
|
2752
|
-
Optional[List[
|
|
2346
|
+
Optional[List[DataGovernanceResponsibleParty]],
|
|
2753
2347
|
Field(description="Data owners are concerned with risk and appropriate access to data.", title="Data Owners"),
|
|
2754
2348
|
] = None
|
|
2755
2349
|
|
|
@@ -2796,7 +2390,7 @@ class Workspace(CycloneDXBaseModel):
|
|
|
2796
2390
|
Optional[str], Field(description="A description of the resource instance.", title="Description")
|
|
2797
2391
|
] = None
|
|
2798
2392
|
resourceReferences: Annotated[
|
|
2799
|
-
Optional[List[
|
|
2393
|
+
Optional[List[ResourceReferenceChoice]],
|
|
2800
2394
|
Field(
|
|
2801
2395
|
description="References to component or service resources that are used to realize the resource instance.",
|
|
2802
2396
|
title="Resource references",
|
|
@@ -2832,233 +2426,50 @@ class Workspace(CycloneDXBaseModel):
|
|
|
2832
2426
|
Optional[str],
|
|
2833
2427
|
Field(
|
|
2834
2428
|
description="Identifies the reference to the request for a specific volume type and parameters.",
|
|
2835
|
-
examples=["a kubernetes Persistent Volume Claim (PVC) name"],
|
|
2836
|
-
title="Volume request",
|
|
2837
|
-
),
|
|
2838
|
-
] = None
|
|
2839
|
-
volume: Annotated[
|
|
2840
|
-
Optional[Volume],
|
|
2841
|
-
Field(
|
|
2842
|
-
description="Information about the actual volume instance allocated to the workspace.",
|
|
2843
|
-
examples=["see https://kubernetes.io/docs/concepts/storage/persistent-volumes/"],
|
|
2844
|
-
title="Volume",
|
|
2845
|
-
),
|
|
2846
|
-
] = None
|
|
2847
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
class Event(CycloneDXBaseModel):
|
|
2851
|
-
"""
|
|
2852
|
-
Represents something that happened that may trigger a response.
|
|
2853
|
-
"""
|
|
2854
|
-
|
|
2855
|
-
class Config:
|
|
2856
|
-
extra = Extra.forbid
|
|
2857
|
-
|
|
2858
|
-
uid: Annotated[
|
|
2859
|
-
Optional[str], Field(description="The unique identifier of the event.", title="Unique Identifier (UID)")
|
|
2860
|
-
] = None
|
|
2861
|
-
description: Annotated[Optional[str], Field(description="A description of the event.", title="Description")] = None
|
|
2862
|
-
timeReceived: Annotated[
|
|
2863
|
-
Optional[datetime],
|
|
2864
|
-
Field(description="The date and time (timestamp) when the event was received.", title="Time Received"),
|
|
2865
|
-
] = None
|
|
2866
|
-
data: Annotated[Optional[Attachment], Field(description="Encoding of the raw event data.", title="Data")] = None
|
|
2867
|
-
source: Annotated[
|
|
2868
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2869
|
-
Field(description="References the component or service that was the source of the event", title="Source"),
|
|
2870
|
-
] = None
|
|
2871
|
-
target: Annotated[
|
|
2872
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2873
|
-
Field(description="References the component or service that was the target of the event", title="Target"),
|
|
2874
|
-
] = None
|
|
2875
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
class InputType1(CycloneDXBaseModel):
|
|
2879
|
-
"""
|
|
2880
|
-
Type that represents various input data types and formats.
|
|
2881
|
-
"""
|
|
2882
|
-
|
|
2883
|
-
class Config:
|
|
2884
|
-
extra = Extra.forbid
|
|
2885
|
-
|
|
2886
|
-
source: Annotated[
|
|
2887
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2888
|
-
Field(
|
|
2889
|
-
description=(
|
|
2890
|
-
"A references to the component or service that provided the input to the task (e.g., reference to a"
|
|
2891
|
-
" service with data flow value of `inbound`)"
|
|
2892
|
-
),
|
|
2893
|
-
examples=["source code repository", "database"],
|
|
2894
|
-
title="Source",
|
|
2895
|
-
),
|
|
2896
|
-
] = None
|
|
2897
|
-
target: Annotated[
|
|
2898
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2899
|
-
Field(
|
|
2900
|
-
description=(
|
|
2901
|
-
"A reference to the component or service that received or stored the input if not the task itself"
|
|
2902
|
-
" (e.g., a local, named storage workspace)"
|
|
2903
|
-
),
|
|
2904
|
-
examples=["workspace", "directory"],
|
|
2905
|
-
title="Target",
|
|
2906
|
-
),
|
|
2907
|
-
] = None
|
|
2908
|
-
resource: Annotated[
|
|
2909
|
-
Union[ResourceReferenceChoice1, ResourceReferenceChoice2],
|
|
2910
|
-
Field(
|
|
2911
|
-
description=(
|
|
2912
|
-
"A reference to an independent resource provided as an input to a task by the workflow runtime."
|
|
2913
|
-
),
|
|
2914
|
-
examples=[
|
|
2915
|
-
"reference to a configuration file in a repository (i.e., a bom-ref)",
|
|
2916
|
-
"reference to a scanning service used in a task (i.e., a bom-ref)",
|
|
2917
|
-
],
|
|
2918
|
-
title="Resource",
|
|
2919
|
-
),
|
|
2920
|
-
]
|
|
2921
|
-
parameters: Annotated[
|
|
2922
|
-
Optional[List[Parameter]],
|
|
2923
|
-
Field(
|
|
2924
|
-
description="Inputs that have the form of parameters with names and values.",
|
|
2925
|
-
title="Parameters",
|
|
2926
|
-
),
|
|
2927
|
-
] = None
|
|
2928
|
-
environmentVars: Annotated[
|
|
2929
|
-
Optional[List[Union[Property, str]]],
|
|
2930
|
-
Field(
|
|
2931
|
-
description="Inputs that have the form of parameters with names and values.",
|
|
2932
|
-
title="Environment variables",
|
|
2933
|
-
),
|
|
2934
|
-
] = None
|
|
2935
|
-
data: Annotated[Optional[Attachment], Field(description="Inputs that have the form of data.", title="Data")] = None
|
|
2936
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
class InputType2(CycloneDXBaseModel):
|
|
2940
|
-
"""
|
|
2941
|
-
Type that represents various input data types and formats.
|
|
2942
|
-
"""
|
|
2943
|
-
|
|
2944
|
-
class Config:
|
|
2945
|
-
extra = Extra.forbid
|
|
2946
|
-
|
|
2947
|
-
source: Annotated[
|
|
2948
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2949
|
-
Field(
|
|
2950
|
-
description=(
|
|
2951
|
-
"A references to the component or service that provided the input to the task (e.g., reference to a"
|
|
2952
|
-
" service with data flow value of `inbound`)"
|
|
2953
|
-
),
|
|
2954
|
-
examples=["source code repository", "database"],
|
|
2955
|
-
title="Source",
|
|
2956
|
-
),
|
|
2957
|
-
] = None
|
|
2958
|
-
target: Annotated[
|
|
2959
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2960
|
-
Field(
|
|
2961
|
-
description=(
|
|
2962
|
-
"A reference to the component or service that received or stored the input if not the task itself"
|
|
2963
|
-
" (e.g., a local, named storage workspace)"
|
|
2964
|
-
),
|
|
2965
|
-
examples=["workspace", "directory"],
|
|
2966
|
-
title="Target",
|
|
2967
|
-
),
|
|
2968
|
-
] = None
|
|
2969
|
-
resource: Annotated[
|
|
2970
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
2971
|
-
Field(
|
|
2972
|
-
description=(
|
|
2973
|
-
"A reference to an independent resource provided as an input to a task by the workflow runtime."
|
|
2974
|
-
),
|
|
2975
|
-
examples=[
|
|
2976
|
-
"reference to a configuration file in a repository (i.e., a bom-ref)",
|
|
2977
|
-
"reference to a scanning service used in a task (i.e., a bom-ref)",
|
|
2978
|
-
],
|
|
2979
|
-
title="Resource",
|
|
2980
|
-
),
|
|
2981
|
-
] = None
|
|
2982
|
-
parameters: Annotated[
|
|
2983
|
-
List[Parameter],
|
|
2984
|
-
Field(
|
|
2985
|
-
description="Inputs that have the form of parameters with names and values.",
|
|
2986
|
-
title="Parameters",
|
|
2987
|
-
),
|
|
2988
|
-
]
|
|
2989
|
-
environmentVars: Annotated[
|
|
2990
|
-
Optional[List[Union[Property, str]]],
|
|
2991
|
-
Field(
|
|
2992
|
-
description="Inputs that have the form of parameters with names and values.",
|
|
2993
|
-
title="Environment variables",
|
|
2994
|
-
),
|
|
2995
|
-
] = None
|
|
2996
|
-
data: Annotated[Optional[Attachment], Field(description="Inputs that have the form of data.", title="Data")] = None
|
|
2997
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
class InputType3(CycloneDXBaseModel):
|
|
3001
|
-
"""
|
|
3002
|
-
Type that represents various input data types and formats.
|
|
3003
|
-
"""
|
|
3004
|
-
|
|
3005
|
-
class Config:
|
|
3006
|
-
extra = Extra.forbid
|
|
3007
|
-
|
|
3008
|
-
source: Annotated[
|
|
3009
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3010
|
-
Field(
|
|
3011
|
-
description=(
|
|
3012
|
-
"A references to the component or service that provided the input to the task (e.g., reference to a"
|
|
3013
|
-
" service with data flow value of `inbound`)"
|
|
3014
|
-
),
|
|
3015
|
-
examples=["source code repository", "database"],
|
|
3016
|
-
title="Source",
|
|
3017
|
-
),
|
|
3018
|
-
] = None
|
|
3019
|
-
target: Annotated[
|
|
3020
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3021
|
-
Field(
|
|
3022
|
-
description=(
|
|
3023
|
-
"A reference to the component or service that received or stored the input if not the task itself"
|
|
3024
|
-
" (e.g., a local, named storage workspace)"
|
|
3025
|
-
),
|
|
3026
|
-
examples=["workspace", "directory"],
|
|
3027
|
-
title="Target",
|
|
3028
|
-
),
|
|
3029
|
-
] = None
|
|
3030
|
-
resource: Annotated[
|
|
3031
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3032
|
-
Field(
|
|
3033
|
-
description=(
|
|
3034
|
-
"A reference to an independent resource provided as an input to a task by the workflow runtime."
|
|
3035
|
-
),
|
|
3036
|
-
examples=[
|
|
3037
|
-
"reference to a configuration file in a repository (i.e., a bom-ref)",
|
|
3038
|
-
"reference to a scanning service used in a task (i.e., a bom-ref)",
|
|
3039
|
-
],
|
|
3040
|
-
title="Resource",
|
|
3041
|
-
),
|
|
3042
|
-
] = None
|
|
3043
|
-
parameters: Annotated[
|
|
3044
|
-
Optional[List[Parameter]],
|
|
3045
|
-
Field(
|
|
3046
|
-
description="Inputs that have the form of parameters with names and values.",
|
|
3047
|
-
title="Parameters",
|
|
2429
|
+
examples=["a kubernetes Persistent Volume Claim (PVC) name"],
|
|
2430
|
+
title="Volume request",
|
|
3048
2431
|
),
|
|
3049
2432
|
] = None
|
|
3050
|
-
|
|
3051
|
-
|
|
2433
|
+
volume: Annotated[
|
|
2434
|
+
Optional[Volume],
|
|
3052
2435
|
Field(
|
|
3053
|
-
description="
|
|
3054
|
-
|
|
2436
|
+
description="Information about the actual volume instance allocated to the workspace.",
|
|
2437
|
+
examples=["see https://kubernetes.io/docs/concepts/storage/persistent-volumes/"],
|
|
2438
|
+
title="Volume",
|
|
3055
2439
|
),
|
|
3056
|
-
]
|
|
3057
|
-
|
|
2440
|
+
] = None
|
|
2441
|
+
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
2442
|
+
|
|
2443
|
+
|
|
2444
|
+
class Event(CycloneDXBaseModel):
|
|
2445
|
+
"""
|
|
2446
|
+
Represents something that happened that may trigger a response.
|
|
2447
|
+
"""
|
|
2448
|
+
|
|
2449
|
+
class Config:
|
|
2450
|
+
extra = Extra.forbid
|
|
2451
|
+
|
|
2452
|
+
uid: Annotated[
|
|
2453
|
+
Optional[str], Field(description="The unique identifier of the event.", title="Unique Identifier (UID)")
|
|
2454
|
+
] = None
|
|
2455
|
+
description: Annotated[Optional[str], Field(description="A description of the event.", title="Description")] = None
|
|
2456
|
+
timeReceived: Annotated[
|
|
2457
|
+
Optional[datetime],
|
|
2458
|
+
Field(description="The date and time (timestamp) when the event was received.", title="Time Received"),
|
|
2459
|
+
] = None
|
|
2460
|
+
data: Annotated[Optional[Attachment], Field(description="Encoding of the raw event data.", title="Data")] = None
|
|
2461
|
+
source: Annotated[
|
|
2462
|
+
Optional[ResourceReferenceChoice],
|
|
2463
|
+
Field(description="References the component or service that was the source of the event", title="Source"),
|
|
2464
|
+
] = None
|
|
2465
|
+
target: Annotated[
|
|
2466
|
+
Optional[ResourceReferenceChoice],
|
|
2467
|
+
Field(description="References the component or service that was the target of the event", title="Target"),
|
|
2468
|
+
] = None
|
|
3058
2469
|
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
3059
2470
|
|
|
3060
2471
|
|
|
3061
|
-
class
|
|
2472
|
+
class InputType(CycloneDXBaseModel):
|
|
3062
2473
|
"""
|
|
3063
2474
|
Type that represents various input data types and formats.
|
|
3064
2475
|
"""
|
|
@@ -3067,7 +2478,7 @@ class InputType4(CycloneDXBaseModel):
|
|
|
3067
2478
|
extra = Extra.forbid
|
|
3068
2479
|
|
|
3069
2480
|
source: Annotated[
|
|
3070
|
-
Optional[
|
|
2481
|
+
Optional[ResourceReferenceChoice],
|
|
3071
2482
|
Field(
|
|
3072
2483
|
description=(
|
|
3073
2484
|
"A references to the component or service that provided the input to the task (e.g., reference to a"
|
|
@@ -3078,7 +2489,7 @@ class InputType4(CycloneDXBaseModel):
|
|
|
3078
2489
|
),
|
|
3079
2490
|
] = None
|
|
3080
2491
|
target: Annotated[
|
|
3081
|
-
Optional[
|
|
2492
|
+
Optional[ResourceReferenceChoice],
|
|
3082
2493
|
Field(
|
|
3083
2494
|
description=(
|
|
3084
2495
|
"A reference to the component or service that received or stored the input if not the task itself"
|
|
@@ -3089,7 +2500,7 @@ class InputType4(CycloneDXBaseModel):
|
|
|
3089
2500
|
),
|
|
3090
2501
|
] = None
|
|
3091
2502
|
resource: Annotated[
|
|
3092
|
-
Optional[
|
|
2503
|
+
Optional[ResourceReferenceChoice],
|
|
3093
2504
|
Field(
|
|
3094
2505
|
description=(
|
|
3095
2506
|
"A reference to an independent resource provided as an input to a task by the workflow runtime."
|
|
@@ -3115,66 +2526,24 @@ class InputType4(CycloneDXBaseModel):
|
|
|
3115
2526
|
title="Environment variables",
|
|
3116
2527
|
),
|
|
3117
2528
|
] = None
|
|
3118
|
-
data: Annotated[Attachment, Field(description="Inputs that have the form of data.", title="Data")]
|
|
3119
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
class OutputType1(CycloneDXBaseModel):
|
|
3123
|
-
class Config:
|
|
3124
|
-
extra = Extra.forbid
|
|
3125
|
-
|
|
3126
|
-
type: Annotated[Optional[Type7], Field(description="Describes the type of data output.", title="Type")] = None
|
|
3127
|
-
source: Annotated[
|
|
3128
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3129
|
-
Field(
|
|
3130
|
-
description="Component or service that generated or provided the output from the task (e.g., a build tool)",
|
|
3131
|
-
title="Source",
|
|
3132
|
-
),
|
|
3133
|
-
] = None
|
|
3134
|
-
target: Annotated[
|
|
3135
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3136
|
-
Field(
|
|
3137
|
-
description=(
|
|
3138
|
-
"Component or service that received the output from the task (e.g., reference to an artifactory service"
|
|
3139
|
-
" with data flow value of `outbound`)"
|
|
3140
|
-
),
|
|
3141
|
-
examples=["a log file described as an `externalReference` within its target domain."],
|
|
3142
|
-
title="Target",
|
|
3143
|
-
),
|
|
3144
|
-
] = None
|
|
3145
|
-
resource: Annotated[
|
|
3146
|
-
Union[ResourceReferenceChoice1, ResourceReferenceChoice2],
|
|
3147
|
-
Field(
|
|
3148
|
-
description="A reference to an independent resource generated as output by the task.",
|
|
3149
|
-
examples=["configuration file", "source code", "scanning service"],
|
|
3150
|
-
title="Resource",
|
|
3151
|
-
),
|
|
3152
|
-
]
|
|
3153
|
-
data: Annotated[Optional[Attachment], Field(description="Outputs that have the form of data.", title="Data")] = None
|
|
3154
|
-
environmentVars: Annotated[
|
|
3155
|
-
Optional[List[Union[Property, str]]],
|
|
3156
|
-
Field(
|
|
3157
|
-
description="Outputs that have the form of environment variables.",
|
|
3158
|
-
title="Environment variables",
|
|
3159
|
-
),
|
|
3160
|
-
] = None
|
|
2529
|
+
data: Annotated[Optional[Attachment], Field(description="Inputs that have the form of data.", title="Data")] = None
|
|
3161
2530
|
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
3162
2531
|
|
|
3163
2532
|
|
|
3164
|
-
class
|
|
2533
|
+
class OutputType(CycloneDXBaseModel):
|
|
3165
2534
|
class Config:
|
|
3166
2535
|
extra = Extra.forbid
|
|
3167
2536
|
|
|
3168
2537
|
type: Annotated[Optional[Type7], Field(description="Describes the type of data output.", title="Type")] = None
|
|
3169
2538
|
source: Annotated[
|
|
3170
|
-
Optional[
|
|
2539
|
+
Optional[ResourceReferenceChoice],
|
|
3171
2540
|
Field(
|
|
3172
2541
|
description="Component or service that generated or provided the output from the task (e.g., a build tool)",
|
|
3173
2542
|
title="Source",
|
|
3174
2543
|
),
|
|
3175
2544
|
] = None
|
|
3176
2545
|
target: Annotated[
|
|
3177
|
-
Optional[
|
|
2546
|
+
Optional[ResourceReferenceChoice],
|
|
3178
2547
|
Field(
|
|
3179
2548
|
description=(
|
|
3180
2549
|
"Component or service that received the output from the task (e.g., reference to an artifactory service"
|
|
@@ -3185,7 +2554,7 @@ class OutputType2(CycloneDXBaseModel):
|
|
|
3185
2554
|
),
|
|
3186
2555
|
] = None
|
|
3187
2556
|
resource: Annotated[
|
|
3188
|
-
Optional[
|
|
2557
|
+
Optional[ResourceReferenceChoice],
|
|
3189
2558
|
Field(
|
|
3190
2559
|
description="A reference to an independent resource generated as output by the task.",
|
|
3191
2560
|
examples=["configuration file", "source code", "scanning service"],
|
|
@@ -3193,48 +2562,6 @@ class OutputType2(CycloneDXBaseModel):
|
|
|
3193
2562
|
),
|
|
3194
2563
|
] = None
|
|
3195
2564
|
data: Annotated[Optional[Attachment], Field(description="Outputs that have the form of data.", title="Data")] = None
|
|
3196
|
-
environmentVars: Annotated[
|
|
3197
|
-
List[Union[Property, str]],
|
|
3198
|
-
Field(
|
|
3199
|
-
description="Outputs that have the form of environment variables.",
|
|
3200
|
-
title="Environment variables",
|
|
3201
|
-
),
|
|
3202
|
-
]
|
|
3203
|
-
properties: Annotated[Optional[List[Property]], Field(title="Properties")] = None
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
class OutputType3(CycloneDXBaseModel):
|
|
3207
|
-
class Config:
|
|
3208
|
-
extra = Extra.forbid
|
|
3209
|
-
|
|
3210
|
-
type: Annotated[Optional[Type7], Field(description="Describes the type of data output.", title="Type")] = None
|
|
3211
|
-
source: Annotated[
|
|
3212
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3213
|
-
Field(
|
|
3214
|
-
description="Component or service that generated or provided the output from the task (e.g., a build tool)",
|
|
3215
|
-
title="Source",
|
|
3216
|
-
),
|
|
3217
|
-
] = None
|
|
3218
|
-
target: Annotated[
|
|
3219
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3220
|
-
Field(
|
|
3221
|
-
description=(
|
|
3222
|
-
"Component or service that received the output from the task (e.g., reference to an artifactory service"
|
|
3223
|
-
" with data flow value of `outbound`)"
|
|
3224
|
-
),
|
|
3225
|
-
examples=["a log file described as an `externalReference` within its target domain."],
|
|
3226
|
-
title="Target",
|
|
3227
|
-
),
|
|
3228
|
-
] = None
|
|
3229
|
-
resource: Annotated[
|
|
3230
|
-
Optional[Union[ResourceReferenceChoice1, ResourceReferenceChoice2]],
|
|
3231
|
-
Field(
|
|
3232
|
-
description="A reference to an independent resource generated as output by the task.",
|
|
3233
|
-
examples=["configuration file", "source code", "scanning service"],
|
|
3234
|
-
title="Resource",
|
|
3235
|
-
),
|
|
3236
|
-
] = None
|
|
3237
|
-
data: Annotated[Attachment, Field(description="Outputs that have the form of data.", title="Data")]
|
|
3238
2565
|
environmentVars: Annotated[
|
|
3239
2566
|
Optional[List[Union[Property, str]]],
|
|
3240
2567
|
Field(
|
|
@@ -3411,7 +2738,7 @@ class Trigger(CycloneDXBaseModel):
|
|
|
3411
2738
|
Optional[str], Field(description="A description of the resource instance.", title="Description")
|
|
3412
2739
|
] = None
|
|
3413
2740
|
resourceReferences: Annotated[
|
|
3414
|
-
Optional[List[
|
|
2741
|
+
Optional[List[ResourceReferenceChoice]],
|
|
3415
2742
|
Field(
|
|
3416
2743
|
description="References to component or service resources that are used to realize the resource instance.",
|
|
3417
2744
|
title="Resource references",
|
|
@@ -3430,7 +2757,7 @@ class Trigger(CycloneDXBaseModel):
|
|
|
3430
2757
|
Field(description="The date and time (timestamp) when the trigger was activated.", title="Time activated"),
|
|
3431
2758
|
] = None
|
|
3432
2759
|
inputs: Annotated[
|
|
3433
|
-
Optional[List[
|
|
2760
|
+
Optional[List[InputType]],
|
|
3434
2761
|
Field(
|
|
3435
2762
|
description="Represents resources and data brought into a task at runtime by executor or task commands",
|
|
3436
2763
|
examples=["a `configuration` file which was declared as a local `component` or `externalReference`"],
|
|
@@ -3438,7 +2765,7 @@ class Trigger(CycloneDXBaseModel):
|
|
|
3438
2765
|
),
|
|
3439
2766
|
] = None
|
|
3440
2767
|
outputs: Annotated[
|
|
3441
|
-
Optional[List[
|
|
2768
|
+
Optional[List[OutputType]],
|
|
3442
2769
|
Field(
|
|
3443
2770
|
description="Represents resources and data output from a task at runtime by executor or task commands",
|
|
3444
2771
|
examples=["a log file or metrics data produced by the task"],
|
|
@@ -3685,6 +3012,52 @@ class Compositions(CycloneDXBaseModel):
|
|
|
3685
3012
|
] = None
|
|
3686
3013
|
|
|
3687
3014
|
|
|
3015
|
+
class Annotations(CycloneDXBaseModel):
|
|
3016
|
+
"""
|
|
3017
|
+
A comment, note, explanation, or similar textual content which provides additional context to the object(s) being annotated.
|
|
3018
|
+
"""
|
|
3019
|
+
|
|
3020
|
+
class Config:
|
|
3021
|
+
extra = Extra.forbid
|
|
3022
|
+
|
|
3023
|
+
bom_ref: Annotated[
|
|
3024
|
+
Optional[str],
|
|
3025
|
+
Field(
|
|
3026
|
+
alias="bom-ref",
|
|
3027
|
+
description=(
|
|
3028
|
+
"An optional identifier which can be used to reference the annotation elsewhere in the BOM. Every"
|
|
3029
|
+
" bom-ref MUST be unique within the BOM."
|
|
3030
|
+
),
|
|
3031
|
+
min_length=1,
|
|
3032
|
+
title="BOM Reference",
|
|
3033
|
+
),
|
|
3034
|
+
] = None
|
|
3035
|
+
subjects: Annotated[
|
|
3036
|
+
List[Union[RefLinkType, BomLinkElementType]],
|
|
3037
|
+
Field(
|
|
3038
|
+
description=(
|
|
3039
|
+
"The object in the BOM identified by its bom-ref. This is often a component or service, but may be any"
|
|
3040
|
+
" object type supporting bom-refs."
|
|
3041
|
+
),
|
|
3042
|
+
title="BOM References",
|
|
3043
|
+
),
|
|
3044
|
+
]
|
|
3045
|
+
timestamp: Annotated[
|
|
3046
|
+
datetime, Field(description="The date and time (timestamp) when the annotation was created.", title="Timestamp")
|
|
3047
|
+
]
|
|
3048
|
+
text: Annotated[str, Field(description="The textual content of the annotation.", title="Text")]
|
|
3049
|
+
signature: Annotated[
|
|
3050
|
+
Optional[Union[Signature1, Signature2, Signer]],
|
|
3051
|
+
Field(
|
|
3052
|
+
description=(
|
|
3053
|
+
"Enveloped signature in [JSON Signature Format"
|
|
3054
|
+
" (JSF)](https://cyberphone.github.io/doc/security/jsf.html)."
|
|
3055
|
+
),
|
|
3056
|
+
title="Signature",
|
|
3057
|
+
),
|
|
3058
|
+
] = None
|
|
3059
|
+
|
|
3060
|
+
|
|
3688
3061
|
class ModelParameters(CycloneDXBaseModel):
|
|
3689
3062
|
"""
|
|
3690
3063
|
Hyper-parameters for construction of the model.
|
|
@@ -3725,7 +3098,7 @@ class ModelParameters(CycloneDXBaseModel):
|
|
|
3725
3098
|
),
|
|
3726
3099
|
] = None
|
|
3727
3100
|
datasets: Annotated[
|
|
3728
|
-
Optional[List[Union[ComponentData,
|
|
3101
|
+
Optional[List[Union[ComponentData, Dataset]]],
|
|
3729
3102
|
Field(description="The datasets used to train and evaluate the model.", title="Datasets"),
|
|
3730
3103
|
] = None
|
|
3731
3104
|
inputs: Annotated[
|
|
@@ -3823,7 +3196,7 @@ class Task(CycloneDXBaseModel):
|
|
|
3823
3196
|
Optional[str], Field(description="A description of the resource instance.", title="Description")
|
|
3824
3197
|
] = None
|
|
3825
3198
|
resourceReferences: Annotated[
|
|
3826
|
-
Optional[List[
|
|
3199
|
+
Optional[List[ResourceReferenceChoice]],
|
|
3827
3200
|
Field(
|
|
3828
3201
|
description="References to component or service resources that are used to realize the resource instance.",
|
|
3829
3202
|
title="Resource references",
|
|
@@ -3846,7 +3219,7 @@ class Task(CycloneDXBaseModel):
|
|
|
3846
3219
|
),
|
|
3847
3220
|
] = None
|
|
3848
3221
|
inputs: Annotated[
|
|
3849
|
-
Optional[List[
|
|
3222
|
+
Optional[List[InputType]],
|
|
3850
3223
|
Field(
|
|
3851
3224
|
description="Represents resources and data brought into a task at runtime by executor or task commands",
|
|
3852
3225
|
examples=["a `configuration` file which was declared as a local `component` or `externalReference`"],
|
|
@@ -3854,7 +3227,7 @@ class Task(CycloneDXBaseModel):
|
|
|
3854
3227
|
),
|
|
3855
3228
|
] = None
|
|
3856
3229
|
outputs: Annotated[
|
|
3857
|
-
Optional[List[
|
|
3230
|
+
Optional[List[OutputType]],
|
|
3858
3231
|
Field(
|
|
3859
3232
|
description="Represents resources and data output from a task at runtime by executor or task commands",
|
|
3860
3233
|
examples=["a log file or metrics data produced by the task"],
|
|
@@ -3917,7 +3290,7 @@ class Workflow(CycloneDXBaseModel):
|
|
|
3917
3290
|
Optional[str], Field(description="A description of the resource instance.", title="Description")
|
|
3918
3291
|
] = None
|
|
3919
3292
|
resourceReferences: Annotated[
|
|
3920
|
-
Optional[List[
|
|
3293
|
+
Optional[List[ResourceReferenceChoice]],
|
|
3921
3294
|
Field(
|
|
3922
3295
|
description="References to component or service resources that are used to realize the resource instance.",
|
|
3923
3296
|
title="Resource references",
|
|
@@ -3954,7 +3327,7 @@ class Workflow(CycloneDXBaseModel):
|
|
|
3954
3327
|
),
|
|
3955
3328
|
] = None
|
|
3956
3329
|
inputs: Annotated[
|
|
3957
|
-
Optional[List[
|
|
3330
|
+
Optional[List[InputType]],
|
|
3958
3331
|
Field(
|
|
3959
3332
|
description="Represents resources and data brought into a task at runtime by executor or task commands",
|
|
3960
3333
|
examples=["a `configuration` file which was declared as a local `component` or `externalReference`"],
|
|
@@ -3962,7 +3335,7 @@ class Workflow(CycloneDXBaseModel):
|
|
|
3962
3335
|
),
|
|
3963
3336
|
] = None
|
|
3964
3337
|
outputs: Annotated[
|
|
3965
|
-
Optional[List[
|
|
3338
|
+
Optional[List[OutputType]],
|
|
3966
3339
|
Field(
|
|
3967
3340
|
description="Represents resources and data output from a task at runtime by executor or task commands",
|
|
3968
3341
|
examples=["a log file or metrics data produced by the task"],
|
|
@@ -4148,7 +3521,7 @@ class CyclonedxSoftwareBillOfMaterialsStandard(CycloneDXBaseModel):
|
|
|
4148
3521
|
] = None
|
|
4149
3522
|
|
|
4150
3523
|
|
|
4151
|
-
class
|
|
3524
|
+
class ToolModel(CycloneDXBaseModel):
|
|
4152
3525
|
"""
|
|
4153
3526
|
The tool(s) used in the creation of the BOM.
|
|
4154
3527
|
"""
|
|
@@ -4184,9 +3557,9 @@ class Metadata(CycloneDXBaseModel):
|
|
|
4184
3557
|
Field(description="The date and time (timestamp) when the BOM was created.", title="Timestamp"),
|
|
4185
3558
|
] = None
|
|
4186
3559
|
lifecycles: Annotated[
|
|
4187
|
-
Optional[List[Union[
|
|
3560
|
+
Optional[List[Union[Lifecycle, Lifecycle1]]], Field(description="", title="Lifecycles")
|
|
4188
3561
|
] = None
|
|
4189
|
-
tools: Optional[Union[
|
|
3562
|
+
tools: Optional[Union[ToolModel, List[Tool]]] = None
|
|
4190
3563
|
authors: Annotated[
|
|
4191
3564
|
Optional[List[OrganizationalContact]],
|
|
4192
3565
|
Field(
|
|
@@ -4609,7 +3982,7 @@ class Component(CycloneDXBaseModel):
|
|
|
4609
3982
|
] = None
|
|
4610
3983
|
|
|
4611
3984
|
|
|
4612
|
-
class
|
|
3985
|
+
class Tool1(CycloneDXBaseModel):
|
|
4613
3986
|
"""
|
|
4614
3987
|
The tool(s) used to identify, confirm, or score the vulnerability.
|
|
4615
3988
|
"""
|
|
@@ -4683,14 +4056,13 @@ class Vulnerability(CycloneDXBaseModel):
|
|
|
4683
4056
|
Optional[List[Rating]], Field(description="List of vulnerability ratings", title="Ratings")
|
|
4684
4057
|
] = None
|
|
4685
4058
|
cwes: Annotated[
|
|
4686
|
-
Optional[List[
|
|
4059
|
+
Optional[List[Cwe]],
|
|
4687
4060
|
Field(
|
|
4688
4061
|
description=(
|
|
4689
4062
|
"List of Common Weaknesses Enumerations (CWEs) codes that describes this vulnerability. For example 399"
|
|
4690
4063
|
" (of https://cwe.mitre.org/data/definitions/399.html)"
|
|
4691
4064
|
),
|
|
4692
4065
|
examples=[399],
|
|
4693
|
-
ge=1,
|
|
4694
4066
|
title="CWEs",
|
|
4695
4067
|
),
|
|
4696
4068
|
] = None
|
|
@@ -4769,7 +4141,7 @@ class Vulnerability(CycloneDXBaseModel):
|
|
|
4769
4141
|
title="Credits",
|
|
4770
4142
|
),
|
|
4771
4143
|
] = None
|
|
4772
|
-
tools: Optional[Union[
|
|
4144
|
+
tools: Optional[Union[Tool1, List[Tool]]] = None
|
|
4773
4145
|
analysis: Annotated[
|
|
4774
4146
|
Optional[Analysis],
|
|
4775
4147
|
Field(
|
|
@@ -4799,135 +4171,6 @@ class Vulnerability(CycloneDXBaseModel):
|
|
|
4799
4171
|
] = None
|
|
4800
4172
|
|
|
4801
4173
|
|
|
4802
|
-
class Annotator(CycloneDXBaseModel):
|
|
4803
|
-
"""
|
|
4804
|
-
The organization, person, component, or service which created the textual content of the annotation.
|
|
4805
|
-
"""
|
|
4806
|
-
|
|
4807
|
-
class Config:
|
|
4808
|
-
extra = Extra.forbid
|
|
4809
|
-
|
|
4810
|
-
organization: Annotated[OrganizationalEntity, Field(description="The organization that created the annotation")]
|
|
4811
|
-
individual: Annotated[
|
|
4812
|
-
Optional[OrganizationalContact], Field(description="The person that created the annotation")
|
|
4813
|
-
] = None
|
|
4814
|
-
component: Annotated[
|
|
4815
|
-
Optional[Component], Field(description="The tool or component that created the annotation")
|
|
4816
|
-
] = None
|
|
4817
|
-
service: Annotated[Optional[Service], Field(description="The service that created the annotation")] = None
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
class Annotator1(CycloneDXBaseModel):
|
|
4821
|
-
"""
|
|
4822
|
-
The organization, person, component, or service which created the textual content of the annotation.
|
|
4823
|
-
"""
|
|
4824
|
-
|
|
4825
|
-
class Config:
|
|
4826
|
-
extra = Extra.forbid
|
|
4827
|
-
|
|
4828
|
-
organization: Annotated[
|
|
4829
|
-
Optional[OrganizationalEntity], Field(description="The organization that created the annotation")
|
|
4830
|
-
] = None
|
|
4831
|
-
individual: Annotated[OrganizationalContact, Field(description="The person that created the annotation")]
|
|
4832
|
-
component: Annotated[
|
|
4833
|
-
Optional[Component], Field(description="The tool or component that created the annotation")
|
|
4834
|
-
] = None
|
|
4835
|
-
service: Annotated[Optional[Service], Field(description="The service that created the annotation")] = None
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
class Annotator2(CycloneDXBaseModel):
|
|
4839
|
-
"""
|
|
4840
|
-
The organization, person, component, or service which created the textual content of the annotation.
|
|
4841
|
-
"""
|
|
4842
|
-
|
|
4843
|
-
class Config:
|
|
4844
|
-
extra = Extra.forbid
|
|
4845
|
-
|
|
4846
|
-
organization: Annotated[
|
|
4847
|
-
Optional[OrganizationalEntity], Field(description="The organization that created the annotation")
|
|
4848
|
-
] = None
|
|
4849
|
-
individual: Annotated[
|
|
4850
|
-
Optional[OrganizationalContact], Field(description="The person that created the annotation")
|
|
4851
|
-
] = None
|
|
4852
|
-
component: Annotated[Component, Field(description="The tool or component that created the annotation")]
|
|
4853
|
-
service: Annotated[Optional[Service], Field(description="The service that created the annotation")] = None
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
class Annotator3(CycloneDXBaseModel):
|
|
4857
|
-
"""
|
|
4858
|
-
The organization, person, component, or service which created the textual content of the annotation.
|
|
4859
|
-
"""
|
|
4860
|
-
|
|
4861
|
-
class Config:
|
|
4862
|
-
extra = Extra.forbid
|
|
4863
|
-
|
|
4864
|
-
organization: Annotated[
|
|
4865
|
-
Optional[OrganizationalEntity], Field(description="The organization that created the annotation")
|
|
4866
|
-
] = None
|
|
4867
|
-
individual: Annotated[
|
|
4868
|
-
Optional[OrganizationalContact], Field(description="The person that created the annotation")
|
|
4869
|
-
] = None
|
|
4870
|
-
component: Annotated[
|
|
4871
|
-
Optional[Component], Field(description="The tool or component that created the annotation")
|
|
4872
|
-
] = None
|
|
4873
|
-
service: Annotated[Service, Field(description="The service that created the annotation")]
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
class Annotations(CycloneDXBaseModel):
|
|
4877
|
-
"""
|
|
4878
|
-
A comment, note, explanation, or similar textual content which provides additional context to the object(s) being annotated.
|
|
4879
|
-
"""
|
|
4880
|
-
|
|
4881
|
-
class Config:
|
|
4882
|
-
extra = Extra.forbid
|
|
4883
|
-
|
|
4884
|
-
bom_ref: Annotated[
|
|
4885
|
-
Optional[str],
|
|
4886
|
-
Field(
|
|
4887
|
-
alias="bom-ref",
|
|
4888
|
-
description=(
|
|
4889
|
-
"An optional identifier which can be used to reference the annotation elsewhere in the BOM. Every"
|
|
4890
|
-
" bom-ref MUST be unique within the BOM."
|
|
4891
|
-
),
|
|
4892
|
-
min_length=1,
|
|
4893
|
-
title="BOM Reference",
|
|
4894
|
-
),
|
|
4895
|
-
] = None
|
|
4896
|
-
subjects: Annotated[
|
|
4897
|
-
List[Union[RefLinkType, BomLinkElementType]],
|
|
4898
|
-
Field(
|
|
4899
|
-
description=(
|
|
4900
|
-
"The object in the BOM identified by its bom-ref. This is often a component or service, but may be any"
|
|
4901
|
-
" object type supporting bom-refs."
|
|
4902
|
-
),
|
|
4903
|
-
title="BOM References",
|
|
4904
|
-
),
|
|
4905
|
-
]
|
|
4906
|
-
annotator: Annotated[
|
|
4907
|
-
Union[Annotator, Annotator1, Annotator2, Annotator3],
|
|
4908
|
-
Field(
|
|
4909
|
-
description=(
|
|
4910
|
-
"The organization, person, component, or service which created the textual content of the annotation."
|
|
4911
|
-
),
|
|
4912
|
-
title="Annotator",
|
|
4913
|
-
),
|
|
4914
|
-
]
|
|
4915
|
-
timestamp: Annotated[
|
|
4916
|
-
datetime, Field(description="The date and time (timestamp) when the annotation was created.", title="Timestamp")
|
|
4917
|
-
]
|
|
4918
|
-
text: Annotated[str, Field(description="The textual content of the annotation.", title="Text")]
|
|
4919
|
-
signature: Annotated[
|
|
4920
|
-
Optional[Union[Signature1, Signature2, Signer]],
|
|
4921
|
-
Field(
|
|
4922
|
-
description=(
|
|
4923
|
-
"Enveloped signature in [JSON Signature Format"
|
|
4924
|
-
" (JSF)](https://cyberphone.github.io/doc/security/jsf.html)."
|
|
4925
|
-
),
|
|
4926
|
-
title="Signature",
|
|
4927
|
-
),
|
|
4928
|
-
] = None
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
4174
|
class Formula(CycloneDXBaseModel):
|
|
4932
4175
|
"""
|
|
4933
4176
|
Describes workflows and resources that captures rules and other aspects of how the associated BOM component or service was formed.
|
|
@@ -4981,6 +4224,6 @@ class Formula(CycloneDXBaseModel):
|
|
|
4981
4224
|
|
|
4982
4225
|
Service.update_forward_refs()
|
|
4983
4226
|
CyclonedxSoftwareBillOfMaterialsStandard.update_forward_refs()
|
|
4984
|
-
|
|
4227
|
+
ToolModel.update_forward_refs()
|
|
4985
4228
|
Metadata.update_forward_refs()
|
|
4986
4229
|
Pedigree.update_forward_refs()
|