Skip to content

trestle.common.const

trestle.common.const ¤

Core constants module containing all constants.

Attributes¤

ADDED_BY_CONTROL_OWNER = 'Added by control owner' module-attribute ¤

AFTER_HASHES_REGEX = '(?:##*\\s+)(.*)' module-attribute ¤

AGGREGATES = 'aggregates' module-attribute ¤

ALIAS_PATH_SEPARATOR = '.' module-attribute ¤

ALLOWED_EXTENSIONS_IN_DIRS = {'.json', '.xml', '.yaml', '.yml', '.md'} module-attribute ¤

ALT_IDENTIFIER = 'alt-identifier' module-attribute ¤

ARG_DESC_ELEMENT = 'Path of the element in the OSCAL model' module-attribute ¤

ARG_DESC_FILE = 'Path of the file' module-attribute ¤

ARG_DESC_MODE = 'Mode of the operation' module-attribute ¤

ARG_ELEMENT = 'element' module-attribute ¤

ARG_ELEMENT_SHORT = 'e' module-attribute ¤

ARG_FILE = 'file' module-attribute ¤

ARG_FILE_SHORT = 'f' module-attribute ¤

ARG_MODE = 'mode' module-attribute ¤

ARG_MODE_SHORT = 'm' module-attribute ¤

ARG_VALIDATE = 'validate' module-attribute ¤

ARG_VALIDATE_SHORT = 'v' module-attribute ¤

ASSESMENT_OBJECTIVE_PART = 'assessment-objective' module-attribute ¤

BUG_REPORT = 'https://github.com/oscal-compass/compliance-trestle/issues/new/choose' module-attribute ¤

CACHE_ABS_DIR = '__abs__' module-attribute ¤

CLOSE_COMMENT = ' -->' module-attribute ¤

COMPONENT_VALUES = 'component-values' module-attribute ¤

COMP_DEF_RULES_PARAM_VALS_TAG = TRESTLE_TAG + 'comp-def-rules-param-vals' module-attribute ¤

COMP_DEF_RULES_TAG = TRESTLE_TAG + 'comp-def-rules' module-attribute ¤

CONTROL_HEADER = '## Control' module-attribute ¤

CONTROL_IMPLEMENTATION = 'control-implementation' module-attribute ¤

CONTROL_OBJECTIVE_HEADER = '## Control Objective' module-attribute ¤

CONTROL_ORIGINATION = 'control-origination' module-attribute ¤

CONTROL_REGEX = '(?i)(?:##\\s+Control\\s+)(.*)' module-attribute ¤

CONTROL_STATEMENT_HEADER = '## Control Statement' module-attribute ¤

DAY_SECONDS = 24 * HOUR_SECONDS module-attribute ¤

DISPLAY_NAME = 'display-name' module-attribute ¤

DISPLAY_VERBOSE_OUTPUT = 'Display verbose output' module-attribute ¤

DRAWIO_FILE_EXT = '.drawio' module-attribute ¤

EDITABLE_CONTENT = 'Editable Content' module-attribute ¤

ELEMENT_WILDCARD = '*' module-attribute ¤

FIELDS_SET = '__fields_set__' module-attribute ¤

FILE_DIGIT_PREFIX_LENGTH = 5 module-attribute ¤

FILE_ENCODING = 'utf8' module-attribute ¤

FILE_URI = 'file:///' module-attribute ¤

FILTER_BY_COMPONENTS = 'filter-by-components' module-attribute ¤

FILTER_BY_PROFILE = 'filter-by-profile' module-attribute ¤

FILTER_EXCLUDE_COMPONENTS = 'filter-exclude-components' module-attribute ¤

GENERATE_RESOLVED_CATALOG = 'generate-resolved-catalog' module-attribute ¤

GUIDELINES = 'guidelines' module-attribute ¤

HEADER_RULE_ID = 'rule-id' module-attribute ¤

HELP_ALLOWED_SECTIONS = 'Short names of sections that are allowed to be in the assembled model, comma-separated' module-attribute ¤

HELP_COMPDEFS = 'Comma-separated list of component-definitions for the ssp.' module-attribute ¤

HELP_FO_OUTPUT = 'Overwrites the content of all markdowns in the output folder.' module-attribute ¤

