Package gov.nist.secauto.oscal.lib.model
Class SystemCharacteristics
java.lang.Object
gov.nist.secauto.oscal.lib.model.SystemCharacteristics
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
@MetaschemaAssembly(formalName="System Characteristics",
description="Contains the characteristics of the system, such as its name, purpose, and security impact level.",
name="system-characteristics",
moduleClass=OscalSspModule.class,
valueConstraints=@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="identity-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="authenticator-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="federation-assurance-level",description="A value of 1, 2, or 3 as defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3).")}) @AllowedValues(level=ERROR,target="prop[@name=(\'identity-assurance-level\',\'authenticator-assurance-level\',\'federation-assurance-level\')]/@value",values={@AllowedValue(value="1",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="2",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3)."),@AllowedValue(value="3",description="As defined by [SP 800-63-3](https://doi.org/10.6028/NIST.SP.800-63-3).")}) @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="cloud-deployment-model",description="The associated value is one of: public-cloud, private-cloud, community-cloud, government-only-cloud, hybrid-cloud, or other."),@AllowedValue(value="cloud-service-model",description="The associated value is one of: saas, paas, iaas, or other.")}) @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'cloud-deployment-model\']/@value",values={@AllowedValue(value="public-cloud",description="The public cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="private-cloud",description="The private cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="community-cloud",description="The community cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="hybrid-cloud",description="The hybrid cloud deployment model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="government-only-cloud",description="A specific type of community-cloud for use only by government services."),@AllowedValue(value="other",description="Any other type of cloud deployment model that is exclusive to the other choices.")},remarks="The hybrid cloud deployment model, as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145), can be supported by selecting two or more of the existing deployment models.") @AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'cloud-service-model\']/@value",values={@AllowedValue(value="saas",description="Software as a service (SaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="paas",description="Platform as a service (PaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="iaas",description="Infrastructure as a service (IaaS) cloud service model as defined by [The NIST Definition of Cloud Computing](https://doi.org/10.6028/NIST.SP.800-145)."),@AllowedValue(value="other",description="Any other type of cloud service model that is exclusive to the other choices.")}) @AllowedValues(level=ERROR,target="responsible-party/@role-id",allowOthers=true,values={@AllowedValue(value="authorizing-official",description="The authorizing official for this system."),@AllowedValue(value="authorizing-official-poc",description="The authorizing official\'s designated point of contact (POC) for this system."),@AllowedValue(value="system-owner",description="The executive ultimately accountable for the system."),@AllowedValue(value="system-poc-management",description="The primary management-level point of contact (POC) for the system."),@AllowedValue(value="system-poc-technical",description="The primary technical point of contact (POC) for the system."),@AllowedValue(value="system-poc-other",description="Other point of contact (POC) for the system that is not the management or technical POC."),@AllowedValue(value="information-system-security-officer",description="The primary role responsible for ensuring the organization operates the system securely."),@AllowedValue(value="privacy-poc",description="The point of contact (POC) responsible for identifying privacy information within the system, and ensuring its protection if present.")}),
modelConstraints=@AssemblyConstraints(unique=@IsUnique(id="unique-ssp-system-characteristics-responsible-party",level=ERROR,target="responsible-party",keyFields=@KeyField(target="@role-id"),remarks="Since `responsible-party` associates multiple `party-uuid` entries with a single `role-id`, each role-id must be referenced only once.")))
public class SystemCharacteristics
extends Object
implements gov.nist.secauto.metaschema.core.model.IBoundObject
Contains the characteristics of the system, such as its name, purpose, and security impact level.
-
Constructor Summary
ConstructorsConstructorDescriptionSystemCharacteristics(gov.nist.secauto.metaschema.core.model.IMetaschemaData data) -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdd a newLinkitem to the underlying collection.booleanAdd a newPropertyitem to the underlying collection.booleanAdd a newResponsiblePartyitem to the underlying collection.booleanaddSystemId(SystemId item) Add a newSystemIditem to the underlying collection.gov.nist.secauto.metaschema.core.datatype.object.AmbiguousDategov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetLinks()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetProps()gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinebooleanremoveLink(Link item) Remove the first matchingLinkitem from the underlying collection.booleanremoveProp(Property item) Remove the first matchingPropertyitem from the underlying collection.booleanRemove the first matchingResponsiblePartyitem from the underlying collection.booleanremoveSystemId(SystemId item) Remove the first matchingSystemIditem from the underlying collection.voidvoidsetDataFlow(DataFlow value) voidsetDateAuthorized(gov.nist.secauto.metaschema.core.datatype.object.AmbiguousDate value) voidsetDescription(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidvoidvoidvoidsetRemarks(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidvoidvoidvoidvoidsetSystemIds(List<SystemId> value) voidvoidsetSystemName(String value) voidsetSystemNameShort(String value) toString()
-
Constructor Details
-
SystemCharacteristics
public SystemCharacteristics() -
SystemCharacteristics
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getSystemIds
-
setSystemIds
-
addSystemId
Add a newSystemIditem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeSystemId
Remove the first matchingSystemIditem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getSystemName
-
setSystemName
-
getSystemNameShort
-
setSystemNameShort
-
getDescription
-
setDescription
-
getProps
-
setProps
-
addProp
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getLinks
-
setLinks
-
addLink
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getDateAuthorized
-
setDateAuthorized
-
getSecuritySensitivityLevel
-
setSecuritySensitivityLevel
-
getSystemInformation
-
setSystemInformation
-
getSecurityImpactLevel
-
setSecurityImpactLevel
-
getStatus
-
setStatus
-
getAuthorizationBoundary
-
setAuthorizationBoundary
-
getNetworkArchitecture
-
setNetworkArchitecture
-
getDataFlow
-
setDataFlow
-
getResponsibleParties
-
setResponsibleParties
-
addResponsibleParty
Add a newResponsiblePartyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeResponsibleParty
Remove the first matchingResponsiblePartyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
-
setRemarks
-
toString
-