Skip to content

assessment_plan

trestle.oscal.assessment_plan ¤

Attributes¤

Classes¤

AssessmentPlan ¤

Bases: OscalBaseModel

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

Source code in trestle/oscal/assessment_plan.py
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
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¤
assessment_assets: Optional[common.AssessmentAssets] = Field(None, alias='assessment-assets') class-attribute instance-attribute ¤
assessment_subjects: Optional[List[common.AssessmentSubject]] = Field(None, alias='assessment-subjects') class-attribute instance-attribute ¤
back_matter: Optional[common.BackMatter] = Field(None, alias='back-matter') class-attribute instance-attribute ¤
import_ssp: common.ImportSsp = Field(..., alias='import-ssp') class-attribute instance-attribute ¤
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') class-attribute instance-attribute ¤
metadata: common.Metadata instance-attribute ¤
reviewed_controls: common.ReviewedControls = Field(..., alias='reviewed-controls') class-attribute instance-attribute ¤
tasks: Optional[List[common.Task]] = Field(None) class-attribute instance-attribute ¤
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') class-attribute instance-attribute ¤
uuid: constr(regex='^[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') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/assessment_plan.py
75
76
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

LocalDefinitions ¤

Bases: OscalBaseModel

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
Attributes¤
activities: Optional[List[common.Activity]] = Field(None) class-attribute instance-attribute ¤
components: Optional[List[common.SystemComponent]] = Field(None) class-attribute instance-attribute ¤
inventory_items: Optional[List[common.InventoryItem]] = Field(None, alias='inventory-items') class-attribute instance-attribute ¤
objectives_and_methods: Optional[List[common.LocalObjective]] = Field(None, alias='objectives-and-methods') class-attribute instance-attribute ¤
remarks: Optional[str] = None class-attribute instance-attribute ¤
users: Optional[List[common.SystemUser]] = Field(None) class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/assessment_plan.py
59
60
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

Model ¤

Bases: OscalBaseModel

Source code in trestle/oscal/assessment_plan.py
109
110
class Model(OscalBaseModel):
    assessment_plan: AssessmentPlan = Field(..., alias='assessment-plan')
Attributes¤
assessment_plan: AssessmentPlan = Field(..., alias='assessment-plan') class-attribute instance-attribute ¤

TermsAndConditions ¤

Bases: 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.

Source code in trestle/oscal/assessment_plan.py
43
44
45
46
47
48
49
50
51
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)
Attributes¤
parts: Optional[List[common.AssessmentPart]] = Field(None) class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/assessment_plan.py
48
49
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

handler: python