← Resource Tagging / resource-tagging / how-to
Управление тегами
Все операции с тегами выполняются через Tagging API. Для аутентификации требуется API-токен аккаунта или пользовательский API токен с соответствующими правами.
Установка тегов для ресурса
Используйте PUT для установки тегов на ресурсе уровня аккаунта. Эта операция заменяет все существующие теги ресурса.
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tags" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"resource_type": "worker",
"resource_id": "'"$RESOURCE_ID"'",
"tags": {
"environment": "production",
"team": "platform",
"cost-center": "engineering"
}
}'Для ресурсов уровня зоны используйте конечную точку зоны:
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/tags" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"resource_type": "zone",
"resource_id": "'"$ZONE_ID"'",
"tags": {
"environment": "production",
"customer": "acme-corp"
}
}'Для некоторых типов ресурсов требуются дополнительные поля. См. поддерживаемые типы ресурсов для получения подробностей.
Получение тегов ресурса
Получение тегов для конкретного ресурса:
curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tags?resource_type=worker&resource_id=$RESOURCE_ID" \
-H "Authorization: Bearer $API_TOKEN"Добавление одного тега
API не поддерживает частичные обновления: PUT всегда заменяет все теги полностью. Чтобы добавить тег, не удаляя существующие, используйте GET, объедините, PUT шаблон:
GETтекущие теги.
curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tags?resource_type=worker&resource_id=$RESOURCE_ID" \
-H "Authorization: Bearer $API_TOKEN"
# Response: {"result": {"tags": {"environment": "production", "team": "platform"}}}- Объедините новый тег с существующим набором локально.
{
"environment": "production",
"team": "platform",
"cost-center": "engineering"
}PUTполный объединённый набор тегов.
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tags" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"resource_type": "worker",
"resource_id": "'"$RESOURCE_ID"'",
"tags": {
"environment": "production",
"team": "platform",
"cost-center": "engineering"
}
}'Удаление одного тега
Используйте те же GET, объедините, PUT по этому шаблону, но исключите тег, который нужно удалить, из набора перед вызовом PUT.
Удалить все теги
Чтобы удалить все теги с ресурса:
curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tags" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"resource_type": "worker",
"resource_id": "'"$RESOURCE_ID"'"
}'Это возвращает 204 No Content при успешном выполнении. Используйте только DELETE когда нужно удалить все теги ресурса (например, при выводе его из эксплуатации).