HELP_INCLUDE_ALL_PARTS = 'Include all control parts when generating SSP markdown.' + ' By default, only controls and parts with an attached rule will be written out.' module-attribute ¤

HELP_LEVERAGED = 'Name of the SSP to be leveraged.' module-attribute ¤

HELP_MARKDOWN_NAME = 'Name of the output generated profile markdown folder' module-attribute ¤

HELP_OVERWRITE_HEADER_VALUES = 'Flag to overwrite values in a markdown control header.' + ' If a separate yaml header is passed in with -y, any items in the markdown header that are common with the' + ' provided header will be overwritten by the new values. But new items passed in will always be added to the' + ' markdown header.' module-attribute ¤

HELP_REGENERATE = 'Flag to force generation of new uuids in the model' module-attribute ¤

HELP_REQUIRED_SECTIONS = 'Short names of sections that must be in the assembled model, comma-separated' module-attribute ¤

HELP_SECTIONS = 'Comma-separated list of sections as short_name_no_spaces:long name with spaces' module-attribute ¤

HELP_SET_PARAMS = 'set parameters and properties based on the yaml header in control markdown' module-attribute ¤

HELP_VERSION = 'New version for the assembled model' module-attribute ¤

HELP_YAML_PATH = 'Path to the optional yaml header file' module-attribute ¤

HOUR_SECONDS = 3600 module-attribute ¤

HREF = 'href' module-attribute ¤

HTTPS_URI = 'https://' module-attribute ¤

IDX_SEP = '__' module-attribute ¤

IMPLEMENTATION_POINT = 'implementation-point' module-attribute ¤

IMPLEMENTATION_POINT_EXTERNAL = 'external' module-attribute ¤

IMPLEMENTATION_STATUS = 'implementation-status' module-attribute ¤

IMPLEMENTATION_STATUS_HEADER = 'Implementation Status' module-attribute ¤

IMPLEMENTATION_STATUS_REMARKS_HEADER = 'Implementation Status Remarks' module-attribute ¤

IMPLEMENTED_REQUIREMENT = 'implemented-requirement' module-attribute ¤

INHERITANCE_VIEW_DIR = 'inheritance' module-attribute ¤

INHERITED_UUID = 'inherited-uuid' module-attribute ¤

INIT_FULL_HELP = 'Initializes Trestle workspace for local, API and governed documents usage.' module-attribute ¤

INIT_FULL_LONG = '--full' module-attribute ¤

INIT_FULL_SHORT = '-fl' module-attribute ¤

INIT_GOVDOCS_HELP = 'Initializes Trestle workspace for governed documents usage only.' module-attribute ¤

INIT_GOVDOCS_LONG = '--govdocs' module-attribute ¤

INIT_GOVDOCS_SHORT = '-gd' module-attribute ¤

INIT_LOCAL_HELP = 'Initializes Trestle workspace for local management of OSCAL models.' module-attribute ¤

INIT_LOCAL_LONG = '--local' module-attribute ¤

INIT_LOCAL_SHORT = '-loc' module-attribute ¤

IOF_HELP = 'Include fields that are optional in the OSCAL model when generating the new object.' module-attribute ¤

IOF_LONG = '--include-optional-fields' module-attribute ¤

IOF_SHORT = '-iof' module-attribute ¤

ITEM = 'item' module-attribute ¤

LABEL = 'label' module-attribute ¤

LEVERAGED_SSP = 'leveraged-ssp' module-attribute ¤

LEV_AUTH_UUID = 'leveraged-authorization-uuid' module-attribute ¤

MARKDOWN_FILE_EXT = '.md' module-attribute ¤

MARKDOWN_URL_REGEX = '\\[([^\\]]+)\\]\\(([^)]+)\\)' module-attribute ¤

MATCH_ALL_EXCEPT_LETTERS_UNDERSCORE_SPACE_REGEX = '[^a-zA-Z0-9-_ \n]' module-attribute ¤

MODEL_DIR_A_PLAN = 'assessment-plans' module-attribute ¤

MODEL_DIR_A_RESULT = 'assessment-results' module-attribute ¤

MODEL_DIR_CATALOG = 'catalogs' module-attribute ¤

