catalog
trestle.oscal.catalog
¤
Classes¤
Catalog (OscalBaseModel)
pydantic-model
¤
A structured, organized collection of control information.
Source code in trestle/oscal/catalog.py
class Catalog(OscalBaseModel):
"""
A structured, organized collection of control information.
"""
class Config:
extra = Extra.forbid
uuid: constr(regex=r'^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$'
) = Field(
...,
description='Provides a globally unique means to identify a given catalog instance.',
title='Catalog Universally Unique Identifier'
)
metadata: common.Metadata
params: Optional[List[common.Parameter]] = Field(None)
controls: Optional[List[Control]] = Field(None)
groups: Optional[List[Group]] = Field(None)
back_matter: Optional[common.BackMatter] = Field(None, alias='back-matter')
Attributes¤
__class_vars__
special
¤
__custom_root_type__
special
¤
__doc__
special
¤
__exclude_fields__
special
¤
__fields__
special
¤
__include_fields__
special
¤
__post_root_validators__
special
¤
__pre_root_validators__
special
¤
__private_attributes__
special
¤
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
back_matter: BackMatter
pydantic-field
¤
controls: List[trestle.oscal.catalog.Control]
pydantic-field
¤
groups: List[trestle.oscal.catalog.Group]
pydantic-field
¤
metadata: Metadata
pydantic-field
required
¤
params: List[trestle.oscal.common.Parameter]
pydantic-field
¤
uuid: ConstrainedStrValue
pydantic-field
required
¤
Provides a globally unique means to identify a given catalog instance.
Config
¤
Source code in trestle/oscal/catalog.py
class Config:
extra = Extra.forbid
Control (OscalBaseModel)
pydantic-model
¤
A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.
Source code in trestle/oscal/catalog.py
class Control(OscalBaseModel):
"""
A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.
"""
class Config:
extra = Extra.forbid
id: constr(
regex=
r'^[_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-\.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$'
) = Field(
...,
description=
'Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles).',
title='Control Identifier'
)
class_: Optional[constr(
regex=
r'^[_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-\.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$'
)] = Field(
None,
alias='class',
description='A textual label that provides a sub-type or characterization of the control.',
title='Control Class'
)
title: str = Field(
...,
description='A name given to the control, which may be used by a tool for display and navigation.',
title='Control Title'
)
params: Optional[List[common.Parameter]] = Field(None)
props: Optional[List[common.Property]] = Field(None)
links: Optional[List[common.Link]] = Field(None)
parts: Optional[List[common.Part]] = Field(None)
controls: Optional[List[Control]] = None
Attributes¤
__class_vars__
special
¤
__custom_root_type__
special
¤
__doc__
special
¤
__exclude_fields__
special
¤
__fields__
special
¤
__include_fields__
special
¤
__post_root_validators__
special
¤
__pre_root_validators__
special
¤
__private_attributes__
special
¤
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
class_: ConstrainedStrValue
pydantic-field
¤
A textual label that provides a sub-type or characterization of the control.
controls: List[trestle.oscal.catalog.Control]
pydantic-field
¤
id: ConstrainedStrValue
pydantic-field
required
¤
Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles).
links: List[trestle.oscal.common.Link]
pydantic-field
¤
params: List[trestle.oscal.common.Parameter]
pydantic-field
¤
parts: List[trestle.oscal.common.Part]
pydantic-field
¤
props: List[trestle.oscal.common.Property]
pydantic-field
¤
title: str
pydantic-field
required
¤
A name given to the control, which may be used by a tool for display and navigation.
Config
¤
Source code in trestle/oscal/catalog.py
class Config:
extra = Extra.forbid
Group (OscalBaseModel)
pydantic-model
¤
A group of controls, or of groups of controls.
Source code in trestle/oscal/catalog.py
class Group(OscalBaseModel):
"""
A group of controls, or of groups of controls.
"""
class Config:
extra = Extra.forbid
id: Optional[constr(
regex=
r'^[_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-\.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$'
)] = Field(
None,
description=
'Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.',
title='Group Identifier'
)
class_: Optional[constr(
regex=
r'^[_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-\.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$'
)] = Field(
None,
alias='class',
description='A textual label that provides a sub-type or characterization of the group.',
title='Group Class'
)
title: str = Field(
...,
description='A name given to the group, which may be used by a tool for display and navigation.',
title='Group Title'
)
params: Optional[List[common.Parameter]] = Field(None)
props: Optional[List[common.Property]] = Field(None)
links: Optional[List[common.Link]] = Field(None)
parts: Optional[List[common.Part]] = Field(None)
groups: Optional[List[Group]] = None
controls: Optional[List[Control]] = Field(None)
Attributes¤
__class_vars__
special
¤
__custom_root_type__
special
¤
__doc__
special
¤
__exclude_fields__
special
¤
__fields__
special
¤
__include_fields__
special
¤
__post_root_validators__
special
¤
__pre_root_validators__
special
¤
__private_attributes__
special
¤
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
class_: ConstrainedStrValue
pydantic-field
¤
A textual label that provides a sub-type or characterization of the group.
controls: List[trestle.oscal.catalog.Control]
pydantic-field
¤
groups: List[trestle.oscal.catalog.Group]
pydantic-field
¤
id: ConstrainedStrValue
pydantic-field
¤
Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.
links: List[trestle.oscal.common.Link]
pydantic-field
¤
params: List[trestle.oscal.common.Parameter]
pydantic-field
¤
parts: List[trestle.oscal.common.Part]
pydantic-field
¤
props: List[trestle.oscal.common.Property]
pydantic-field
¤
title: str
pydantic-field
required
¤
A name given to the group, which may be used by a tool for display and navigation.
Config
¤
Source code in trestle/oscal/catalog.py
class Config:
extra = Extra.forbid
Model (OscalBaseModel)
pydantic-model
¤
Source code in trestle/oscal/catalog.py
class Model(OscalBaseModel):
catalog: Catalog
__class_vars__
special
¤
__custom_root_type__
special
¤
__doc__
special
¤
__exclude_fields__
special
¤
__fields__
special
¤
__include_fields__
special
¤
__post_root_validators__
special
¤
__pre_root_validators__
special
¤
__private_attributes__
special
¤
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
catalog: Catalog
pydantic-field
required
¤
handler: python