本文へスキップ

カスタムデータ

Equinix Metal™はカスタムデータサービスを提供しているため、お客様はサーバーのメタデータやEquinix Metal APIを通じてサーバーやインフラストラクチャに関するデータを定義し、利用することができます。

カスタム・データを、より表現力豊かなタグ機能として考えることもできる。カスタム・データでは、JSON形式の文字列、配列、マップ、数値の配列のマップ、ブーリアンなどが使用できる。フィールドとオブジェクトのプロパティは完全にユーザー定義で、自動化のための追加オプションを提供することを目的としています。このページで使用しているJSONオブジェクトは、単なる例です。

カスタムデータによるプロビジョニング

プロビジョニング時にカスタムデータをサーバーに追加するには、_オプション設定_セクションを展開します。Custom Data_を選択します。JSON形式のデータをフィールドに入力します。

Custom Data Field in the Optional Settings in the Console

カスタムデータへのアクセス

サーバーのプロビジョニングが完了したら、サーバーの_Settings_タブからカスタムデータにアクセスできます。

Location of a Server's Settings Tab

カスタムデータ」セクションまでスクロールしてください。

Custom Data Field in a Server's Settings

カスタム・データは、サーバーがプロジェクトでプロビジョニングされている限りアクセス可能です。

カスタムデータの追加と修正

サーバーのカスタムデータを更新するには、サーバーの_Settings_タブを開きます。

Location of a Server's Settings Tab

Custom Data_セクションまでスクロールし、新しいJSON形式のデータをフィールドに入力し、Save をクリックします。

Modifying the Custom Data in the Console

他のリソースのカスタム・データ

サーバー以外にも、Equinix MetalリソースはAPIを通じてカスタムデータをサポートしています。メタデータでは利用できませんが、これらのエンドポイントは"customdata"プロパティを提供するリソース固有のリモート状態ストレージとして活用できます。

ユーザー

/users/{id} エンドポイントを使用すると、既に作成されているユーザーにカスタム データを追加できます。

curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/users/{id}" \
-d '{
"customdata": {
"data": {
"text": "bot-user-1",
"auto-rotate": true
}
}
}'

そして、/users/{id}/customdata エンドポイントからアクセスできます。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/users/{id}/customdata

プロジェクト

POST から /projects エンドポイントの本文に含めることで、カスタム データを含むプロジェクトを作成できます。

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/" \
-d '{
"customdata": {
"data": {
"text": "dev-env-05",
"do-not-disturb": false
}
},
"name": "string",
"organization_id": "<uuid>",
"payment_method_id": "<uuid>"
}'

/projects/{id}エンドポイントへのPUTリクエストのボディ内の"customdata"フィールドを使用して、プロジェクトのカスタムデータを更新することができます。

curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}" \
-d '{
"customdata": {
"data": {
"text": "dev-env-05",
"do-not-disturb": true
}
}
}'

最後に、/projects/{id}/customdata エンドポイントからプロジェクトのカスタムデータを取得することができます。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/projects/{id}/customdata

組織・団体

/organizations/{id} エンドポイントへの PUT リクエストのボディ内の "customdata" フィールドを使用して、任意の組織にカスタムデータを追加できます。

curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/organizations/{id}" \
-d '{
"customdata": {
"data": {
"text": "cluster-03",
"do-not-disturb": true
},
"owners": "internal"
}
}'

/organizations/{id}/customdata エンドポイントから組織のカスタム データを取得できます。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/organizations/{id}/customdata

IPアドレス

/devices/{id}/ips エンドポイントへの POST リクエストのボディに "customdata" フィールドを含めることで、IP アドレスがサーバーに割り当てられたときにカスタム データを追加できます。

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/devices/{id}/ips" \
-d '{
"address": "198.51.100.3/31",
"customdata": {
"data": {
"text": "connect-me",
"can_float": false
},
"group": "for_vms"
}
}'

IP アドレスのカスタム データは、/ips/{id} エンドポイントへの PATCH リクエストのボディ内の "customdata" フィールドを使用して更新できます。

curl -X PATCH \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ips/{id}" \
-d '{
"address": "198.51.100.3/31",
"customdata": {
"data": {
"text": "connect-me",
"can_float": true
},
"group": "static"
}
}'

IP アドレスのカスタム データは、/ips/{id}/customdata エンドポイントから取得できます。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/ips/{id}/customdata
このページは役に立ちましたか?