Skip to content

component

trestle.oscal.component ¤

Attributes¤

Classes¤

Capability ¤

Bases: OscalBaseModel

A grouping of other components and/or capabilities.

Source code in trestle/oscal/component.py
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
class Capability(OscalBaseModel):
    """
    A grouping of other components and/or capabilities.
    """

    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 capability.',
                     title='Capability Identifier'
                 )
    name: constr(regex=r'^\S(.*\S)?$'
                 ) = Field(..., description="The capability's human-readable name.", title='Capability Name')
    description: str = Field(..., description='A summary of the capability.', title='Capability Description')
    props: Optional[List[common.Property]] = Field(None)
    links: Optional[List[common.Link]] = Field(None)
    incorporates_components: Optional[List[IncorporatesComponent]] = Field(None, alias='incorporates-components')
    control_implementations: Optional[List[ControlImplementation]] = Field(None, alias='control-implementations')
    remarks: Optional[str] = None
Attributes¤
control_implementations: Optional[List[ControlImplementation]] = Field(None, alias='control-implementations') class-attribute instance-attribute ¤
description: str = Field(..., description='A summary of the capability.', title='Capability Description') class-attribute instance-attribute ¤
incorporates_components: Optional[List[IncorporatesComponent]] = Field(None, alias='incorporates-components') class-attribute instance-attribute ¤
name: constr(regex='^\\S(.*\\S)?$') = Field(..., description="The capability's human-readable name.", title='Capability Name') class-attribute instance-attribute ¤
props: Optional[List[common.Property]] = Field(None) class-attribute instance-attribute ¤
remarks: Optional[str] = None 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='Provides a globally unique means to identify a given capability.', title='Capability Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
229
230
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

ComponentDefinition ¤

Bases: OscalBaseModel

A collection of component descriptions, which may optionally be grouped by capability.

Source code in trestle/oscal/component.py
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
class ComponentDefinition(OscalBaseModel):
    """
    A collection of component descriptions, which may optionally be grouped by capability.
    """

    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 component definition instance.',
                     title='Component Definition Universally Unique Identifier'
                 )
    metadata: common.Metadata
    import_component_definitions: Optional[List[ImportComponentDefinition]] = Field(
        None, alias='import-component-definitions'
    )
    components: Optional[List[DefinedComponent]] = Field(None)
    capabilities: Optional[List[Capability]] = Field(None)
    back_matter: Optional[common.BackMatter] = Field(None, alias='back-matter')
Attributes¤
back_matter: Optional[common.BackMatter] = Field(None, alias='back-matter') class-attribute instance-attribute ¤
capabilities: Optional[List[Capability]] = Field(None) class-attribute instance-attribute ¤
components: Optional[List[DefinedComponent]] = Field(None) class-attribute instance-attribute ¤
import_component_definitions: Optional[List[ImportComponentDefinition]] = Field(None, alias='import-component-definitions') class-attribute instance-attribute ¤
metadata: common.Metadata 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='Provides a globally unique means to identify a given component definition instance.', title='Component Definition Universally Unique Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
287
288
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

ControlImplementation ¤

Bases: OscalBaseModel

Defines how the component or capability supports a set of controls.

Source code in trestle/oscal/component.py
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
class ControlImplementation(OscalBaseModel):
    """
    Defines how the component or capability supports a set of controls.
    """

    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 means to identify a set of control implementations that are supported by a given component or capability.',
        title='Control Implementation Set Identifier'
    )
    source: str = Field(
        ...,
        description=
        'A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.',
        title='Source Resource Reference'
    )
    description: str = Field(
        ...,
        description=
        'A description of how the specified set of controls are implemented for the containing component or capability.',
        title='Control Implementation Description'
    )
    props: Optional[List[common.Property]] = Field(None)
    links: Optional[List[common.Link]] = Field(None)
    set_parameters: Optional[List[SetParameter]] = Field(None, alias='set-parameters')
    implemented_requirements: List[ImplementedRequirement] = Field(..., alias='implemented-requirements')
Attributes¤
description: str = Field(..., description='A description of how the specified set of controls are implemented for the containing component or capability.', title='Control Implementation Description') class-attribute instance-attribute ¤
implemented_requirements: List[ImplementedRequirement] = Field(..., alias='implemented-requirements') class-attribute instance-attribute ¤
props: Optional[List[common.Property]] = Field(None) class-attribute instance-attribute ¤
set_parameters: Optional[List[SetParameter]] = Field(None, alias='set-parameters') class-attribute instance-attribute ¤
source: str = Field(..., description='A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.', title='Source Resource Reference') 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='Provides a means to identify a set of control implementations that are supported by a given component or capability.', title='Control Implementation Set Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
195
196
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

DefinedComponent ¤

