Component Definition Model v1.1.1 JSON Format Outline
The following outline is a representation of the JSON format for this model, whose schema can be found here. For each property, the name links to the corresponding entry in the JSON Format Reference. The cardinality and data type are also provided for each property where appropriate.
component-definition [1]: { … }
metadata [1]: { … },
title [1]: markup-line,
published [0 or 1]: date-time-with-timezone,
oscal-version [1]: string,
revisions [0 or 1]: [ … ],
An array of revision objects [1 to ∞] {
title [0 or 1]: markup-line,
published [0 or 1]: date-time-with-timezone,
last-modified [0 or 1]: date-time-with-timezone,
oscal-version [0 or 1]: string,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
roles [0 or 1]: [ … ],
An array of role objects [1 to ∞] {
title [1]: markup-line,
short-name [0 or 1]: string,
description [0 or 1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
locations [0 or 1]: [ … ],
An array of location objects [1 to ∞] {
title [0 or 1]: markup-line,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
parties [0 or 1]: [ … ],
An array of party objects [1 to ∞] {
short-name [0 or 1]: string,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
A choice of:
remarks [0 or 1]: markup-multiline,
}
],
responsible-parties [0 or 1]: [ … ],
An array of responsible-party objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
actions [0 or 1]: [ … ],
An array of action objects [1 to ∞] {
date [0 or 1]: date-time-with-timezone,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
responsible-parties [0 or 1]: [ … ],
An array of responsible-party objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
},
components [0 or 1]: [ … ],
An array of component objects [1 to ∞] {
title [1]: markup-line,
description [1]: markup-multiline,
purpose [0 or 1]: markup-line,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
protocols [0 or 1]: [ … ],
An array of protocol objects [1 to ∞] {
title [0 or 1]: markup-line,
}
],
control-implementations [0 or 1]: [ … ],
An array of control-implementation objects [1 to ∞] {
source [1]: uri-reference,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
set-parameters [0 or 1]: [ … ],
],
implemented-requirements [1]: [ … ],
An array of implemented-requirement objects [1 to ∞] {
control-id [1]: token,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
set-parameters [0 or 1]: [ … ],
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
statements [0 or 1]: [ … ],
An array of statement objects [1 to ∞] {
statement-id [1]: token,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
}
],
}
],
remarks [0 or 1]: markup-multiline,
}
],
capabilities [0 or 1]: [ … ],
An array of capability objects [1 to ∞] {
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
incorporates-components [0 or 1]: [ … ],
],
control-implementations [0 or 1]: [ … ],
An array of control-implementation objects [1 to ∞] {
source [1]: uri-reference,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
set-parameters [0 or 1]: [ … ],
],
implemented-requirements [1]: [ … ],
An array of implemented-requirement objects [1 to ∞] {
control-id [1]: token,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
set-parameters [0 or 1]: [ … ],
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
statements [0 or 1]: [ … ],
An array of statement objects [1 to ∞] {
statement-id [1]: token,
description [1]: markup-multiline,
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
links [0 or 1]: [ … ],
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
}
],
remarks [0 or 1]: markup-multiline,
}
],
}
],
remarks [0 or 1]: markup-multiline,
}
],
back-matter [0 or 1]: { … },
resources [0 or 1]: [ … ],
An array of resource objects [1 to ∞] {
title [0 or 1]: markup-line,
description [0 or 1]: markup-multiline,
citation [0 or 1]: { … },
text [1]: markup-line,
links [0 or 1]: [ … ]
An array of link objects [1 to ∞] {
href [1]: uri-reference,
media-type [0 or 1]: string,
resource-fragment [0 or 1]: string,
text [0 or 1]: markup-line,
}
]
},
base64 [0 or 1]: { … },
},
remarks [0 or 1]: markup-multiline,
}
],
},
}