MODEL_DIR_COMPDEF = 'component-definitions' module-attribute ¤

MODEL_DIR_LIST = [MODEL_DIR_A_PLAN, MODEL_DIR_A_RESULT, MODEL_DIR_CATALOG, MODEL_DIR_COMPDEF, MODEL_DIR_POAM, MODEL_DIR_PROFILE, MODEL_DIR_SSP] module-attribute ¤

MODEL_DIR_POAM = 'plan-of-action-and-milestones' module-attribute ¤

MODEL_DIR_PROFILE = 'profiles' module-attribute ¤

MODEL_DIR_SSP = 'system-security-plans' module-attribute ¤

MODEL_DIR_TO_MODEL_MODULE = {MODEL_DIR_A_PLAN: MODEL_MODULE_A_PLAN, MODEL_DIR_A_RESULT: MODEL_MODULE_A_RESULT, MODEL_DIR_CATALOG: MODEL_MODULE_CATALOG, MODEL_DIR_COMPDEF: MODEL_MODULE_COMPDEF, MODEL_DIR_POAM: MODEL_MODULE_POAM, MODEL_DIR_PROFILE: MODEL_MODULE_PROFILE, MODEL_DIR_SSP: MODEL_MODULE_SSP} module-attribute ¤

Map of model type to oscal module.

MODEL_MODULE_A_PLAN = f'{PACKAGE_OSCAL}.{MODULE_NAME_A_PLAN}' module-attribute ¤

MODEL_MODULE_A_RESULT = f'{PACKAGE_OSCAL}.{MODULE_NAME_A_RESULT}' module-attribute ¤

MODEL_MODULE_CATALOG = f'{PACKAGE_OSCAL}.{MODULE_NAME_CATALOG}' module-attribute ¤

MODEL_MODULE_COMPDEF = f'{PACKAGE_OSCAL}.{MODULE_NAME_COMPDEF}' module-attribute ¤

MODEL_MODULE_LIST = [MODEL_MODULE_A_PLAN, MODEL_MODULE_A_RESULT, MODEL_MODULE_CATALOG, MODEL_MODULE_COMPDEF, MODEL_MODULE_POAM, MODEL_MODULE_PROFILE, MODEL_MODULE_SSP] module-attribute ¤

Map of plural form of a model type to the oscal module that contains the classes related to it.

MODEL_MODULE_POAM = f'{PACKAGE_OSCAL}.{MODULE_NAME_POAM}' module-attribute ¤

MODEL_MODULE_PROFILE = f'{PACKAGE_OSCAL}.{MODULE_NAME_PROFILE}' module-attribute ¤

MODEL_MODULE_SSP = f'{PACKAGE_OSCAL}.{MODULE_NAME_SSP}' module-attribute ¤

MODEL_MODULE_TO_MODEL_TYPE = {MODEL_MODULE_A_PLAN: MODEL_TYPE_A_PLAN, MODEL_MODULE_A_RESULT: MODEL_TYPE_A_RESULT, MODEL_MODULE_CATALOG: MODEL_TYPE_CATALOG, MODEL_MODULE_COMPDEF: MODEL_TYPE_COMPDEF, MODEL_MODULE_POAM: MODEL_TYPE_POAM, MODEL_MODULE_PROFILE: MODEL_TYPE_PROFILE, MODEL_MODULE_SSP: MODEL_TYPE_SSP} module-attribute ¤

Map of model type to model directory.

MODEL_TYPE_A_PLAN = 'assessment-plan' module-attribute ¤

MODEL_TYPE_A_RESULT = 'assessment-results' module-attribute ¤

MODEL_TYPE_CATALOG = 'catalog' module-attribute ¤

MODEL_TYPE_COMPDEF = 'component-definition' module-attribute ¤

MODEL_TYPE_LIST = [MODEL_TYPE_A_PLAN, MODEL_TYPE_A_RESULT, MODEL_TYPE_CATALOG, MODEL_TYPE_COMPDEF, MODEL_TYPE_POAM, MODEL_TYPE_PROFILE, MODEL_TYPE_SSP] module-attribute ¤

MODEL_TYPE_POAM = 'plan-of-action-and-milestones' module-attribute ¤

MODEL_TYPE_PROFILE = 'profile' module-attribute ¤

