Class InventoryItem


  • @MetaschemaAssembly(formalName="Inventory Item",
                        description="A single managed inventory item within the system.",
                        name="inventory-item",
                        metaschema=OscalImplementationCommonMetaschema.class)
    @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"))})
    @AssemblyConstraints(isUnique=@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
    A single managed inventory item within the system.