跳至内容

自定义数据

Equinix Metal™ 提供自定义数据服务,因此您可以通过服务器的元数据和Equinix Metal API 定义和使用有关您的服务器和基础设施的数据。

自定义数据可以理解为一种更具表现力的标签功能。自定义数据支持 JSON 格式的字符串、数组、映射、数字数组的映射、布尔值等等。字段和对象属性完全由用户定义,旨在为自动化提供更多选项。本页中使用的 JSON 对象只是一些简单示例。

使用自定义数据进行配置

要在服务器配置时添加自定义数据,请展开“可选设置”部分。选择“自定义数据”。在字段中输入 JSON 格式的数据。

Custom Data Field in the Optional Settings in the Console

访问自定义数据

服务器配置完成后,您可以从服务器的“设置”选项卡访问其自定义数据。

Location of a Server's Settings Tab

滚动到“自定义数据”部分。

Custom Data Field in a Server's Settings

只要您的项目中配置了服务器,就可以访问自定义数据。

添加或修改自定义数据

要更新服务器的自定义数据,请打开服务器的“设置”选项卡。

Location of a Server's Settings Tab

滚动到“自定义数据”部分,将新的 JSON 格式数据输入到字段中,然后单击“保存”。

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地址

当 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"
}
}'

您可以使用向 /ips/{id} 端点发送的 PATCH 请求正文中的 "customdata" 字段来更新 IP 地址的自定义数据。

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"
}
}'

您可以从 /ips/{id}/customdata 端点检索 IP 地址的自定义数据。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/ips/{id}/customdata
此页面有帮助吗?