////
    Do not modify this file directly, it is automatically generated by combining
    the Python script `docs/utils/schema-objs.py` and the template
    `docs/utils/schema-objs.adoc.j2`. Please refer to the Python script comments
    to discover how it is used.
////
:tbl-obj-props-cols-specs: 2m,6a,4,^.^1
:tbl-obj-backrefs-cols-specs: 4m,6a,4

[#obj-root]
== Database Root

Library class type: `RacksDB`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|types
|Datacenter equipments types definitions.

|xref:#obj-types[{symbol-obj}{nbsp}Types]
|[.green]#icon:check[]#

|datacenters
|List of datacenters definitions.

|{symbol-seq}{nbsp}xref:#obj-datacenter[{symbol-obj}{nbsp}Datacenter]
|[.green]#icon:check[]#

|infrastructures
|List of infrastructures definitions.

|{symbol-seq}{nbsp}xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]
|[.green]#icon:check[]#
|===

[#objects]
== Objects

[#obj-datacenter]
=== Datacenter

Library class type: `RacksDBDatacenter`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|Unique name of the datacenter.

|str
|[.green]#icon:check[]#

|rooms
|List of rooms in this datacenter.

|{symbol-seq}{nbsp}xref:#obj-datacenterroom[{symbol-obj}{nbsp}DatacenterRoom]
|[.green]#icon:check[]#

|tags
|The list of tags associated to this datacenter.

|{symbol-seq}{nbsp}str
|[.grey]#-#

|location
|The GPS coordinates of the datacenter.

|xref:#obj-datacenterlocation[{symbol-obj}{nbsp}DatacenterLocation]
|[.grey]#-#
|===

[#obj-datacenterlocation]
=== DatacenterLocation

Library class type: `RacksDBDatacenterLocation`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|longitude
|GPS longitude of the datacenter.

|float
|[.green]#icon:check[]#

|latitude
|GPS latitude of the datacenter.

|float
|[.green]#icon:check[]#
|===

[#obj-datacenterroom]
=== DatacenterRoom

Library class type: `RacksDBDatacenterRoom`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|Unique name of the room in this datacenter.

|str
|[.green]#icon:check[]#

|dimensions
|Dimensions of this room.

|xref:#obj-datacenterroomdimensions[{symbol-obj}{nbsp}DatacenterRoomDimensions]
|[.green]#icon:check[]#

|rows
|List of racks rows on this room.

|{symbol-seq}{nbsp}xref:#obj-racksrow[{symbol-obj}{nbsp}RacksRow]
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}datacenter
|Back reference to the datacenter where this room is located.
|xref:#obj-datacenter[{symbol-obj}{nbsp}Datacenter]
|===

[#obj-datacenterroomdimensions]
=== DatacenterRoomDimensions

Library class type: `RacksDBDatacenterRoomDimensions`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|width
|Width of datacenter room.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|depth
|Depth of datacenter room.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#
|===

[#obj-equipmentposition]
=== EquipmentPosition

Library class type: `RacksDBEquipmentPosition`

Equipment position in the rack.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|height
|Rack slot where the equipment is located.

|int
|[.green]#icon:check[]#

|width
|Equipment position in rack width.

|int
|[.green]#icon:check[]#
|===

[#obj-infrastructure]
=== Infrastructure

Library class type: `RacksDBInfrastructure`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|The name of the infrastructure.

|str
|[.green]#icon:check[]#

|description
|Text description of the infrastructure.

|str
|[.green]#icon:check[]#

|layout
|The list of parts composing the infrastructure.

|{symbol-seq}{nbsp}xref:#obj-infrastructurepart[{symbol-obj}{nbsp}InfrastructurePart]
|[.green]#icon:check[]#

|tags
|List of tags associated to the infrastructure.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

[#obj-infrastructurepart]
=== InfrastructurePart

Library class type: `RacksDBInfrastructurePart`

This represents all the equipments of an infrastructure in one particular datacenter rack.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|rack
|The name of the rack.

|{symbol-ref}{nbsp}xref:#obj-rack[{symbol-obj}{nbsp}Rack].name
|[.green]#icon:check[]#

|nodes
|The list of nodes of the infrastructure in this rack.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-node[{symbol-obj}{nbsp}Node]
|[.grey]#-#

|storage
|The list of storage equipments of the infrastructure in this rack.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-storageequipment[{symbol-obj}{nbsp}StorageEquipment]
|[.grey]#-#

|network
|The list of network equipments of the infrastructure in this rack.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-networkequipment[{symbol-obj}{nbsp}NetworkEquipment]
|[.grey]#-#

|misc
|The list of miscellaneous equipments of the infrastructure in this rack.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-miscequipment[{symbol-obj}{nbsp}MiscEquipment]
|[.grey]#-#

|tags
|The list of tags associated to the equipments of the infrastructure in this rack.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

[#obj-miscequipment]
=== MiscEquipment

Library class type: `RacksDBMiscEquipment`

NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|The names of the miscellaneous equipments in this set.

|expandable
|[.green]#icon:check[]#

|type
|The type of miscellaneous equipment unique identifier.

|{symbol-ref}{nbsp}xref:#obj-miscequipmenttype[{symbol-obj}{nbsp}MiscEquipmentType].id
|[.green]#icon:check[]#

|slot
|The slot in the rack used by the first miscellaneous equipment in this set.

|rangeid
|[.green]#icon:check[]#

|tags
|The list of tags associated to these miscellaneous equipments.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}infrastructure
|The infrastructure of these miscellaneous equipments.
|xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]

|{symbol-backref}{nbsp}rack
|The rack of these miscellaneous equipments.
|xref:#obj-infrastructurepart[{symbol-obj}{nbsp}InfrastructurePart].rack

|{symbol-computed}{nbsp}position
|Miscellaneous equipment position in the rack.
|xref:#obj-equipmentposition[{symbol-obj}{nbsp}EquipmentPosition]
|===

[#obj-miscequipmenttype]
=== MiscEquipmentType

Library class type: `RacksDBMiscEquipmentType`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|id{nbsp}{symbol-key}
|Unique identifier of the miscellaneous equipment type.

|str
|[.green]#icon:check[]#

|model
|Miscellaneous equipment model name.

|str
|[.green]#icon:check[]#

|height
|Height of miscellaneous equipment.

|xref:#deftype-rack_height[{symbol-deftype}{nbsp}~rack_height]
|[.green]#icon:check[]#

|width
|Width of miscellaneous equipment.

*Default value:* `full`
|xref:#deftype-rack_width[{symbol-deftype}{nbsp}~rack_width]
|[.grey]#-#

|specs
|URL to miscellaneous equipment specsheet.

|str
|[.grey]#-#
|===

[#obj-networkequipment]
=== NetworkEquipment

Library class type: `RacksDBNetworkEquipment`

NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|The names of the network equipments in this set.

|expandable
|[.green]#icon:check[]#

|type
|The type of network equipment unique identifier.

|{symbol-ref}{nbsp}xref:#obj-networkequipmenttype[{symbol-obj}{nbsp}NetworkEquipmentType].id
|[.green]#icon:check[]#

|slot
|The slot in the rack used by the first network equipment in this set.

|rangeid
|[.green]#icon:check[]#

|tags
|The list of tags associated to these network equipments.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}infrastructure
|The infrastructure of these network equipments.
|xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]

|{symbol-backref}{nbsp}rack
|The rack of these network equipments.
|xref:#obj-infrastructurepart[{symbol-obj}{nbsp}InfrastructurePart].rack

|{symbol-computed}{nbsp}position
|Network equipment position in the rack.
|xref:#obj-equipmentposition[{symbol-obj}{nbsp}EquipmentPosition]
|===

[#obj-networkequipmenttype]
=== NetworkEquipmentType

Library class type: `RacksDBNetworkEquipmentType`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|id{nbsp}{symbol-key}
|Unique identifier of the network equipment type.

|str
|[.green]#icon:check[]#

|model
|Network equipment model name.

|str
|[.green]#icon:check[]#

|height
|Height of network equipment.

|xref:#deftype-rack_height[{symbol-deftype}{nbsp}~rack_height]
|[.green]#icon:check[]#

|width
|Width of network equipment.

*Default value:* `full`
|xref:#deftype-rack_width[{symbol-deftype}{nbsp}~rack_width]
|[.grey]#-#

|specs
|URL to network equipment specsheet.

|str
|[.grey]#-#

|netifs
|List of network interfaces on this network equipment.

|{symbol-seq}{nbsp}xref:#obj-networkequipmenttypenetif[{symbol-obj}{nbsp}NetworkEquipmentTypeNetif]
|[.grey]#-#
|===

[#obj-networkequipmenttypenetif]
=== NetworkEquipmentTypeNetif

Library class type: `RacksDBNetworkEquipmentTypeNetif`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|type
|The type of network interface.

|xref:#deftype-netif_type[{symbol-deftype}{nbsp}~netif_type]
|[.green]#icon:check[]#

|bandwidth
|The bandwidth (per second) of the network interface.

|xref:#deftype-bits[{symbol-deftype}{nbsp}~bits]
|[.green]#icon:check[]#

|number
|The number of this network interface available in the network equipment.

|int
|[.green]#icon:check[]#
|===

[#obj-node]
=== Node

Library class type: `RacksDBNode`

NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|The names of the nodes in this set.

|expandable
|[.green]#icon:check[]#

|type
|The type of nodes unique identifier.

|{symbol-ref}{nbsp}xref:#obj-nodetype[{symbol-obj}{nbsp}NodeType].id
|[.green]#icon:check[]#

|slot
|The slot in the rack used by the first node in this set.

|rangeid
|[.green]#icon:check[]#

|tags
|The list of tags associated to these nodes.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}infrastructure
|The infrastructure of these nodes.
|xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]

|{symbol-backref}{nbsp}rack
|The rack of these nodes.
|xref:#obj-infrastructurepart[{symbol-obj}{nbsp}InfrastructurePart].rack

|{symbol-computed}{nbsp}position
|Node position in the rack.
|xref:#obj-equipmentposition[{symbol-obj}{nbsp}EquipmentPosition]
|===

[#obj-nodetype]
=== NodeType

Library class type: `RacksDBNodeType`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|id{nbsp}{symbol-key}
|Unique identifier of node type.

|str
|[.green]#icon:check[]#

|model
|Node type model name.

|str
|[.green]#icon:check[]#

|height
|Height of the node.

|xref:#deftype-rack_height[{symbol-deftype}{nbsp}~rack_height]
|[.green]#icon:check[]#

|width
|Width of the node.

|xref:#deftype-rack_width[{symbol-deftype}{nbsp}~rack_width]
|[.green]#icon:check[]#

|specs
|URL to node specsheet.

|str
|[.grey]#-#

|cpu
|CPU configuration of the node.

|xref:#obj-nodetypecpu[{symbol-obj}{nbsp}NodeTypeCpu]
|[.green]#icon:check[]#

|ram
|RAM configuration of the node.

|xref:#obj-nodetyperam[{symbol-obj}{nbsp}NodeTypeRam]
|[.green]#icon:check[]#

|storage
|List of storage devices of the node.

|{symbol-seq}{nbsp}xref:#obj-nodetypestorage[{symbol-obj}{nbsp}NodeTypeStorage]
|[.grey]#-#

|netifs
|List of network interfaces of the node.

|{symbol-seq}{nbsp}xref:#obj-nodetypenetif[{symbol-obj}{nbsp}NodeTypeNetif]
|[.grey]#-#

|gpu
|List of GPUs of the node.

|{symbol-seq}{nbsp}xref:#obj-nodetypegpu[{symbol-obj}{nbsp}NodeTypeGpu]
|[.grey]#-#
|===

[#obj-nodetypecpu]
=== NodeTypeCpu

Library class type: `RacksDBNodeTypeCpu`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|model
|The CPU model name.

|str
|[.green]#icon:check[]#

|specs
|URL to CPU specsheet.

|str
|[.grey]#-#

|sockets
|The number of sockets.

|int
|[.green]#icon:check[]#

|cores
|The number of cores per socket.

|int
|[.green]#icon:check[]#
|===

[#obj-nodetypegpu]
=== NodeTypeGpu

Library class type: `RacksDBNodeTypeGpu`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|model
|The GPU model name.

|str
|[.green]#icon:check[]#

|specs
|URL to GPU specsheet.

|str
|[.grey]#-#

|memory
|The amount of memory per GPU.

|xref:#deftype-bytes[{symbol-deftype}{nbsp}~bytes]
|[.green]#icon:check[]#
|===

[#obj-nodetypenetif]
=== NodeTypeNetif

Library class type: `RacksDBNodeTypeNetif`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|type
|The type of network interface.

|xref:#deftype-netif_type[{symbol-deftype}{nbsp}~netif_type]
|[.green]#icon:check[]#

|bandwidth
|The bandwidth (per second) of the network interface.

|xref:#deftype-bits[{symbol-deftype}{nbsp}~bits]
|[.green]#icon:check[]#
|===

[#obj-nodetyperam]
=== NodeTypeRam

Library class type: `RacksDBNodeTypeRam`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|dimm
|The number of DIMMs.

|int
|[.green]#icon:check[]#

|size
|The storage capacity of each DIMM.

|xref:#deftype-bytes[{symbol-deftype}{nbsp}~bytes]
|[.green]#icon:check[]#
|===

[#obj-nodetypestorage]
=== NodeTypeStorage

Library class type: `RacksDBNodeTypeStorage`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|type
|The type of storage device.

|xref:#deftype-storage_type[{symbol-deftype}{nbsp}~storage_type]
|[.green]#icon:check[]#

|size
|The storage capacity of the storage device.

|xref:#deftype-bytes[{symbol-deftype}{nbsp}~bytes]
|[.green]#icon:check[]#

|model
|The model name of the storage device.

|str
|[.grey]#-#
|===

[#obj-rack]
=== Rack

Library class type: `RacksDBRack`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name
|The names of the racks in this set.

|expandable
|[.green]#icon:check[]#

|slot
|The first slot used by this set of racks.

*Default value:* `0`
|rangeid
|[.grey]#-#

|type
|The unique ID of rack type of this racks set.

|{symbol-ref}{nbsp}xref:#obj-racktype[{symbol-obj}{nbsp}RackType].id
|[.green]#icon:check[]#

|tags
|The list of tags associated to the rack.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}datacenter
|The datacenter where this rack is located.
|xref:#obj-datacenter[{symbol-obj}{nbsp}Datacenter]

|{symbol-backref}{nbsp}room
|The datacenter room where this rack is located.
|xref:#obj-datacenterroom[{symbol-obj}{nbsp}DatacenterRoom]

|{symbol-backref}{nbsp}row
|The racks row of this rack.
|xref:#obj-racksrow[{symbol-obj}{nbsp}RacksRow]

|{symbol-computed}{nbsp}nodes
|List of nodes in the rack.
|{symbol-seq}{nbsp}xref:#obj-node[{symbol-obj}{nbsp}Node]

|{symbol-computed}{nbsp}fillrate
|Rack filling rate.
|float
|===

[#obj-racksrow]
=== RacksRow

Library class type: `RacksDBRacksRow`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|Unique name of the racks row.

|str
|[.green]#icon:check[]#

|position
|The position of the racks row in the room.

|xref:#obj-racksrowposition[{symbol-obj}{nbsp}RacksRowPosition]
|[.green]#icon:check[]#

|racks
|The list of (empty) racks in the row.

|{symbol-seq}{nbsp}xref:#obj-rack[{symbol-obj}{nbsp}Rack]
|[.green]#icon:check[]#

|reversed
|Boolean to control the side of the racks doors in the racks row. When reversed is true, the doors are on the top.

*Default value:* `False`
|bool
|[.grey]#-#
|===

[#obj-racksrowposition]
=== RacksRowPosition

Library class type: `RacksDBRacksRowPosition`

NOTE: Please refer to xref:positioning-racks.adoc[racks positioning how-to] for more details.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|width
|The position of the top-left corner of the racks row in the width axis of the room.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|depth
|The position of the top-left corner of the racks row in the depth axis of the room.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|rotation
|The rotation angle of the racks row clockwise compared to the width axis of the room (ie. an horizontal line).

*Default value:* `0`
|xref:#deftype-angle[{symbol-deftype}{nbsp}~angle]
|[.grey]#-#
|===

[#obj-racktype]
=== RackType

Library class type: `RacksDBRackType`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|id{nbsp}{symbol-key}
|Unique identifier of the rack type.

|str
|[.green]#icon:check[]#

|height
|Height of the rack.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|width
|Width of the rack.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|depth
|Depth of the rack.

|xref:#deftype-dimension[{symbol-deftype}{nbsp}~dimension]
|[.green]#icon:check[]#

|slots
|Number of U slots available in the rack.

|xref:#deftype-rack_height[{symbol-deftype}{nbsp}~rack_height]
|[.green]#icon:check[]#

|initial
|Index of initial slot in the rack

*Default value:* `1`
|int
|[.grey]#-#
|===

[#obj-storageequipment]
=== StorageEquipment

Library class type: `RacksDBStorageEquipment`

NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|name{nbsp}{symbol-key}
|The names of the storage equipments in this set.

|expandable
|[.green]#icon:check[]#

|type
|The type of storage equipment unique identifier.

|{symbol-ref}{nbsp}xref:#obj-storageequipmenttype[{symbol-obj}{nbsp}StorageEquipmentType].id
|[.green]#icon:check[]#

|slot
|The slot in the rack used by the first storage equipment in this set.

|rangeid
|[.green]#icon:check[]#

|tags
|The list of tags associated to these storage equipments.

|{symbol-seq}{nbsp}str
|[.grey]#-#
|===

.Automatic properties
[cols="{tbl-obj-backrefs-cols-specs}"]
|===
|Property|Description|Type

|{symbol-backref}{nbsp}infrastructure
|The infrastructure of these storage equipments.
|xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]

|{symbol-backref}{nbsp}rack
|The rack of these storage equipments.
|xref:#obj-infrastructurepart[{symbol-obj}{nbsp}InfrastructurePart].rack

|{symbol-computed}{nbsp}position
|Storage equipment position in the rack.
|xref:#obj-equipmentposition[{symbol-obj}{nbsp}EquipmentPosition]
|===

[#obj-storageequipmenttype]
=== StorageEquipmentType

Library class type: `RacksDBStorageEquipmentType`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|id{nbsp}{symbol-key}
|Unique identifier of storage equipment type.

|str
|[.green]#icon:check[]#

|model
|Storage equipment model name.

|str
|[.green]#icon:check[]#

|height
|Height of storage equipment.

|xref:#deftype-rack_height[{symbol-deftype}{nbsp}~rack_height]
|[.green]#icon:check[]#

|width
|Width of storage equipment.

*Default value:* `full`
|xref:#deftype-rack_width[{symbol-deftype}{nbsp}~rack_width]
|[.grey]#-#

|specs
|URL to storage equipment specsheet.

|str
|[.grey]#-#

|disks
|List of storage devices in the storage equipment.

|{symbol-seq}{nbsp}xref:#obj-storageequipmenttypedisk[{symbol-obj}{nbsp}StorageEquipmentTypeDisk]
|[.grey]#-#

|netifs
|List of network devices in the storage equipment.

|{symbol-seq}{nbsp}xref:#obj-storageequipmenttypenetif[{symbol-obj}{nbsp}StorageEquipmentTypeNetif]
|[.grey]#-#
|===

[#obj-storageequipmenttypedisk]
=== StorageEquipmentTypeDisk

Library class type: `RacksDBStorageEquipmentTypeDisk`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|type
|The type of storage device.

|xref:#deftype-storage_type[{symbol-deftype}{nbsp}~storage_type]
|[.green]#icon:check[]#

|size
|The storage capacity of the storage device.

|xref:#deftype-bytes[{symbol-deftype}{nbsp}~bytes]
|[.green]#icon:check[]#

|model
|The model name of the storage device.

|str
|[.grey]#-#

|number
|The number of this storage device available in the storage equipment.

|int
|[.green]#icon:check[]#
|===

[#obj-storageequipmenttypenetif]
=== StorageEquipmentTypeNetif

Library class type: `RacksDBStorageEquipmentTypeNetif`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|type
|The type of network interface.

|xref:#deftype-netif_type[{symbol-deftype}{nbsp}~netif_type]
|[.green]#icon:check[]#

|bandwidth
|The bandwidth (per second) of the network interface.

|xref:#deftype-bits[{symbol-deftype}{nbsp}~bits]
|[.green]#icon:check[]#
|===

[#obj-types]
=== Types

Library class type: `RacksDBTypes`

.Properties
[cols="{tbl-obj-props-cols-specs}"]
|===
|Property|Description|Type|Required

|nodes
|List of nodes types definitions.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-nodetype[{symbol-obj}{nbsp}NodeType]
|[.grey]#-#

|storage
|List of storage equipments types definitions.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-storageequipmenttype[{symbol-obj}{nbsp}StorageEquipmentType]
|[.grey]#-#

|network
|List of network equipments types definitions.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-networkequipmenttype[{symbol-obj}{nbsp}NetworkEquipmentType]
|[.grey]#-#

|misc
|List of miscellaneous equipments types definitions.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-miscequipmenttype[{symbol-obj}{nbsp}MiscEquipmentType]
|[.grey]#-#

|racks
|List of (empty) racks types definitions.

|{symbol-seq}{nbsp}xref:#obj-racktype[{symbol-obj}{nbsp}RackType]
|[.green]#icon:check[]#
|===
