Red Hat Quay API リファレンス
はじめに
Red Hat Quay アプリケーションプログラミングインターフェイス (API) は、Red Hat Quay 内でタスクを管理および自動化するための包括的な RESTful インターフェイスを提供します。OAuth 2.0 プロトコル に基づいて設計されたこの API は、Red Hat Quay リソースへの安全できめ細かいアクセスを可能にし、管理者とユーザーがリポジトリーの作成、イメージの管理、権限の設定などのアクションを実行できるようにします。
Red Hat Quay はセマンティックバージョニング (SemVer) の原則に従っており、次のようなリリース間で予測可能な API の安定性を確保しています。
- メジャーリリース: 新しい機能を導入します。API 互換性に対する重大な変更が含まれる可能性があります。たとえば、Red Hat Quay 2.0 の API は Red Hat Quay 3.0 とは異なります。
- マイナーリリース: 下位互換性を保ちながら新しい機能を追加します。たとえば、3.y リリースではバージョン 3. リリースに機能が追加されます。
- パッチリリース: 3.y.z などのマイナーリリースとの下位互換性を維持しながら、バグ修正と改善を提供します。
次のガイドでは、Red Hat Quay API をさらに詳しく説明し、以下のトピックの詳細を示します。
- サポートされている HTTP メソッドを含む API エンドポイント構造
- 各エンドポイントのリクエストとレスポンスのスキーマ
- 必須および任意のパラメーター
- 認証と認可の要件
- 一般的なエラーコードとトラブルシューティング情報
トークンの概要、管理ストラテジー、API エンドポイントの理解など、さらなるガイド付きのアプローチは、Red Hat Quay API ガイド を参照してください。
第1章 認可
oauth2_implicit
スコープ
以下のスコープは、API エンドポイントへのアクセスを制御するのに使用されます。
スコープ | 説明 |
---|---|
repo:read | このアプリケーションは、付与ユーザーまたはロボットアカウントに表示されるすべてのリポジトリーを表示し、プルできます。 |
repo:write | このアプリケーションは、付与ユーザーまたはロボットアカウントに書き込みのアクセス権が割り当てられているリポジトリーをすべて表示、プッシュ、およびプルできます。 |
repo:admin | このアプリケーションには、付与ユーザーまたはロボットアカウントがアクセスできるすべてのリポジトリーに管理者権限が割り当てられます。 |
repo:create | このアプリケーションは、付与ユーザーまたはロボットアカウントがリポジトリーを作成できる namespace にリポジトリーを作成できます。 |
user:read | このアプリケーションは、ユーザー名やメールアドレスなどのユーザー情報を読み取ることができます。 |
org:admin | このアプリケーションは、ロボットの作成、チームの作成、チームのメンバーシップの調整、請求設定の変更など、組織の管理を行うことができます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
super:user | このアプリケーションは、ユーザーの管理、スーパーユーザーパネルにある組織およびその他の機能の管理など、インストールを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
user:admin | このアプリケーションは、ロボットの作成、リポジトリーへのパーミッションを付与するなど、アカウントを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
第2章 appspecifictokens
現在のユーザーのアプリケーション固有のトークンを管理します。
2.1. createAppToken
ユーザー向けに新規アプリケーション固有のトークンを作成します。
POST /api/v1/user/apptoken
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
新しいトークンの説明。
名前 | 説明 | スキーマ |
---|---|---|
title | トークンの特定に役立つ分かりやすい名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"title": "MyAppToken"
}' \
"http://quay-server.example.com/api/v1/user/apptoken"
2.2. listAppTokens
ユーザーのアプリケーション固有のトークンをリスト表示します。
GET /api/v1/user/apptoken
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
expiring | true の場合には、まもなく有効期限が切れるトークンのみを返します。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken"
2.3. getAppToken
ユーザーの特定のアプリケーショントークンを返します。
GET /api/v1/user/apptoken/{token_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
2.4. revokeAppToken
ユーザーの特定のアプリケーショントークンを取り消します。
DELETE /api/v1/user/apptoken/{token_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
$ curl -X DELETE \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
第3章 build
リポジトリービルドの作成、リスト表示、キャンセル、およびステータス/ログの取得
3.1. getRepoBuildStatus
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/status
認可: oauth2_implicit(repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
3.2. getRepoBuildLogs
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/logs
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
3.3. getRepoBuild
ビルドに関する情報を返します。
GET /api/v1/repository/{repository}/build/{build_uuid}
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
3.4. cancelRepoBuild
リポジトリービルドをキャンセルします。
DELETE /api/v1/repository/{repository}/build/{build_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
3.5. requestRepoBuild
指定の入力からリポジトリーをビルドし、プッシュすることを要求します。
POST /api/v1/repository/{repository}/build/
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
新規リポジトリービルドの説明。
名前 | 説明 | スキーマ |
---|---|---|
file_id | ビルド仕様のアップロード時に生成されたファイル ID | string |
archive_url | ビルドする .tar.gz の URL。"http" または "https" で開始する必要があります。 | string |
subdirectory | Dockerfile があるサブディレクトリー。このサブディレクトリーまたは dockerfile_path のみを指定できます。 | string |
dockerfile_path | docker ファイルへのパス。このパスまたはサブディレクトリーのみを指定できます。 | string |
context | dockerfile のコンテキストを指定します。これは任意です。 | string |
pull_robot | プル認証情報として使用する Quay ロボットアカウントのユーザー名 | string |
tags | ビルドイメージがプッシュされるタグ。指定のない場合は、"latest" が使用されます。 |
string の配列 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
3.6. getRepoBuilds
リポジトリービルドのリストを取得します。
GET /api/v1/repository/{repository}/build/
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
since | 指定の unix タイムコード以降の全ビルドを返します。 | integer |
query |
limit | 返すビルドの最大数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
第4章 discovery
API 検出情報。
4.1. discovery
Swagger API 形式で利用可能なすべての API エンドポイントをリスト表示します。
GET /api/v1/discovery
認可:
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
internal | 内部 API を含めるかどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/discovery?query=true" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/discovery?query=true" \
-H "Authorization: Bearer <access_token>"
第5章 error
エラー詳細 API。
5.1. getErrorDescription
エラーの詳細情報を取得します。
GET /api/v1/error/{error_type}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
error_type | エラーのタイプを特定するエラーコード。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/error/<error_type>" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/error/<error_type>" \
-H "Authorization: Bearer <access_token>"
第6章 globalmessages
メッセージ API。
6.1. createGlobalMessage
メッセージを作成します。
POST /api/v1/messages
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
新規メッセージの作成
名前 | 説明 | スキーマ |
---|---|---|
message | 単一メッセージ | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/messages" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/messages" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"message": {
"content": "Hi",
"media_type": "text/plain",
"severity": "info"
}
}'
6.2. getGlobalMessages
スーパーユーザーのメッセージを返します。
GET /api/v1/messages
認可:
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/messages" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/messages" \
-H "Authorization: Bearer <access_token>"
6.3. deleteGlobalMessage
メッセージを削除します。
DELETE /api/v1/message/{uuid}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
uuid | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/message/<uuid>" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/message/<uuid>" \
-H "Authorization: Bearer <access_token>"
第7章 logs
組織またはリポジトリーの使用状況ログにアクセスします。
7.1. getAggregateUserLogs
現在のユーザーの集計ログを返します。
GET /api/v1/user/aggregatelogs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "<quay-server.example.com>/api/v1/user/aggregatelogs?performer=<username>&starttime=<MM/DD/YYYY>&endtime=<MM/DD/YYYY>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/user/aggregatelogs?performer=<username>&starttime=<MM/DD/YYYY>&endtime=<MM/DD/YYYY>"
7.2. exportUserLogs
現在のユーザーの集計ログを返します。
POST /api/v1/user/exportlogs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "<MM/DD/YYYY>",
"endtime": "<MM/DD/YYYY>",
"callback_email": "your.email@example.com"
}' \
"http://<quay-server.example.com>/api/v1/user/exportlogs"
7.3. listUserLogs
現在のユーザーのログをリスト表示します。
GET /api/v1/user/logs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" "<quay-server.example.com>/api/v1/user/logs"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" "<quay-server.example.com>/api/v1/user/logs"
7.4. getAggregateOrgLogs
指定した組織の集計ログを取得します。
GET /api/v1/organization/{orgname}/aggregatelogs
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "<quay-server.example.com>/api/v1/organization/{orgname}/aggregatelogs"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/organization/{orgname}/aggregatelogs"
7.5. exportOrgLogs
指定した組織のログをエクスポートします。
POST /api/v1/organization/{orgname}/exportlogs
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "<MM/DD/YYYY>",
"endtime": "<MM/DD/YYYY>",
"callback_email": "org.logs@example.com"
}' \
"http://<quay-server.example.com>/api/v1/organization/{orgname}/exportlogs"
7.6. listOrgLogs
指定した組織のログをリスト表示します。
GET /api/v1/organization/{orgname}/logs
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "http://<quay-server.example.com>/api/v1/organization/{orgname}/logs"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"http://<quay-server.example.com>/api/v1/organization/{orgname}/logs"
7.7. getAggregateRepoLogs
指定したリポジトリーの集計ログを返します。
GET /api/v1/repository/{repository}/aggregatelogs
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "<quay-server.example.com>/api/v1/repository/<repository_name>/<namespace>/aggregatelogs?starttime=2024-01-01&endtime=2024-06-18""
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/repository/<repository_name>/<namespace>/aggregatelogs?starttime=2024-01-01&endtime=2024-06-18""
7.8. exportRepoLogs
指定したリポジトリーのログのエクスポートをキューに入れます。
POST /api/v1/repository/{repository}/exportlogs
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "2024-01-01",
"endtime": "2024-06-18",
"callback_url": "http://your-callback-url.example.com"
}' \
"http://<quay-server.example.com>/api/v1/repository/{repository}/exportlogs"
7.9. listRepoLogs
指定したリポジトリーのログをリスト表示します。
GET /api/v1/repository/{repository}/logs
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "http://<quay-server.example.com>/api/v1/repository/{repository}/logs"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"http://<quay-server.example.com>/api/v1/repository/{repository}/logs"
第8章 マニフェスト
リポジトリーのマニフェストを管理します。
8.1. getManifestLabel
マニフェストで特定の ID のラベルを取得します。
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
path |
labelid | ラベルの ID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<label_id>
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<label_id>
8.2. deleteManifestLabel
マニフェストから既存のラベルを削除します。
DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
path |
labelid | ラベルの ID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<labelid>
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<labelid>
8.3. addManifestLabel
タグマニフェストに新規ラベルを追加します。
POST /api/v1/repository/{repository}/manifest/{manifestref}/labels
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
要求の body スキーマ (application/json)
マニフェストにラベルを追加します。
名前 | 説明 | スキーマ |
---|---|---|
key | ラベルのキー | string |
value | ラベルの値 | string |
media_type | このラベルのメディアタイプ |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ --data '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"key": "<key>",
"value": "<value>",
"media_type": "<media_type>"
}' \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels
8.4. listManifestLabels
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
filter | これが指定されている場合には、指定の接頭辞に一致するラベルのみが返されます。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels
8.5. getRepoManifest
GET /api/v1/repository/{repository}/manifest/{manifestref}
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>
第9章 mirror
9.1. syncCancel
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-cancel
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-cancel" \
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-cancel" \
9.2. syncNow
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-now
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-now" \ -H "Authorization: Bearer <access_token>"
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-now" \
-H "Authorization: Bearer <access_token>"
9.3. getRepoMirrorConfig
指定したリポジトリーのミラーリング設定を返します。
GET /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>"
9.4. changeRepoMirrorConfig
ユーザーがリポジトリーのミラーリング設定を変更できるようにします。
PUT /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーミラーリング設定を更新します。
名前 | 説明 | スキーマ |
---|---|---|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
external_reference | 外部リポジトリーの場所。 | string |
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
external_registry_config | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"is_enabled": <false>,
"external_reference": "<external_reference>",
"external_registry_username": "<external_registry_username>",
"external_registry_password": "<external_registry_password>",
"sync_start_date": "<sync_start_date>",
"sync_interval": <sync_interval>,
"robot_username": "<robot_username>",
"root_rule": {
"rule": "<rule>",
"rule_type": "<rule_type>"
}
}'
- 1
- 自動同期を無効にします。
9.5. createRepoMirrorConfig
特定のリポジトリーの RepoMirrorConfig を作成します。
POST /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーのミラーリング設定を作成します。
名前 | 説明 | スキーマ |
---|---|---|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
external_reference | 外部リポジトリーの場所。 | string |
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
external_registry_config | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"is_enabled": <is_enabled>,
"external_reference": "<external_reference>",
"external_registry_username": "<external_registry_username>",
"external_registry_password": "<external_registry_password>",
"sync_start_date": "<sync_start_date>",
"sync_interval": <sync_interval>,
"robot_username": "<robot_username>",
"root_rule": {
"rule": "<rule>",
"rule_type": "<rule_type>"
}
}'
第10章 namespacequota
10.1. listUserQuota
GET /api/v1/user/quota
認可: oauth2_implicit (user:admin)
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/user/quota" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota" \
-H "Authorization: Bearer <access_token>"
10.2. getOrganizationQuotaLimit
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>"
10.3. changeOrganizationQuotaLimit
PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
変更する組織のクォータ制限の説明
名前 | 説明 | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: "Warning" または "Reject" | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"type": "<type>",
"threshold_percent": <threshold_percent>
}'
10.4. deleteOrganizationQuotaLimit
DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>"
10.5. createOrganizationQuotaLimit
POST /api/v1/organization/{orgname}/quota/{quota_id}/limit
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織のクォータ制限の説明
名前 | 説明 | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: "Warning" または "Reject" | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 21474836480,
"type": "Reject",
"threshold_percent": 90
}'
10.6. listOrganizationQuotaLimit
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
-H "Authorization: Bearer <access_token>"
10.7. getUserQuotaLimit
GET /api/v1/user/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit/{limit_id}" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit/{limit_id}" \
-H "Authorization: Bearer <access_token>"
10.8. listUserQuotaLimit
GET /api/v1/user/quota/{quota_id}/limit
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit" \
-H "Authorization: Bearer <access_token>"
10.9. getOrganizationQuota
GET /api/v1/organization/{orgname}/quota/{quota_id}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \ -H "Authorization: Bearer <access_token>"S
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>"S
10.10. changeOrganizationQuota
PUT /api/v1/organization/{orgname}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <limit_in_bytes>
}'
10.11. deleteOrganizationQuota
DELETE /api/v1/organization/{orgname}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>"
10.12. createOrganizationQuota
新しい組織のクォータを作成します。
POST /api/v1/organization/{orgname}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 10737418240,
"limits": "10 Gi"
}'
10.13. listOrganizationQuota
GET /api/v1/organization/{orgname}/quota
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json' https://<quay-server.example.com>/api/v1/organization/<organization_name>/quota
$ curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json' https://<quay-server.example.com>/api/v1/organization/<organization_name>/quota
10.14. getUserQuota
GET /api/v1/user/quota/{quota_id}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}" \
-H "Authorization: Bearer <access_token>"
第11章 organization
組織、メンバーおよび OAuth アプリケーションを管理します。
11.1. createOrganization
新しい組織を作成します。
POST /api/v1/organization/
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
新しい組織の説明。
名前 | 説明 | スキーマ |
---|---|---|
name | 組織のユーザー名 | string |
email | 組織の連絡先メール | string |
recaptcha_response | 検証用の recaptcha 応答コード (無効となっている場合もある)。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"name": "<new_organization_name>"
}' "https://<quay-server.example.com>/api/v1/organization/"
11.2. validateProxyCacheConfig
POST /api/v1/organization/{orgname}/validateproxycache
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | 説明 | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
202 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/organization/{orgname}/validateproxycache" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/{orgname}/validateproxycache" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"upstream_registry": "<upstream_registry>"
}'
11.3. getOrganizationCollaborators
指定した組織の外部コラボレーターをリスト表示します。
GET /api/v1/organization/{orgname}/collaborators
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/collaborators" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/collaborators" \
-H "Authorization: Bearer <access_token>"
11.4. getOrganizationApplication
指定の組織、指定の client_id のアプリケーションを取得します。
GET /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications/<client_id>" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications/<client_id>" \
-H "Authorization: Bearer <access_token>"
11.5. updateOrganizationApplication
この組織のアプリケーションを更新します。
PUT /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
更新アプリケーションの説明。
名前 | 説明 | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://quay-server.example.com/api/v1/organization/test/applications/12345" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://quay-server.example.com/api/v1/organization/test/applications/12345" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Application Name",
"redirect_uri": "https://example.com/oauth/callback",
"application_uri": "https://example.com",
"description": "Updated description for the application",
"avatar_email": "avatar@example.com"
}'
11.6. deleteOrganizationApplication
この組織のアプリケーションを削除します。
DELETE /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/applications/{client_id}" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/applications/{client_id}" \
-H "Authorization: Bearer <access_token>"
11.7. createOrganizationApplication
この組織に新しいアプリケーションを作成します。
POST /api/v1/organization/{orgname}/applications
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しい組織アプリケーションを説明します。
名前 | 説明 | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "<app_name>",
"redirect_uri": "<redirect_uri>",
"application_uri": "<application_uri>",
"description": "<app_description>",
"avatar_email": "<avatar_email>"
}'
11.8. getOrganizationApplications
指定した組織のアプリケーションをリスト表示します。
GET /api/v1/organization/{orgname}/applications
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
-H "Authorization: Bearer <access_token>"
11.9. getProxyCacheConfig
組織のプロキシーキャッシュ設定を取得します。
GET /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
-H "Authorization: Bearer <access_token>"
11.10. deleteProxyCacheConfig
組織のプロキシーキャッシュ設定を削除します。
DELETE /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
-H "Authorization: Bearer <access_token>"
11.11. createProxyCacheConfig
組織のプロキシーキャッシュ設定を作成します。
POST /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | 説明 | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/proxycache" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/proxycache" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"upstream_registry": "<upstream_registry>"
}'
11.12. getOrganizationMember
組織のメンバーの詳細を取得します。
GET /api/v1/organization/{orgname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
-H "Authorization: Bearer <access_token>"
11.13. removeOrganizationMember
組織からメンバーを削除し、そのリポジトリーの特権をすべて破棄して組織の全チームから削除します。
DELETE /api/v1/organization/{orgname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \ -H "Authorization: Bearer <access_token>"
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
-H "Authorization: Bearer <access_token>"
11.14. getOrganizationMembers
指定した組織のメンバー (人間) をリスト表示します。
GET /api/v1/organization/{orgname}/members
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members" \
-H "Authorization: Bearer <access_token>"
11.15. getOrganization
指定した組織の詳細を取得します。
GET /api/v1/organization/{orgname}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.16. changeOrganizationDetails
指定した組織の詳細を変更します。
PUT /api/v1/organization/{orgname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | 説明 | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか。 | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>"
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.17. deleteAdminedOrganization
指定した組織を削除します。
DELETE /api/v1/organization/{orgname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.18. getApplicationInformation
指定したアプリケーションに関する情報を取得します。
GET /api/v1/app/{client_id}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://<quay-server.example.com>/api/v1/app/<client_id>" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/app/<client_id>" \
-H "Authorization: Bearer <access_token>"
第12章 permission
リポジトリーのパーミッションを管理します。
12.1. getUserTransitivePermission
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}/transitive
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>/transitive"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>/transitive"
12.2. getUserPermissions
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
12.3. changeUserPermissions
既存リポジトリーのパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーパーミッションの説明。
名前 | 説明 | スキーマ |
---|---|---|
role | ユーザーに使用するロール | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{"role": "admin"}' \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{"role": "admin"}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
12.4. deleteUserPermissions
ユーザーのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
12.5. getTeamPermissions
指定したチームのパーミッションをフェッチします。
GET /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.6. changeTeamPermissions
既存のチームパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
要求の body スキーマ (application/json)
チームパーミッションの説明。
名前 | 説明 | スキーマ |
---|---|---|
role | チームに使用するロール | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
curl -X PUT \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{"role": "<role>"}' \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
$ curl -X PUT \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{"role": "<role>"}' \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.7. deleteTeamPermissions
指定したチームのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
$ curl -X DELETE \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.8. listRepoTeamPermissions
すべてのチームパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/team/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/"
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/"
12.9. listRepoUserPermissions
全ユーザーパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/user/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>/
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>/
第13章 policy
13.1. createOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを作成します。
POST /api/v1/organization/{orgname}/autoprunepolicy/
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
13.2. listOrganizationAutoPrunePolicies
組織の自動プルーニングポリシーを一覧表示します。
GET /api/v1/organization/{orgname}/autoprunepolicy/
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.3. getOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを取得します。
GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<policy_uuid>
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<policy_uuid>
13.4. deleteOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを削除します。
DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/example_policy_uuid" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/example_policy_uuid" \
-H "Authorization: Bearer <your_access_token>"
13.5. updateOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを更新します。
PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"method": "creation_date",
"value": "4d",
"tagPattern": "^v*",
"tagPatternMatches": true
}' "<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<uuid>"
13.6. createRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを作成します。
POST /api/v1/repository/{repository}/autoprunepolicy/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
13.7. listRepositoryAutoPrunePolicies
リポジトリーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/repository/{repository}/autoprunepolicy/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.8. getRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを取得します。
GET /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer <your_access_token>"
13.9. deleteRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを削除します。
DELETE /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer <your_access_token>"
13.10. updateRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを更新します。
PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": "5",
"tagPattern": "^test.*",
"tagPatternMatches": true
}' \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/autoprunepolicy/<uuid>"
13.11. createUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを作成します。
POST /api/v1/user/autoprunepolicy/
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": 10,
"tagPattern": "v*",
"tagPatternMatches": true
}'
13.12. listUserAutoPrunePolicies
現在ログインしているユーザーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/user/autoprunepolicy/
認可: oauth2_implicit (user:admin)
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.13. getUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを取得します。
GET /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/{policy_uuid}" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/{policy_uuid}" \
-H "Authorization: Bearer <your_access_token>"
13.14. deleteUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを削除します。
DELETE /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \
-H "Authorization: Bearer <your_access_token>"
13.15. updateUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを更新します。
PUT /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": "10",
"tagPattern": ".*-old",
"tagPatternMatches": true
}'
第14章 prototype
リポジトリーに追加されたデフォルトのパーミッションを管理します。
14.1. updateOrganizationPrototypePermission
既存のパーミッションプロトタイプのロールを更新します。
PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプロールの説明
名前 | 説明 | スキーマ |
---|---|---|
role | パーミッションに適用する必要のあるロール | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ --data '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"role": "write"
}' \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes/<prototypeid>
14.2. deleteOrganizationPrototypePermission
既存のパーミッションのプロトタイプを削除します。
DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes/<prototype_id>
curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes/<prototype_id>
14.3. createOrganizationPrototypePermission
新規パーミッションのプロトタイプを作成します。
POST /api/v1/organization/{orgname}/prototypes
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプの説明
名前 | 説明 | スキーマ |
---|---|---|
role | 委譲に適用する必要のあるロール | string |
activating_user | ルールが適用されるユーザーを作成するリポジトリー | object |
委譲 | ルールでアクセス権を付与するユーザーまたはチームに関する情報 | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" --data '{
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" --data '{
"role": "<admin_read_or_write>",
"delegate": {
"name": "<username>",
"kind": "user"
},
"activating_user": {
"name": "<robot_name>"
}
}' https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes
14.4. getOrganizationPrototypePermissions
この組織の既存のプロトタイプをリスト表示します。
GET /api/v1/organization/{orgname}/prototypes
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes
第15章 referrers
v2 API リファラーのリストを示します。
15.1. getReferrers
イメージダイジェストの v2 API リファラーのリストを示します。
GET /v2/{organization_name}/{repository_name}/referrers/{digest}
要求の body スキーマ (application/json)
イメージダイジェストのリファラー。
型 | 名前 | 説明 | スキーマ |
path |
orgname | 組織の名前 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
referrers | リポジトリー配下にあるマニフェストの OCI リファラーを検索します。 | string |
第16章 repository
リポジトリーをリスト表示、作成、管理します。
16.1. createRepo
新規リポジトリーを作成します。
POST /api/v1/repository
認可: oauth2_implicit (repo:create)
要求の body スキーマ (application/json)
新規リポジトリーの説明
名前 | 説明 | スキーマ |
---|---|---|
repository | Repository name | string |
visibility | リポジトリーの初期の表示内容 | string |
namespace | リポジトリーを作成する namespace。省略すると、呼び出し元のユーザー名が使用されます。 | string |
description | リポジトリーの Markdown でエンコードされた説明 | string |
repo_kind | リポジトリーの種類 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"repository": "<new_repository_name>",
"visibility": "<public>",
"description": "<This is a description of the new repository>."
}' \
"https://quay-server.example.com/api/v1/repository"
16.2. listRepos
さまざまな状況で現在のユーザーに表示されるリポジトリーのリストを取得します。
GET /api/v1/repository
認可: oauth2_implicit (repo:read)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
repo_kind | 返すリポジトリーの種類 | string |
query |
popularity | リポジトリーの人気指標を含めるかどうか。 | boolean |
query |
last_modified | リポジトリーの最終変更時を含めるかどうか。 | boolean |
query |
public | 公開されているリポジトリーをユーザーに表示するように追加します。 | boolean |
query |
starred | ユーザーがスターをつけたリポジトリーを返すようにフィルタリングします。 | boolean |
query |
namespace | この namespace に返されたリポジトリーをフィルターします。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ "https://quay-server.example.com/api/v1/repository?public=true&starred=false&namespace=<NAMESPACE>"
$ curl -X GET \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
"https://quay-server.example.com/api/v1/repository?public=true&starred=false&namespace=<NAMESPACE>"
16.3. changeRepoVisibility
リポジトリーの可視性を変更します。
POST /api/v1/repository/{repository}/changevisibility
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの可視性を変更します。
名前 | 説明 | スキーマ |
---|---|---|
visibility | リポジトリーの初期の表示内容 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンド例
curl -X POST \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"visibility": "private"
}' \
"https://quay-server.example.com/api/v1/repository/<NAMESPACE>/<REPO_NAME>/changevisibility"
16.4. changeRepoState
リポジトリーの状態を変更します。
PUT /api/v1/repository/{repository}/changestate
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの状態を変更します。
名前 | 説明 | スキーマ |
---|---|---|
状態 | プッシュが許可されるかどうかを決定します。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
16.5. getRepo
指定したリポジトリーを取得します。
GET /api/v1/repository/{repository}
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeTags | リポジトリータグを含めるかどうか。 | boolean |
query |
includeStats | アクション統計を含めるかどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
16.6. updateRepo
指定したリポジトリーにある説明を更新します。
PUT /api/v1/repository/{repository}
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーで更新できるフィールド。
名前 | 説明 | スキーマ |
---|---|---|
description | リポジトリーの Markdown でエンコードされた説明 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"description": "This is an updated description for the repository."
}' \
"https://quay-server.example.com/api/v1/repository/<NAMESPACE>/<REPOSITORY>"
16.7. deleteRepository
リポジトリーを削除します。
DELETE /api/v1/repository/{repository}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
$ curl -X DELETE -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
第17章 repositorynotification
リポジトリーイベント/通知をリスト表示、作成、管理します。
17.1. testRepoNotification
このリポジトリーのテスト通知をキューに入れます。
POST /api/v1/repository/{repository}/notification/{uuid}/test
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>/test
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>/test
17.2. getRepoNotification
指定した通知の情報を取得します。
GET /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
17.3. deleteRepoNotification
指定した通知を削除します。
DELETE /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification/<uuid>
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification/<uuid>
17.4. resetRepositoryNotificationFailures
リポジトリーの失敗通知を 0 件にリセットします。
POST /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
17.5. createRepoNotification
POST /api/v1/repository/{repository}/notification/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーでの通知作成に関する情報
名前 | 説明 | スキーマ |
---|---|---|
event | 通知が応答するイベント | string |
method | 通知の方法 (メールや Web コールバックなど) | string |
config | 特定の通知メソッドに関する JSON 設定情報 | object |
eventConfig | 特定の通知イベントに関する JSON 設定情報 | object |
title | 人間が判読できる通知のタイトル | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ --data '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"event": "<event>",
"method": "<method>",
"config": {
"<config_key>": "<config_value>"
},
"eventConfig": {
"<eventConfig_key>": "<eventConfig_value>"
}
}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification/
17.6. listRepoNotifications
指定したリポジトリーの通知をリスト表示します。
GET /api/v1/repository/{repository}/notification/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification
第18章 robot
ユーザーおよび組織のロボットアカウントを管理します。
18.1. getUserRobots
ユーザーが利用可能なロボットをリスト表示します。
GET /api/v1/user/robots
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/user/robots?limit=10&token=false&permissions=true" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/robots?limit=10&token=false&permissions=true" \
-H "Authorization: Bearer <your_access_token>"
18.2. getOrgRobotPermissions
組織のロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
18.3. regenerateOrgRobotToken
組織のロボットのトークンを再生成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
18.4. getUserRobotPermissions
ユーザーのロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/user/robots/{robot_shortname}/permissions
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
18.5. regenerateUserRobotToken
ユーザーのロボットのトークンを再生成します。
POST /api/v1/user/robots/{robot_shortname}/regenerate
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
18.6. getOrgRobot
指定された名前の組織のロボットを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
18.7. createOrgRobot
組織に新しいロボットを作成します。
PUT /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
名前 | 説明 | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
18.8. deleteOrgRobot
既存の組織ロボットを削除します。
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
18.9. getOrgRobots
組織のロボットをリスト表示します。
GET /api/v1/organization/{orgname}/robots
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
18.10. getUserRobot
指定の名前のユーザーのロボットを返します。
GET /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.11. createUserRobot
指定の名前で新たなユーザーロボットを作成します。
PUT /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
名前 | 説明 | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
18.12. deleteUserRobot
既存のロボットを削除します。
DELETE /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.13. 認証フェデレーションロボットトークン
ロボットアイデンティティーフェデレーションメカニズムを使用して、期限切れのロボットトークンを返します。
oauth2/federation/robot/token の取得
認可: oauth2_implicit (robot:auth)
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 認証とトークン生成が成功しました | { "token": "string" } |
401 | Unauthorized: 認証が欠落しているか無効です | { "error": "string" } |
リクエストボディー
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
body |
auth_result | ロボットのアイデンティティーに関する情報を含む認証プロセスの結果。 | { "missing": "boolean", "error_message": "string", "context": { "robot": "RobotObject" } } |
コマンドの例
curl -X GET "https://quay-server.example.com/oauth2/federation/robot/token" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/oauth2/federation/robot/token" \
-H "Authorization: Bearer <your_access_token>"
18.14. createOrgRobotFederation
指定された組織ロボットのフェデレーション設定を作成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/federation
指定された組織ロボットのフェデレーション設定を取得します。
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path | orgname + robot_shortname 必須 | 組織名とロボットの短縮名 (ユーザー名や組織の接頭辞なし) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/organization/{orgname}/robots/{robot_shortname}/federation" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json"
$ curl -X POST "https://quay-server.example.com/api/v1/organization/{orgname}/robots/{robot_shortname}/federation" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json"
第19章 search
すべてのレジストリーコンテキストに対して検索を実行します。
19.1. conductRepoSearch
指定したクエリーに一致するアプリケーションおよびリポジトリーのリストを取得します。
GET /api/v1/find/repositories
認可:
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeUsage | 使用状況のメタデータを含めるかどうか。 | boolean |
query |
page | ページ。 | integer |
query |
query | 検索クエリー | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/find/repositories?query=<repo_name>&page=1&includeUsage=true" \ -H "Authorization: Bearer <bearer_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/find/repositories?query=<repo_name>&page=1&includeUsage=true" \
-H "Authorization: Bearer <bearer_token>"
19.2. conductSearch
指定したクエリーに一致するエンティティーおよびリソースのリストを取得します。
GET /api/v1/find/all
認可: oauth2_implicit (repo:read)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
query | 検索クエリー | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/find/all?query=<mysearchterm>" \ -H "Authorization: Bearer <bearer_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/find/all?query=<mysearchterm>" \
-H "Authorization: Bearer <bearer_token>"
19.3. getMatchingEntities
指定した接頭辞に一致するエンティティーのリストを取得します。
GET /api/v1/entities/{prefix}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prefix | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeOrgs | 組織名を含めるかどうか。 | boolean |
query |
includeTeams | チーム名を含めるかどうか。 | boolean |
query |
namespace | 組織エンティティーのクエリー時に使用する namespace。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/entities/<prefix>?includeOrgs=<true_or_false>&includeTeams=<true_or_false>&namespace=<namespace>" \ -H "Authorization: Bearer <bearer_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/entities/<prefix>?includeOrgs=<true_or_false>&includeTeams=<true_or_false>&namespace=<namespace>" \
-H "Authorization: Bearer <bearer_token>"
第20章 secscan
リポジトリーの脆弱性およびその他のセキュリティー情報をリスト表示および管理します。
20.1. getRepoManifestSecurity
GET /api/v1/repository/{repository}/manifest/{manifestref}/security
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
vulnerabilities | 脆弱性情報を含めます | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/manifest/<manifest_digest>/security?vulnerabilities=<true_or_false>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/manifest/<manifest_digest>/security?vulnerabilities=<true_or_false>"
第21章 superuser
スーパーユーザー API。
21.1. createInstallUser
新しいユーザーを作成します。
POST /api/v1/superuser/users/
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
ユーザー作成のデータ
名前 | 説明 | スキーマ |
---|---|---|
username | 作成されるユーザーの名前 | string |
email | 作成中のユーザーのメールアドレス | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"username": "newuser",
"email": "newuser@example.com"
}' "https://<quay-server.example.com>/api/v1/superuser/users/"
21.2. deleteInstallUser
ユーザーを削除します。
DELETE /api/v1/superuser/users/{username}
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
ユーザーを削除するためのデータ
名前 | 説明 | スキーマ |
---|---|---|
username | 削除するユーザーのユーザー名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/{username}"
$ curl -X DELETE -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/{username}"
21.3. listAllUsers
システム内の全ユーザーリストを返します。
GET /api/v1/superuser/users/
認可: oauth2_implicit (super:user)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
query |
disabled | false の場合には、有効なユーザーのみが返されます。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/"
21.4. listAllLogs
現在のシステムの使用状況ログをリスト表示します。
GET /api/v1/superuser/logs
認可: oauth2_implicit (super:user)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
page | ログのページ番号 | integer |
query |
endtime | 最後にログを取得した時間 (%m/%d/%Y %Z) | string |
query |
starttime | 最初にログを取得する時間 (%m/%d/%Y %Z) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/logs?starttime=<start_time>&endtime=<end_time>&page=<page_number>&next_page=<next_page_token>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/logs?starttime=<start_time>&endtime=<end_time>&page=<page_number>&next_page=<next_page_token>"
21.5. listAllOrganizations
現在のシステムの組織をリスト表示します。
GET /api/v1/superuser/organizations
認可: oauth2_implicit (super:user)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理対象の組織名 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/organizations/"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/organizations/"
21.6. createServiceKey
POST /api/v1/superuser/keys
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
サービスキーの作成の説明
名前 | 説明 | スキーマ |
---|---|---|
サービス | このキーで認証されるサービス | string |
name | サービスキーの判別しやすい名前 | string |
metadata | このキーのメタデータのキー/値のペア | object |
notes | 指定すると、キーにメモを追加で指定できます。 | string |
有効期限 | unix タイムスタンプとしての有効期限 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"service": "<service_name>",
"expiration": <unix_timestamp>
}' \
"<quay_server>/api/v1/superuser/keys"
21.7. listServiceKeys
GET /api/v1/superuser/keys
認可: oauth2_implicit (super:user)
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/keys"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys"
21.8. changeUserQuotaSuperUser
PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <NEW_QUOTA_LIMIT>
}'
21.9. deleteUserQuotaSuperUser
DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.10. createUserQuotaSuperUser
POST /api/v1/superuser/organization/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 10737418240
}'
21.11. listUserQuotaSuperUser
GET /api/v1/superuser/organization/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.12. changeOrganizationQuotaSuperUser
PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <NEW_QUOTA_LIMIT>
}'
21.13. deleteOrganizationQuotaSuperUser
DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.14. createOrganizationQuotaSuperUser
POST /api/v1/superuser/users/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <QUOTA_LIMIT>
}'
21.15. listOrganizationQuotaSuperUser
GET /api/v1/superuser/users/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.16. changeOrganization
指定したユーザーの情報を更新します。
PUT /api/v1/superuser/organizations/{name}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | 説明 | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか。 | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"email": "<contact_email>",
"invoice_email": <boolean_value>,
"invoice_email_address": "<invoice_email_address>",
"tag_expiration_s": <expiration_seconds>
}' \
"https://<quay_server>/api/v1/superuser/organizations/<organization_name>"
21.17. deleteOrganization
指定した組織を削除します。
DELETE /api/v1/superuser/organizations/{name}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/organizations/<organization_name>"
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/organizations/<organization_name>"
21.18. approveServiceKey
POST /api/v1/superuser/approvedkeys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの承認に関する情報
名前 | 説明 | スキーマ |
---|---|---|
notes | オプションの承認に関する注意事項 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"notes": "<approval_notes>"
}' \
"https://<quay_server>/api/v1/superuser/approvedkeys/<kid>"
21.19. deleteServiceKey
DELETE /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/keys/<kid>"
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.20. updateServiceKey
PUT /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの更新の説明
名前 | 説明 | スキーマ |
---|---|---|
name | サービスキーの判別しやすい名前 | string |
metadata | このキーのメタデータのキー/値のペア | object |
expiration | unix タイムスタンプとしての有効期限 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "<service_key_name>",
"metadata": {"<key>": "<value>"},
"expiration": <unix_timestamp>
}' \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.21. getServiceKey
GET /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/keys/<kid>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.22. getRepoBuildStatusSuperUser
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/superuser/{build_uuid}/status
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/status" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/status" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.23. getRepoBuildSuperUser
ビルドに関する情報を返します。
GET /api/v1/superuser/{build_uuid}/build
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/build" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/build" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.24. getRepoBuildLogsSuperUser
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/superuser/{build_uuid}/logs
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/logs" \ -H "Authorization: Bearer <ACCESS_TOKEN>"
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/logs" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.25. getRegistrySize
GET /api/v1/superuser/registrysize/
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
イメージレジストリーサイズの説明
名前 | 説明 | スキーマ |
---|---|---|
size_bytes* | 組織で許可されているバイト数 | integer |
last_ran | integer | |
queued | boolean | |
running | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | CREATED | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/registrysize/"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/registrysize/"
21.26. postRegistrySize
POST /api/v1/superuser/registrysize/
認可: oauth2_implicit (super:user)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
イメージレジストリーサイズの説明
名前 | 説明 | スキーマ |
---|---|---|
last_ran | integer | |
queued | boolean | |
running | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | CREATED | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/superuser/registrysize/" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/registrysize/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"namespace": "<namespace>",
"last_ran": 1700000000,
"queued": true,
"running": false
}'
第22章 tag
リポジトリーのタグを管理します。
22.1. restoreTag
リポジトリーの以前のイメージに、リポジトリータグを復元します。
POST /api/v1/repository/{repository}/tag/{tag}/restore
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
タグを特定のイメージに復元します。
名前 | 説明 | スキーマ |
---|---|---|
manifest_digest | 指定されている場合には、使用する必要があるマニフェストダイジェスト。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ --data '{
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": <manifest_digest>
}' \
quay-server.example.com/api/v1/repository/quayadmin/busybox/tag/test/restore
22.2. changeTag
タグが参照するイメージを変更するか、新規タグを作成します。
PUT /api/v1/repository/{repository}/tag/{tag}
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
特定のタグを変更します。
名前 | 説明 | スキーマ |
---|---|---|
manifest_digest | (指定されている場合) タグが参照すべきマニフェストダイジェスト | |
expiration | (指定されている場合) イメージの有効期限 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ --data '{
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": "<manifest_digest>"
}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/<tag>
22.3. deleteFullTag
指定したリポジトリータグを削除します。
DELETE /api/v1/repository/{repository}/tag/{tag}
認可: oauth2_implicit (repo:write)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \
-H "Authorization: Bearer <your_access_token>"
22.4. listRepoTags
GET /api/v1/repository/{repository}/tag/
認可: oauth2_implicit (repo:read)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
onlyActiveTags | アクティブなタグだけに絞り込みます。 | boolean |
query |
page | 結果のページインデックス。デフォルトは 1 です。 | integer |
query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
query |
filter_tag_name | 構文: <op>:<name> 操作に基づいてタグ名をフィルターします。<op> には 'like' または 'eq' を指定できます。 | string |
query |
specificTag | 特定のタグだけに絞り込みます。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/
第23章 team
組織のチームを作成、リスト表示、および管理します。
23.1. getOrganizationTeamPermissions
組織のチームのリポジトリーパーミッションのリストを返します。
GET /api/v1/organization/{orgname}/team/{teamname}/permissions
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"
$ curl -X GET \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"
23.2. updateOrganizationTeamMember
既存のチームにメンバーを追加または調整します。
PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
membername | チームメンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
$ curl -X PUT \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
23.3. deleteOrganizationTeamMember
チームのメンバーを削除します。
If the user is merely invited to join the team, then the invite is removed instead.
If the user is merely invited to join the team, then the invite is removed instead.
DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
membername | チームメンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
23.4. getOrganizationTeamMembers
指定したチームのメンバーのリストを取得します。
GET /api/v1/organization/{orgname}/team/{teamname}/members
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includePending | 保留中のメンバーを含めるかどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members"
$ curl -X GET \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members"
23.5. inviteTeamMemberEmail
既存のチームに招待するメールアドレスを追加します。
PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
email | string | |
path |
teamname | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
$ curl -X PUT \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
23.6. deleteTeamMemberEmailInvite
チームへの参加を招待するメールアドレスを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
email | string | |
path |
teamname | string | |
path |
orgname | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
+
curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
23.7. updateOrganizationTeam
指定したチームの組織全体のパーミッションを更新します。
この API はチームの作成にも使用されます。
PUT /api/v1/organization/{orgname}/team/{teamname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
チームの説明
名前 | 説明 | スキーマ |
---|---|---|
role | チームに適用する必要のある組織全体のパーミッション | string |
description | チームの Markdown の説明 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -k -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer <bearer_token>" --data '{"role": "creator"}' https://<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>
$ curl -k -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer <bearer_token>" --data '{"role": "creator"}' https://<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>
23.8. deleteOrganizationTeam
指定したチームを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}
認可: oauth2_implicit (org:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"
第24章 trigger
ビルドトリガーを作成、リスト表示、管理します。
24.1. activateBuildTrigger
指定したビルドトリガーをアクティブにします。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
名前 | 説明 | スキーマ |
---|---|---|
config | 任意の json | object |
pull_robot | イメージのプルに使用するロボットの名前 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/activate" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/activate" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"config": {
"branch": "main"
},
"pull_robot": "example+robot"
}'
24.2. listTriggerRecentBuilds
指定したトリガーで開始するビルドをリスト表示します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | 返すビルドの最大数 | integer |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/builds?limit=10" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/builds?limit=10" \
-H "Authorization: Bearer <your_access_token>"
24.3. manuallyStartBuildTrigger
指定したトリガーからビルドを手動で開始します。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーをアクティベートするための実行パラメーター (任意)
名前 | 説明 | スキーマ |
---|---|---|
branch_name | (SCM のみ) 指定した場合のビルドするブランチの名前。 | string |
commit_sha | (カスタムのみ) 指定されている場合は、git リポジトリーのチェックアウトに使用する ref/SHA1。 | string |
refs | (SCM のみ) 指定されている場合のビルドの ref。 |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/start" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/start" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"branch_name": "main",
"commit_sha": "abcdef1234567890",
"refs": "refs/heads/main"
}'
24.4. getBuildTrigger
指定したビルドトリガーの情報を取得します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>"
24.5. updateBuildTrigger
指定したビルドトリガーを更新します。
PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーを更新するオプション
名前 | 説明 | スキーマ |
---|---|---|
enabled | ビルドトリガーが有効かどうか。 | boolean |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X PUT "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{"enabled": true}'
$ curl -X PUT "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
24.6. deleteBuildTrigger
指定したビルドトリガーを削除します。
DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>"
24.7. listBuildTriggers
指定したリポジトリーのトリガーをリスト表示します。
GET /api/v1/repository/{repository}/trigger/
認可: oauth2_implicit (repo:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/" \
-H "Authorization: Bearer <your_access_token>"
第25章 user
現行ユーザーを管理します。
25.1. createStar
リポジトリーを表示します。
POST /api/v1/user/starred
認可: oauth2_implicit (repo:read)
要求の body スキーマ (application/json)
名前 | 説明 | スキーマ |
---|---|---|
namespace | リポジトリーが属する namespace | string |
repository | Repository name | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X POST "https://quay-server.example.com/api/v1/user/starred" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{
$ curl -X POST "https://quay-server.example.com/api/v1/user/starred" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"namespace": "<namespace>",
"repository": "<repository_name>"
}'
25.2. listStarredRepos
星付きのリポジトリーをすべてリスト表示します。
GET /api/v1/user/starred
認可: oauth2_implicit (user:admin)
クエリーパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/user/starred?next_page=<next_page_token>" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/starred?next_page=<next_page_token>" \
-H "Authorization: Bearer <your_access_token>"
25.3. getLoggedInUser
認証ユーザーのユーザー情報を取得します。
GET /api/v1/user/
認可: oauth2_implicit (user:read)
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/user/" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/" \
-H "Authorization: Bearer <your_access_token>"
25.4. deleteStar
リポジトリーから星を削除します。
DELETE /api/v1/user/starred/{repository}
認可: oauth2_implicit (user:admin)
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X DELETE "https://quay-server.example.com/api/v1/user/starred/namespace/repository-name" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X DELETE "https://quay-server.example.com/api/v1/user/starred/namespace/repository-name" \
-H "Authorization: Bearer <your_access_token>"
25.5. getUserInformation
指定したユーザーのユーザー情報を取得します。
GET /api/v1/users/{username}
認可:
パスパラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 見つからない |
コマンドの例
curl -X GET "https://quay-server.example.com/api/v1/users/example_user" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/users/example_user" \
-H "Authorization: Bearer <your_access_token>"
第26章 定義
26.1. ApiError
名前 | 説明 | スキーマ |
---|---|---|
status | 応答のステータスコード | integer |
type | エラーのタイプへの参照。 | string |
detail | エラーの特定インスタンスの詳細。 | string |
title | エラーのタイプを識別する一意のエラーコード。 | string |
error_message | 非推奨。 | string |
error_type | 非推奨。 | string |
26.2. UserView
名前 | 説明 | スキーマ |
---|---|---|
verified | ユーザーのメールアドレスが検証済みかどうか。 | boolean |
anonymous | このユーザーデータがゲストユーザーを表す場合は True | boolean |
email | ユーザーのメールアドレス | string |
avatar | ユーザーのアイコンを表すアバターデータ | object |
organizations | ユーザーがメンバーとなっている組織に関する情報 |
object の配列。 |
logins | ユーザーが認証された外部ログインプロバイダーのリスト |
object の配列。 |
can_create_repo | ユーザーにリポジトリー作成のパーミッションが割り当てられているかどうか。 | boolean |
preferred_namespace | true の場合、ユーザーの namespace が表示されることが優先される namespace。 | boolean |
26.3. ViewMirrorConfig
名前 | 説明 | スキーマ |
---|---|---|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
external_reference | 外部リポジトリーの場所。 | string |
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
external_registry_config | object |
26.4. ApiErrorDescription
名前 | 説明 | スキーマ |
---|---|---|
type | エラータイプリソースへの参照。 | string |
title | エラーのタイトル。エラーの種類を一意に識別するために使用できます。 | string |
description | 問題の修正時に役立つ可能性のある詳細な説明。 | string |