Component Definition Model v1.0.4 JSON Format Outline
The following outline is a representation of the JSON format for this model. 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]: dateTime-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]: dateTime-with-timezone,
last-modified [0 or 1]: dateTime-with-timezone,
oscal-version [0 or 1]: string,
remarks [0 or 1]: markup-multiline,
}
],
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,
remarks [0 or 1]: markup-multiline,
}
],
locations [0 or 1]: [ … ],
An array of location objects [1 to ∞] {
title [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,
A choice of:
remarks [0 or 1]: markup-multiline,
}
],
responsible-parties [0 or 1]: [ … ],
An array of responsible-party objects [1 to ∞] {
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,
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
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,
set-parameters [0 or 1]: [ … ],
],
implemented-requirements [1]: [ … ],
An array of implemented-requirement objects [1 to ∞] {
control-id [1]: token,
description [1]: markup-multiline,
set-parameters [0 or 1]: [ … ],
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
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,
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
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,
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,
set-parameters [0 or 1]: [ … ],
],
implemented-requirements [1]: [ … ],
An array of implemented-requirement objects [1 to ∞] {
control-id [1]: token,
description [1]: markup-multiline,
set-parameters [0 or 1]: [ … ],
],
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
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,
responsible-roles [0 or 1]: [ … ],
An array of responsible-role objects [1 to ∞] {
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,
},
base64 [0 or 1]: { … },
},
remarks [0 or 1]: markup-multiline,
}
],
},
}