profile
trestle.oscal.profile
¤
Classes¤
Add (OscalBaseModel)
pydantic-model
¤
Specifies contents to be added into controls, in resolution.
Source code in trestle/oscal/profile.py
class Add(OscalBaseModel):
"""
Specifies contents to be added into controls, in resolution.
"""
class Config:
extra = Extra.forbid
position: Optional[PositionValidValues] = Field(
None,
description='Where to add the new content with respect to the targeted element (beside it or inside it).',
title='Position'
)
by_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, alias='by-id', description='Target location of the addition.', title='Reference by ID'
)
title: Optional[str] = Field(
None,
description='A name given to the control, which may be used by a tool for display and navigation.',
title='Title Change'
)
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)
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
¤
by_id: ConstrainedStrValue
pydantic-field
¤
Target location of the addition.
links: List[trestle.oscal.common.Link]
pydantic-field
¤
params: List[trestle.oscal.common.Parameter]
pydantic-field
¤
parts: List[trestle.oscal.common.Part]
pydantic-field
¤
position: PositionValidValues
pydantic-field
¤
Where to add the new content with respect to the targeted element (beside it or inside it).
props: List[trestle.oscal.common.Property]
pydantic-field
¤
title: str
pydantic-field
¤
A name given to the control, which may be used by a tool for display and navigation.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Alter (OscalBaseModel)
pydantic-model
¤
Specifies changes to be made to an included control when a profile is resolved.
Source code in trestle/oscal/profile.py
class Alter(OscalBaseModel):
"""
Specifies changes to be made to an included control when a profile is resolved.
"""
class Config:
extra = Extra.forbid
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'
)
removes: Optional[List[Remove]] = Field(None)
adds: Optional[List[Add]] = 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
¤
adds: List[trestle.oscal.profile.Add]
pydantic-field
¤
control_id: ConstrainedStrValue
pydantic-field
required
¤
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).
removes: List[trestle.oscal.profile.Remove]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
BooleanDatatype (OscalBaseModel)
pydantic-model
¤
Source code in trestle/oscal/profile.py
class BooleanDatatype(OscalBaseModel):
__root__: bool = Field(..., description='A binary value that is either: true or false.')
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
¤
__root__: bool
pydantic-field
required
special
¤
A binary value that is either: true or false.
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
CombinationMethodValidValues (Enum)
¤
Combine (OscalBaseModel)
pydantic-model
¤
A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).
Source code in trestle/oscal/profile.py
class Combine(OscalBaseModel):
"""
A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).
"""
class Config:
extra = Extra.forbid
method: Optional[CombinationMethodValidValues] = Field(
None, description='Declare how clashing controls should be handled.', title='Combination Method'
)
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
¤
method: CombinationMethodValidValues
pydantic-field
¤
Declare how clashing controls should be handled.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Custom (OscalBaseModel)
pydantic-model
¤
Provides an alternate grouping structure that selected controls will be placed in.
Source code in trestle/oscal/profile.py
class Custom(OscalBaseModel):
"""
Provides an alternate grouping structure that selected controls will be placed in.
"""
class Config:
extra = Extra.forbid
groups: Optional[List[Group]] = Field(None)
insert_controls: Optional[List[InsertControls]] = Field(None, alias='insert-controls')
__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
¤
groups: List[trestle.oscal.profile.Group]
pydantic-field
¤
insert_controls: List[trestle.oscal.profile.InsertControls]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Group (OscalBaseModel)
pydantic-model
¤
A group of (selected) controls or of groups of controls.
Source code in trestle/oscal/profile.py
class Group(OscalBaseModel):
"""
A group of (selected) 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.', 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 to be given to the group for use in display.', 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
insert_controls: Optional[List[InsertControls]] = Field(None, alias='insert-controls')
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.
groups: List[trestle.oscal.profile.Group]
pydantic-field
¤
id: ConstrainedStrValue
pydantic-field
¤
Identifies the group.
insert_controls: List[trestle.oscal.profile.InsertControls]
pydantic-field
¤
links: List[trestle.oscal.common.Link]
pydantic-field
¤
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 to be given to the group for use in display.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Import (OscalBaseModel)
pydantic-model
¤
Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.
Source code in trestle/oscal/profile.py
class Import(OscalBaseModel):
"""
Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.
"""
class Config:
extra = Extra.forbid
href: str = Field(
...,
description='A resolvable URL reference to the base catalog or profile that this profile is tailoring.',
title='Catalog or Profile Reference'
)
include_all: Optional[common.IncludeAll] = Field(None, alias='include-all')
include_controls: Optional[List[SelectControl]] = Field(None, alias='include-controls')
exclude_controls: Optional[List[SelectControl]] = Field(None, alias='exclude-controls')
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
¤
exclude_controls: List[trestle.oscal.profile.SelectControl]
pydantic-field
¤
href: str
pydantic-field
required
¤
A resolvable URL reference to the base catalog or profile that this profile is tailoring.
include_all: IncludeAll
pydantic-field
¤
include_controls: List[trestle.oscal.profile.SelectControl]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
InsertControls (OscalBaseModel)
pydantic-model
¤
Specifies which controls to use in the containing context.
Source code in trestle/oscal/profile.py
class InsertControls(OscalBaseModel):
"""
Specifies which controls to use in the containing context.
"""
class Config:
extra = Extra.forbid
order: Optional[OrderValidValues] = Field(
None, description='A designation of how a selection of controls in a profile is to be ordered.', title='Order'
)
include_all: Optional[common.IncludeAll] = Field(None, alias='include-all')
include_controls: Optional[List[SelectControl]] = Field(None, alias='include-controls')
exclude_controls: Optional[List[SelectControl]] = Field(None, alias='exclude-controls')
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
¤
exclude_controls: List[trestle.oscal.profile.SelectControl]
pydantic-field
¤
include_all: IncludeAll
pydantic-field
¤
include_controls: List[trestle.oscal.profile.SelectControl]
pydantic-field
¤
order: OrderValidValues
pydantic-field
¤
A designation of how a selection of controls in a profile is to be ordered.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
ItemNameValidValues (Enum)
¤
Matching (OscalBaseModel)
pydantic-model
¤
Selecting a set of controls by matching their IDs with a wildcard pattern.
Source code in trestle/oscal/profile.py
class Matching(OscalBaseModel):
"""
Selecting a set of controls by matching their IDs with a wildcard pattern.
"""
class Config:
extra = Extra.forbid
pattern: Optional[constr(regex=r'^\S(.*\S)?$')] = Field(
None, description='A glob expression matching the IDs of one or more controls to be selected.', title='Pattern'
)
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
¤
pattern: ConstrainedStrValue
pydantic-field
¤
A glob expression matching the IDs of one or more controls to be selected.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Merge (OscalBaseModel)
pydantic-model
¤
Provides structuring directives that instruct how controls are organized after profile resolution.
Source code in trestle/oscal/profile.py
class Merge(OscalBaseModel):
"""
Provides structuring directives that instruct how controls are organized after profile resolution.
"""
class Config:
extra = Extra.forbid
combine: Optional[Combine] = Field(
None,
description=
'A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).',
title='Combination Rule'
)
flat: Optional[Dict[str, Any]] = Field(
None, description='Directs that controls appear without any grouping structure.', title='Flat Without Grouping'
)
as_is: Optional[BooleanDatatype] = Field(
None,
alias='as-is',
description=
'Indicates that the controls selected should retain their original grouping as defined in the import source.',
title='Group As-Is'
)
custom: Optional[Custom] = Field(
None,
description='Provides an alternate grouping structure that selected controls will be placed in.',
title='Custom Grouping'
)
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
¤
as_is: BooleanDatatype
pydantic-field
¤
Indicates that the controls selected should retain their original grouping as defined in the import source.
combine: Combine
pydantic-field
¤
A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).
custom: Custom
pydantic-field
¤
Provides an alternate grouping structure that selected controls will be placed in.
flat: Dict[str, Any]
pydantic-field
¤
Directs that controls appear without any grouping structure.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Model (OscalBaseModel)
pydantic-model
¤
Source code in trestle/oscal/profile.py
class Model(OscalBaseModel):
profile: Profile
__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
¤
profile: Profile
pydantic-field
required
¤
Modify (OscalBaseModel)
pydantic-model
¤
Set parameters or amend controls in resolution.
Source code in trestle/oscal/profile.py
class Modify(OscalBaseModel):
"""
Set parameters or amend controls in resolution.
"""
class Config:
extra = Extra.forbid
set_parameters: Optional[List[SetParameter]] = Field(None, alias='set-parameters')
alters: Optional[List[Alter]] = 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
¤
alters: List[trestle.oscal.profile.Alter]
pydantic-field
¤
set_parameters: List[trestle.oscal.profile.SetParameter]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
OrderValidValues (Enum)
¤
PositionValidValues (Enum)
¤
Profile (OscalBaseModel)
pydantic-model
¤
Each OSCAL profile is defined by a profile element.
Source code in trestle/oscal/profile.py
class Profile(OscalBaseModel):
"""
Each OSCAL profile is defined by a profile element.
"""
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 profile instance.',
title='Profile Universally Unique Identifier'
)
metadata: common.Metadata
imports: List[Import] = Field(...)
merge: Optional[Merge] = None
modify: Optional[Modify] = 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
¤
imports: List[trestle.oscal.profile.Import]
pydantic-field
required
¤
merge: Merge
pydantic-field
¤
metadata: Metadata
pydantic-field
required
¤
modify: Modify
pydantic-field
¤
uuid: ConstrainedStrValue
pydantic-field
required
¤
Provides a globally unique means to identify a given profile instance.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
Remove (OscalBaseModel)
pydantic-model
¤
Specifies objects to be removed from a control based on specific aspects of the object that must all match.
Source code in trestle/oscal/profile.py
class Remove(OscalBaseModel):
"""
Specifies objects to be removed from a control based on specific aspects of the object that must all match.
"""
class Config:
extra = Extra.forbid
by_name: 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='by-name',
description='Identify items remove by matching their assigned name.',
title='Reference by (assigned) name'
)
by_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='by-class',
description='Identify items to remove by matching their class.',
title='Reference by class'
)
by_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, alias='by-id', description='Identify items to remove indicated by their id.', title='Reference by ID'
)
by_item_name: Optional[ItemNameValidValues] = Field(
None,
alias='by-item-name',
description="Identify items to remove by the name of the item's information object name, e.g. title or prop.",
title='Item Name Reference'
)
by_ns: 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='by-ns',
description="Identify items to remove by the item's ns, which is the namespace associated with a part, or prop.",
title='Item Namespace Reference'
)
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
¤
by_class: ConstrainedStrValue
pydantic-field
¤
Identify items to remove by matching their class.
by_id: ConstrainedStrValue
pydantic-field
¤
Identify items to remove indicated by their id.
by_item_name: ItemNameValidValues
pydantic-field
¤
Identify items to remove by the name of the item's information object name, e.g. title or prop.
by_name: ConstrainedStrValue
pydantic-field
¤
Identify items remove by matching their assigned name.
by_ns: ConstrainedStrValue
pydantic-field
¤
Identify items to remove by the item's ns, which is the namespace associated with a part, or prop.
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
SelectControl (OscalBaseModel)
pydantic-model
¤
Select a control or controls from an imported control set.
Source code in trestle/oscal/profile.py
class SelectControl(OscalBaseModel):
"""
Select a control or controls from an imported control set.
"""
class Config:
extra = Extra.forbid
with_child_controls: Optional[WithChildControlsValidValues] = Field(
None,
alias='with-child-controls',
description='When a control is included, whether its child (dependent) controls are also included.',
title='Include Contained Controls with Control'
)
with_ids: Optional[List[WithId]] = Field(None, alias='with-ids')
matching: Optional[List[Matching]] = 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
¤
matching: List[trestle.oscal.profile.Matching]
pydantic-field
¤
with_child_controls: WithChildControlsValidValues
pydantic-field
¤
When a control is included, whether its child (dependent) controls are also included.
with_ids: List[trestle.oscal.profile.WithId]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
SetParameter (OscalBaseModel)
pydantic-model
¤
A parameter setting, to be propagated to points of insertion.
Source code in trestle/oscal/profile.py
class SetParameter(OscalBaseModel):
"""
A parameter setting, to be propagated to points of insertion.
"""
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='An identifier for the parameter.', title='Parameter ID')
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 characterization of the parameter.',
title='Parameter Class'
)
depends_on: 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='depends-on',
description=
'**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.',
title='Depends On'
)
props: Optional[List[common.Property]] = Field(None)
links: Optional[List[common.Link]] = Field(None)
label: Optional[str] = Field(
None,
description=
'A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.',
title='Parameter Label'
)
usage: Optional[str] = Field(
None, description='Describes the purpose and use of a parameter.', title='Parameter Usage Description'
)
constraints: Optional[List[common.ParameterConstraint]] = Field(None)
guidelines: Optional[List[common.ParameterGuideline]] = Field(None)
values: Optional[List[constr(regex=r'^\S(.*\S)?$')]] = Field(None)
select: Optional[common.ParameterSelection] = 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 characterization of the parameter.
constraints: List[trestle.oscal.common.ParameterConstraint]
pydantic-field
¤
depends_on: ConstrainedStrValue
pydantic-field
¤
(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.
guidelines: List[trestle.oscal.common.ParameterGuideline]
pydantic-field
¤
label: str
pydantic-field
¤
A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.
links: List[trestle.oscal.common.Link]
pydantic-field
¤
param_id: ConstrainedStrValue
pydantic-field
required
¤
An identifier for the parameter.
props: List[trestle.oscal.common.Property]
pydantic-field
¤
select: ParameterSelection
pydantic-field
¤
usage: str
pydantic-field
¤
Describes the purpose and use of a parameter.
values: List[pydantic.v1.types.ConstrainedStrValue]
pydantic-field
¤
Config
¤
Source code in trestle/oscal/profile.py
class Config:
extra = Extra.forbid
WithChildControlsValidValues (Enum)
¤
WithId (OscalBaseModel)
pydantic-model
¤
Source code in trestle/oscal/profile.py
class WithId(OscalBaseModel):
__root__: 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='Selecting a control by its ID given as a literal.', title='Match Controls by Identifier'
)
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
¤
__root__: ConstrainedStrValue
pydantic-field
required
special
¤
Selecting a control by its ID given as a literal.
__schema_cache__
special
¤
__signature__
special
¤
__slots__: Tuple[str, ...]
special
¤
__validators__
special
¤
handler: python