INTEGRITY Документация

Управление тегами

Все операции с тегами выполняются через 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 шаблон:

  1. 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"}}}
  1. Объедините новый тег с существующим набором локально.
{
  "environment": "production",
  "team": "platform",
  "cost-center": "engineering"
}
  1. 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 когда нужно удалить все теги ресурса (например, при выводе его из эксплуатации).