ハードウェアのコマンドは、アプライアンスハードウェアシャーシおよびコンポーネントのリストを取得するために使用します。
|
シャーシの取得コマンドは、引数を取らず、システムシャーシオブジェクトのリストを返します。コマンドに成功すると、HTTP ステータス 200 (OK) が返されます。
|
リクエストの例:
GET /api/hardware/v1/chassis HTTP/1.1 Host: zfs-storage.example.com:215 Accept: application/json
レスポンスの例:
HTTP/1.1 200 OK
Content-Length: 788
Content-Type: application/json
X-Zfssa-Appliance-Api: 1.0
{
"hardware": [{
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-000",
"manufacturer": "Oracle",
"model": "Oracle ZFS Storage ZS3-1",
"name": "cairo",
"rpm": "--",
"serial": "1211FM200C",
"type": "system"
}, {
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-001",
"locate": false,
"manufacturer": "Oracle",
"model": "Oracle Storage DE2-24C",
"name": "1235FM4002",
"part": "7046842",
"path": 2,
"revision": "0010",
"rpm": 7200,
"serial": "1235FM4002",
"type": "storage"
}, {
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-002",
"locate": false,
"manufacturer": "Oracle",
"model": "Oracle Storage DE2-24P",
"name": "50050cc10c206b96",
"part": "7046836",
"path": 2,
"revision": "0010",
"rpm": 10000,
"serial": "50050cc10c206b96",
"type": "storage"
}]
}
このコマンドは、指定されたシャーシ内のすべてのハードウェアコンポーネントを返します。コマンドに成功すると、HTTP ステータス 200 (OK) が返されます。
リクエストの例:
GET /api/nas/v1/chassis/chassis-001 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
レスポンスの例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"chassis": {
"type": "storage"
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-001",
"locate": false,
"manufacturer": "Oracle",
"model": "Oracle Storage DE2-24C",
"name": "1235FM4002",
"part": "7046842",
"path": 2,
"revision": "0010",
"rpm": 7200,
"serial": "1235FM4002",
"disk": [{
"device": "c0t5000CCA01A76A2B8d0",
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-000",
"interface": "SAS",
"label": "HDD 0",
"locate": false,
"manufacturer": "HITACHI",
"model": "H7230AS60SUN3.0T",
"pathcount": 4,
"present": true,
"revision": "A310",
"rpm": 7200,
"serial": "001210R37LVD YHJ37LVD",
"size": 3000592982016,
"type": "data",
"use": "peer"
}, {
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-001",
...
}, {
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-002",
...
}, ... {
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-023",
...
}],
"fan": [
{
"href": "/api/hardware/v1/chassis/chassis-001/fan/fan-000",
...
}, ... {
"href": "/api/hardware/v1/chassis/chassis-001/fan/fan-007",
}],
"psu": [
{
"href": "/api/hardware/v1/chassis/chassis-001/psu/psu-000",
...
}, {
"href": "/api/hardware/v1/chassis/chassis-001/psu/psu-001",
}, {
"href": "/api/hardware/v1/chassis/chassis-001/psu/psu-002",
}, {
"href": "/api/hardware/v1/chassis/chassis-001/psu/psu-003",
}],
"slot": [{
"href": "/api/hardware/v1/chassis/chassis-001/slot/slot-000",
}, {
"href": "/api/hardware/v1/chassis/chassis-001/slot/slot-001",
}],
}
}
このコマンドは、1 つのハードウェアコンポーネントからのプロパティーを返します。コマンドに成功すると、HTTP ステータス 200 (OK) が返されます。レスポンスオブジェクトには、次の表に含まれるコンポーネントのプロパティーが含まれます。
|
リクエストの例:
GET /api/hardware/v1/chassis/chassis-001/disk/disk-011 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
レスポンスの例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"disk": {
"device": "c0t5000CCA01A764FB0d0",
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-011",
"interface": "SAS",
"label": "HDD 11",
"locate": false,
"manufacturer": "HITACHI",
"model": "H7230AS60SUN3.0T",
"pathcount": 4,
"present": true,
"revision": "A310",
"rpm": 7200,
"serial": "001210R322ED YHJ322ED",
"size": 3000592982016,
"type": "data",
"use": "peer"
}
}
PUT リクエストは、選択したハードウェアコンポーネントでプロパティーを設定するために使用できます。リクエストに成功すると、HTTP ステータス 201 (Accepted) が JSON 形式のコンポーネントプロパティーとともに返されます。
リクエストの例:
PUT /api/hardware/v1/chassis/chassis-001/disk/disk-011 HTTP/1.1
Host: zfssa.example.com:215
X-Auth-User: root
X-Auth-Key: letmein
Accept: application/json
Content-Type: application/json
Content-Length: 16
{"locate": true}
JSON レスポンスの例:
HTTP/1.1 202 Accepted
X-Zfssa-Appliance-Api: 1.0
Content-Length: 403
Content-Type: application/json
{
"disk": {
"href": "/api/hardware/v1/chassis/chassis-001/disk/disk-011",
...,
"locate": true
}
}