15.3.8. API を使用するユーザーのリポジトリーでの自動プルーニングポリシーの作成
リポジトリーに対する admin 権限がある限り、Red Hat Quay API エンドポイントを使用して、自分以外のユーザーアカウントのリポジトリーに対する自動プルーニングポリシーを管理できます。
前提条件
- 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フィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。$ 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"}