Données personnalisées
Equinix Metal™ propose un service de données personnalisé, de sorte que vous pouvez définir et consommer des données sur vos serveurs et votre infrastructure via les métadonnées du serveur et l'API d'Equinix Metal.
Les données personnalisées peuvent être considérées comme une fonctionnalité de balise beaucoup plus expressive. Les données personnalisées autorisent les chaînes formatées JSON, les tableaux, les cartes, les cartes de tableaux de nombres, les booléens, etc. Les champs et les propriétés des objets sont entièrement définis par l'utilisateur et visent à offrir des options supplémentaires pour l'automatisation. Les objets JSON utilisés sur cette page ne sont que de simples exemples.
Approvisionnement avec des données personnalisées
- Console
- API
Pour ajouter des données personnalisées à votre serveur lors du provisionnement, développez la section Paramètres optionnels. Sélectionnez Données personnalisées. Saisissez vos données au format JSON dans le champ.

Lors du provisionnement de votre serveur dans l'API, définissez votre objet de données personnalisé dans le corps de la requête POST vers le point de terminaison /projects/{id}/devices.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"customdata": {
"data": {
"text": "testing device",
"frozen": false,
"oneOf": 3
}
}
}'
Accès aux données personnalisées
- Console
- Server Metadata
- API
Une fois votre serveur provisionné, vous pouvez accéder à ses données personnalisées à partir de l'onglet Settings du serveur.

Allez jusqu'à la section Custom Data.

Une fois que vos données personnalisées sont définies sur votre serveur, vous pouvez y accéder localement à partir du [point de terminaison des métadonnées] du serveur (metadata.md).
curl https://metadata.platformequinix.com/metadata | jq '.customdata'
Vous pouvez accéder aux données personnalisées depuis l'extérieur du serveur à partir du point de terminaison API devices/{id}/customdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/devices/{id}/customdata
Les données personnalisées sont accessibles aussi longtemps que le serveur est provisionné dans votre projet.
Ajout ou modification de données personnalisées
- Console
- API
Pour mettre à jour les données personnalisées de votre serveur, ouvrez l'onglet Settings du serveur.

Faites défiler jusqu'à la section Custom Data et saisissez vos nouvelles données formatées JSON dans le champ, puis cliquez sur Save.

Pour mettre à jour les données personnalisées de votre serveur, envoyez un PUT au point de terminaison /devices/{id}, en définissant l'objet de données personnalisées dans le corps de la demande.
curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $API_TOKEN" \
"https://api.equinix.com/metal/v1/devices/{id}" \
-d '{
"customdata": {
"data": {
"text": "Click Here"
}
}
}'
Données personnalisées pour d'autres ressources
Outre les serveurs, d'autres ressources Metal d'Equinix prennent en charge les données personnalisées via l'API. Bien qu'ils ne soient pas disponibles dans les métadonnées, ces points d'extrémité peuvent être utilisés pour le stockage d'état à distance propre à la ressource offrant la propriété "customdata".
Utilisateurs
Vous pouvez ajouter des données personnalisées à tout utilisateur déjà créé à l'aide du point de terminaison /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
}
}
}'
Vous pouvez ensuite y accéder à partir du point d'extrémité /users/{id}/customdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/users/{id}/customdata
Projets
Vous pouvez créer un projet avec des données personnalisées en les incluant dans le corps de votre POST vers le point de terminaison /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>"
}'
Vous pouvez mettre à jour les données personnalisées d'un projet en utilisant le champ "customdata" dans le corps d'une requête PUT vers le point de terminaison /projects/{id}.
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
}
}
}'
Enfin, vous pouvez récupérer les données personnalisées d'un projet à partir du point de terminaison /projects/{id}/customdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/projects/{id}/customdata
Organisations
Vous pouvez ajouter des données personnalisées à n'importe quelle organisation en utilisant le champ "customdata" dans le corps d'une requête PUT vers le point de terminaison /organizations/{id}.
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"
}
}'
Vous pouvez récupérer les données personnalisées d'une organisation à partir du point de terminaison /organizations/{id}/customdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/organizations/{id}/customdata
Adresses IP
Vous pouvez ajouter des données personnalisées à une adresse IP lorsqu'elle est attribuée à un serveur en incluant le champ "customdata" dans le corps de votre requête POST au point de terminaison /devices/{id}/ips.
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"
}
}'
Vous pouvez mettre à jour les données personnalisées d'une adresse IP en utilisant le champ "customdata" dans le corps d'une requête PATCH vers le point de terminaison /ips/{id}.
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"
}
}'
Vous pouvez récupérer les données personnalisées d'une adresse IP à partir du point de terminaison /ips/{id}/customdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/ips/{id}/customdata