Skip to content

assessment_plan

trestle.oscal.assessment_plan ¤

Classes¤

AssessmentPlan (OscalBaseModel) pydantic-model ¤

An assessment plan, such as those provided by a FedRAMP assessor.

Source code in trestle/oscal/assessment_plan.py
class AssessmentPlan(OscalBaseModel):
    """
    An assessment plan, such as those provided by a FedRAMP assessor.
    """

    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=
        'A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.',
        title='Assessment Plan Universally Unique Identifier',
    )
    metadata: common.Metadata
    import_ssp: common.ImportSsp = Field(..., alias='import-ssp')
    local_definitions: Optional[LocalDefinitions] = Field(
        None,
        alias='local-definitions',
        description=
        'Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.',
        title='Local Definitions'
    )
    terms_and_conditions: Optional[TermsAndConditions] = Field(
        None,
        alias='terms-and-conditions',
        description=
        'Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.',
        title='Assessment Plan Terms and Conditions'
    )
    reviewed_controls: common.ReviewedControls = Field(..., alias='reviewed-controls')
    assessment_subjects: Optional[List[common.AssessmentSubject]] = Field(None, alias='assessment-subjects')
    assessment_assets: Optional[common.AssessmentAssets] = Field(None, alias='assessment-assets')
    tasks: Optional[List[common.Task]] = 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 ¤
assessment_assets: AssessmentAssets pydantic-field ¤
assessment_subjects: List[trestle.oscal.common.AssessmentSubject] pydantic-field ¤
back_matter: BackMatter pydantic-field ¤
import_ssp: ImportSsp pydantic-field required ¤
local_definitions: LocalDefinitions pydantic-field ¤

Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.

metadata: Metadata pydantic-field required ¤
reviewed_controls: ReviewedControls pydantic-field required ¤
tasks: List[trestle.oscal.common.Task] pydantic-field ¤
terms_and_conditions: TermsAndConditions pydantic-field ¤

Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.

uuid: ConstrainedStrValue pydantic-field required ¤

A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Config ¤
Source code in trestle/oscal/assessment_plan.py
class Config:
    extra = Extra.forbid

LocalDefinitions (OscalBaseModel) pydantic-model ¤

Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.

Source code in trestle/oscal/assessment_plan.py
class LocalDefinitions(OscalBaseModel):
    """
    Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.
    """

    class Config:
        extra = Extra.forbid

    components: Optional[List[common.SystemComponent]] = Field(None)
    inventory_items: Optional[List[common.InventoryItem]] = Field(None, alias='inventory-items')
    users: Optional[List[common.SystemUser]] = Field(None)
    objectives_and_methods: Optional[List[common.LocalObjective]] = Field(None, alias='objectives-and-methods')
    activities: Optional[List[common.Activity]] = Field(None)
    remarks: Optional[str] = None
__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 ¤
activities: List[trestle.oscal.common.Activity] pydantic-field ¤
components: List[trestle.oscal.common.SystemComponent] pydantic-field ¤
inventory_items: List[trestle.oscal.common.InventoryItem] pydantic-field ¤
objectives_and_methods: List[trestle.oscal.common.LocalObjective] pydantic-field ¤
remarks: str pydantic-field ¤
users: List[trestle.oscal.common.SystemUser] pydantic-field ¤
Config ¤
Source code in trestle/oscal/assessment_plan.py
class Config:
    extra = Extra.forbid

Model (OscalBaseModel) pydantic-model ¤

Source code in trestle/oscal/assessment_plan.py
class Model(OscalBaseModel):
    assessment_plan: AssessmentPlan = Field(..., alias='assessment-plan')
__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 ¤
assessment_plan: AssessmentPlan pydantic-field required ¤

TermsAndConditions (OscalBaseModel) pydantic-model ¤

Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.

Source code in trestle/oscal/assessment_plan.py
class TermsAndConditions(OscalBaseModel):
    """
    Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.
    """

    class Config:
        extra = Extra.forbid

    parts: Optional[List[common.AssessmentPart]] = Field(None)
__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 ¤
parts: List[trestle.oscal.common.AssessmentPart] pydantic-field ¤
Config ¤
Source code in trestle/oscal/assessment_plan.py
class Config:
    extra = Extra.forbid

handler: python