Bases: OscalBaseModel

A defined component that can be part of an implemented system.

Source code in trestle/oscal/component.py
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
class DefinedComponent(OscalBaseModel):
    """
    A defined component that can be part of an implemented system.
    """

    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 component.',
                     title='Component Identifier'
                 )
    type: Union[constr(regex=r'^\S(.*\S)?$'), DefinedComponentTypeValidValues] = Field(
        ..., description='A category describing the purpose of the component.', title='Component Type'
    )
    title: str = Field(..., description='A human readable name for the component.', title='Component Title')
    description: str = Field(
        ...,
        description='A description of the component, including information about its function.',
        title='Component Description'
    )
    purpose: Optional[str] = Field(
        None, description='A summary of the technological or business purpose of the component.', title='Purpose'
    )
    props: Optional[List[common.Property]] = Field(None)
    links: Optional[List[common.Link]] = Field(None)
    responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles')
    protocols: Optional[List[common.Protocol]] = Field(None)
    control_implementations: Optional[List[ControlImplementation]] = Field(None, alias='control-implementations')
    remarks: Optional[str] = None
Attributes¤
control_implementations: Optional[List[ControlImplementation]] = Field(None, alias='control-implementations') class-attribute instance-attribute ¤
description: str = Field(..., description='A description of the component, including information about its function.', title='Component Description') class-attribute instance-attribute ¤
props: Optional[List[common.Property]] = Field(None) class-attribute instance-attribute ¤
protocols: Optional[List[common.Protocol]] = Field(None) class-attribute instance-attribute ¤
purpose: Optional[str] = Field(None, description='A summary of the technological or business purpose of the component.', title='Purpose') class-attribute instance-attribute ¤
remarks: Optional[str] = None class-attribute instance-attribute ¤
responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles') class-attribute instance-attribute ¤
title: str = Field(..., description='A human readable name for the component.', title='Component Title') class-attribute instance-attribute ¤
type: Union[constr(regex='^\\S(.*\\S)?$'), DefinedComponentTypeValidValues] = Field(..., description='A category describing the purpose of the component.', title='Component Type') 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='Provides a globally unique means to identify a given component.', title='Component Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
253
254
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

DefinedComponentTypeValidValues ¤

Bases: Enum

Source code in trestle/oscal/component.py
176
177
178
179
180
181
182
183
184
185
186
187
class DefinedComponentTypeValidValues(Enum):
    interconnection = 'interconnection'
    software = 'software'
    hardware = 'hardware'
    service = 'service'
    policy = 'policy'
    physical = 'physical'
    process_procedure = 'process-procedure'
    plan = 'plan'
    guidance = 'guidance'
    standard = 'standard'
    validation = 'validation'
Attributes¤
guidance = 'guidance' class-attribute instance-attribute ¤
hardware = 'hardware' class-attribute instance-attribute ¤
interconnection = 'interconnection' class-attribute instance-attribute ¤
physical = 'physical' class-attribute instance-attribute ¤
plan = 'plan' class-attribute instance-attribute ¤
policy = 'policy' class-attribute instance-attribute ¤
process_procedure = 'process-procedure' class-attribute instance-attribute ¤
service = 'service' class-attribute instance-attribute ¤
software = 'software' class-attribute instance-attribute ¤
standard = 'standard' class-attribute instance-attribute ¤
validation = 'validation' class-attribute instance-attribute ¤

ImplementedRequirement ¤

Bases: OscalBaseModel

Describes how the containing component or capability implements an individual control.

Source code in trestle/oscal/component.py
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
class ImplementedRequirement(OscalBaseModel):
    """
    Describes how the containing component or capability implements an individual control.
    """

    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 control implementation by a component.',
        title='Control Implementation Identifier'
    )
    control_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(
        ...,
        alias='control-id',
        description=
        'A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).',
        title='Control Identifier Reference'
    )
    description: str = Field(
        ...,
        description=
        'A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.',
        title='Control Implementation Description'
    )
    props: Optional[List[common.Property]] = Field(None)
    links: Optional[List[common.Link]] = Field(None)
    set_parameters: Optional[List[SetParameter]] = Field(None, alias='set-parameters')
    responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles')
    statements: Optional[List[Statement]] = Field(None)
    remarks: Optional[str] = None
Attributes¤
control_id: constr(regex='^[_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(..., alias='control-id', description='A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).', title='Control Identifier Reference') class-attribute instance-attribute ¤
description: str = Field(..., description='A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.', title='Control Implementation Description') class-attribute instance-attribute ¤
props: Optional[List[common.Property]] = Field(None) class-attribute instance-attribute ¤
remarks: Optional[str] = None class-attribute instance-attribute ¤
responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles') class-attribute instance-attribute ¤
set_parameters: Optional[List[SetParameter]] = Field(None, alias='set-parameters') class-attribute instance-attribute ¤
statements: Optional[List[Statement]] = Field(None) 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='Provides a globally unique means to identify a given control implementation by a component.', title='Control Implementation Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
142
143
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

