Package gov.nist.secauto.oscal.lib.model
Class InventoryItem
- java.lang.Object
-
- gov.nist.secauto.oscal.lib.model.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 ObjectA single managed inventory item within the system.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInventoryItem.ImplementedComponentThe set of components that are implemented in a given system inventory item.
-
Constructor Summary
Constructors Constructor Description InventoryItem()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddImplementedComponent(InventoryItem.ImplementedComponent item)Add a newInventoryItem.ImplementedComponentitem to the underlying collection.booleanaddLink(Link item)Add a newLinkitem to the underlying collection.booleanaddProp(Property item)Add a newPropertyitem to the underlying collection.booleanaddResponsibleParty(ResponsibleParty item)Add a newResponsiblePartyitem to the underlying collection.gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilinegetDescription()List<InventoryItem.ImplementedComponent>getImplementedComponents()List<Link>getLinks()List<Property>getProps()gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilinegetRemarks()List<ResponsibleParty>getResponsibleParties()UUIDgetUuid()booleanremoveImplementedComponent(InventoryItem.ImplementedComponent item)Remove 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.booleanremoveResponsibleParty(ResponsibleParty item)Remove the first matchingResponsiblePartyitem from the underlying collection.voidsetDescription(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)voidsetImplementedComponents(List<InventoryItem.ImplementedComponent> value)voidsetLinks(List<Link> value)voidsetProps(List<Property> value)voidsetRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)voidsetResponsibleParties(List<ResponsibleParty> value)voidsetUuid(UUID value)StringtoString()
-
-
-
Constructor Detail
-
InventoryItem
public InventoryItem()
-
-
Method Detail
-
getDescription
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getDescription()
-
setDescription
public void setDescription(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
addProp
public boolean addProp(Property item)
Add a newPropertyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeProp
public boolean removeProp(Property item)
Remove the first matchingPropertyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
addLink
public boolean addLink(Link item)
Add a newLinkitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeLink
public boolean removeLink(Link item)
Remove the first matchingLinkitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getResponsibleParties
public List<ResponsibleParty> getResponsibleParties()
-
setResponsibleParties
public void setResponsibleParties(List<ResponsibleParty> value)
-
addResponsibleParty
public boolean addResponsibleParty(ResponsibleParty item)
Add a newResponsiblePartyitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeResponsibleParty
public boolean removeResponsibleParty(ResponsibleParty item)
Remove the first matchingResponsiblePartyitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getImplementedComponents
public List<InventoryItem.ImplementedComponent> getImplementedComponents()
-
setImplementedComponents
public void setImplementedComponents(List<InventoryItem.ImplementedComponent> value)
-
addImplementedComponent
public boolean addImplementedComponent(InventoryItem.ImplementedComponent item)
Add a newInventoryItem.ImplementedComponentitem to the underlying collection.- Parameters:
item- the item to add- Returns:
true
-
removeImplementedComponent
public boolean removeImplementedComponent(InventoryItem.ImplementedComponent item)
Remove the first matchingInventoryItem.ImplementedComponentitem from the underlying collection.- Parameters:
item- the item to remove- Returns:
trueif the item was removed orfalseotherwise
-
getRemarks
public gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline getRemarks()
-
setRemarks
public void setRemarks(gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline value)
-
-