Skip to content

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).

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.

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