MODEL_TYPE_SSP = 'system-security-plan' module-attribute ¤

MODEL_TYPE_TO_MODEL_DIR = {MODEL_TYPE_A_PLAN: MODEL_DIR_A_PLAN, MODEL_TYPE_A_RESULT: MODEL_DIR_A_RESULT, MODEL_TYPE_CATALOG: MODEL_DIR_CATALOG, MODEL_TYPE_COMPDEF: MODEL_DIR_COMPDEF, MODEL_TYPE_POAM: MODEL_DIR_POAM, MODEL_TYPE_PROFILE: MODEL_DIR_PROFILE, MODEL_TYPE_SSP: MODEL_DIR_SSP} module-attribute ¤

Element path separator

MODEL_TYPE_TO_MODEL_MODULE = {MODEL_TYPE_A_PLAN: MODEL_MODULE_A_PLAN, MODEL_TYPE_A_RESULT: MODEL_MODULE_A_RESULT, MODEL_TYPE_CATALOG: MODEL_MODULE_CATALOG, MODEL_TYPE_COMPDEF: MODEL_MODULE_COMPDEF, MODEL_TYPE_POAM: MODEL_MODULE_POAM, MODEL_TYPE_PROFILE: MODEL_MODULE_PROFILE, MODEL_TYPE_SSP: MODEL_MODULE_SSP} module-attribute ¤

Map of model module to model type.

MODULE_NAME_A_PLAN = 'assessment_plan' module-attribute ¤

MODULE_NAME_A_RESULT = 'assessment_results' module-attribute ¤

MODULE_NAME_CATALOG = 'catalog' module-attribute ¤

MODULE_NAME_COMPDEF = 'component' module-attribute ¤

MODULE_NAME_POAM = 'poam' module-attribute ¤

MODULE_NAME_PROFILE = 'profile' module-attribute ¤

MODULE_NAME_SSP = 'ssp' module-attribute ¤

NAME = 'name' module-attribute ¤

NAMESPACE_FEDRAMP = 'https://fedramp.gov/ns/oscal' module-attribute ¤

NAMESPACE_NIST = 'https://csrc.nist.gov/ns/oscal' module-attribute ¤

NCNAME_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]*$' module-attribute ¤

NCNAME_UTF8_FIRST_CHAR_OPTIONS = string.ascii_letters + '_' module-attribute ¤

NCNAME_UTF8_OTHER_CHAR_OPTIONS = string.ascii_letters + string.digits + '_.-' module-attribute ¤

OBJECTIVE_PART = 'objective' module-attribute ¤

ONE = 'one' module-attribute ¤

ONE_OR_MORE_HYPHENED = 'one-or-more' module-attribute ¤

ONE_OR_MORE_SPACED = 'one or more' module-attribute ¤

ORIGINATION_CUSTOMER_CONFIGURED = 'customer-configured' module-attribute ¤

ORIGINATION_CUSTOMER_PROVIDED = 'customer-provided' module-attribute ¤

ORIGINATION_INHERITED = 'inherited' module-attribute ¤

ORIGINATION_ORGANIZATION = 'organization' module-attribute ¤

ORIGINATION_SYSTEM_SPECIFIC = 'system-specific' module-attribute ¤

PACKAGE_OSCAL = 'trestle.oscal' module-attribute ¤

PARAMETER_DESCRIPTION = 'Parameter_Description' module-attribute ¤

PARAMETER_ID = 'Parameter_Id' module-attribute ¤

PARAMETER_VALUE_ALTERNATIVES = 'Parameter_Value_Alternatives' module-attribute ¤

PARAM_VALUES_TAG = TRESTLE_TAG + 'param-values' module-attribute ¤

PARAM_VALUE_ORIGIN = 'param-value-origin' module-attribute ¤

PART_REGEX = '(?i)(?:##\\s+part\\s+)(.*)' module-attribute ¤

PROFILE = 'profile' module-attribute ¤

PROFILE_ADD_REQUIRED_SECTION_FOR_CONTROL_TEXT = '<!-- Add prose here for required Section' module-attribute ¤

PROFILE_PARAM_VALUE_ORIGIN = 'profile-param-value-origin' module-attribute ¤

PROFILE_VALUES = 'profile-values' module-attribute ¤

