> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# インベントリファイルスキーマ

本ページでは、`snctl rack import` が読み込み、`snctl rack export` が書き出すファイル形式について説明します。JSON と YAML のどちらも使用できます。

インポートのワークフロー自体については、[ラック管理](/docs/ja/sambastack/hardware-admin/sambarack-manager/srm-rack-admin#オプション-1-ファイルからのインポート-推奨) をご参照ください。

## トップレベルキー

| キー | 型 | 必須 | 説明 |
| - | - | - | - |
| `version` | string | はい | スキーマバージョン。`"1.2"` を使用します。 |
| `racks` | ラック ID をキーとする [Rack](#rack) のマップ | はい | ラック ID をキーにします |
| `groups` | グループ名をキーとする [Group](#group) のマップ | いいえ | グループ名をキーにします |

## Rack

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `id` | string | はい | ラック ID。エントリのキーと一致させます |
| `part_number` | string | はい | `1001934` (PDU 4 台) または `1002331` (PDU 2 台) |
| `nodes` | [Node](#node) のリスト | はい | ラック内のノード |
| `pdus` | [Device](#device) のリスト | はい | 1 始まり |
| `access_switches` | [Device](#device) のリスト | はい | 0 始まり |
| `data_switches` | [Device](#device) のリスト | はい | 0 始まり |
| `serial_terminals` | [Device](#device) のリスト | はい | 0 始まり |

SambaRack Manager はラックを完全なデバイスレイアウトに展開したうえで、ファイルのエントリをその上に適用します。そのため、レイアウト内のすべてのデバイスを記載してください。

## Node

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `rack_node_id` | integer | はい | ラック内のノードスロット。`0` から始まります |
| `node_name` | string | はい | 他のコマンドでこのノードを対象にする際に使用する名前 |
| `host` | [Device](#device) | はい | ホストインターフェース |
| `bmc` | [Device](#device) | はい | BMC インターフェース |
| `xrdus` | [Device](#device) のリスト | はい | 0 始まり |

## Device

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `id` | integer | スロット型デバイスのみ | スロットインデックス。`host` と `bmc` では省略します。 |
| `ip` | string | `ip` または `hostname` のいずれか | 管理 IP アドレス |
| `hostname` | string | `ip` または `hostname` のいずれか | デバイスのホスト名 |
| `username` | string | はい | ログインユーザー |
| `port` | integer | はい | 接続ポート |
| `password` | string | いいえ | [デバイス認証情報](/docs/ja/sambastack/hardware-admin/sambarack-manager/srm-device-credentials) をご参照ください。 |

<Note>
  ソースファイル内の実際のパスワード — すなわち、`${<TYPE>_SECRET}` プレースホルダになっていないもの — は、暗号化された認証情報ストアにインポートされます。インベントリ自体には、常にプレースホルダのみが保存されます。
</Note>

## Group

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `id` | string | はい | グループ名。エントリのキーと一致させます |
| `description` | string | はい | グループの説明 |
| `racks` | string のリスト | はい | ラック ID。各 ID はインベントリ内、または同じファイル内に存在する必要があります |

## 例

部品番号 `1002331` の完全なラックの例:

```yaml theme={}
version: "1.2"                          # schema version; use "1.2"

racks:
  "001":                                # rack ID; matches id below
    id: "001"
    part_number: "1002331"              # 1001934 | 1002331

    serial_terminals:                   # 0-indexed
      - id: 0
        ip: 192.168.10.19
        hostname: SN40L-16-SCS
        username: sysadmin

    access_switches:                    # 0-indexed
      - id: 0
        ip: 192.168.10.240
        hostname: SN40L-16-ACCSW
        username: root
        port: 3001

    data_switches:                      # 0-indexed
      - id: 0
        ip: 192.168.10.241
        hostname: SN40L-16-DATASW
        username: root
        port: 3002

    pdus:                               # 1-indexed; 2 for 1002331, 4 for 1001934
      - id: 1
        ip: 192.168.10.20
        hostname: SN40L-16-PDU1
        username: admin
        port: 3003
      - id: 2
        ip: 192.168.10.21
        hostname: SN40L-16-PDU2
        username: admin
        port: 3004

    nodes:
      - rack_node_id: 0                 # node slot in the rack, from 0
        node_name: prod-node-1          # name used to target this node
        host:                           # no id
          ip: 192.168.4.1
          hostname: SFT-SN40L-16-H-1
          username: root
          port: 3024
        bmc:                            # no id
          ip: 192.168.5.1
          hostname: SN40L-16-H-1-SP
          username: admin
        xrdus:                          # 0-indexed, 8 per node
          - id: 0
            ip: 192.168.6.1
            hostname: SN40L-16-H-1-XRDU0
            username: root
            port: 3026
          - id: 1
            ip: 192.168.6.2
            hostname: SN40L-16-H-1-XRDU1
            username: root
            port: 3025
          - id: 2
            ip: 192.168.6.3
            hostname: SN40L-16-H-1-XRDU2
            username: root
            port: 3023
          - id: 3
            ip: 192.168.6.4
            hostname: SN40L-16-H-1-XRDU3
            username: root
            port: 3022
          - id: 4
            ip: 192.168.6.5
            hostname: SN40L-16-H-1-XRDU4
            username: root
            port: 3016
          - id: 5
            ip: 192.168.6.6
            hostname: SN40L-16-H-1-XRDU5
            username: root
            port: 3015
          - id: 6
            ip: 192.168.6.7
            hostname: SN40L-16-H-1-XRDU6
            username: root
            port: 3013
          - id: 7
            ip: 192.168.6.8
            hostname: SN40L-16-H-1-XRDU7
            username: root
            port: 3012

groups:                                 # optional
  g1:
    id: g1
    description: Production
    racks: ["001"]
```

## 次のステップ

インポートが完了したら、[デバイス認証情報](srm-device-credentials) を設定してください。`snctl` のサブコマンドとフラグの一覧は、[コマンドリファレンス](srm-command-reference) をご参照ください。
