////
    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: `Drawings`

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

|general
|General settings

*Default value:*

[source,yaml]
----
pixel_perfect: false
----
|xref:#obj-general[{symbol-obj}{nbsp}General]
|[.grey]#-#

|room
|Rooms graphical representation settings

*Default value:*

[source,yaml]
----
racks_labels: true
----
|xref:#obj-room[{symbol-obj}{nbsp}Room]
|[.grey]#-#

|infrastructure
|Infrastructures graphical representation settings

*Default value:*

[source,yaml]
----
discard_empty_racks: true
equipment_labels: true
ghost_unselected: false
other_racks: false
----
|xref:#obj-infrastructure[{symbol-obj}{nbsp}Infrastructure]
|[.grey]#-#

|dimensions
|Dimensions of image

*Default value:*

[source,yaml]
----
height: 1200
width: 1200
----
|xref:#obj-dimensions[{symbol-obj}{nbsp}Dimensions]
|[.grey]#-#

|margin
|Graphical representation margins

*Default value:*

[source,yaml]
----
left: 30
top: 30
----
|xref:#obj-margin[{symbol-obj}{nbsp}Margin]
|[.grey]#-#

|rack
|Rack graphical representation settings

*Default value:*

[source,yaml]
----
door_depth: 50
label_offset: 20
labels: true
offset: 20
pane_width: 40
spacing: 3
u_height: 44.45
----
|xref:#obj-rack[{symbol-obj}{nbsp}Rack]
|[.grey]#-#

|row
|Rack row graphical representation settings

*Default value:*

[source,yaml]
----
label_offset: 20
labels: true
----
|xref:#obj-row[{symbol-obj}{nbsp}Row]
|[.grey]#-#

|colors
|Drawing coloring rules

*Default value:*

[source,yaml]
----
equipments: []
racks: []
----
|xref:#obj-coloringrules[{symbol-obj}{nbsp}ColoringRules]
|[.grey]#-#

|axonometric
|Axonometric representation rules

*Default value:*

[source,yaml]
----
angles:
  x: 30
  z: 30
enabled: false
----
|xref:#obj-axonometricrules[{symbol-obj}{nbsp}AxonometricRules]
|[.grey]#-#
|===

[#objects]
== Objects

[#obj-axonometricangles]
=== AxonometricAngles

Library class type: `DrawingsAxonometricAngles`

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

|x
|X-angle in degrees

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

|z
|Z-angle in degrees

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

[#obj-axonometricrules]
=== AxonometricRules

Library class type: `DrawingsAxonometricRules`

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

|enabled
|Axonometric graphical representation enabled?

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

|angles
|Angles of axonometric grid

*Default value:*

[source,yaml]
----
x: 30
z: 30
----
|xref:#obj-axonometricangles[{symbol-obj}{nbsp}AxonometricAngles]
|[.grey]#-#
|===

[#obj-coloringrules]
=== ColoringRules

Library class type: `DrawingsColoringRules`

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

|equipments
|List of equipments coloring rules.

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

|racks
|List of racks coloring rules.

*Default value:* `[]`
|{symbol-seq}{nbsp}xref:#obj-rackcoloringrule[{symbol-obj}{nbsp}RackColoringRule]
|[.grey]#-#
|===

[#obj-dimensions]
=== Dimensions

Library class type: `DrawingsDimensions`

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

|height
|Maximum height of image in pixels

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

|width
|Maximum width of image in pixels

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

[#obj-equipmentcoloringrule]
=== EquipmentColoringRule

Library class type: `DrawingsEquipmentColoringRule`

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

|type
|Name of type of quipments associated to the coloring rule.

|str
|[.grey]#-#

|tags
|List of tags equipments must have to be associated to the coloring rule.

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

|background
|The background color of the equipments.

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

|chassis
|The color of the equipment chassis.

*Default value:* `#3F3F3F`
|xref:#deftype-hexcolor[{symbol-deftype}{nbsp}~hexcolor]
|[.grey]#-#

|border
|The border color of the equipments.

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

|ghost
|The color of ghosted equipment.

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

|top_side
|Color of equipment top side in axonometric representations.

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

|left_side
|Color of equipment left side in axonometric representations.

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

[#obj-general]
=== General

Library class type: `DrawingsGeneral`

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

|pixel_perfect
|Control if entities are represented perfectly aligned on pixels with concession on relative dimensions correctess. This parameter has no effect in axonometric graphical representations.

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

[#obj-infrastructure]
=== Infrastructure

Library class type: `DrawingsInfrastructure`

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

|equipment_labels
|Control if equipment are labelled with their names

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

|equipment_tags
|Draw only the equipment matching at least one of the tags.

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

|ghost_unselected
|Control if unselected equipment are represented as ghosts in racks. When the value is true, infrastructure equipment that is not selected for the diagram is represented without details nor label just to mark its presence. When the value is false, this equipment is simply discarded.

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

|discard_empty_racks
|Control if racks used by infrastructure that contain only unselected equipment are represented.

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

|other_racks
|Control if racks present in the rows but not used by the infrastructure are represented in infrastructure diagrams.

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

[#obj-margin]
=== Margin

Library class type: `DrawingsMargin`

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

|top
|Margin at the top of graphical representations.

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

|left
|Margin on the left of graphical representations.

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

[#obj-rack]
=== Rack

Library class type: `DrawingsRack`

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

|labels
|Control if racks are labelled with their names in infrastructures graphical representations

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

|label_offset
|Vertical space between row labels and racks labels in infrastructures graphical representations

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

|offset
|Vertical space between racks labels and racks in infrastructures graphical representations

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

|u_height
|The height of a rack unit in millimeters

*Default value:* `44.45`
|float
|[.grey]#-#

|pane_width
|Width of racks pane in millimeters in infrastructures graphical representations

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

|spacing
|Horizontal space between racks in infrastructures graphical representations

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

|door_depth
|The depth of a door in millimeters in rooms graphical representations

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

[#obj-rackcoloringrule]
=== RackColoringRule

Library class type: `DrawingsRackColoringRule`

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

|type
|Name of type of rack associated to the coloring rule.

|str
|[.grey]#-#

|tags
|List of tags racks must have to be associated to the coloring rule.

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

|frame
|The color of the racks frame.

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

|pane
|The color of the racks pane.

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

|right_side
|Inside color of racks right side in axonometric representations.

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

|left_side
|Outside color of racks left side in axonometric representations.

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

|top_side
|Outside color of racks top side in axonometric representations.

*Default value:* `#3C3C3C`
|xref:#deftype-hexcolor[{symbol-deftype}{nbsp}~hexcolor]
|[.grey]#-#

|bottom_side
|Inside color of racks bottom side in axonometric representations.

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

[#obj-room]
=== Room

Library class type: `DrawingsRoom`

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

|racks_labels
|Control if racks are labelled with their names

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

[#obj-row]
=== Row

Library class type: `DrawingsRow`

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

|labels
|Control if rows are labelled with their names in infrastructures graphical representations

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

|label_offset
|Space above row labels in infrastructure graphical representations

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