PROPERTY_REGEX = '(?:###\\s+Property\\s+)([^\\s]*)\\s*:\\s+(.*)' module-attribute ¤

PROVIDED_STATEMENT_DESCRIPTION = 'Provided Statement Description' module-attribute ¤

PROVIDED_UUID = 'provided-uuid' module-attribute ¤

REMARKS = 'Remarks' module-attribute ¤

REPLACE_ME = 'REPLACE_ME' module-attribute ¤

REPLACE_ME_PLACEHOLDER = '<REPLACE_ME>' module-attribute ¤

RESOLUTION_SOURCE = 'resolution-source' module-attribute ¤

RESPONSIBILITY_STATEMENT_DESCRIPTION = 'Responsibility Statement Description' module-attribute ¤

RESPONSIBILITY_UUID = 'responsibility-uuid' module-attribute ¤

RESPONSIBLE_ROLE = 'responsible-role' module-attribute ¤

RESPONSIBLE_ROLES = 'responsible-roles' module-attribute ¤

ROOT = '__root__' module-attribute ¤

RULES_PARAMS_TAG = TRESTLE_TAG + 'rules-params' module-attribute ¤

RULES_WARNING = '<!-- Note that the list of rules under ### Rules: is read-only and changes will not be captured after assembly to JSON -->' module-attribute ¤

RULE_DESCRIPTION = 'Rule_Description' module-attribute ¤

RULE_ID = 'Rule_Id' module-attribute ¤

SAMPLE_UUID_STR = 'A0000000-0000-4000-8000-000000000000' module-attribute ¤

SATISFIED_STATEMENT_COMMENT = '<!-- Use this section to explain how the inherited responsibility is being satisfied. -->' module-attribute ¤

SATISFIED_STATEMENT_DESCRIPTION = 'Satisfied Statement Description' module-attribute ¤

SECTIONS_TAG = TRESTLE_TAG + 'sections' module-attribute ¤

SET_PARAMS_TAG = TRESTLE_TAG + 'set-params' module-attribute ¤

SFTP_URI = 'sftp://' module-attribute ¤

SORT_ID = 'sort-id' module-attribute ¤

SSP_ADD_IMPLEMENTATION_FOR_CONTROL_TEXT = SSP_ADD_IMPLEMENTATION_PREFIX + 'control' module-attribute ¤

SSP_ADD_IMPLEMENTATION_FOR_ITEM_TEXT = SSP_ADD_IMPLEMENTATION_PREFIX + ITEM module-attribute ¤

SSP_ADD_IMPLEMENTATION_FOR_STATEMENT_TEXT = SSP_ADD_IMPLEMENTATION_PREFIX + STATEMENT + CLOSE_COMMENT module-attribute ¤

SSP_ADD_IMPLEMENTATION_PREFIX = '<!-- Add control implementation description here for ' module-attribute ¤

SSP_ADD_THIS_SYSTEM_IMPLEMENTATION_FOR_CONTROL_TEXT = f'<!-- Add implementation prose for the main {SSP_MAIN_COMP_NAME} component for control' module-attribute ¤

SSP_FEDRAMP_TAG = TRESTLE_TAG + 'fedramp-props' module-attribute ¤

SSP_MAIN_COMP_NAME = 'This System' module-attribute ¤

SSP_MD_HRULE_LINE = '______________________________________________________________________' module-attribute ¤

SSP_MD_IMPLEMENTATION_QUESTION = 'What is the solution and how is it implemented?' module-attribute ¤

SSP_MD_LEAVE_BLANK_TEXT = '<!-- Please leave this section blank and enter implementation details in the parts below. -->' module-attribute ¤

SSP_SYSTEM_CONTROL_IMPLEMENTATION_TEXT = 'This is the control implementation for the system.' module-attribute ¤

SSP_VALUES = 'ssp-values' module-attribute ¤

STATEMENT = 'statement' module-attribute ¤

STATUS_ALL = [STATUS_IMPLEMENTED, STATUS_PARTIAL, STATUS_PARTIALLY_IMPLEMENTED, STATUS_PLANNED, STATUS_ALTERNATIVE, STATUS_NOT_APPLICABLE, STATUS_OPERATIONAL, STATUS_UNDER_DEVELOPMENT, STATUS_DISPOSITION, STATUS_OTHER, STATUS_UNDER_MAJOR_MODIFICATION] module-attribute ¤