ImportComponentDefinition ¤

Bases: OscalBaseModel

Loads a component definition from another resource.

Source code in trestle/oscal/component.py
121
122
123
124
125
126
127
128
129
130
131
132
133
134
class ImportComponentDefinition(OscalBaseModel):
    """
    Loads a component definition from another resource.
    """

    class Config:
        extra = Extra.forbid

    href: str = Field(
        ...,
        description=
        'A link to a resource that defines a set of components and/or capabilities to import into this collection.',
        title='Hyperlink Reference'
    )
Attributes¤
href: str = Field(..., description='A link to a resource that defines a set of components and/or capabilities to import into this collection.', title='Hyperlink Reference') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
126
127
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

IncorporatesComponent ¤

Bases: OscalBaseModel

The collection of components comprising this capability.

Source code in trestle/oscal/component.py
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
class IncorporatesComponent(OscalBaseModel):
    """
    The collection of components comprising this capability.
    """

    class Config:
        extra = Extra.forbid

    component_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(
        ...,
        alias='component-uuid',
        description='A machine-oriented identifier reference to a component.',
        title='Component Reference'
    )
    description: str = Field(
        ...,
        description='A description of the component, including information about its function.',
        title='Component Description'
    )
Attributes¤
component_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(..., alias='component-uuid', description='A machine-oriented identifier reference to a component.', title='Component Reference') class-attribute instance-attribute ¤
description: str = Field(..., description='A description of the component, including information about its function.', title='Component Description') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
103
104
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

Model ¤

Bases: OscalBaseModel

Source code in trestle/oscal/component.py
305
306
class Model(OscalBaseModel):
    component_definition: ComponentDefinition = Field(..., alias='component-definition')
Attributes¤
component_definition: ComponentDefinition = Field(..., alias='component-definition') class-attribute instance-attribute ¤

SetParameter ¤

Bases: OscalBaseModel

Identifies the parameter that will be set by the enclosed value.

Source code in trestle/oscal/component.py
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
class SetParameter(OscalBaseModel):
    """
    Identifies the parameter that will be set by the enclosed value.
    """

    class Config:
        extra = Extra.forbid

    param_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(
        ...,
        alias='param-id',
        description=
        "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.",
        title='Parameter ID'
    )
    values: List[constr(regex=r'^\S(.*\S)?$')] = Field(...)
    remarks: Optional[str] = None
Attributes¤
param_id: constr(regex='^[_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(..., alias='param-id', description="A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", title='Parameter ID') class-attribute instance-attribute ¤
remarks: Optional[str] = None class-attribute instance-attribute ¤
values: List[constr(regex='^\\S(.*\\S)?$')] = Field(...) class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
81
82
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

Statement ¤

Bases: OscalBaseModel

Identifies which statements within a control are addressed.

Source code in trestle/oscal/component.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class Statement(OscalBaseModel):
    """
    Identifies which statements within a control are addressed.
    """

    class Config:
        extra = Extra.forbid

    statement_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(
        ...,
        alias='statement-id',
        description='A human-oriented identifier reference to a control statement.',
        title='Control Statement Reference'
    )
    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 control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).',
        title='Control Statement Reference Universally Unique Identifier'
    )
    description: str = Field(
        ...,
        description='A summary of how the containing control statement is implemented by the component or capability.',
        title='Statement Implementation Description'
    )
    props: Optional[List[common.Property]] = Field(None)
    links: Optional[List[common.Link]] = Field(None)
    responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles')
    remarks: Optional[str] = None
Attributes¤
description: str = Field(..., description='A summary of how the containing control statement is implemented by the component or capability.', title='Statement Implementation Description') class-attribute instance-attribute ¤
props: Optional[List[common.Property]] = Field(None) class-attribute instance-attribute ¤
remarks: Optional[str] = None class-attribute instance-attribute ¤
responsible_roles: Optional[List[common.ResponsibleRole]] = Field(None, alias='responsible-roles') class-attribute instance-attribute ¤
statement_id: constr(regex='^[_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(..., alias='statement-id', description='A human-oriented identifier reference to a control statement.', title='Control Statement Reference') 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 control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).', title='Control Statement Reference Universally Unique Identifier') class-attribute instance-attribute ¤
Classes¤
Config ¤
Source code in trestle/oscal/component.py
45
46
class Config:
    extra = Extra.forbid
Attributes¤
extra = Extra.forbid class-attribute instance-attribute ¤

handler: python