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
ConstructorDescriptionSystemCharacteristics
(gov.nist.secauto.metaschema.core.model.IMetaschemaData data) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Add a newLink
item to the underlying collection.boolean
Add a newProperty
item to the underlying collection.boolean
Add a newResponsibleParty
item to the underlying collection.boolean
addSystemId
(SystemId item) Add a newSystemId
item to the underlying collection.gov.nist.secauto.metaschema.core.datatype.object.AmbiguousDate
gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline
getLinks()
gov.nist.secauto.metaschema.core.model.IMetaschemaData
getProps()
gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline
boolean
removeLink
(Link item) Remove the first matchingLink
item from the underlying collection.boolean
removeProp
(Property item) Remove the first matchingProperty
item from the underlying collection.boolean
Remove the first matchingResponsibleParty
item from the underlying collection.boolean
removeSystemId
(SystemId item) Remove the first matchingSystemId
item from the underlying collection.void
void
setDataFlow
(DataFlow value) void
setDateAuthorized
(gov.nist.secauto.metaschema.core.datatype.object.AmbiguousDate value) void
setDescription
(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) void
void
void
void
setRemarks
(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) void
void
void
void
void
setSystemIds
(List<SystemId> value) void
void
setSystemName
(String value) void
setSystemNameShort
(String value) toString()
-
Constructor Details
-
SystemCharacteristics
public SystemCharacteristics() -
SystemCharacteristics
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaData
in interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getSystemIds
-
setSystemIds
-
addSystemId
Add a newSystemId
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeSystemId
Remove the first matchingSystemId
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getSystemName
-
setSystemName
-
getSystemNameShort
-
setSystemNameShort
-
getDescription
-
setDescription
-
getProps
-
setProps
-
addProp
Add a newProperty
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeProp
Remove the first matchingProperty
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getLinks
-
setLinks
-
addLink
Add a newLink
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeLink
Remove the first matchingLink
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getDateAuthorized
-
setDateAuthorized
-
getSecuritySensitivityLevel
-
setSecuritySensitivityLevel
-
getSystemInformation
-
setSystemInformation
-
getSecurityImpactLevel
-
setSecurityImpactLevel
-
getStatus
-
setStatus
-
getAuthorizationBoundary
-
setAuthorizationBoundary
-
getNetworkArchitecture
-
setNetworkArchitecture
-
getDataFlow
-
setDataFlow
-
getResponsibleParties
-
setResponsibleParties
-
addResponsibleParty
Add a newResponsibleParty
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeResponsibleParty
Remove the first matchingResponsibleParty
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getRemarks
-
setRemarks
-
toString
-