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
Modifier and TypeClassDescriptionstatic class
The set of components that are implemented in a given system inventory item. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Add a newInventoryItem.ImplementedComponent
item to the underlying collection.boolean
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.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
getUuid()
boolean
Remove the first matchingInventoryItem.ImplementedComponent
item from the underlying collection.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.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
toString()
-
Constructor Details
-
InventoryItem
public InventoryItem() -
InventoryItem
-
-
Method Details
-
getMetaschemaData
- Specified by:
getMetaschemaData
in interfacegov.nist.secauto.metaschema.core.model.IBoundObject
-
getUuid
-
setUuid
-
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
-
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
-
getImplementedComponents
-
setImplementedComponents
-
addImplementedComponent
Add a newInventoryItem.ImplementedComponent
item to the underlying collection.- Parameters:
item
- the item to add- Returns:
true
-
removeImplementedComponent
Remove the first matchingInventoryItem.ImplementedComponent
item from the underlying collection.- Parameters:
item
- the item to remove- Returns:
true
if the item was removed orfalse
otherwise
-
getRemarks
-
setRemarks
-
toString
-