Skip to content

trestle.oscal.profile

trestle.oscal.profile ¤

Attributes¤

Group = Union[Group1, Group2] module-attribute ¤

Import = Union[Import1, Import2] module-attribute ¤

InsertControls = Union[InsertControls1, InsertControls2] module-attribute ¤

Merge = Union[Merge1, Merge2, Merge3] module-attribute ¤

SetParameter = common.SetParameter module-attribute ¤

Classes¤

Add ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Add[Add]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Add
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Add href "" "trestle.oscal.profile.Add"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Specifies contents to be added into controls, in resolution.

Source code in trestle/oscal/profile.py
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
class Add(OscalBaseModel):
    """
    Specifies contents to be added into controls, in resolution.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    position: PositionValidValues | None = Field(None, description='Where to add the new content with respect to the targeted element (beside it or inside it).', title='Position')
    by_id: constr(pattern=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]*$') | None = Field(None, alias='by-id', description='Target location of the addition.', title='Reference by ID')
    title: constr(pattern=r'^[^\n]+$') | None = Field(None, description='A name given to the control, which may be used by a tool for display and navigation.', title='Title Change')
    params: list[common.Parameter] | None = Field(None, min_length=1)
    props: list[common.Property] | None = Field(None, min_length=1)
    links: list[common.Link] | None = Field(None, min_length=1)
    parts: list[common.Part] | None = Field(None, min_length=1)
Attributes¤
by_id = Field(None, alias='by-id', description='Target location of the addition.', title='Reference by ID') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
params = Field(None, min_length=1) class-attribute instance-attribute ¤
parts = Field(None, min_length=1) class-attribute instance-attribute ¤
position = Field(None, description='Where to add the new content with respect to the targeted element (beside it or inside it).', title='Position') class-attribute instance-attribute ¤
props = Field(None, min_length=1) class-attribute instance-attribute ¤
title = Field(None, description='A name given to the control, which may be used by a tool for display and navigation.', title='Title Change') class-attribute instance-attribute ¤

Alter ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Alter[Alter]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Alter
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Alter href "" "trestle.oscal.profile.Alter"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Specifies changes to be made to an included control when a profile is resolved.

Source code in trestle/oscal/profile.py
327
328
329
330
331
332
333
334
335
336
337
class Alter(OscalBaseModel):
    """
    Specifies changes to be made to an included control when a profile is resolved.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    control_id: constr(pattern=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: list[Remove] | None = Field(None, min_length=1)
    adds: list[Add] | None = Field(None, min_length=1)
Attributes¤
adds = Field(None, min_length=1) class-attribute instance-attribute ¤
control_id = 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 ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
removes = Field(None, min_length=1) class-attribute instance-attribute ¤

BooleanDatatype ¤

Bases: RootModel[bool]


              flowchart TD
              trestle.oscal.profile.BooleanDatatype[BooleanDatatype]

              

              click trestle.oscal.profile.BooleanDatatype href "" "trestle.oscal.profile.BooleanDatatype"
            
Source code in trestle/oscal/profile.py
41
42
class BooleanDatatype(RootModel[bool]):
    root: bool = Field(..., description='A binary value that is either: true or false.')
Attributes¤
root = Field(..., description='A binary value that is either: true or false.') class-attribute instance-attribute ¤

Custom ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Custom[Custom]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Custom
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Custom href "" "trestle.oscal.profile.Custom"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Provides an alternate grouping structure that selected controls will be placed in.

Source code in trestle/oscal/profile.py
243
244
245
246
247
248
249
250
251
252
class Custom(OscalBaseModel):
    """
    Provides an alternate grouping structure that selected controls will be placed in.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    groups: list[Group] | None = Field(None, min_length=1)
    insert_controls: list[InsertControls] | None = Field(None, alias='insert-controls', min_length=1)
Attributes¤
groups = Field(None, min_length=1) class-attribute instance-attribute ¤
insert_controls = Field(None, alias='insert-controls', min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

Group1 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Group1[Group1]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Group1
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Group1 href "" "trestle.oscal.profile.Group1"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

A group of controls, or of groups of controls.

Source code in trestle/oscal/profile.py
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
class Group1(OscalBaseModel):
    """
    A group of controls, or of groups of controls.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    id: constr(pattern=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]*$') | None = Field(None, description='Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.', title='Group Identifier')
    class_: constr(pattern=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]*$') | None = Field(None, alias='class', description='A textual label that provides a sub-type or characterization of the group.', title='Group Class')
    title: constr(pattern=r'^[^\n]+$') = Field(..., description='A name given to the group, which may be used by a tool for display and navigation.', title='Group Title')
    params: list[common.Parameter] | None = Field(None, min_length=1)
    props: list[common.Property] | None = Field(None, min_length=1)
    links: list[common.Link] | None = Field(None, min_length=1)
    parts: list[common.Part] | None = Field(None, min_length=1)
    groups: list[Group1|Group2] | None = Field(None, min_length=1)
Attributes¤
class_ = Field(None, alias='class', description='A textual label that provides a sub-type or characterization of the group.', title='Group Class') class-attribute instance-attribute ¤
groups = Field(None, min_length=1) class-attribute instance-attribute ¤
id = Field(None, description='Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.', title='Group Identifier') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
params = Field(None, min_length=1) class-attribute instance-attribute ¤
parts = Field(None, min_length=1) class-attribute instance-attribute ¤
props = Field(None, min_length=1) class-attribute instance-attribute ¤
title = Field(..., description='A name given to the group, which may be used by a tool for display and navigation.', title='Group Title') class-attribute instance-attribute ¤

Group2 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Group2[Group2]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Group2
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Group2 href "" "trestle.oscal.profile.Group2"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

A group of controls, or of groups of controls.

Source code in trestle/oscal/profile.py
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
class Group2(OscalBaseModel):
    """
    A group of controls, or of groups of controls.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    id: constr(pattern=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]*$') | None = Field(None, description='Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.', title='Group Identifier')
    class_: constr(pattern=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]*$') | None = Field(None, alias='class', description='A textual label that provides a sub-type or characterization of the group.', title='Group Class')
    title: constr(pattern=r'^[^\n]+$') = Field(..., description='A name given to the group, which may be used by a tool for display and navigation.', title='Group Title')
    params: list[common.Parameter] | None = Field(None, min_length=1)
    props: list[common.Property] | None = Field(None, min_length=1)
    links: list[common.Link] | None = Field(None, min_length=1)
    parts: list[common.Part] | None = Field(None, min_length=1)
    insert_controls: list[InsertControls] | None = Field(None, alias='insert-controls', min_length=1)
Attributes¤
class_ = Field(None, alias='class', description='A textual label that provides a sub-type or characterization of the group.', title='Group Class') class-attribute instance-attribute ¤
id = Field(None, description='Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.', title='Group Identifier') class-attribute instance-attribute ¤
insert_controls = Field(None, alias='insert-controls', min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
params = Field(None, min_length=1) class-attribute instance-attribute ¤
parts = Field(None, min_length=1) class-attribute instance-attribute ¤
props = Field(None, min_length=1) class-attribute instance-attribute ¤
title = Field(..., description='A name given to the group, which may be used by a tool for display and navigation.', title='Group Title') class-attribute instance-attribute ¤

Import1 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Import1[Import1]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Import1
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Import1 href "" "trestle.oscal.profile.Import1"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

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
143
144
145
146
147
148
149
150
151
152
153
class Import1(OscalBaseModel):
    """
    Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    href: str | None = Field(None, description='A resolvable URL reference to the base catalog or profile that this profile is tailoring.', title='Catalog or Profile Reference')
    include_all: common.IncludeAll = Field(..., alias='include-all')
    exclude_controls: list[SelectControl] | None = Field(None, alias='exclude-controls', min_length=1)
Attributes¤
exclude_controls = Field(None, alias='exclude-controls', min_length=1) class-attribute instance-attribute ¤
href = Field(None, description='A resolvable URL reference to the base catalog or profile that this profile is tailoring.', title='Catalog or Profile Reference') class-attribute instance-attribute ¤
include_all = Field(..., alias='include-all') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

Import2 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Import2[Import2]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Import2
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Import2 href "" "trestle.oscal.profile.Import2"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

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
156
157
158
159
160
161
162
163
164
165
166
class Import2(OscalBaseModel):
    """
    Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    href: str | None = Field(None, description='A resolvable URL reference to the base catalog or profile that this profile is tailoring.', title='Catalog or Profile Reference')
    include_controls: list[SelectControl] = Field(..., alias='include-controls', min_length=1)
    exclude_controls: list[SelectControl] | None = Field(None, alias='exclude-controls', min_length=1)
Attributes¤
exclude_controls = Field(None, alias='exclude-controls', min_length=1) class-attribute instance-attribute ¤
href = Field(None, description='A resolvable URL reference to the base catalog or profile that this profile is tailoring.', title='Catalog or Profile Reference') class-attribute instance-attribute ¤
include_controls = Field(..., alias='include-controls', min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

InsertControls1 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.InsertControls1[InsertControls1]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.InsertControls1
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.InsertControls1 href "" "trestle.oscal.profile.InsertControls1"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Specifies which controls to use in the containing context.

Source code in trestle/oscal/profile.py
173
174
175
176
177
178
179
180
181
182
183
class InsertControls1(OscalBaseModel):
    """
    Specifies which controls to use in the containing context.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    order: constr(pattern=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]*$') | None = Field(None, description='A designation of how a selection of controls in a profile is to be ordered.', title='Order')
    include_all: common.IncludeAll = Field(..., alias='include-all')
    exclude_controls: list[SelectControl] | None = Field(None, alias='exclude-controls', min_length=1)
Attributes¤
exclude_controls = Field(None, alias='exclude-controls', min_length=1) class-attribute instance-attribute ¤
include_all = Field(..., alias='include-all') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
order = Field(None, description='A designation of how a selection of controls in a profile is to be ordered.', title='Order') class-attribute instance-attribute ¤

InsertControls2 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.InsertControls2[InsertControls2]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.InsertControls2
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.InsertControls2 href "" "trestle.oscal.profile.InsertControls2"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Specifies which controls to use in the containing context.

Source code in trestle/oscal/profile.py
186
187
188
189
190
191
192
193
194
195
196
class InsertControls2(OscalBaseModel):
    """
    Specifies which controls to use in the containing context.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    order: constr(pattern=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]*$') | None = Field(None, description='A designation of how a selection of controls in a profile is to be ordered.', title='Order')
    include_controls: list[SelectControl] = Field(..., alias='include-controls', min_length=1)
    exclude_controls: list[SelectControl] | None = Field(None, alias='exclude-controls', min_length=1)
Attributes¤
exclude_controls = Field(None, alias='exclude-controls', min_length=1) class-attribute instance-attribute ¤
include_controls = Field(..., alias='include-controls', min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
order = Field(None, description='A designation of how a selection of controls in a profile is to be ordered.', title='Order') class-attribute instance-attribute ¤

ItemNameValidValues ¤

Bases: Enum


              flowchart TD
              trestle.oscal.profile.ItemNameValidValues[ItemNameValidValues]

              

              click trestle.oscal.profile.ItemNameValidValues href "" "trestle.oscal.profile.ItemNameValidValues"
            
Source code in trestle/oscal/profile.py
45
46
47
48
49
50
51
class ItemNameValidValues(Enum):
    param = 'param'
    prop = 'prop'
    link = 'link'
    part = 'part'
    mapping = 'mapping'
    map = 'map'
Attributes¤
map = 'map' class-attribute instance-attribute ¤
mapping = 'mapping' class-attribute instance-attribute ¤
param = 'param' class-attribute instance-attribute ¤
part = 'part' class-attribute instance-attribute ¤
prop = 'prop' class-attribute instance-attribute ¤

Merge1 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Merge1[Merge1]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Merge1
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Merge1 href "" "trestle.oscal.profile.Merge1"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Provides structuring directives that instruct how controls are organized after profile resolution.

Source code in trestle/oscal/profile.py
54
55
56
57
58
59
60
61
62
63
class Merge1(OscalBaseModel):
    """
    Provides structuring directives that instruct how controls are organized after profile resolution.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    combine: dict[str, Any] | None = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule')
    flat: dict[str, Any] = Field(..., description='Directs that controls appear without any grouping structure.', max_length=0, title='Flat Without Grouping')
Attributes¤
combine = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule') class-attribute instance-attribute ¤
flat = Field(..., description='Directs that controls appear without any grouping structure.', max_length=0, title='Flat Without Grouping') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

Merge2 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Merge2[Merge2]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Merge2
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Merge2 href "" "trestle.oscal.profile.Merge2"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Provides structuring directives that instruct how controls are organized after profile resolution.

Source code in trestle/oscal/profile.py
255
256
257
258
259
260
261
262
263
264
class Merge2(OscalBaseModel):
    """
    Provides structuring directives that instruct how controls are organized after profile resolution.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    combine: dict[str, Any] | None = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule')
    as_is: BooleanDatatype = Field(..., alias='as-is', description='Indicates that the controls selected should retain their original grouping as defined in the import source.', title='Group As-Is')
Attributes¤
as_is = Field(..., alias='as-is', description='Indicates that the controls selected should retain their original grouping as defined in the import source.', title='Group As-Is') class-attribute instance-attribute ¤
combine = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

Merge3 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Merge3[Merge3]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Merge3
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Merge3 href "" "trestle.oscal.profile.Merge3"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Provides structuring directives that instruct how controls are organized after profile resolution.

Source code in trestle/oscal/profile.py
267
268
269
270
271
272
273
274
275
276
class Merge3(OscalBaseModel):
    """
    Provides structuring directives that instruct how controls are organized after profile resolution.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    combine: dict[str, Any] | None = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule')
    custom: Custom = Field(..., description='Provides an alternate grouping structure that selected controls will be placed in.', title='Custom Grouping')
Attributes¤
combine = Field(None, description='A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).', max_length=0, title='Combination Rule') class-attribute instance-attribute ¤
custom = Field(..., description='Provides an alternate grouping structure that selected controls will be placed in.', title='Custom Grouping') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤

Model ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Model[Model]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Model
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Model href "" "trestle.oscal.profile.Model"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            
Source code in trestle/oscal/profile.py
345
346
class Model(OscalBaseModel):
    profile: Profile
Attributes¤
profile instance-attribute ¤

Modify ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Modify[Modify]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Modify
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Modify href "" "trestle.oscal.profile.Modify"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Set parameters or amend controls in resolution.

Source code in trestle/oscal/profile.py
283
284
285
286
287
288
289
290
291
292
class Modify(OscalBaseModel):
    """
    Set parameters or amend controls in resolution.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    set_parameters: list[SetParameters | SetParameters1] | None = Field(None, alias='set-parameters', min_length=1)
    alters: list[Alter] | None = Field(None, min_length=1)
Attributes¤
alters = Field(None, min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
set_parameters = Field(None, alias='set-parameters', min_length=1) class-attribute instance-attribute ¤

PositionValidValues ¤

Bases: Enum


              flowchart TD
              trestle.oscal.profile.PositionValidValues[PositionValidValues]

              

              click trestle.oscal.profile.PositionValidValues href "" "trestle.oscal.profile.PositionValidValues"
            
Source code in trestle/oscal/profile.py
66
67
68
69
70
class PositionValidValues(Enum):
    before = 'before'
    after = 'after'
    starting = 'starting'
    ending = 'ending'
Attributes¤
after = 'after' class-attribute instance-attribute ¤
before = 'before' class-attribute instance-attribute ¤
ending = 'ending' class-attribute instance-attribute ¤
starting = 'starting' class-attribute instance-attribute ¤

Profile ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Profile[Profile]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Profile
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Profile href "" "trestle.oscal.profile.Profile"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Each OSCAL profile is defined by a profile element.

Source code in trestle/oscal/profile.py
295
296
297
298
299
300
301
302
303
304
305
306
307
308
class Profile(OscalBaseModel):
    """
    Each OSCAL profile is defined by a profile element.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    uuid: constr(pattern=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(..., min_length=1)
    merge: Merge | None = None
    modify: Modify | None = None
    back_matter: common.BackMatter | None = Field(None, alias='back-matter')
Attributes¤
back_matter = Field(None, alias='back-matter') class-attribute instance-attribute ¤
imports = Field(..., min_length=1) class-attribute instance-attribute ¤
merge = None class-attribute instance-attribute ¤
metadata instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
modify = None class-attribute instance-attribute ¤
uuid = Field(..., description='Provides a globally unique means to identify a given profile instance.', title='Profile Universally Unique Identifier') class-attribute instance-attribute ¤

Remove ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.Remove[Remove]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.Remove
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.Remove href "" "trestle.oscal.profile.Remove"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
class Remove(OscalBaseModel):
    """
    Specifies objects to be removed from a control based on specific aspects of the object that must all match.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    by_name: constr(pattern=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]*$') | None = Field(None, alias='by-name', description='Identify items remove by matching their assigned name.', title='Reference by (assigned) name')
    by_class: constr(pattern=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]*$') | None = Field(None, alias='by-class', description='Identify items to remove by matching their class.', title='Reference by class')
    by_id: constr(pattern=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]*$') | None = Field(None, alias='by-id', description='Identify items to remove indicated by their id.', title='Reference by ID')
    by_item_name: ItemNameValidValues | None = 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: AnyUrl | None = 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')
    remarks: str | None = None
Attributes¤
by_class = Field(None, alias='by-class', description='Identify items to remove by matching their class.', title='Reference by class') class-attribute instance-attribute ¤
by_id = Field(None, alias='by-id', description='Identify items to remove indicated by their id.', title='Reference by ID') class-attribute instance-attribute ¤
by_item_name = 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') class-attribute instance-attribute ¤
by_name = Field(None, alias='by-name', description='Identify items remove by matching their assigned name.', title='Reference by (assigned) name') class-attribute instance-attribute ¤
by_ns = 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') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
remarks = None class-attribute instance-attribute ¤

SelectControl ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.SelectControl[SelectControl]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.SelectControl
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.SelectControl href "" "trestle.oscal.profile.SelectControl"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

Select a control or controls from an imported control set.

Source code in trestle/oscal/profile.py
73
74
75
76
77
78
79
80
81
82
83
class SelectControl(OscalBaseModel):
    """
    Select a control or controls from an imported control set.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    with_child_controls: constr(pattern=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]*$') | None = 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: list[constr(pattern=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]*$')] | None = Field(None, alias='with-ids', min_length=1)
    matching: list[common.Matching] | None = Field(None, min_length=1)
