15.3.8. 在带有 API 的用户的存储库上创建自动修剪策略
您可以使用 Red Hat Quay API 端点为不属于您的用户帐户管理存储库上的自动运行策略,只要存储库上具有 admin 权限。
先决条件
- 您已创建了 OAuth 访问令牌。
- 已登陆到 Red Hat Quay。
-
在您要为其创建策略的存储库上具有
admin权限。
流程
输入以下
POST /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/命令,创建一个新策略来限制用户的标签数:$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/输出示例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}可选。您可以为当前用户添加额外的策略,并传递
tagPattern和tagPatternMatches字段,以仅修剪与给定 regex 模式匹配的标签。例如:$ curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{ "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true }' \ "http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/"输出示例
{"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}您可以使用
PUT /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid> 命令为当前用户更新您的策略。例如:$ curl -X PUT -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{ "method": "creation_date", "value": "4d", "tagPattern": "^test.", "tagPatternMatches": true }' "https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>"更新策略不会在 CLI 中返回输出。
输入以下命令检查自动修剪策略:
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/或者,您可以包含 UUID:
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7输出示例
{"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}您可以输入以下命令来删除自动修剪策略。请注意,删除策略需要 UUID。
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>输出示例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}