Package gov.nist.secauto.oscal.lib.model
Class InventoryItem
java.lang.Object
gov.nist.secauto.oscal.lib.model.InventoryItem
- All Implemented Interfaces:
gov.nist.secauto.metaschema.core.model.IBoundObject
@MetaschemaAssembly(formalName="Inventory Item",
description="A single managed inventory item within the system.",
name="inventory-item",
moduleClass=OscalImplementationCommonModule.class,
valueConstraints=@ValueConstraints(allowedValues={@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values={@AllowedValue(value="ipv4-address",description="The Internet Protocol v4 Address of the asset."),@AllowedValue(value="ipv6-address",description="The Internet Protocol v6 Address of the asset."),@AllowedValue(value="fqdn",description="The full-qualified domain name (FQDN) of the asset."),@AllowedValue(value="uri",description="A Uniform Resource Identifier (URI) for the asset."),@AllowedValue(value="serial-number",description="A serial number for the asset."),@AllowedValue(value="netbios-name",description="The NetBIOS name for the asset."),@AllowedValue(value="mac-address",description="The media access control (MAC) address for the asset."),@AllowedValue(value="physical-location",description="The physical location of the asset\'s hardware (e.g., Data Center ID, Cage#, Rack#, or other meaningful location identifiers)."),@AllowedValue(value="is-scanned",description="is the asset subjected to network scans? (yes/no)"),@AllowedValue(value="hardware-model",description="The model number of the hardware used by the asset."),@AllowedValue(value="os-name",description="The name of the operating system used by the asset."),@AllowedValue(value="os-version",description="The version of the operating system used by the asset."),@AllowedValue(value="software-name",description="The software product name used by the asset."),@AllowedValue(value="software-version",description="The software product version used by the asset."),@AllowedValue(value="software-patch-level",description="The software product patch level used by the asset."),@AllowedValue(value="asset-type",description="Simple indication of the asset\'s function, such as Router, Storage Array, DNS Server."),@AllowedValue(value="asset-id",description="An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item."),@AllowedValue(value="asset-tag",description="An asset tag assigned by the organization responsible for maintaining the logical or tangible item."),@AllowedValue(value="public",description="Identifies whether the asset is publicly accessible (yes/no)"),@AllowedValue(value="virtual",description="Identifies whether the asset is virtualized (yes/no)"),@AllowedValue(value="vlan-id",description="Virtual LAN identifier of the asset."),@AllowedValue(value="network-id",description="The network identifier of the asset."),@AllowedValue(value="label",description="A human-readable label for the parent context."),@AllowedValue(value="sort-id",description="An alternative identifier, whose value is easily sortable among other such values in the document."),@AllowedValue(value="baseline-configuration-name",description="The name of the baseline configuration for the asset."),@AllowedValue(value="allows-authenticated-scan",description="Can the asset be check with an authenticated scan? (yes/no)"),@AllowedValue(value="function",description="The function provided by the asset for the system.")}),@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'asset-type\']/@value",allowOthers=true,values={@AllowedValue(value="operating-system",description="System software that manages computer hardware, software resources, and provides common services for computer programs."),@AllowedValue(value="database",description="An electronic collection of data, or information, that is specially organized for rapid search and retrieval."),@AllowedValue(value="web-server",description="A system that delivers content or services to end users over the Internet or an intranet."),@AllowedValue(value="dns-server",description="A system that resolves domain names to internet protocol (IP) addresses."),@AllowedValue(value="email-server",description="A computer system that sends and receives electronic mail messages."),@AllowedValue(value="directory-server",description="A system that stores, organizes and provides access to directory information in order to unify network resources."),@AllowedValue(value="pbx",description="A private branch exchange (PBX) provides a a private telephone switchboard."),@AllowedValue(value="firewall",description="A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules."),@AllowedValue(value="router",description="A physical or virtual networking device that forwards data packets between computer networks."),@AllowedValue(value="switch",description="A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device."),@AllowedValue(value="storage-array",description="A consolidated, block-level data storage capability."),@AllowedValue(value="appliance",description="A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.")}),@AllowedValues(level=ERROR,target="(.)[@type=(\'software\', \'hardware\', \'service\')]/prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\')]/@name",values=@AllowedValue(value="vendor-name",description="The name of the company or organization")),@AllowedValues(level=ERROR,target="prop[has-oscal-namespace(\'http://csrc.nist.gov/ns/oscal\') and @name=\'is-scanned\']/@value",values={@AllowedValue(value="yes",description="The asset is included in periodic vulnerability scanning."),@AllowedValue(value="no",description="The asset is not included in periodic vulnerability scanning.")}),@AllowedValues(level=ERROR,target="link/@rel",allowOthers=true,values=@AllowedValue(value="baseline-template",description="A reference to the baseline template used to configure the asset.")),@AllowedValues(level=ERROR,target="responsible-party/@role-id",allowOthers=true,values={@AllowedValue(value="asset-owner",description="Accountable for ensuring the asset is managed in accordance with organizational policies and procedures."),@AllowedValue(value="asset-administrator",description="Responsible for administering a set of assets."),@AllowedValue(value="security-operations",description="Members of the security operations center (SOC)."),@AllowedValue(value="network-operations",description="Members of the network operations center (NOC)."),@AllowedValue(value="incident-response",description="Responsible for responding to an event that could lead to loss of, or disruption to, an organization\'s operations, services or functions."),@AllowedValue(value="help-desk",description="Responsible for providing information and support to users."),@AllowedValue(value="configuration-management",description="Responsible for the configuration management processes governing changes to the asset."),@AllowedValue(value="maintainer",description="Responsible for the creation and maintenance of a component."),@AllowedValue(value="provider",description="Organization responsible for providing the component, if this is different from the \"maintainer\" (e.g., a reseller).")})},indexHasKey={@IndexHasKey(level=ERROR,target="responsible-party",indexName="index-metadata-role-id",keyFields=@KeyField(target="@role-id")),@IndexHasKey(level=ERROR,target="responsible-party",indexName="index-metadata-party-uuid",keyFields=@KeyField(target="party-uuid"))}),
modelConstraints=@AssemblyConstraints(unique=@IsUnique(id="unique-inventory-item-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 InventoryItem
extends Object
implements gov.nist.secauto.metaschema.core.model.IBoundObject
A single managed inventory item within the system.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe set of components that are implemented in a given system inventory item. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdd a newInventoryItem.ImplementedComponentitem to the underlying collection.booleanAdd a newLinkitem to the underlying collection.booleanAdd a newPropertyitem to the underlying collection.booleanAdd a newResponsiblePartyitem to the underlying collection.gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetLinks()gov.nist.secauto.metaschema.core.model.IMetaschemaDatagetProps()gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilinegetUuid()booleanRemove the first matchingInventoryItem.ImplementedComponentitem from the underlying collection.booleanremoveLink(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.voidsetDescription(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidvoidvoidvoidsetRemarks(gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline value) voidvoidtoString()
-
Constructor Details
-
InventoryItem
public InventoryItem() -
InventoryItem
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaDatain interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getUuid
-
setUuid
-
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
-
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
-
getImplementedComponents
-
setImplementedComponents
-
addImplementedComponent
Add a newInventoryItem.ImplementedComponentitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeImplementedComponent
Remove the first matchingInventoryItem.ImplementedComponentitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
-
setRemarks
-
toString
-