> For the complete documentation index, see [llms.txt](https://asus-isg-aidc.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asus-isg-aidc.gitbook.io/guide/latest/portal/infrastructureplannerintroduction/racktemplates.md).

# Rack Templates

| Developer | Last modified |
| --------- | ------------- |
| AIDC Team | 2026/05/08    |

## Introduction

The Rack Templates module allows users to save common rack configurations — including device lists and U-slot assignments — as reusable templates. Design once, deploy many times, significantly reducing planning time. The system includes built-in read-only default templates; users can also create custom templates and export them as JSON for cross-environment sharing.

***

## Interface Overview

![Rack Templates main interface with Templates panel, U-slot editor, and Device Library with RACK STATS](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-1.png)

The interface is divided into three main areas:

| Area                       | Description                                                                                                      |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Templates Panel (left)** | Lists all rack templates with search and manufacturer filter; toolbar includes Import / Export / Add (+) buttons |
| **U-Slot Editor (center)** | Displays the U-slot layout of the selected template; header shows the template name and **REAL-TIME SYNC** badge |
| **Device Library (right)** | Lists device models that can be dragged into the U-slot editor; **RACK STATS** is displayed at the bottom        |

***

## Interface Areas

### Templates Panel

![Templates list with search bar and manufacturer filter; eye icon for system templates, pencil icon for custom templates](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-12.png)

Displays all available rack templates with search and manufacturer filter support:

| Action                  | Description                                                                   |
| ----------------------- | ----------------------------------------------------------------------------- |
| **Search bar**          | Type a template name or manufacturer keyword to filter the list in real time  |
| **All Manufacturers**   | Select a specific manufacturer from the dropdown                              |
| **Click template card** | Loads the full U-slot layout of the selected template in the center panel     |
| **Pencil icon (✏)**     | Available on custom templates only — click to edit basic template information |
| **Eye icon (👁)**       | Indicates a read-only system default template — cannot be edited or deleted   |

{% hint style="warning" %}
**⚠️ System Default Templates**

System default templates display an eye icon and cannot be edited or deleted. Use Import to add templates; they are provided for deployment reference only.
{% endhint %}

***

### U-Slot Editor

After selecting a template, the center panel displays its U-slot layout. Each device occupies a colored block at its corresponding U-slots, showing the device name and U-height (e.g., ESC8000A-E13P (4U)). Custom templates support drag-and-drop configuration.

![U-slot editor showing deployed devices with U-slot numbers on the left and REAL-TIME SYNC badge at the top](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-11.png)

| Element            | Description                                                                       |
| ------------------ | --------------------------------------------------------------------------------- |
| **REAL-TIME SYNC** | Badge at the top indicating the template's U-slot state is synced with the system |
| **U-slot numbers** | Numbers on the left side; higher numbers are closer to the top                    |
| **Device block**   | Each device occupies a colored block showing device name and U-height             |
| **Empty slot**     | Unoccupied U-slots available as drag-and-drop targets                             |

***

### Device Library

![Device Library panel with Search by name bar and All Manufacturers filter](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-13.png)

Provides a list of device models that can be dragged into the U-slot editor:

| Action                | Description                                                                            |
| --------------------- | -------------------------------------------------------------------------------------- |
| **Search by name**    | Search device models by name keyword                                                   |
| **All Manufacturers** | Filter the device list by manufacturer                                                 |
| **Drag device**       | Drag a device card into the target U-slot in the center editor                         |
| **Pencil icon (✏)**   | Shortcut in the top-right corner of the panel — navigates to the Device Library module |

***

### RACK STATS

![RACK STATS panel showing Used Units, Total Capacity, Total Weight, Total Power, Cooling Type, and Physical Dimensions](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-8.png)

The **RACK STATS** section at the bottom of the right panel displays real-time statistics for the selected template:

| Field                   | Description                                                          |
| ----------------------- | -------------------------------------------------------------------- |
| **Used Units**          | Total number of occupied U-slots                                     |
| **Total Capacity**      | Total node capacity of the template (progress bar shows usage ratio) |
| **Total Weight**        | Estimated total weight of the template (kg)                          |
| **Total Power (W)**     | Estimated total power consumption (W)                                |
| **Cooling Type**        | Cooling method (e.g., Air Cooled)                                    |
| **Physical Dimensions** | Rack physical dimensions (W × D × H, mm)                             |

***

## Main Operations

### Search Templates

Type a template name or manufacturer keyword in the search bar at the top of the left panel to filter the list in real time.

![Templates panel search bar and manufacturer filter highlighted](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-2.png)

***

### Create a New Rack Template

![New Rack Template dialog showing Template Identifier, Manufacturer, Physical Dimensions, and Capacity Specifications fields](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-4.png)

```mermaid
graph LR
    Step1["1. Click +\nOpen New Rack Template dialog"]
    Step2["2. Fill in fields\nBasic info and dimensions"]
    Step3["3. Click Create\nTemplate added to list"]

    Step1 --> Step2 --> Step3

    style Step3 stroke:#057a55,stroke-width:2px
```

**BASIC INFORMATION**

| Field                   | Description                        | Required |
| ----------------------- | ---------------------------------- | :------: |
| **Template Identifier** | Name used to identify the template |     ✓    |
| **Manufacturer**        | Rack manufacturer                  |     ✓    |

**PHYSICAL DIMENSIONS**

| Field           | Description                                  | Default |
| --------------- | -------------------------------------------- | ------- |
| **Height (U)**  | Number of rack U-slots (adjusted via slider) | 42 U    |
| **Width (mm)**  | Rack width                                   | 600     |
| **Depth (mm)**  | Rack depth                                   | 1200    |
| **Height (mm)** | Rack physical height                         | 2000    |

**CAPACITY SPECIFICATIONS**

| Field             | Description                               |
| ----------------- | ----------------------------------------- |
| **Total CPU**     | Expected total number of CPUs in the rack |
| **Total GPU**     | Expected total number of GPUs in the rack |
| **Node Capacity** | Total node capacity of the rack           |

***

### Search Devices in the Device Library

![Device Library panel with Search by name input and All Manufacturers dropdown highlighted](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-9.png)

The Device Library panel on the right provides two ways to find a target device model:

| Action                | Description                                                       |
| --------------------- | ----------------------------------------------------------------- |
| **Search by name**    | Type a device name keyword to filter matching models in real time |
| **All Manufacturers** | Select a manufacturer from the dropdown to narrow the list        |

After filtering, each card shows the device name, U-height, and manufacturer. Confirm the specs, then drag the card into the U-slot editor.

***

### Navigate to Device Library

![Pencil icon highlighted in the top-right corner of the Device Library panel](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-10.png)

The **pencil icon (✏)** in the top-right corner of the Device Library panel navigates directly to the **Device Library** module.

{% hint style="info" %}
**💡 Tip**

If a required device model is not yet created while configuring a template, use this shortcut to add it to the Device Library, then return to continue configuration.
{% endhint %}

***

### Add Devices to a Template

![Device card being dragged from Device Library into the U-slot editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-5.png)

```mermaid
graph LR
    Step1["1. Select custom template\nSystem templates are read-only"]
    Step2["2. Find device\nSearch the Device Library"]
    Step3["3. Drag & drop\nPlace onto target U-slot"]
    Step4["4. Click Update\nSave all changes"]

    Step1 --> Step2 --> Step3 --> Step4

    style Step4 stroke:#057a55,stroke-width:2px
```

After dropping the device, its colored block appears in the U-slot editor and **RACK STATS** updates automatically.

![Update button highlighted at the top of the U-slot editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-6.png)

{% hint style="warning" %}
**⚠️ Unsaved Changes**

Leaving the page without clicking **Update** will discard all unsaved changes.
{% endhint %}

***

### Reposition Devices

![Device block being dragged to a different U-slot in the editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-7.png)

```mermaid
graph LR
    Step1["1. Select custom template"]
    Step2["2. Drag device block\nMove to an empty U-slot"]
    Step3["3. Click Update\nSave all changes"]

    Step1 --> Step2 --> Step3

    style Step3 stroke:#057a55,stroke-width:2px
```

The system automatically validates that the target position has sufficient space.

![Update button highlighted at the top of the U-slot editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-6.png)

{% hint style="warning" %}
**⚠️ Unsaved Changes**

Leaving the page without clicking **Update** will discard all unsaved changes.
{% endhint %}

***

### Remove a Device from a Template

![Delete icon appearing on a device block in the U-slot editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-14.png)

```mermaid
graph LR
    Step1["1. Select custom template"]
    Step2["2. Click device block\nSelect the target device"]
    Step3["3. Click delete icon\nDevice removed from U-slot"]
    Step4["4. Click Update\nSave all changes"]

    Step1 --> Step2 --> Step3 --> Step4

    style Step4 stroke:#057a55,stroke-width:2px
```

![Update button highlighted at the top of the U-slot editor](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-6.png)

{% hint style="warning" %}
**⚠️ Unsaved Changes**

Leaving the page without clicking **Update** will discard all unsaved changes.
{% endhint %}

***

### Deploy a Template to 3D Data Center

```mermaid
graph LR
    OptionA["Option A\n3D Data Center → Drag from Catalog Panel"]
    OptionB["Option B\nRack Management → Edit rack → Select template"]
    Deploy["Template deployed"]

    OptionA --> Deploy
    OptionB --> Deploy

    style Deploy stroke:#057a55,stroke-width:2px
```

**Option A: Drag from Rack Template Catalog**

1. Go to the **3D Data Center** module
2. Expand the **Rack Template Catalog** panel on the left
3. Find the target template and drag it to the desired position on the 3D floor

**Option B: Add via Rack Management**

1. Go to the **Rack Management** module
2. Click the **Edit** button on a rack row — the Template field shows the applied template
3. Enter a Rack Name and click **Save** to complete

***

### Import / Export Template JSON

![Import and Export buttons highlighted at the top of the Templates panel](https://pub-f334ff01208c4e6195b80133ac6e6030.r2.dev/portal/infrastructurePlanner/rackTemplate/rackTemplate-3.png)

**Export:**

```mermaid
graph LR
    Step1["1. Select template\nChoose from the left panel"]
    Step2["2. Click ↓ Export\nDownload JSON file"]

    Step1 --> Step2

    style Step2 stroke:#057a55,stroke-width:2px
```

**Import:**

```mermaid
graph LR
    Step1["1. Click ↑ Import\nSelect a JSON file"]
    Step2["2. Import complete\nNew template appears in the list"]

    Step1 --> Step2

    style Step2 stroke:#057a55,stroke-width:2px
```

**JSON format example:**

```json
{
  "name": "new rack",
  "manufacturer": "ASUS",
  "heightU": 42,
  "widthMm": "1000.00",
  "depthMm": "2000.00",
  "heightMm": "3000.00",
  "totalCPU": 0,
  "totalGPU": 0,
  "coolingType": "Air Cooled",
  "totalNodeCapacity": 0,
  "totalWeight": "0.00",
  "totalPower": "0.00",
  "remark": "",
  "slots": [
    {
      "uPosition": 39,
      "device": {
        "name": "ESC8000A-E13P",
        "uSize": 4,
        "nodeCapacity": 2,
        "manufacturer": "ASUS",
        "type": "SERVER",
        "color": "#33ff57",
        "pxe": 2,
        "bmc": 0,
        "eth": 2,
        "ib": 0,
        "power": 3200,
        "weight": 0,
        "remark": ""
      }
    }
  ]
}
```

**Top-level fields:**

| JSON Field          | Description                                    | Required |
| ------------------- | ---------------------------------------------- | :------: |
| `name`              | Template name                                  |     ✓    |
| `manufacturer`      | Rack manufacturer                              |     ✓    |
| `heightU`           | Number of rack U-slots (e.g., 42)              |     ✓    |
| `widthMm`           | Rack width (mm)                                |          |
| `depthMm`           | Rack depth (mm)                                |          |
| `heightMm`          | Rack physical height (mm)                      |          |
| `totalCPU`          | Expected total CPU count                       |          |
| `totalGPU`          | Expected total GPU count                       |          |
| `coolingType`       | Cooling type (e.g., `"Air Cooled"`)            |          |
| `totalNodeCapacity` | Total node capacity of the rack                |          |
| `totalWeight`       | Estimated total weight (kg, string format)     |          |
| `totalPower`        | Estimated total power (W, string format)       |          |
| `remark`            | Notes                                          |          |
| `slots`             | Array of U-slot device assignments (see below) |          |

**`slots[]` fields:**

| JSON Field            | Description                                                       | Required |
| --------------------- | ----------------------------------------------------------------- | :------: |
| `uPosition`           | Starting U-slot number for the device                             |     ✓    |
| `device.name`         | Device model name                                                 |     ✓    |
| `device.uSize`        | Device U-height                                                   |     ✓    |
| `device.nodeCapacity` | Node capacity                                                     |     ✓    |
| `device.manufacturer` | Device manufacturer                                               |          |
| `device.type`         | Device type (SERVER / SWITCH / STORAGE / PDU / ROUTER / FIREWALL) |          |
| `device.color`        | U-slot visualization color (Hex format)                           |          |
| `device.pxe`          | Number of PXE ports                                               |          |
| `device.bmc`          | Number of BMC ports                                               |          |
| `device.eth`          | Number of Ethernet ports                                          |          |
| `device.ib`           | Number of InfiniBand ports                                        |          |
| `device.power`        | Power consumption (W)                                             |          |
| `device.weight`       | Weight (kg)                                                       |          |
| `device.remark`       | Device notes                                                      |          |

***

## Usage Tips

| Scenario                        | Recommended Approach                                                                                       |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Standardized deployment**     | Save the most common rack configurations as templates to ensure consistent device lists across deployments |
| **Cross-environment migration** | Export templates as JSON and import them in the new environment to avoid redundant configuration           |
| **Customer proposals**          | Create dedicated templates per customer requirement and present the full layout in the 3D view             |
| **System default templates**    | Use default templates as a reference before creating a custom version for your needs                       |
