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 |
|
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
¤
links: Optional[List[common.Link]] = Field(None)
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¤
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 |
|
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¤
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 |
|
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
¤
links: Optional[List[common.Link]] = Field(None)
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¤
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 |
|
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
¤
links: Optional[List[common.Link]] = Field(None)
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¤
DefinedComponentTypeValidValues
¤
Bases: Enum
Source code in trestle/oscal/component.py
176 177 178 179 180 181 182 183 184 185 186 187 |
|
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 |
|
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
¤
links: Optional[List[common.Link]] = Field(None)
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¤
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 |
|
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 |
|
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¤
Model
¤
Bases: OscalBaseModel
Source code in trestle/oscal/component.py
305 306 |
|
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 |
|
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¤
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 |
|
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
¤
links: Optional[List[common.Link]] = Field(None)
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¤
handler: python