STATUS_ALTERNATIVE = 'alternative' module-attribute ¤

STATUS_COMPLETION_DATE = 'completion-date' module-attribute ¤

STATUS_DISPOSITION = 'disposition' module-attribute ¤

STATUS_IMPLEMENTED = 'implemented' module-attribute ¤

STATUS_INHERITED = 'inherited' module-attribute ¤

STATUS_NOT_APPLICABLE = 'not-applicable' module-attribute ¤

STATUS_OPERATIONAL = 'operational' module-attribute ¤

STATUS_OTHER = 'other' module-attribute ¤

STATUS_PARTIAL = 'partial' module-attribute ¤

STATUS_PARTIALLY_IMPLEMENTED = 'partially-implemented' module-attribute ¤

STATUS_PLANNED = 'planned' module-attribute ¤

STATUS_PLANNED_COMPLETION_DATE = 'planned-completion-date' module-attribute ¤

STATUS_PROMPT = f'<!-- For implementation status enter one of: {STATUS_IMPLEMENTED}, {STATUS_PARTIAL}, {STATUS_PLANNED}, {STATUS_ALTERNATIVE}, {STATUS_NOT_APPLICABLE} -->' module-attribute ¤

STATUS_REMARKS = 'status-remarks' module-attribute ¤

STATUS_UNDER_DEVELOPMENT = 'under-development' module-attribute ¤

STATUS_UNDER_MAJOR_MODIFICATION = 'under-major-modification' module-attribute ¤

TABLE_OF_PARAMS_PART = 'table_of_parameters' module-attribute ¤

TEMPLATE_VERSION_REGEX = '[0-9]+.[0-9]+.[0-9]+' module-attribute ¤

THIS_SYSTEM_AS_KEY = 'this-system' module-attribute ¤

THIS_SYSTEM_PROMPT = '### ' + SSP_MAIN_COMP_NAME module-attribute ¤

TITLE = 'title' module-attribute ¤

TRANSFORM_TYPES = [FILTER_BY_PROFILE, FILTER_BY_COMPONENTS, FILTER_EXCLUDE_COMPONENTS, GENERATE_RESOLVED_CATALOG] module-attribute ¤

TRESTLE_ADD_PROPS_TAG = TRESTLE_TAG + 'add-props' module-attribute ¤

TRESTLE_CACHE_DIR = TRESTLE_CONFIG_DIR + '/cache' module-attribute ¤

TRESTLE_CONFIG_DIR = '.trestle' module-attribute ¤

TRESTLE_CONFIG_FILE = 'config.ini' module-attribute ¤

TRESTLE_DIST_DIR = 'dist' module-attribute ¤

TRESTLE_GENERIC_NS = 'https://oscal-compass.github.io/compliance-trestle/schemas/oscal' module-attribute ¤

TRESTLE_GLOBAL_TAG = TRESTLE_TAG + 'global' module-attribute ¤

TRESTLE_HREF_HEADING = 'trestle://' module-attribute ¤

TRESTLE_HREF_REGEX = '^trestle://[^/]' module-attribute ¤

TRESTLE_IMP_STATUS_TAG = 'trestle-imp-status' module-attribute ¤

TRESTLE_INHERITED_PROPS_TAG = TRESTLE_TAG + 'inherited-props' module-attribute ¤

TRESTLE_INHERITED_PROPS_TRACKER = 'trestle_inherited_props_tracker' module-attribute ¤

TRESTLE_KEEP_FILE = '.keep' module-attribute ¤

TRESTLE_LEVERAGING_COMP_TAG = TRESTLE_TAG + 'leveraging-comp' module-attribute ¤

TRESTLE_PROPS_TAG = TRESTLE_TAG + 'props' module-attribute ¤

TRESTLE_STATEMENT_TAG = TRESTLE_TAG + 'statement' module-attribute ¤

TRESTLE_TAG = 'x-trestle-' module-attribute ¤

UNIX_CACHE_ROOT = '__root__' module-attribute ¤