Attributes¤
matching = Field(None, min_length=1) class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
with_child_controls = 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') class-attribute instance-attribute ¤
with_ids = Field(None, alias='with-ids', min_length=1) class-attribute instance-attribute ¤

SetParameters ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.SetParameters[SetParameters]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.SetParameters
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.SetParameters href "" "trestle.oscal.profile.SetParameters"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

A parameter setting, to be propagated to points of insertion.

Source code in trestle/oscal/profile.py
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
class SetParameters(OscalBaseModel):
    """
    A parameter setting, to be propagated to points of insertion.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    param_id: constr(pattern=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]*$') | None = Field(None, alias='param-id', description='An identifier for the parameter.', title='Parameter ID')
    class_: constr(pattern=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]*$') | None = Field(None, alias='class', description='A textual label that provides a characterization of the parameter.', title='Parameter Class')
    depends_on: constr(pattern=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]*$') | None = 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: list[common.Property] | None = Field(None, min_length=1)
    links: list[common.Link] | None = Field(None, min_length=1)
    label: constr(pattern=r'^[^\n]*$') | None = 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: str | None = Field(None, description='Describes the purpose and use of a parameter.', title='Parameter Usage Description')
    constraints: list[common.ParameterConstraint] | None = Field(None, min_length=1)
    guidelines: list[common.ParameterGuideline] | None = Field(None, min_length=1)
    values: list[constr(pattern=r'^\S(.*\S)?$')] | None = Field(None, min_length=1)
Attributes¤
class_ = Field(None, alias='class', description='A textual label that provides a characterization of the parameter.', title='Parameter Class') class-attribute instance-attribute ¤
constraints = Field(None, min_length=1) class-attribute instance-attribute ¤
depends_on = 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') class-attribute instance-attribute ¤
guidelines = Field(None, min_length=1) class-attribute instance-attribute ¤
label = 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') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
param_id = Field(None, alias='param-id', description='An identifier for the parameter.', title='Parameter ID') class-attribute instance-attribute ¤
props = Field(None, min_length=1) class-attribute instance-attribute ¤
usage = Field(None, description='Describes the purpose and use of a parameter.', title='Parameter Usage Description') class-attribute instance-attribute ¤
values = Field(None, min_length=1) class-attribute instance-attribute ¤

SetParameters1 ¤

Bases: OscalBaseModel


              flowchart TD
              trestle.oscal.profile.SetParameters1[SetParameters1]
              trestle.core.base_model.OscalBaseModel[OscalBaseModel]
              trestle.core.trestle_base_model.TrestleBaseModel[TrestleBaseModel]

                              trestle.core.base_model.OscalBaseModel --> trestle.oscal.profile.SetParameters1
                                trestle.core.trestle_base_model.TrestleBaseModel --> trestle.core.base_model.OscalBaseModel
                



              click trestle.oscal.profile.SetParameters1 href "" "trestle.oscal.profile.SetParameters1"
              click trestle.core.base_model.OscalBaseModel href "" "trestle.core.base_model.OscalBaseModel"
              click trestle.core.trestle_base_model.TrestleBaseModel href "" "trestle.core.trestle_base_model.TrestleBaseModel"
            

A parameter setting, to be propagated to points of insertion.

Source code in trestle/oscal/profile.py
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
class SetParameters1(OscalBaseModel):
    """
    A parameter setting, to be propagated to points of insertion.
    """

    model_config = ConfigDict(
        extra='forbid',
    )
    param_id: constr(pattern=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]*$') | None = Field(None, alias='param-id', description='An identifier for the parameter.', title='Parameter ID')
    class_: constr(pattern=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]*$') | None = Field(None, alias='class', description='A textual label that provides a characterization of the parameter.', title='Parameter Class')
    depends_on: constr(pattern=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]*$') | None = 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: list[common.Property] | None = Field(None, min_length=1)
    links: list[common.Link] | None = Field(None, min_length=1)
    label: constr(pattern=r'^[^\n]*$') | None = 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: str | None = Field(None, description='Describes the purpose and use of a parameter.', title='Parameter Usage Description')
    constraints: list[common.ParameterConstraint] | None = Field(None, min_length=1)
    guidelines: list[common.ParameterGuideline] | None = Field(None, min_length=1)
    select: common.ParameterSelection | None = None
Attributes¤
class_ = Field(None, alias='class', description='A textual label that provides a characterization of the parameter.', title='Parameter Class') class-attribute instance-attribute ¤
constraints = Field(None, min_length=1) class-attribute instance-attribute ¤
depends_on = 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') class-attribute instance-attribute ¤
guidelines = Field(None, min_length=1) class-attribute instance-attribute ¤
label = 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') class-attribute instance-attribute ¤
model_config = ConfigDict(extra='forbid') class-attribute instance-attribute ¤
param_id = Field(None, alias='param-id', description='An identifier for the parameter.', title='Parameter ID') class-attribute instance-attribute ¤
props = Field(None, min_length=1) class-attribute instance-attribute ¤
select = None class-attribute instance-attribute ¤
usage = Field(None, description='Describes the purpose and use of a parameter.', title='Parameter Usage Description') class-attribute instance-attribute ¤

handler: python