Skip to main content

Type Unit

A Type Unit defines the unit of interpretation for a property value. It covers both numerical units like GB, USD, and ms, as well as non-numerical formats like semantic_version, status_label, or enum types with controlled vocabularies.

Type Units ensure that property values are consistently described and understood across teams and systems.


Core concepts

Numerical and non-numerical units

Type Units are not limited to traditional units of measure. They clarify how to interpret any kind of property value:

PropertyValueType UnitKind
storage_capacity500GBNumerical
cost_per_month250USDNumerical
response_time120msNumerical
version2.3.1semantic_versionNon-numerical
statusactivestatus_labelNon-numerical
environmentProdEnvironment (enum)Controlled vocabulary

Where Type Units are used

Type Units can be applied to:

  • Element properties — attributes of assets like storage capacity, cost, or lifecycle status
  • Edge attributes — properties of relationships like latency or connection type
  • Node metadata — contextual tags or custom labels

They ensure that any value stored in the registry is semantically enriched and interpretable — a 500 without a Type Unit is ambiguous, but 500 GB is clear.

Built-in Type Units

The Asset Registry ships with a comprehensive set of built-in Type Units. These are pre-configured and cannot be edited or deleted.

Basic data types:

Type UnitData typeDescription
StringstringHuman-readable text values
TextstringDetailed descriptions and notes
String (nullable)stringOptional string values
Text (nullable)stringOptional detailed descriptions
UUIDstringUniversally unique identifiers
VARCHAR(50)stringShort strings up to 50 characters
VARCHAR(100)stringStrings up to 100 characters
List<String>stringCollections of related string values
BooleanbooleanTrue or false values
IntegerintegerWhole numbers (counts, ports)
DECIMAL(5,2)floatDecimal numbers up to 999.99
DateTimedatetimeTimestamps
TimestampdatetimeRecord tracking timestamps
DurationdatetimeTime durations (e.g., RTO, RPO)

Enum types (controlled vocabularies):

Type UnitAllowed values
LifecycleStatusActive, Retired, Pending Active, Pending Retired
TimeClassificationTolerate, Invest, Migrate, Eliminate
ApplicationTypeNon Platform Application, Platform Application, Platform Host
InstallTypeOn Premise, Cloud, Hybrid, Third Party Hosted
ArchitectureTypeNon Platform Application, Platform Application, Platform Host
EnvironmentDev, Test, Prod, Stag
ComponentTypeAPI, Plugin, Module, Interface, UI, Integration Endpoint
ServiceCategoryDatabase, Storage, Compute, Network, Backup, Monitoring
StatusActive, Retired, Pending, Deprecated, Deployed, InMaintenance, Failed
LifecyclePhaseconcept, development, launch, growth, mature, decline, retired, ...
BusinessCriticalitymissionCritical, businessOperational, administrative
CustomerTypeenterprise, smb, consumer, partner, government, internal
RiskTolerancelow, medium, high
ImpactLevelnone, low, medium, high, critical
RegulatoryFrameworkgdpr, hipaa, sox, pci, glba, ccpa, fedramp, epa
ExposureTypeInternet, AuthenticatedInternet, PartnerNetwork, CorporateNetwork

And many more, including ProductType, PricingModel, PlatformType, DeploymentModel, LicenseType, StrategicPriority, StrategicTier, AccountStatus, and others. These enum types provide dropdown options when filling in Element properties that reference them.


Creating a Type Unit

Navigate to Type Units in the top navigation bar and click + New Type Unit.

Settings

ToggleDefaultDescription
ActiveOnWhether the Type Unit is available for use
Built InOffMarks the Type Unit as system-defined. Built-in Type Units cannot be edited or deleted

Details

FieldTypeRequiredDescription
Type Unit NameTextYesA unique name for this Type Unit. Duplicates are rejected with a validation error
DescriptionText (multiline)NoA brief explanation of what this unit represents
Data TypeDropdownYesThe underlying data type. Available options: string, number, integer, float, boolean, datetime, enum. This field cannot be changed after creation

Enum values

When Data Type is set to enum, an additional section appears where you define the allowed values:

  • Click Add Value to add a new entry
  • Each value appears as a text field with a delete button
  • Enum values are presented as a dropdown when an Element property uses this Type Unit

Organization

FieldTypeRequiredDescription
ModuleDropdownYesThe data source this Type Unit is associated with. See Module
ParentDropdownNoAn optional parent Type Unit for hierarchical organization. The dropdown excludes self and descendants to prevent circular references

Viewing and editing

Click any row in the Type Units table to open it in view mode. From there:

  • Click the edit icon to switch to edit mode
  • Click the delete icon to remove the Type Unit (with confirmation)
note

The Data Type field is read-only in edit and view mode. It can only be set during creation.

Built-in Type Units display a warning banner and cannot be edited or deleted.


Supported data types

Data typeDescriptionExample use
stringFree-form textNames, identifiers, descriptions
numberDecimal numberCost, percentage
integerWhole numberCount, port number
floatFloating-point numberLatency, score
booleanTrue or falseFeature flags, status
datetimeDate and time valueCreated date, expiry
enumPredefined set of allowed valuesStatus (active/inactive), environment (dev/staging/prod)

Best practices

  • Apply Type Units consistently across similar Element Types — if two types both have a storage_capacity property, use the same GB Type Unit
  • Always pair numeric properties with a unit — do not assume numbers are self-explanatory
  • Use enums for controlled vocabularies to enforce consistency (e.g., environment names, risk levels)
  • Choose the most specific data type — prefer integer over number when decimal values are not meaningful
  • Check the built-in list first before creating a new Type Unit — the one you need may already exist