UUID_REGEX = '(?:^|[0-9A-Za-f])([0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12})(?:$|[^0-9A-Za-z])' module-attribute ¤

VALUES = 'values' module-attribute ¤

VALUE_ASSIGNED_PREFIX = 'value-assigned-prefix' module-attribute ¤

VALUE_NOT_ASSIGNED_PREFIX = 'value-not-assigned-prefix' module-attribute ¤

VAL_MODE_ALL = 'all' module-attribute ¤

VAL_MODE_CATALOG = 'catalog' module-attribute ¤

VAL_MODE_DUPLICATES = 'duplicates' module-attribute ¤

VAL_MODE_REFS = 'refs' module-attribute ¤

VAL_MODE_RULES = 'rules' module-attribute ¤

WEBSITE_ROOT = 'https://oscal-compass.github.io/compliance-trestle' module-attribute ¤

WINDOWS_DRIVE_LETTER_REGEX = '[A-Za-z]:' module-attribute ¤

WINDOWS_DRIVE_URI_REGEX = '([A-Za-z]:[\\\\/]?)[^\\\\/]' module-attribute ¤

WINDOWS_PLATFORM_STR = 'Windows' module-attribute ¤

YAML_LEVERAGED_COMMENT = ' # Add or modify leveraged SSP Statements here.\n' module-attribute ¤

YAML_LEVERAGING_COMP_COMMENT = ' # Leveraged statements can be optionally associated with components in this system.\n # Associate leveraged statements to Components of this system here:\n' module-attribute ¤

YAML_PROFILE_VALUES_COMMENT = ' # This section contains the parameters that are part of this control.\n # Each parameter has properties. Only the profile-values and display-name properties are editable.\n # The other properties are informational.\n #\n # The values property for a parameter represents values inherited from the OSCAL catalog.\n # To override the catalog settings, use bullets under profile-values as shown below:\n #\n # profile-values:\n # - value 1\n # - value 2\n #\n # If the "- <REPLACE_ME>" placeholder appears under profile-values, it is the same as if\n # the profile-values property were left empty.\n #\n # Some parameters may show an aggregates property which lists other parameters. This means\n # the parameter value is made up of the values from the other parameters. For parameters\n # that aggregate, profile-values is not applicable.\n #\n # Property param-value-origin is meant for putting the origin from where that parameter comes from.\n # In order to be changed in the current profile, profile-param-value-origin property will be displayed with\n # the placeholder "<REPLACE_ME>" for you to be replaced. If a parameter already has a param-value-origin\n # coming from an inherited profile, do no change this value, instead use profile-param-value-origin as follows:\n #\n # param-value-origin: DO NOT REPLACE - this is the original value\n # profile-param-value-origin: <REPLACE_ME> - replace the new value required HERE\n #\n' module-attribute ¤

YAML_PROPS_COMMENT = ' # Add or modify control properties here\n # Properties may be at the control or part level\n # Add control level properties like this:\n # - name: ac1_new_prop\n # value: new property value\n #\n # Add properties to a statement part like this, where "b." is the label of the target statement part\n # - name: ac1_new_prop\n # value: new property value\n # smt-part: b.\n #\n' module-attribute ¤

YAML_RULE_PARAM_VALUES_COMPONENT_COMMENT = ' # You may set new values for rule parameters by adding\n #\n # component-values:\n # - value 1\n # - value 2\n #\n # below a section of values:\n # The values list refers to the values as set by the components, and the component-values are the new values\n # to be placed in SetParameters of the component definition.\n #\n' module-attribute ¤

YAML_RULE_PARAM_VALUES_SSP_COMMENT = ' # You may set new values for rule parameters by adding\n #\n # ssp-values:\n # - value 1\n # - value 2\n #\n # below a section of values:\n # The values list refers to the values as set by the components, and the ssp-values are the new values\n # to be placed in SetParameters of the SSP.\n #\n' module-attribute ¤

YAML_SSP_VALUES_COMMENT = ' # You may set values for parameters in the assembled SSP by adding\n #\n # ssp-values:\n # - value 1\n # - value 2\n #\n # below a section of values:\n # The values list refers to the values in the resolved profile catalog, and the ssp-values represent new values\n # to be placed in SetParameters of the SSP.\n #\n' module-attribute ¤

handler: python