Infrastructure Description Format Reference
This page lists the IDF properties interpreted by automatic diagram creation. Properties marked required are
required for that entry type or for the condition stated in the description. See the
IDF guide for format examples and import behavior.
| Property | Default | Description |
| id |
required |
Unique entry ID. In JSON this is the top-level object key, not a property inside the entry. In CSV it is the required id column. IDs are used by groups, frames, connections and relative positioning. |
| type |
required |
One of component, group, connection, frame or image. |
| lineDash |
solid |
Where supported, one of solid, dashed or dotted. |
Component, group and frame entries also accept applicable properties from the
Arcentry object property reference. IDF layout properties such as
groups, connections,
frames, tier and
componentType control generation and are not copied verbatim to the resulting
object.
A component entry creates one Arcentry component and, when supplied, a generated label.
| Property | Default | Description |
| componentType | required | Component ID with one category and name separated by a dot, for example database.postgres or generic.server. |
| groups | [] | Group IDs ordered from outermost parent to innermost child. |
| frames | [] | Frame IDs surrounding this component. A component may belong to multiple frames. |
| connections | [] | Component or group IDs connected to this component. |
| arrowsTo | [] | Connection targets that receive an arrowhead, or all for every connection originating here. |
| tier | automatic | Numeric tier index. Overrides category-based tier selection. |
| order | automatic | Numeric ordering weight within the same group and tier; lower values come first. |
| label | null | Generated label displayed underneath the component. When canvas metadata is visible, the label is included with that metadata instead. |
| opacity | 1 | Opacity from 0 (transparent) to 1 (opaque). |
| rotation | 0 | Component rotation in radians. |
| Property | Default | Description |
| positionType | auto | auto, absolute or relative. Non-auto components are excluded from automatic layout and placed afterward. |
| positionX | conditional | Required for absolute or relative positioning. Absolute X coordinate or relative X offset. |
| positionY | conditional | Required for absolute or relative positioning. Absolute Y coordinate or relative Y offset. |
| positionRelativeTo | conditional | Required for relative positioning. ID of an explicitly defined component or non-empty group. |
| positionPointX | middle | Reference point for a group target: left, middle or right. |
| positionPointY | middle | Reference point for a group target: top, middle or bottom. |
| Property | Default | Description |
| meta-* | N/A | Adds metadata after removing the meta- prefix. JSON may alternatively supply a meta object. |
| showMetaData | false | Displays available metadata on the canvas. |
| showOnCanvas | all | Comma-separated metadata keys to display on the canvas. A non-empty value also enables canvas metadata; use none to disable it. |
| showInTooltip | all | Comma-separated metadata keys shown in embed and presentation tooltips. |
| showMetaDataKeys | true | Whether canvas metadata includes its keys as well as values. |
| metaDataFontSize | 0.25 | Font size for canvas metadata values. |
| metaDataTextAlign | center | left, center or right. |
| metaDataRotation | 0 | Rotation of canvas metadata in radians. |
Generic component types accept customizable visual properties. Support varies by component design. A
generic.image component remains a normal component and participates in layout;
it is different from a standalone image entry.
| Property | Default | Description |
| backgroundColor | #FFFFFF | Component background color. |
| primaryColor | #CCCCCC | Primary accent color. |
| secondaryColor | #CCCCCC | Secondary accent color where the component supports one. |
| icon | null | Icon name such as chart-bar or cloud. Clear this when using imagePath. |
| iconColor | #333333 | Color of the named icon. |
| imagePath | null | Path or URL used by an image-capable component. |
| imageSize | 1 | Icon or component-image scale. |
| transparentBackground | false | Removes the generic component background where supported. |
Groups create nested areas. A group can be inferred from any membership list; an explicit group entry is needed
to apply the properties below. Group hierarchy lists use the same outermost-to-innermost order as components.
| Property | Default | Description |
| groups | [] | Parent group IDs, ordered from outermost to immediate parent. |
| frames | [] | Frame IDs surrounding this group. |
| connections | [] | Component or group IDs connected to this group. |
| arrowsTo | [] | Connection targets receiving arrowheads, or all. |
| tier | automatic | Tier inherited by contained components that do not set their own tier. |
| order | automatic | Numeric sibling-group ordering weight; lower values come first. |
| label | null | Group label. No label object is created when omitted. |
| labelStyle | block | block creates a folded label area; inline places text on or near the border. |
| lineColor | automatic | Border and block-label color, deterministically derived from the root group ID when omitted. |
| lineWidth | 0.05 | Group border width. |
| lineDash | solid | solid, dashed or dotted. |
| fillColor | #FFFFFF | Group fill color. |
| areaType | 0 | 0 for a flat area or 1 for a wall/security-zone area. |
| wallHeight | 2 | Wall height when areaType is 1. |
| wallColor | #CCCCCC | Wall color when areaType is 1. |
| labelFontColor | #FFFFFF block; group color inline | Label text color. |
| labelFontSize | 0.5 block; 0.2 inline | Label font size. |
| labelAlign | right | Inline-label horizontal alignment: left, center or right. |
| labelPosition | bottom | Inline-label border: top or bottom. |
| labelPlacementOnLine | on | Inline-label relationship to its border: above, on or below. |
| labelBold | true | Whether the label is bold. |
| labelItalic | false | Whether the label is italic. |
| labelFont | Open Sans/system sans-serif | Label font-family stack. The font must be installed on the rendering system. |
| labelOutlineColor | transparent block; #FFFFFF inline | Label text outline color. |
| labelOutlineWidth | 0.075 | Label text outline width. |
A connection entry both establishes a connection and configures it. The ID identifies the IDF entry but the
generated line receives its own internal object ID. The same pair does not also need to appear in a
connections list.
| Property | Default | Description |
| from | required | ID of the component or group at the declared start. |
| to | required | ID of the component or group at the declared target. |
| arrowStart | false | Adds an arrowhead to the start of the routed line. |
| arrowEnd | false | Adds an arrowhead to the end of the routed line. |
| lineWidth | 0.05 | Connection line width. |
| lineColor | #E61898 | Connection line color. |
| lineDash | solid | solid, dashed or dotted. |
| component | null | Optional component type placed at the center of the longest routed segment. |
| label | null | Labels the optional connection component; when component is omitted, creates a label on the line. |
| labelFontSize | 0.4 | Font size for a label placed directly on the line. |
Frames surround components and groups without becoming part of the group hierarchy. Membership is declared on
those items with frames. A frame entry is optional when no styling is required;
an empty frame with no members is not generated.
| Property | Default | Description |
| shape | rectangle | rectangle or irregular. Overlap handling can automatically switch a rectangle to irregular. |
| fillColor | #00000000 | Frame fill color; transparent by default. |
| lineColor | automatic | Frame border and default label color. |
| lineWidth | 0.05 | Frame border width. |
| lineDash | solid | solid, dashed or dotted. |
| label | null | Inline frame label. |
| labelPosition | bottom | top or bottom. |
| labelAlign | center | left, center or right. |
| labelPlacementOnLine | below | above, on or below. |
| labelFontSize | 0.4 | Frame label font size. |
| labelFontColor | frame line color | Frame label color. |
| paddingLeft | 0.25 | Space between members and the left frame edge. |
| paddingRight | 0.25 | Space between members and the right frame edge. |
| paddingTop | 0.25 | Space between members and the top frame edge. |
| paddingBottom | 0.25 | Space between members and the bottom frame edge. |
An image entry creates a standalone image object. It does not participate in automatic component tiers, groups,
frames or connection routing.
| Property | Default | Description |
| path | required | Uploaded-image path or image URL. |
| positionX | required | Absolute X coordinate or relative X offset. |
| positionY | required | Absolute Y coordinate or relative Y offset. |
| positionType | absolute | absolute or relative. |
| positionRelativeTo | conditional | Required for relative positioning. ID of an explicitly defined component or non-empty group. |
| positionPointX | middle | For a group target: left, middle or right. |
| positionPointY | middle | For a group target: top, middle or bottom. |
| width | 3 | Image width. |
| height | 2 | Image height. |
| stretchToSize | false | Whether to stretch rather than preserve the source aspect ratio. |
| rotation | 0 | Image rotation in radians. |
- IDs, group memberships, frame memberships and connection targets are case-sensitive.
- Connections may only target components or groups and may not target themselves.
- Group and frame lists may not contain duplicate IDs; a group entry may not include itself.
- Group hierarchies must use a consistent outermost-to-innermost order across entries.
- Relative-position targets must have an explicit component or group entry. An inferred empty group cannot provide coordinates.
- CSV converts list cells, booleans and numeric-looking values before applying the same entry validation as JSON.