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 についてさらに詳しく説明し、以下のトピックの詳細を示します。
- OAuth 2 アクセストークンと、従来の API トークンおよび Red Hat Quay のロボットトークンとの比較
- OAuth 2 アクセストークンの生成
- トークン管理のベストプラクティス
- OAuth 2 アクセストークンの機能
- Red Hat Quay API の使用
- Red Hat Quay API 設定例
第1章 Red Hat Quay OAuth 2.0 トークンの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay OAuth 2 トークンシステムは、Red Hat Quay の API やその他の関連リソースにアクセスするための安全で標準ベースの方法を提供します。OAuth 2 トークンベースのアプローチは、複雑な環境での認証と認可を処理するための安全な方法として使用できます。従来の API トークンと比較して、Red Hat Quay の OAuth 2 トークンシステムでは、次のように機能が拡張されています。
- OAuth 2.0 プロトコル に準拠した標準ベースのセキュリティー。
- OAuth 2 トークンが存在するアプリケーションを削除し、アクセスを取り消すことができます。
- アクセス制御の設定を詳細に指定できるため、Red Hat Quay 管理者はトークンに特定の権限を割り当てることができます。
- 委譲アクセス。これにより、サードパーティーのアプリケーションやサービスがユーザーに代わって動作できるようになります。
- 将来を見据えた設計により、Red Hat Quay が他のサービス、プラットフォーム、統合との互換性を維持できるようになります。
Red Hat Quay は、主に OAuth 2 アクセストークンとロボットアカウントトークンという 2 種類のトークンをサポートします。3 番目のトークンタイプである OCI リファラーアクセストークン (リポジトリーの下にあるマニフェストの OCI リファラーの表示に必要) も、必要に応じて使用できます。
次の章では、各トークンタイプの詳細と生成方法について説明します。
第2章 OAuth 2 アクセストークン リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2 アクセストークン (Red Hat Quay では "API トークン" と見なされます) を使用すると、ユーザーアイデンティティー検証を必要とするアプリケーションに適した、Red Hat Quay API へのユーザー認証アクセスが可能になります。これらのトークンは、OAuth 2 認可プロセスを通じて取得されます。このプロセスでは、Red Hat Quay 管理者が自分自身または別のユーザーに代わってトークンを生成し、Red Hat Quay API エンドポイントにアクセスします。OAuth 2 トークンは、トークンに定義されたスコープに基づいて、API エンドポイントでのアクションを承認します。
OAuth 2 トークンはトークンに定義されたスコープに基づいて API エンドポイントでのアクションを承認しますが、リソース自体へのアクセスは Red Hat Quay のロールベースアクセス制御 (RBAC) メカニズムによって管理されます。対象の名前空間に対して適切なロール (Admin または Creator) がある場合は、リポジトリーなどのリソースに対してアクションを作成できます。これは、API トークンに repo:admin スコープが付与されている場合でも当てはまります。
OAuth 2 アクセストークンは、Red Hat Quay UI を使用してのみ作成できます。CLI を使用して OAuth 2 アクセストークンを作成する方法はありません。OAuth 2 トークンを作成するときに、トークン所有者に対して次のオプションを選択できます。
- Administer Organization。選択すると、ユーザーはロボットの作成、チームの作成、チームメンバーシップの調整、課金設定の変更など、組織を管理できるようになります。
- Administer Repositories。選択すると、権限を付与したユーザーがアクセスできるすべてのリポジトリーへのユーザー管理者アクセスが提供されます。
- Create Repositories。選択すると、権限を付与したユーザーがリポジトリーの作成を許可されている任意の名前空間にリポジトリーを作成できるようになります。
- View all visible repositories。選択すると、権限を付与したユーザーに表示されるすべてのリポジトリーを表示しする権限およびプルする権限がユーザーに付与されます。
- Read/Write to any accessible repositories。選択すると、権限を付与したユーザーが書き込みアクセス権を持つすべてのリポジトリーを表示、プッシュ、プルする機能がユーザーに割り当てられます。
- Super User Access。選択すると、ユーザーの管理、組織の管理、スーパーユーザーパネルにあるその他の機能など、インストールを管理する権限がユーザーに付与されます。
- Administer User。選択すると、ロボットの作成やリポジトリーへの権限の付与など、アカウントを管理する権限がユーザーに付与されます。
- Read User Information。選択すると、ユーザー名やメールアドレスなどのユーザー情報を読み取る機能がユーザーに付与されます。
トークンディストリビューターは、ユーザーに代わってトークンを生成するときに付与する権限に注意する必要があります。ユーザーを完全に信頼できることを確認してから、Administer organization、Super User Access、および Administer User などの権限を付与する必要があります。また、アクセストークンは作成時にのみ公開され、CLI から一覧表示できず、Red Hat Quay UI で表示することもできません。アクセストークンを紛失したり忘れたりした場合は、新しいトークンを作成する必要があります。トークンを復元することはできません。
OAuth 2 アクセストークンは、API 呼び出しの Authorization ヘッダーで Bearer トークンとして渡され、イメージタグ、リポジトリー、組織などの定義された API エンドポイントに認証と認可を提供するために使用されます。
API は、Red Hat Quay ホストの /api/v1 エンドポイントから使用できます。たとえば、https://<quay-server.example.com>/api/v1 です。Swagger UI を有効にすると、ユーザーがブラウザー経由でエンドポイントに接続し、Red Hat Quay の設定を GET、POST、DELETE、PUT できるようになります。API は、API 呼び出しを実行して OAuth トークンを使用するアプリケーションからアクセスでき、JSON としてデータを送受信します。
Red Hat Quay では現在、OAuth 2 アクセストークンに有効期限をローテーションまたは設定する方法はなく、トークンの有効期間は 10 年です。トークンが不正使用された場合、トークンが作成されたアプリケーションを削除して、トークンを削除できますが、この操作により、その特定のアプリケーション内で作成されたすべてのトークンが削除されます。
実際には、Red Hat Quay 管理者は、ユーザー用に新しい OAuth トークンを作成するたびに、組織の Applications ページで新しい OAuth アプリケーションを作成 できます。これにより、単一のアプリケーションがすべての OAuth トークンを管理する必要がなくなります。その結果、ユーザーのトークンが不正使用された場合、管理者は不正使用されたトークンのアプリケーションを削除します。これにより、同じアプリケーションの中に含まれる可能性のあるトークンを使用する他のユーザーの混乱を回避するのに役立ちます。
次のセクションでは、OAuth 2 アクセストークンを生成して再割り当てする方法を説明します。
2.1. OAuth 2 アクセストークンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay では、組織の API エンドポイントにアクセスする前に、OAuth 2 アクセストークンを作成する必要があります。OAuth 2 アクセストークンは、Red Hat Quay UI を使用してのみ生成できます。CLI を使用して OAuth 2 アクセストークンを生成することはできません。
OAuth2 アクセストークンを作成するには、次の手順を実行します。
前提条件
- Red Hat Quay に管理者としてログインしている。
- OAuth 2 アプリケーションを作成した。
手順
- メインページで、Organization を選択します。
- ナビゲーションペインで、Applications を選択します。
- アプリケーションの名前 (例: Test application) をクリックします。
- ナビゲーションペインで、Generate Token を選択します。
次のオプションのチェックボックスをオンにします。
- Administer Organization。選択すると、ユーザーはロボットの作成、チームの作成、チームメンバーシップの調整、課金設定の変更など、組織を管理できるようになります。
- Administer Repositories。選択すると、権限を付与したユーザーがアクセスできるすべてのリポジトリーへのユーザー管理者アクセスが提供されます。
- Create Repositories。選択すると、権限を付与したユーザーがリポジトリーの作成を許可されている任意の名前空間にリポジトリーを作成できるようになります。
- View all visible repositories。選択すると、権限を付与したユーザーに表示されるすべてのリポジトリーを表示しする権限およびプルする権限がユーザーに付与されます。
- Read/Write to any accessible repositories。選択すると、権限を付与したユーザーが書き込みアクセス権を持つすべてのリポジトリーを表示、プッシュ、プルする機能がユーザーに割り当てられます。
- Super User Access。選択すると、ユーザーの管理、組織の管理、スーパーユーザーパネルにあるその他の機能など、インストールを管理する権限がユーザーに付与されます。
- Administer User。選択すると、ロボットの作成やリポジトリーへの権限の付与など、アカウントを管理する権限がユーザーに付与されます。
- Read User Information。選択すると、ユーザー名やメールアドレスなどのユーザー情報を読み取る機能がユーザーに付与されます。
- Generate Access Token をクリックします。新しいページにリダイレクトされます。
- 許可する権限を確認し、Authorize Application をクリックします。Authorize Application をクリックして決定した内容を確定します。
Access Token ページにリダイレクトされます。アクセストークンをコピーして保存します。
重要これは、アクセストークンをコピーして保存する唯一の機会です。このページを離れると再取得できません。
2.2. OAuth アクセストークンの再割り当て リンクのコピーリンクがクリップボードにコピーされました!
組織管理者は、特定の権限を持つ他のユーザーによって作成されるように OAuth API トークンを割り当てることができます。これにより、OAuth API トークンを作成する組織管理者権限を持たないユーザーがトークンを使用した場合でも、監査ログが正確に反映されるようになります。
次の手順は、現在の Red Hat Quay UI でのみ機能します。現在、Red Hat Quay v2 UI には実装されていません。
前提条件
組織管理者権限を持つユーザーとしてログインしており、OAuth API トークンを割り当てることができる。
注記OAuth API トークンは、認可ではなく認証に使用されます。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Adminチームロールを持っている必要があります。詳細は、リポジトリーへのアクセスの管理 を参照してください。
手順
オプション: まだ更新していない場合は、Red Hat Quay
config.yamlファイルを更新して、FEATURE_ASSIGN_OAUTH_TOKEN: trueフィールドを含めます。# ... FEATURE_ASSIGN_OAUTH_TOKEN: true # ...
# ... FEATURE_ASSIGN_OAUTH_TOKEN: true # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: Red Hat Quay レジストリーを再起動します。
- 組織管理者として Red Hat Quay レジストリーにログインします。
- OAuth トークンを作成した組織の名前をクリックします。
- ナビゲーションペインで、Applications をクリックします。
- 適切なアプリケーション名をクリックします。
- ナビゲーションペインで、Generate Token をクリックします。
- Assign another user をクリックし、OAuth トークンを引き継ぐユーザーの名前を入力します。
新しいユーザーに付与する必要な権限のボックスをオンにします。たとえば、新しいユーザーにリポジトリーの作成のみを許可する場合は、Create Repositories クリックします。
重要権限の制御は、組織内のチームロールによって定義され、ここで選択したオプションに関係なく設定する必要があります。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Adminチームロールを持っている必要があります。Super User Access ボックスをオンにしただけでは、この権限がユーザーに実際に付与されるわけではありません。
config.yamlファイルでスーパーユーザーを設定する必要があり、かつ ここでボックスをオンにする必要があります。Assign token をクリックします。ポップアップボックスに、認可を確認する次のメッセージと、承認される権限が表示されます。
This will prompt user <username> to generate a token with the following permissions: repo:create
This will prompt user <username> to generate a token with the following permissions: repo:createCopy to Clipboard Copied! Toggle word wrap Toggle overflow ポップアップボックスで Assign token をクリックします。新しいページにリダイレクトされ、次のメッセージが表示されます。
Token assigned successfully
Token assigned successfullyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- OAuth トークンを再割り当てした後、割り当てられたユーザーがトークンを受け入れて、API エンドポイントの使用に必要なベアラートークンを受け取る必要があります。割り当てられたユーザーに、Red Hat Quay レジストリーにログインするよう依頼します。
- ユーザーは、ログインしたら、Users and Organizations の下にある自分のユーザー名をクリックする必要があります。
- ナビゲーションペインで、External Logins And Applications をクリックする必要があります。
- Authorized Applications の下で、Authorize Application をクリックしてアプリケーションを確認する必要があります。新しいページに移動し、Authorize Application をクリックして再確認する必要があります。
- ユーザーは、ベアラートークンが表示される新しいページにリダイレクトされます。このベアラートークンは再度表示することはできないため、保存する必要があります。
2.3. OAuth 2 アクセストークンの削除 リンクのコピーリンクがクリップボードにコピーされました!
OAuth 2 アクセストークンは OAuth アプリケーションを通じて作成されるため、ローテーションまたは更新することはできません。トークンが侵害された場合、またはトークンを削除する必要がある場合は、Red Hat Quay UI を通じて関連付けられているアプリケーションを削除する必要があります。
アプリケーションを削除すると、そのアプリケーション内で作成されたすべてのトークンが削除されます。注意して使用してください。
前提条件
- OAuth 2 アクセストークンを作成した。
手順
- Red Hat Quay UI で、アプリケーションをホストしている組織の名前をクリックします。次に、ナビゲーションペインで Applications をクリックします。
- アプリケーション名 (例: Test application) をクリックします。
- ナビゲーションペインで、Delete Application をクリックします。新しいページにリダイレクトされます。Delete application をクリックして確認します。
第3章 ロボットアカウントトークン リンクのコピーリンクがクリップボードにコピーされました!
ロボットアカウント トークン は、通常の Docker v2 エンドポイント経由で Red Hat Quay レジストリーにアクセスするために使用される パスワードタイプ の認証情報です。パスワード自体は暗号化されているため、UI 上で トークン として定義されます。
ロボットアカウントトークンは、自動化および継続的インテグレーションワークフロー向けに設計された永続的なトークンです。デフォルトでは、Red Hat Quay のロボットアカウントトークンは期限切れにならず、ユーザーの操作も必要ありません。そのため、ロボットアカウントは非対話型のユースケースに最適です。
ロボットアカウントトークンは、ロボットの作成時に自動的に生成され、ユーザー固有ではありません。つまり、作成されたユーザーと組織の名前空間に接続されます。たとえば、project_tools+<robot_name> という名前のロボットは project_tools 名前空間に関連付けられます。
ロボットアカウントトークンを使用すると、ユーザーの個人認証情報を必要とせずにアクセスが可能になります。ロボットアカウントがどのように設定されているか (例: READ、WRITE、または ADMIN 権限のいずれか) によって、最終的にロボットアカウントが実行できるアクションが決まります。
ロボットアカウントトークンは永続的であり、デフォルトでは期限切れにならないため、手動で更新せずに Red Hat Quay に常にアクセスする必要がある自動ワークフローに最適です。ただし、ロボットアカウントトークンは UI を使用して簡単に再生成できます。CLI 経由で適切な API エンドポイントを使用して再生成することもできます。Red Hat Quay デプロイメントのセキュリティーを強化するために、管理者はロボットアカウントトークンを定期的に更新する必要があります。さらに、ロボットアカウントを使用したキーレス認証 機能により、ロボットアカウントトークンを外部 OIDC トークンと交換して 1 時間のみ有効化できるため、レジストリーのセキュリティーが強化されます。
名前空間が削除されたり、ロボットアカウント自体が削除されたりすると、コレクターの実行がスケジュールされているときにガベージコレクションが行われます。
次のセクションでは、API を使用して組織ロボットとユーザーロボットのロボットアカウントトークンを再生成する方法を説明します。
3.1. Red Hat Quay UI を使用したロボットアカウントトークンの再生成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay UI を使用してロボットアカウントトークンを再生成するには、次の手順に従います。
前提条件
- Red Hat Quay にログインしている。
手順
- 組織名をクリックします。
- ナビゲーションウィンドウで、Robot accounts をクリックします。
- ロボットアカウントの名前 (例: testorg3+test) をクリックします。
- ポップアップボックスで Regenerate token をクリックします。
3.2. Red Hat Quay API を使用したロボットアカウントトークンの再生成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用してロボットアカウントトークンを再生成するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
次のコマンドを入力して、
POST /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"
$ curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "test-org+test", "created": "Fri, 10 May 2024 17:46:02 -0000", "last_accessed": null, "description": "", "token": "<example_secret>"}{"name": "test-org+test", "created": "Fri, 10 May 2024 17:46:02 -0000", "last_accessed": null, "description": "", "token": "<example_secret>"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
POST /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"
$ curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "quayadmin+test", "created": "Fri, 10 May 2024 14:12:11 -0000", "last_accessed": null, "description": "", "token": "<example_secret>"}{"name": "quayadmin+test", "created": "Fri, 10 May 2024 14:12:11 -0000", "last_accessed": null, "description": "", "token": "<example_secret>"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 OCI リファラー OAuth アクセストークン リンクのコピーリンクがクリップボードにコピーされました!
場合によっては、Red Hat Quay デプロイメントで使用するように設定されている機能に応じて、OCI リファラー OAuth アクセストークン を活用する必要があります。OCI リファラー OAuth アクセストークンは、リポジトリー下のマニフェストの OCI リファラーをリスト表示するために使用され、curl コマンドを使用して Red Hat Quay v2/auth エンドポイントに GET リクエストを送信します。
これらのトークンは Basic HTTP 認証によって取得されます。ユーザーは Base64 でエンコードされたユーザー名とパスワードを使用し、v2/auth API エンドポイントで直接認証します。そのため、このトークンはユーザーの認証情報に直接基づいており、OAuth 2 と同じ詳細な認可フローには従いませんが、ユーザーは API リクエストを承認できます。
OCI リファラー OAuth アクセストークン は、スコープベースの権限を提供せず、有効期限もありません。これらは、リポジトリーの下にあるマニフェストの OCI リファラーをリストするためにのみ使用されます。
関連情報
4.1. OCI リファラー OAuth アクセストークンの作成 リンクのコピーリンクがクリップボードにコピーされました!
この OCI リファラー OAuth アクセストークンは、リポジトリーの下にあるマニフェストの OCI リファラーをリスト表示するために使用されます。
手順
config.yamlファイルを更新して、FEATURE_REFERRERS_API: trueフィールドを含めます。以下に例を示します。# ... FEATURE_REFERRERS_API: true # ...
# ... FEATURE_REFERRERS_API: true # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力し、認証情報を Base64 でエンコードします。
echo -n '<username>:<password>' | base64
$ echo -n '<username>:<password>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
abcdeWFkbWluOjE5ODlraWROZXQxIQ==
abcdeWFkbWluOjE5ODlraWROZXQxIQ==Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、base64 でエンコードされた文字列を使用し、URL エンドポイントを Red Hat Quay サーバーに変更します。
curl --location '<quay-server.example.com>/v2/auth?service=<quay-server.example.com>&scope=repository:quay/listocireferrs:pull,push' --header 'Authorization: Basic <base64_username:password_encode_token>' -k | jq
$ curl --location '<quay-server.example.com>/v2/auth?service=<quay-server.example.com>&scope=repository:quay/listocireferrs:pull,push' --header 'Authorization: Basic <base64_username:password_encode_token>' -k | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{ "token": "<example_secret> }{ "token": "<example_secret> }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 Red Hat Quay API の有効化と使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を活用することで、コンテナーレジストリー管理を合理化し、タスクを自動化し、Red Hat Quay の機能を既存のワークフローに統合できます。これにより、効率と柔軟性 (リポジトリー管理、ユーザー管理、ユーザー権限、イメージ管理など) が向上し、組織やリポジトリー、あるいは全体的なデプロイメントの安定性などが向上します。
次のセクションでは、Red Hat Quay API を有効にして使用する方法について説明します。
5.1. API 呼び出しを受け付けるように Red Hat Quay を設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用する前に、config.yaml ファイルで BROWSER_API_CALLS_XHR_ONLY を無効にする必要があります。これにより API calls must be invoked with an X-Requested-With header if called from a browser などのエラーを回避できます。
手順
Red Hat Quay
config.yamlファイルで、BROWSER_API_CALLS_XHR_ONLYをfalseに設定します。以下に例を示します。# ... BROWSER_API_CALLS_XHR_ONLY: false # ...
# ... BROWSER_API_CALLS_XHR_ONLY: false # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Quay デプロイメントを再起動します。
5.2. Red Hat Quay API の使用 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを作成し、必要な設定で OAuth 2 アクセストークンを生成したら、CLI から API を使用して、アクセストークンを GET、PUT、POST、または DELETE 設定に渡すことができます。通常、Red Hat Quay API コマンドは次の例のようになります。
curl -X GET -H "Authorization: Bearer <your_access_token>"
https://<quay-server.example.com>/api/v1/<example>/<endpoint>/
$ curl -X GET -H "Authorization: Bearer <your_access_token>"
https://<quay-server.example.com>/api/v1/<example>/<endpoint>/
すべての Red Hat Quay API については、アプリケーションプログラミングインターフェイス (API) の章を参照してください。記載内容を理解することは、呼び出しを成功させるために非常に重要です。たとえば、createAppToken API エンドポイントの次のエントリーがあります。
API エンドポイントを使用するには、アクセストークンを渡し、必要に応じて適切なフィールドを含めます。次の手順は、POST/api/v1/user/apptoken エンドポイントの使用方法を示しています。
前提条件
- Red Hat Quay API にアクセスできる。そのためには、OAuth 2 アクセストークンが作成済みでなければなりません。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
POST /api/v1/user/apptokenAPI 呼び出しを入力して、ユーザーアプリケーションを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Red Hat Quay UI のナビゲーションペインでユーザー名をクリックし、Account Settings をクリックします。アプリケーションの名前は、Docker CLI and other Application Tokens の見出しの下に表示されます。以下に例を示します。
5.3. API を使用した Red Hat Quay プロセスの自動化 リンクのコピーリンクがクリップボードにコピーされました!
API を使用すると、Red Hat Quay 管理者と API にアクセスできるユーザーは、リポジトリー管理やイメージのプルーニングなどの反復タスクを自動化できます。
次の例は、Python スクリプトと cron ジョブを使用して、管理者のトークン 以外 の OAuth 2 アプリケーションの削除を自動化する方法を示しています。これは、OAuth 2 アクセストークンに関連付けられたアプリケーションが一定期間後に確実に循環されるようにする場合に役立ちます。
前提条件
- Red Hat Quay API にアクセスできる。そのためには、OAuth 2 アクセストークンが作成済みでなければなりません。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。 -
Python
requestsライブラリーをインストールした。 - マシン上で cron ジョブを有効化した。
- 削除されないものも含め、複数の組織アプリケーションを作成した。
手順
API コマンドを実行する Python スクリプトを作成します。以下の例は、
DELETE /api/v1/organization/{orgname}/applications/{client_id} API エンドポイントを使用して組織アプリケーションを削除するために使用されます。example.py ファイル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
スクリプトを
prune_applications.pyとして保存します。 スクリプトを自動的に実行する cron ジョブを作成します。
次のコマンドを実行して、crontab エディターを開きます。
crontab -e
$ crontab -eCopy to Clipboard Copied! Toggle word wrap Toggle overflow エディターで、スクリプトを実行するための cron ジョブを追加します。次の例では、スクリプトを月に 1 回実行します。
0 0 1 * * sudo python /path/to/prune_images.py >> /var/log/prune_images.log 2>&1
0 0 1 * * sudo python /path/to/prune_images.py >> /var/log/prune_images.log 2>&1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 Red Hat Quay API の例 リンクのコピーリンクがクリップボードにコピーされました!
この章の残りの部分では、API が使用可能な機能における Red Hat Quay API の例を示します。
6.1. API を使用してユーザーアプリケーションを管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay ユーザーは、Docker、Podman、またはその他のサービスプロバイダーのパスワードの代わりに使用できる ユーザーアプリケーション の作成、情報のリスト表示、削除を実行できます。ユーザーアプリケーショントークンはユーザー名とパスワードと同じように機能しますが、暗号化されており、Red Hat Quay に誰がアクセスしているかに関する情報を第三者に提供しません。
CLI 経由で作成したユーザーアプリケーショントークンは、Red Hat Quay UI の User Settings の下に表示されます。これは、ユーザー設定で作成されるアプリケーショントークンとは異なり、まったく別のアプリケーションとして扱う必要があることに注意してください。
ユーザーアプリケーショントークンを作成するには、次の手順に従います。
前提条件
- OAuth 2 アクセストークンを作成した。
手順
POST /api/v1/user/apptokenAPI 呼び出しを入力して、ユーザーアプリケーションを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/user/apptokenコマンドを使用すると、アプリケーションの有効期限など、アプリケーションに関する情報を取得できます。以下に例を示します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"tokens": [{"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null}], "only_expiring": null}{"tokens": [{"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null}], "only_expiring": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /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>"
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /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>"
$ curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。前述のコマンドのいずれかを入力すると、トークンのリストを返すことができます。
6.2. Red Hat Quay API エンドポイントの検出 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントは、API を使用して検出できます。
利用可能な API エンドポイントを検出するには、次の手順に従います。
前提条件
- OAuth 2 アクセストークンを作成した。
手順
Swagger API 形式で使用可能なすべての API エンドポイントをリスト表示するには、次の
GET /api/v1/discoverycurl -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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
--- : "Manage the tags of a repository."}, {"name": "team", "description": "Create, list and manage an organization's teams."}, {"name": "trigger", "description": "Create, list and manage build triggers."}, {"name": "user", "description": "Manage the current user."}, {"name": "userfiles", "description": ""}]} ------ : "Manage the tags of a repository."}, {"name": "team", "description": "Create, list and manage an organization's teams."}, {"name": "trigger", "description": "Create, list and manage build triggers."}, {"name": "user", "description": "Manage the current user."}, {"name": "userfiles", "description": ""}]} ---Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. Red Hat Quay API エラーの詳細を取得する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エラーの詳細は、API を使用して検出できます。
エラーの詳細を確認するには、次の手順に従います。
前提条件
- OAuth 2 アクセストークンを作成した。
手順
GET /api/v1/error/{error_type}エンドポイントを入力すると、API のエラーの詳細を取得できます。次のいずれかのエラーコードを含める必要があることに注意してください。Expand 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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
curl: (7) Failed to connect to quay-server.example.com port 443 after 0 ms: Couldn't connect to server
curl: (7) Failed to connect to quay-server.example.com port 443 after 0 ms: Couldn't connect to serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. グローバルメッセージ リンクのコピーリンクがクリップボードにコピーされました!
グローバルメッセージは、Red Hat Quay API を使用して作成、取得、または削除できます。グローバルメッセージを作成、取得、または削除するには、次の手順に従います。
前提条件
- OAuth 2 アクセストークンを作成した。
手順
POST /api/v1/messageエンドポイントを使用してメッセージを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
GET /api/v1/messagesコマンドを使用して、グローバルメッセージのリストを返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"messages": [{"uuid": "ecababd4-3451-4458-b5db-801684137444", "content": "Hi", "severity": "info", "media_type": "text/plain"}]}{"messages": [{"uuid": "ecababd4-3451-4458-b5db-801684137444", "content": "Hi", "severity": "info", "media_type": "text/plain"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/message/{uuid}エンドポイントを使用して、グローバルメッセージを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.5. API を使用した使用状況ログの表示す リンクのコピーリンクがクリップボードにコピーされました!
API を使用して、組織またはリポジトリー別にログを表示できます。ログは、集約 (グループ化) したり、より詳細にリスト表示したりすることもできます。ユーザー別、特定の日付範囲別、またはページ別に表示することもできます。
6.5.1. 集約されたログの表示 リンクのコピーリンクがクリップボードにコピーされました!
集約されたログは、組織、リポジトリー、特定のユーザー、または現在のユーザー別に表示できます。結果をフィルタリングするために、performer、starttime/endtime、next_page などのオプションのコマンドを渡すこともできます。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
GET /api/v1/user/aggregatelogsAPI エンドポイントを使用して、現在のユーザーの集約(またはグループ化)ログを返します。curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "https://<quay-server.example.com>/api/v1/user/aggregatelogs"
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "https://<quay-server.example.com>/api/v1/user/aggregatelogs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"aggregated": [{"kind": "create_tag", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "manifest_label_add", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "push_repo", "count": 2, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "revert_tag", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}]}{"aggregated": [{"kind": "create_tag", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "manifest_label_add", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "push_repo", "count": 2, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}, {"kind": "revert_tag", "count": 1, "datetime": "Tue, 18 Jun 2024 00:00:00 -0000"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、
performerとstarttime/endtimeクエリーを渡して、特定期間における特定のユーザーの集約されたログを取得することもできます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 集計ログは、
GET /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"$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "<quay-server.example.com>/api/v1/organization/{orgname}/aggregatelogs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 集計ログは、
GET /api/v1/repository/{repository}/aggregatelogs コマンドを使用してリポジトリーで表示することもできます。次の例には、starttime/endtimeフィールドが含まれています。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""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5.2. 詳細なログの表示 リンクのコピーリンクがクリップボードにコピーされました!
詳細なログは、組織、リポジトリー、特定のユーザー、または現在のユーザー別に表示できます。結果をフィルタリングするために、performer、starttime/endtime、next_page などのオプションのフィールドを渡すこともできます。
手順
GET /api/v1/user/logsAPI エンドポイントを使用して、ユーザーのログエントリーの一覧を返します。以下に例を示します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、
performerとstartime/endtimeクエリーを渡して、特定期間における特定のユーザーのログを取得することもできます。以下に例を示します。curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" "http://quay-server.example.com/api/v1/user/logs?performer=quayuser&starttime=01/01/2024&endtime=06/18/2024"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" "http://quay-server.example.com/api/v1/user/logs?performer=quayuser&starttime=01/01/2024&endtime=06/18/2024"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
--- {"start_time": "Mon, 01 Jan 2024 00:00:00 -0000", "end_time": "Wed, 19 Jun 2024 00:00:00 -0000", "logs": [{"kind": "revert_tag", "metadata": {"username": "quayuser", "repo": "busybox", "tag": "test-two", "manifest_digest": "sha256:57583a1b9c0a7509d3417387b4f43acf80d08cdcf5266ac87987be3f8f919d5d"}, "ip": "192.168.1.131", "datetime": "Tue, 18 Jun 2024 18:59:13 -0000", "performer": {"kind": "user", "name": "quayuser", "is_robot": false, "avatar": {"name": "quayuser", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}}}, {"kind": "push_repo", "metadata": {"repo": "busybox", "namespace": "quayuser", "user-agent": "containers/5.30.1 (github.com/containers/image)", "tag": "test-two", "username": "quayuser", } ------ {"start_time": "Mon, 01 Jan 2024 00:00:00 -0000", "end_time": "Wed, 19 Jun 2024 00:00:00 -0000", "logs": [{"kind": "revert_tag", "metadata": {"username": "quayuser", "repo": "busybox", "tag": "test-two", "manifest_digest": "sha256:57583a1b9c0a7509d3417387b4f43acf80d08cdcf5266ac87987be3f8f919d5d"}, "ip": "192.168.1.131", "datetime": "Tue, 18 Jun 2024 18:59:13 -0000", "performer": {"kind": "user", "name": "quayuser", "is_robot": false, "avatar": {"name": "quayuser", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}}}, {"kind": "push_repo", "metadata": {"repo": "busybox", "namespace": "quayuser", "user-agent": "containers/5.30.1 (github.com/containers/image)", "tag": "test-two", "username": "quayuser", } ---Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /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"$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "http://<quay-server.example.com>/api/v1/organization/{orgname}/logs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /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"$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ "http://<quay-server.example.com>/api/v1/repository/{repository}/logs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6. API を使用したログのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
詳細なログは、コールバック URL またはメールアドレスにエクスポートできます。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
現在のユーザーのログをエクスポートするには、
POST /api/v1/user/exportlogsエンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"export_id": "6a0b9ea9-444c-4a19-9db8-113201c38cd4"}{"export_id": "6a0b9ea9-444c-4a19-9db8-113201c38cd4"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/organization/{orgname}/exportlogs エンドポイントを使用して、組織のログをエクスポートします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/repository/{repository}/exportlogsエンドポイントを使用して、リポジトリーのログをエクスポートします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7. API を使用してラベルを追加および管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay 管理者は、以下の手順を使用して、API を使用してタグのラベルを追加および管理できます。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
GET /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>
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /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
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labelsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"labels": [{"id": "e9f717d2-c1dd-4626-802d-733a029d17ad", "key": "org.opencontainers.image.url", "value": "https://github.com/docker-library/busybox", "source_type": "manifest", "media_type": "text/plain"}, {"id": "2d34ec64-4051-43ad-ae06-d5f81003576a", "key": "org.opencontainers.image.version", "value": "1.36.1-glibc", "source_type": "manifest", "media_type": "text/plain"}]}{"labels": [{"id": "e9f717d2-c1dd-4626-802d-733a029d17ad", "key": "org.opencontainers.image.url", "value": "https://github.com/docker-library/busybox", "source_type": "manifest", "media_type": "text/plain"}, {"id": "2d34ec64-4051-43ad-ae06-d5f81003576a", "key": "org.opencontainers.image.version", "value": "1.36.1-glibc", "source_type": "manifest", "media_type": "text/plain"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}コマンドを使用して、特定のマニフェストに関する情報を取得します。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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": "e9f717d2-c1dd-4626-802d-733a029d17ad", "key": "org.opencontainers.image.url", "value": "https://github.com/docker-library/busybox", "source_type": "manifest", "media_type": "text/plain"}{"id": "e9f717d2-c1dd-4626-802d-733a029d17ad", "key": "org.opencontainers.image.url", "value": "https://github.com/docker-library/busybox", "source_type": "manifest", "media_type": "text/plain"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/repository/{repository}/manifest/{manifestref}/labels コマンドを使用して、特定のリポジトリーのマニフェストにラベルを追加できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"label": {"id": "346593fd-18c8-49db-854f-4cb1fb76ff9c", "key": "example-key", "value": "example-value", "source_type": "api", "media_type": "text/plain"}}{"label": {"id": "346593fd-18c8-49db-854f-4cb1fb76ff9c", "key": "example-key", "value": "example-value", "source_type": "api", "media_type": "text/plain"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /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>
$ curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<labelid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。上記のコマンドのいずれかを使用して、正常に削除されたことを確認できます。
6.8. API を使用してリポジトリーをミラーリングする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay 管理者は、API を使用して外部リポジトリーをミラーリングできます。
前提条件
-
config.yamlファイルでFEATURE_REPO_MIRROR: trueを設定した。
手順
POST /api/v1/repository/{repository}/mirrorエンドポイントを使用して、新しいリポジトリーミラー設定を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository/{repository}/mirrorエンドポイントを使用して、ミラー設定に関する情報を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"is_enabled": true, "mirror_type": "PULL", "external_reference": "https://quay.io/repository/argoproj/argocd", "external_registry_username": null, "external_registry_config": {}, "sync_interval": 86400, "sync_start_date": "2025-01-15T12:00:00Z", "sync_expiration_date": null, "sync_retries_remaining": 3, "sync_status": "NEVER_RUN", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["*.latest*"]}, "robot_username": "quayadmin+mirror_robot"}{"is_enabled": true, "mirror_type": "PULL", "external_reference": "https://quay.io/repository/argoproj/argocd", "external_registry_username": null, "external_registry_config": {}, "sync_interval": 86400, "sync_start_date": "2025-01-15T12:00:00Z", "sync_expiration_date": null, "sync_retries_remaining": 3, "sync_status": "NEVER_RUN", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["*.latest*"]}, "robot_username": "quayadmin+mirror_robot"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーを同期するには、
POST /api/v1/repository/{repository}/mirror/sync-nowエンドポイントを使用します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
POST /api/v1/repository/{repository}/mirror/sync-cancelエンドポイントを使用して、同期をキャンセルすることもできます。以下はその例です。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" \Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
ミラー設定を作成した後、
PUT /api/v1/repository/{repository}/mirrorコマンドを使用して変更を加えることができます。たとえば、自動同期を無効にする場合は次のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 自動同期を無効にします。
6.9. Red Hat Quay API を使用したクォータの確立 リンクのコピーリンクがクリップボードにコピーされました!
組織またはユーザーのクォータを設定し、レジストリーのニーズに合わせてクォータポリシーをカスタマイズできます。
次のセクションでは、組織とユーザーのクォータを設定する方法と、それらの設定を変更する方法を説明します。
6.9.1. Red Hat Quay API を使用した組織のクォータの管理 リンクのコピーリンクがクリップボードにコピーされました!
組織を初めて作成した時点では、クォータは設定されていません。API を使用して、組織のクォータ制限を確認、作成、変更、または削除できます。
前提条件
- OAuth アクセストークンを生成した。
手順
組織のクォータを設定するには、
POST /api/v1/organization/{orgname}/quotaエンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Created"
"Created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/organization/{orgname}/quotaコマンドを使用して、他の組織のクォータエンドポイントに必要なポリシーに関する情報 (ID 番号など) を返します。以下に例を示します。curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json' https://example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/api/v1/organization/testorg/quota | jq
$ curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json' https://example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/api/v1/organization/testorg/quota | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}][{"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ID 番号を取得したら、
GET /api/v1/organization/{orgname}/quota/{quota_id}コマンドを使用してクォータポリシーをリスト表示できます。以下に例を示します。curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \ -H "Authorization: Bearer <access_token>"$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \ -H "Authorization: Bearer <access_token>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}{"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のクォータ制限を変更するには、
PUT /api/v1/organization/{orgname}/quota/{quota_id}コマンドを使用します。その場合はポリシー ID が必要であることに注意してください。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 1, "limit_bytes": 21474836480, "limit": "20.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}{"id": 1, "limit_bytes": 21474836480, "limit": "20.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 組織のクォータを削除するには、
DELETE /api/v1/organization/{orgname}/quota/{quota_id}コマンドを使用します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.9.2. Red Hat Quay API を使用して組織のクォータ制限を設定する リンクのコピーリンクがクリップボードにコピーされました!
組織に対して特定のクォータ制限を設定すると、それを超過した場合に警告が返されるか、プッシュされたイメージが完全に拒否されるようになります。
手順
POST /api/v1/organization/{orgname}/quota/{quota_id}/limitコマンドを使用して、割り当てられたクォータを超えた場合にイメージを拒否するクォータポリシーを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Created"
"Created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/organization/{orgname}/quota/{quota_id}/limitを使用して、クォータ制限の ID を取得します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 2, "type": "Reject", "limit_percent": 90}][{"id": 2, "type": "Reject", "limit_percent": 90}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
PUT/api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}エンドポイントを使用して、ポリシーを更新します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 3, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 2, "type": "Warning", "limit_percent": 80}], "default_config_exists": false}{"id": 3, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 2, "type": "Warning", "limit_percent": 80}], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE/api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}エンドポイントを使用して、クォータ制限を削除できます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.9.3. Red Hat Quay API を使用してユーザーのクォータ制限を取得する リンクのコピーリンクがクリップボードにコピーされました!
ユーザーに対してクォータと制限を指定して、それを超過した場合に警告が返されるか、プッシュされたイメージが完全に拒否されるようにできます。ユーザーのクォータ制限は、Red Hat Quay UI で設定する必要があります。次の API を使用して、ログインしているユーザーのクォータ制限を表示できます。
手順
GET /api/v1/user/quotaコマンドを使用して、クォータ制限に関する情報を返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}][{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow クォータ ID を受け取ったら、
GET /api/v1/user/quota/{quota_id}エンドポイントでそれを渡し、制限に関する情報を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 制限は、
GET /api/v1/user/quota/{quota_id}/limitエンドポイントを使用して確認できます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 3, "type": "Reject", "limit_percent": 100}][{"id": 3, "type": "Reject", "limit_percent": 100}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/user/quota/{quota_id}/limit/{limit_id}エンドポイントを使用して、ポリシー全体に関する追加情報を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [{"id": 3, "type": "Reject", "limit_percent": 100}], "default_config_exists": false}{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [{"id": 3, "type": "Reject", "limit_percent": 100}], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.10. Red Hat Quay API を使用したクォータの確立 リンクのコピーリンクがクリップボードにコピーされました!
組織は API エンドポイントを通じて作成および管理できます。Red Hat Quay API を使用すると、組織の作成、組織情報の表示、組織のプロキシーキャッシュの作成、組織へのアクセス権を持つユーザーの編集、組織の詳細の変更、組織の削除などを実行できます。
6.10.1. Red Hat Quay API を使用した組織の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用して新しい組織を作成するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
次のコマンドを入力して、
POST /api/v1/organization/ エンドポイントを使用して新しい組織を作成します。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/"$ 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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Created"
"Created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成後、
PUT /api/v1/organization/{orgname}コマンドを使用して、メールアドレスの追加など、組織の詳細を変更できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {"owners": {"name": "owners", "description": "", "role": "admin", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}, "can_view": true, "repo_count": 0, "member_count": 1, "is_synced": false}}, "ordered_teams": ["owners"], "invoice_email": true, "invoice_email_address": "billing@test-org.com", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}{"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {"owners": {"name": "owners", "description": "", "role": "admin", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}, "can_view": true, "repo_count": 0, "member_count": 1, "is_synced": false}}, "ordered_teams": ["owners"], "invoice_email": true, "invoice_email_address": "billing@test-org.com", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.10.2. Red Hat Quay API を使用した組織の削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用して組織を削除するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
以下のコマンドを入力して、
DELETE /api/v1/organization/{orgname} エンドポイントを使用して組織を削除します。curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay-server.example.com>/api/v1/organization/<organization_name>"
$ curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay-server.example.com>/api/v1/organization/<organization_name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLI から組織を削除する場合、CLI は情報を返しません。削除を確認するには、Red Hat Quay UI を確認するか、
GET /api/v1/organization/{orgname} コマンドを入力して、削除された組織の詳細が返されているかどうかを確認します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://<quay-server.example.com>/api/v1/error/not_found", "status": 404}{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://<quay-server.example.com>/api/v1/error/not_found", "status": 404}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.10.3. API を使用して組織メンバーの情報を取得する リンクのコピーリンクがクリップボードにコピーされました!
組織メンバーに関する情報は、Red Hat Quay API を使用して取得できます。
手順
GET /api/v1/organization/{orgname}/members使用して、組織メンバーのリストを返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"members": [{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}, {"name": "testuser", "kind": "user", "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": []}]}{"members": [{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}, {"name": "testuser", "kind": "user", "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": []}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/organization/{orgname}/collaborators使用して、組織の共同作業者のリストを返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"collaborators": [user-test]}{"collaborators": [user-test]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーに関するより具体的な情報を取得するには、
GET /api/v1/organization/{orgname}/members/{membername}エンドポイントを使用します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow チームメンバーを削除するには、
DELETE /api/v1/organization/{orgname}/members/{membername}エンドポイントを使用します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.10.4. Red Hat Quay API を使用して組織アプリケーションを作成する リンクのコピーリンクがクリップボードにコピーされました!
組織アプリケーションは、Red Hat Quay UI を使用して作成できます。
組織アプリケーションは UI を使用して作成できますが、OAuth 2 アクセストークンは UI で作成する必要があります。
手順
組織用の新しいアプリケーションを作成するには、
POST /api/v1/organization/{orgname}/applicationsエンドポイントを使用します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}{"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/organization/{orgname}/applicationsエンドポイントを使用して、すべての組織アプリケーションのリストを返します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"applications": [{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}, {"name": "new-token", "description": "", "application_uri": "", "client_id": "IG58PX2REEY9O08IZFZE", "client_secret": "2LWTWO89KH26P2CO4TWFM7PGCX4V4SUZES2CIZMR", "redirect_uri": "", "avatar_email": null}, {"name": "second-token", "description": "", "application_uri": "", "client_id": "6XBK7QY7ACSCN5XBM3GS", "client_secret": "AVKBOUXTFO3MXBBK5UJD5QCQRN2FWL3O0XPZZT78", "redirect_uri": "", "avatar_email": null}, {"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}]}{"applications": [{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}, {"name": "new-token", "description": "", "application_uri": "", "client_id": "IG58PX2REEY9O08IZFZE", "client_secret": "2LWTWO89KH26P2CO4TWFM7PGCX4V4SUZES2CIZMR", "redirect_uri": "", "avatar_email": null}, {"name": "second-token", "description": "", "application_uri": "", "client_id": "6XBK7QY7ACSCN5XBM3GS", "client_secret": "AVKBOUXTFO3MXBBK5UJD5QCQRN2FWL3O0XPZZT78", "redirect_uri": "", "avatar_email": null}, {"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET/api/v1/organization/{orgname}/applications/{client_id}エンドポイントを使用して、特定のクライアントのアプリケーションを返すこともできます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成後に、組織アプリケーションを更新できます。たとえば、リダイレクト URI や新しい説明を追加する場合は、
PUT /api/v1/organization/{orgname}/applications/{client_id}エンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成後、
GET /api/v1/app/{client_id}エンドポイントを使用してアプリケーション情報を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "new-application3", "description": "", "uri": "", "avatar": {"name": "new-application3", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "app"}, "organization": {"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {}, "ordered_teams": [], "invoice_email": true, "invoice_email_address": "billing@test-org.com", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}}{"name": "new-application3", "description": "", "uri": "", "avatar": {"name": "new-application3", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "app"}, "organization": {"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {}, "ordered_teams": [], "invoice_email": true, "invoice_email_address": "billing@test-org.com", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 組織アプリケーション、
DELETE /api/v1/organization/{orgname}/applications/{client_id}エンドポイントを使用して削除できます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.10.5. Red Hat Quay API を使用して組織のプロキシーキャッシュを設定する リンクのコピーリンクがクリップボードにコピーされました!
組織のプロキシーキャッシュは、Red Hat Quay API を使用して設定できます。
手順
組織のプロキシーキャッシュ設定を作成するには、
POST /api/v1/organization/{orgname}/proxycacheエンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロキシー設定を検証するには、
POST /api/v1/organization/{orgname}/validateproxycacheエンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロキシーキャッシュに関する情報を取得するには、
GET /api/v1/organization/{orgname}/proxycacheエンドポイントを使用します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"upstream_registry": "quay.io", "expiration_s": 86400, "insecure": false}{"upstream_registry": "quay.io", "expiration_s": 86400, "insecure": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/organization/{orgname}/proxycacheエンドポイントを使用します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Deleted"
"Deleted"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.11. Red Hat Quay API を使用してリポジトリー権限を管理する リンクのコピーリンクがクリップボードにコピーされました!
リポジトリー権限は、Red Hat Quay API を使用して管理できます。たとえば、ユーザーおよびチームの権限を作成、表示、削除できます。
次の手順は、Red Hat Quay API を使用してリポジトリー権限を管理する方法を示しています。
6.11.1. Red Hat Quay API を使用してユーザー権限を管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用してユーザー権限を管理するには、次の手順に従います。
手順
ユーザーのリポジトリー権限を取得するには、
GET /api/v1/repository/{repository}/permissions/user/{username}エンドポイントを使用します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"role": "read", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}$ {"role": "read", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのユーザー権限は
GET /api/v1/repository/{repository}/permissions/user/エンドポイントを使用して返せます。curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/"
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": {"quayadmin": {"role": "admin", "name": "quayadmin", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "is_org_member": true}, "test+example": {"role": "admin", "name": "test+example", "is_robot": true, "avatar": {"name": "test+example", "hash": "3b03050c26e900500437beee4f7f2a5855ca7e7c5eab4623a023ee613565a60e", "color": "#a1d99b", "kind": "robot"}, "is_org_member": true}}}{"permissions": {"quayadmin": {"role": "admin", "name": "quayadmin", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "is_org_member": true}, "test+example": {"role": "admin", "name": "test+example", "is_robot": true, "avatar": {"name": "test+example", "hash": "3b03050c26e900500437beee4f7f2a5855ca7e7c5eab4623a023ee613565a60e", "color": "#a1d99b", "kind": "robot"}, "is_org_member": true}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、
GET /api/v1/repository/{repository}/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"
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>/transitive"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": [{"role": "admin"}]}{"permissions": [{"role": "admin"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/{repository}/permissions/user/{username}エンドポイントを使用して、ユーザーをadminにするなど、ユーザーの権限を変更できます。以下に例を示します。curl -X PUT \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{"role": "<role>"}' \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"$ curl -X PUT \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{"role": "<role>"}' \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"role": "admin", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}{"role": "admin", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー権限は、
DELETE /api/v1/repository/{repository}/permissions/user/{username}エンドポイントを使用して削除できます。以下に例を示します。curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/<username>"
$ curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/<username>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。
6.11.2. Red Hat Quay API を使用してチーム権限を管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用してチーム権限を管理するには、次の手順に従います。
指定されたチームの権限は、
GET /api/v1/repository/{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>"
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"role": "write"}{"role": "write"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのチームの権限は、
GET /api/v1/repository/{repository}/permissions/team/エンドポイントを使用して返せます。以下に例を示します。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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": {"ironmanteam": {"role": "read", "name": "ironmanteam", "avatar": {"name": "ironmanteam", "hash": "8045b2361613622183e87f33a7bfc54e100a41bca41094abb64320df29ef458d", "color": "#969696", "kind": "team"}}, "sillyteam": {"role": "read", "name": "sillyteam", "avatar": {"name": "sillyteam", "hash": "f275d39bdee2766d2404e2c6dbff28fe290969242e9fcf1ffb2cde36b83448ff", "color": "#17becf", "kind": "team"}}}}{"permissions": {"ironmanteam": {"role": "read", "name": "ironmanteam", "avatar": {"name": "ironmanteam", "hash": "8045b2361613622183e87f33a7bfc54e100a41bca41094abb64320df29ef458d", "color": "#969696", "kind": "team"}}, "sillyteam": {"role": "read", "name": "sillyteam", "avatar": {"name": "sillyteam", "hash": "f275d39bdee2766d2404e2c6dbff28fe290969242e9fcf1ffb2cde36b83448ff", "color": "#17becf", "kind": "team"}}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定されたチームの権限は、
PUT /api/v1/repository/{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>"$ 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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"role": "admin", "name": "superteam", "avatar": {"name": "superteam", "hash": "48cb6d114200039fed5c601480653ae7371d5a8849521d4c3bf2418ea013fc0f", "color": "#9467bd", "kind": "team"}}{"role": "admin", "name": "superteam", "avatar": {"name": "superteam", "hash": "48cb6d114200039fed5c601480653ae7371d5a8849521d4c3bf2418ea013fc0f", "color": "#9467bd", "kind": "team"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow チーム権限は、
DELETE /api/v1/repository/{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>"
$ curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.12. Red Hat Quay API を使用して自動プルーニングポリシーを管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用して、組織、リポジトリー、ユーザーに対して自動プルーニングポリシーを作成、取得、変更、削除できます。
手順
次のコマンドを入力し、
POST /api/v1/repositoryエンドポイントを使用してリポジトリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository エンドポイントでリポジトリーをリスト表示できます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可視性は、
POST /api/v1/repository/{repository}/changevisibility エンドポイントでパブリックからプライベートに変更できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay UI を確認するか、以下の
GET /api/v1/repository/{repository} コマンドを入力して、リポジトリーの詳細を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}Copy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーの説明は
PUT /api/v1/repository/{repository}エンドポイントで更新できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力して、
DELETE /api/v1/repository/{repository} エンドポイントを使用してリポジトリーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.12.1. Red Hat Quay API を使用した名前空間の自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、名前空間の自動プルーニングポリシーを管理できます。
前提条件
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。 - OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POST /api/v1/organization/{orgname}/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/$ 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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{ "method": "creation_date", "value": "7d"}' 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": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 組織にポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
tagPatternMatchesをtrueに設定すると、指定された正規表現パターンに一致するタグがプルーニングされます。この例では、^v*に一致するタグがプルーニングされます。
出力例
{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0"}{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}コマンドを使用して、組織の自動プルーニングポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。次のステップに進みます。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0", "method": "creation_date", "value": "4d", "tagPattern": "^v*", "tagPatternMatches": true}, {"uuid": "da4d0ad7-3c2d-4be8-af63-9c51f9a501bc", "method": "number_of_tags", "value": 10, "tagPattern": null, "tagPatternMatches": true}, {"uuid": "17b9fd96-1537-4462-a830-7f53b43f94c2", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}]}{"policies": [{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0", "method": "creation_date", "value": "4d", "tagPattern": "^v*", "tagPatternMatches": true}, {"uuid": "da4d0ad7-3c2d-4be8-af63-9c51f9a501bc", "method": "number_of_tags", "value": 10, "tagPattern": null, "tagPatternMatches": true}, {"uuid": "17b9fd96-1537-4462-a830-7f53b43f94c2", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、組織の自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/73d64f05-d587-42d9-af6d-e726a4a80d6e
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/73d64f05-d587-42d9-af6d-e726a4a80d6eCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.2. API を使用した現行ユーザーの名前空間の自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、自分のアカウントの自動プルーニングポリシーを管理できます。
以下のコマンドで使用している /user/ は、現在 Red Hat Quay にログインしているユーザーを表しています。
前提条件
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。 - OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POSTコマンドを入力して、現在のユーザーのタグ数を制限する新しいポリシーを作成します。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/user/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/user/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.3. Red Hat Quay API を使用したリポジトリーの自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、リポジトリーの自動プルーニングポリシーを管理できます。
前提条件
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。 - OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POST /api/v1/repository/{repository}/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/$ 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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "creation_date", "value": "7d"}' 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": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
tagPatternMatchesをfalseに設定すると、指定された正規表現パターンに 一致しない すべてのタグがプルーニングされます。この例では、^test.以外 のすべてのタグがプルーニングされます。
出力例
{"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}{"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}コマンドを使用して UUID を渡すことで、リポジトリーのポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。次の手順に進み、自動プルーニングポリシーを確認します。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}{"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.4. API を使用するユーザーのリポジトリーでの自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーに対する admin 権限がある限り、Red Hat Quay API エンドポイントを使用して、自分以外のユーザーアカウントのリポジトリーに対する自動プルーニングポリシーを管理できます。
前提条件
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。 - OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
-
ポリシーを作成するリポジトリーの
admin権限がある。
手順
次の
POST /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/コマンドを入力して、ユーザーのタグの数を制限する新しいポリシーを作成します。curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 現在のユーザーに対してポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}{"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>コマンドを使用して、現在のユーザーのポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーを更新しても、CLI に出力は返されません。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}{"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.13. Red Hat Quay API を使用してリポジトリーを作成および設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用して、リポジトリーを作成、取得、変更、削除できます。
6.13.1. Red Hat Quay API を使用してリポジトリーを作成および設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用して、リポジトリーを作成、取得、変更、削除できます。
手順
次のコマンドを入力し、
POST /api/v1/repositoryエンドポイントを使用してリポジトリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository エンドポイントでリポジトリーをリスト表示できます。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可視性は、
POST /api/v1/repository/{repository}/changevisibility エンドポイントでパブリックからプライベートに変更できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay UI を確認するか、以下の
GET /api/v1/repository/{repository} コマンドを入力して、リポジトリーの詳細を返すことができます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}Copy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーの説明は
PUT /api/v1/repository/{repository}エンドポイントで更新できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力して、
DELETE /api/v1/repository/{repository} エンドポイントを使用してリポジトリーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.13.2. API を使用した通知の作成 リンクのコピーリンクがクリップボードにコピーされました!
通知を追加するには、次の手順を実行します。
前提条件
- リポジトリーが作成済みである。
- リポジトリーの管理者権限がある。
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
以下の
POST /api/v1/repository/{repository}/notificationコマンドを入力して、リポジトリーに通知を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。代わりに、以下の
GET /api/v1/repository/{repository}/notification/{uuid}コマンドを入力して、リポジトリー通知に関する情報を取得できます。{"uuid": "240662ea-597b-499d-98bb-2b57e73408d6", "title": null, "event": "repo_push", "method": "quay_notification", "config": {"target": {"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}}}, "event_config": {}, "number_of_failures": 0}{"uuid": "240662ea-597b-499d-98bb-2b57e73408d6", "title": null, "event": "repo_push", "method": "quay_notification", "config": {"target": {"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}}}, "event_config": {}, "number_of_failures": 0}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
POST /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
$ curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>/testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{}{}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の
POST /api/v1/repository/{repository}/notification/{uuid} コマンドを入力すると、リポジトリー通知の失敗を 0 にリセットできます。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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の
DELETE /api/v1/repository/{repository}/notification/{uuid}コマンドを入力して、リポジトリー通知を削除します。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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。代わりに、以下の
GET /api/v1/repository/{repository}/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
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notificationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"notifications": []}{"notifications": []}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.14. Red Hat Quay API を使用してロボットアカウントを作成および設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用すると、組織とユーザーの両方に対してロボットアカウントを作成、取得、変更、削除できます。
6.14.1. Red Hat Quay API を使用したロボットアカウントの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用してロボットアカウントを作成するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
次のコマンドを入力して、
PUT /api/v1/organization/{orgname}/robots/{robot_shortname} エンドポイントを使用して組織の新しいロボットアカウントを作成します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "orgname+robot-name", "created": "Fri, 10 May 2024 15:11:00 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}{"name": "orgname+robot-name", "created": "Fri, 10 May 2024 15:11:00 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
PUT /api/v1/user/robots/{robot_shortname} エンドポイントで現在のユーザーの新しいロボットアカウントを作成します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "quayadmin+robot-name", "created": "Fri, 10 May 2024 15:24:57 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}{"name": "quayadmin+robot-name", "created": "Fri, 10 May 2024 15:24:57 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.14.2. Red Hat Quay API を使用してロボットアカウント情報を取得する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用すると、組織およびユーザー向けに、権限などのロボットアカウント情報を取得できます。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
GET /api/v1/organization/{orgname}/robots/{robot_shortname}API エンドポイントを使用して、組織のロボットの情報を返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "test+example", "created": "Mon, 25 Nov 2024 16:25:16 -0000", "last_accessed": null, "description": "", "token": "BILZ6YTVAZAKOGMD9270OKN3SOD9KPB7OLKEJQOJE38NBBRUJTIH7T5859DJL31Q", "unstructured_metadata": {}}{"name": "test+example", "created": "Mon, 25 Nov 2024 16:25:16 -0000", "last_accessed": null, "description": "", "token": "BILZ6YTVAZAKOGMD9270OKN3SOD9KPB7OLKEJQOJE38NBBRUJTIH7T5859DJL31Q", "unstructured_metadata": {}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /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"
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": [{"repository": {"name": "testrepo", "is_public": true}, "role": "admin"}]}{"permissions": [{"repository": {"name": "testrepo", "is_public": true}, "role": "admin"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/user/robots/{robot_shortname}API エンドポイントを使用して、指定された名前のユーザーのロボットを返します。curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>"
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "quayadmin+mirror_robot", "created": "Wed, 15 Jan 2025 17:22:09 -0000", "last_accessed": null, "description": "", "token": "QBFYWIWZOS1I0P0R9N1JRNP1UZAOPUIR3EB4ASPZKK9IA1SFC12LTEF7OJHB05Z8", "unstructured_metadata": {}}{"name": "quayadmin+mirror_robot", "created": "Wed, 15 Jan 2025 17:22:09 -0000", "last_accessed": null, "description": "", "token": "QBFYWIWZOS1I0P0R9N1JRNP1UZAOPUIR3EB4ASPZKK9IA1SFC12LTEF7OJHB05Z8", "unstructured_metadata": {}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/user/robots/{robot_shortname}/permissionsAPI エンドポイントを使用して、ユーザーロボットのパーミッションの一覧を返します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": [{"repository": {"name": "busybox", "is_public": false}, "role": "write"}]}{"permissions": [{"repository": {"name": "busybox", "is_public": false}, "role": "write"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.14.3. Red Hat Quay API を使用したロボットアカウントの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API を使用してロボットアカウントを削除するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
以下のコマンドを入力して、
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname} エンドポイントを使用して組織のロボットアカウントを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow API を使用してロボットアカウントを削除する場合、CLI は情報を返しません。削除を確認するには、Red Hat Quay UI を確認するか、以下の
GET /api/v1/organization/{orgname}/robotsコマンドを入力して、ロボットアカウントの詳細が返されているかどうかを確認します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"robots": []}{"robots": []}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
DELETE /api/v1/user/robots/{robot_shortname} エンドポイントで現在のユーザーのロボットアカウントを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow API を使用して現在のユーザーのロボットアカウントを削除する場合、CLI は情報を返しません。削除を確認するには、Red Hat Quay UI を確認するか、以下の
GET /api/v1/user/robots/{robot_shortname}コマンドを入力して、ロボットアカウントの詳細が返されているかどうかを確認します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"message":"Could not find robot with specified username"}{"message":"Could not find robot with specified username"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.15. レジストリーコンテキストに対する検索 リンクのコピーリンクがクリップボードにコピーされました!
search API エンドポイントを使用して、すべてのレジストリーコンテキストに対して検索を実行できます。
手順
GET /api/v1/find/repositoriesエンドポイントを使用して、指定されたクエリーに一致するアプリケーションとリポジトリーのリストを取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"results": [], "has_additional": false, "page": 2, "page_size": 10, "start_index": 10}{"results": [], "has_additional": false, "page": 2, "page_size": 10, "start_index": 10}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/find/allエンドポイントを使用して、指定したクエリーに一致するエンティティーとリソースのリストを取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"results": [{"kind": "repository", "title": "repo", "namespace": {"title": "user", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "name": "quayadmin", "score": 1, "href": "/user/quayadmin"}, "name": "busybox", "description": null, "is_public": false, "score": 4.0, "href": "/repository/quayadmin/busybox"}]}{"results": [{"kind": "repository", "title": "repo", "namespace": {"title": "user", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "name": "quayadmin", "score": 1, "href": "/user/quayadmin"}, "name": "busybox", "description": null, "is_public": false, "score": 4.0, "href": "/repository/quayadmin/busybox"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/entities/{prefix}エンドポイントを使用して、指定した接頭辞に一致するエンティティーのリストを取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"results": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}}]}{"results": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.16. API を使用した Clair セキュリティースキャンの表示 リンクのコピーリンクがクリップボードにコピーされました!
API を使用して Clair セキュリティースキャンを表示できます。
手順
GET /api/v1/repository/{repository}/manifest/{manifestref}/securityエンドポイントを使用して、リポジトリー内の特定のマニフェストに関するセキュリティー情報を取得します。以下に例を示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"status": "queued", "data": null}{"status": "queued", "data": null}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.17. Red Hat Quay API を使用してスーパーユーザーとしてデプロイメントを管理する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay UI を通じて、スーパーユーザーは、ユーザー、サービスキー、ユーザーのクォータなど、レジストリーの側面を作成、リスト表示、変更、削除することができます。
6.17.1. Red Hat Quay API を使用したユーザーアカウントの作成 リンクのコピーリンクがクリップボードにコピーされました!
API を使用して Red Hat Quay リポジトリーの新しいユーザーを作成するには、次の手順に従います。
前提条件
- スーパーユーザーとして Red Hat Quay デプロイメントにログインしている。
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
次のコマンドを入力して、
POST /api/v1/superuser/users/エンドポイントを使用して新規ユーザーを作成します。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/"$ 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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"username": "newuser", "email": "newuser@example.com", "password": "123456789", "encrypted_password": "<example_encrypted_password>/JKY9pnDcsw="}{"username": "newuser", "email": "newuser@example.com", "password": "123456789", "encrypted_password": "<example_encrypted_password>/JKY9pnDcsw="}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay レジストリーエンドポイント (例:
quay-server.example.com) に移動し、API 呼び出しから生成されたユーザー名とパスワードを使用してログインします。このシナリオでは、ユーザー名はnewuser、パスワードは123456789です。または、CLI を使用してレジストリーにログインすることもできます。以下に例を示します。podman login <quay-server.example.com>
$ podman login <quay-server.example.com>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
username: newuser password: 123456789
username: newuser password: 123456789Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
GET /api/v1/superuser/users/ エンドポイントを使用して、スーパーユーザーを含むすべてのユーザーのリストを取得できます。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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"users": [{"kind": "user", "name": "quayadmin", "username": "quayadmin", "email": "quay@quay.com", "verified": true, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}, "super_user": true, "enabled": true}, {"kind": "user", "name": "newuser", "username": "newuser", "email": "newuser@example.com", "verified": true, "avatar": {"name": "newuser", "hash": "f338a2c83bfdde84abe2d3348994d70c34185a234cfbf32f9e323e3578e7e771", "color": "#9edae5", "kind": "user"}, "super_user": false, "enabled": true}]}{"users": [{"kind": "user", "name": "quayadmin", "username": "quayadmin", "email": "quay@quay.com", "verified": true, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}, "super_user": true, "enabled": true}, {"kind": "user", "name": "newuser", "username": "newuser", "email": "newuser@example.com", "verified": true, "avatar": {"name": "newuser", "hash": "f338a2c83bfdde84abe2d3348994d70c34185a234cfbf32f9e323e3578e7e771", "color": "#9edae5", "kind": "user"}, "super_user": false, "enabled": true}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.17.2. Red Hat Quay API を使用したユーザーの削除 リンクのコピーリンクがクリップボードにコピーされました!
API を使用して Red Hat Quay からユーザーを削除するには、次の手順に従います。
ユーザーを削除すると、このユーザーが自分のプライベートアカウントにあったリポジトリーはすべて使用できなくなります。
前提条件
- スーパーユーザーとして Red Hat Quay デプロイメントにログインしている。
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
以下の
DELETE /api/v1/superuser/users/{username}コマンドを入力して、コマンドラインからユーザーを削除します。curl -X DELETE -H "Authorization: Bearer <insert token here>" https://<quay-server.example.com>/api/v1/superuser/users/<username>
$ curl -X DELETE -H "Authorization: Bearer <insert token here>" https://<quay-server.example.com>/api/v1/superuser/users/<username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLI からユーザーを削除する場合、CLI は情報を返しません。削除を確認するには、Superuser Admin Panel → Users に移動するか、以下の
GET /api/v1/superuser/users/コマンドを入力して Red Hat Quay UI を確認します。すると、ユーザーが存在するかどうかを確認できます。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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.17.3. Red Hat Quay API を使用してスーパーユーザーとして組織を管理する リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザーは、Red Hat Quay API を使用して組織をリスト、変更、および削除することができます。
手順
GET /api/v1/superuser/organizationsエンドポイントを使用して、すべての組織を一覧表示します。curl -L -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/organizations?name=<organization_name>"
$ curl -L -X GET \ -H "Authorization: Bearer <bearer_token>" \ "https://<quay_server>/api/v1/superuser/organizations?name=<organization_name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"organizations": [{"name": "fed_test", "email": "fe11fc59-bd09-459a-a21c-b57692d151c9", "avatar": {"name": "fed_test", "hash": "e2ce1fb42ec2e0602362beb64b5ebd1e6ad291b710a0355f9296c16157bef3cb", "color": "#ff7f0e", "kind": "org"}, "quotas": [{"id": 3, "limit_bytes": 10737418240, "limits": []}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}, {"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}]}{"organizations": [{"name": "fed_test", "email": "fe11fc59-bd09-459a-a21c-b57692d151c9", "avatar": {"name": "fed_test", "hash": "e2ce1fb42ec2e0602362beb64b5ebd1e6ad291b710a0355f9296c16157bef3cb", "color": "#ff7f0e", "kind": "org"}, "quotas": [{"id": 3, "limit_bytes": 10737418240, "limits": []}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}, {"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/superuser/organizations/{name}エンドポイントを使用して、組織の情報を変更または更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}{"name": "test", "email": "new-contact@test-org.com", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/superuser/organizations/{name}エンドポイントを使用して削除し、組織します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.17.4. Red Hat Quay API を使用してスーパーユーザーとしてログをリスト表示する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay スーパーユーザーは、現在のシステムの使用状況ログをリストできます。
手順
GET /api/v1/superuser/logsエンドポイントを使用して、現在のシステムの使用ログを一覧表示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"start_time": "Mon, 17 Feb 2025 19:29:14 -0000", "end_time": "Wed, 19 Feb 2025 19:29:14 -0000", "logs": [{"kind": "login_success", "metadata": {"type": "quayauth", "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"}, "ip": "192.168.1.131", "datetime": "Tue, 18 Feb 2025 19:28:15 -0000", "namespace": {"kind": "user", "name": "quayadmin", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}}}], "next_page": "gAAAAABntN-KbPJDI0PpcHmWjRCmQTLiCprE_KXiOSidbGZ7Ireu8pVTgGUIstijNhmiLzlAv_S3HOsCrKWnuBmoQYZ3F53Uxg=="}{"start_time": "Mon, 17 Feb 2025 19:29:14 -0000", "end_time": "Wed, 19 Feb 2025 19:29:14 -0000", "logs": [{"kind": "login_success", "metadata": {"type": "quayauth", "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"}, "ip": "192.168.1.131", "datetime": "Tue, 18 Feb 2025 19:28:15 -0000", "namespace": {"kind": "user", "name": "quayadmin", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}}}], "next_page": "gAAAAABntN-KbPJDI0PpcHmWjRCmQTLiCprE_KXiOSidbGZ7Ireu8pVTgGUIstijNhmiLzlAv_S3HOsCrKWnuBmoQYZ3F53Uxg=="}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/registrysize/エンドポイントを使用してレジストリーのサイズに関する情報を取得します。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/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"size_bytes": 0, "last_ran": null, "running": false, "queued": false}{"size_bytes": 0, "last_ran": null, "running": false, "queued": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/superuser/registrysize/エンドポイントを使用してレジストリーサイズ情報を定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.17.5. Red Hat Quay API を使用した組織のクォータの管理 リンクのコピーリンクがクリップボードにコピーされました!
クォータは、スーパーユーザー管理者権限を持つ Red Hat Quay API を使用して管理できます。これらのエンドポイントにより、スーパーユーザーはレジストリー内のすべての組織のクォータポリシーを管理できます。
手順
POST /api/v1/superuser/organization/{namespace}/quotaAPI エンドポイントを使用して、組織のクォータポリシーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Created"
"Created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/organization/{namespace}/quotaAPI エンドポイントを使用して、クォータ ID を含むポリシーに関する情報を取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 2, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}], "default_config_exists": false}][{"id": 2, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}], "default_config_exists": false}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}API エンドポイントを使用してクォータポリシーを変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 2, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}], "default_config_exists": false}{"id": 2, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}API エンドポイントを使用して、以下を行います。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.17.6. Red Hat Quay API を使用したユーザークォータの管理 リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザーとして、指定された組織のユーザークォータを管理できます。
手順
組織内の特定ユーザーのクォータポリシーを作成するには、
POST /api/v1/superuser/users/{namespace}/quotaエンドポイントを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Created"
"Created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/users/{namespace}/quotaエンドポイントを使用して、ユーザーの割り当てられたクォータの一覧を返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"id": 6, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}][{"id": 6, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}エンドポイントを使用して、ユーザーのポリシーを調整します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"id": 6, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}{"id": 6, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}エンドポイントを使用して、ユーザーのポリシーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.17.7. Red Hat Quay API を使用したビルド情報の取得 リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザーは、Red Hat Quay API を使用してビルドに関する情報を取得できます。
手順
GET /api/v1/superuser/{build_uuid}/buildエンドポイントを使用して、ビルドに関する情報を返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/{build_uuid}/statusAPI エンドポイントを使用して、ビルド uuids で指定されるビルドのステータスを返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/{build_uuid}/logsAPI エンドポイントを使用して、ビルド uuid で指定したビルドのビルドログを返します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.17.8. Red Hat Quay API を使用してスーパーユーザーとしてサービスキーを管理する リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザーは、Red Hat Quay API を使用してサービスキーを作成、リスト、変更、および削除できます。
手順
POST /api/v1/superuser/keysエンドポイントを使用してサービスキーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"message":""}{"message":""}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/superuser/approvedkeys/{kid}エンドポイントを使用して、サービスキーを承認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
GET /api/v1/superuser/keysエンドポイントを使用してサービスキーを一覧表示します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"keys":[{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Wed, 05 Feb 2025 22:03:37 GMT","jwk":{"e":"AQAB","kid":"<example>","kty":"RSA","n":"<example>"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool"},"name":"http://quay-server.example.com:80","rotation_duration":null,"service":"quay"}]}{"keys":[{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Wed, 05 Feb 2025 22:03:37 GMT","jwk":{"e":"AQAB","kid":"<example>","kty":"RSA","n":"<example>"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool"},"name":"http://quay-server.example.com:80","rotation_duration":null,"service":"quay"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/superuser/keys/{kid}エンドポイントを使用して、kid でサービスアカウントに関する情報を取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Wed, 05 Feb 2025 22:03:37 GMT","jwk":{"e":"AQAB","kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","kty":"RSA","n":"5iMX7RQ_4F_zdb1qonMsuWUDauCOqEyRpD8L_EhgnwDxrgMHuOlJ4_7sEOrOa3Jkx3QhwIW6LJCP69PR5X0wvz6vmC1DoWEaWv41bAq23Knzj7gUU9-N_fkZPZN9NQwZ-D-Zqg9L1c_cJF93Dy93py8_JswWFDj1FxMaThJmrX68wBwjhF-JLYqgCAGFyezzJ3oTpO-esV9v6R7skfkaqtx_cjLZk_0cKB4VKTtxiy2A8D_5nANTOSSbZLXNh2Vatgh3yrOmnTTNLIs0YO3vFIuylEkczHlln-40UMAzRB3HNspUySyzImO_2yGdrA762LATQrOzJN8E1YKCADx5CQ"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool"},"name":"http://quay-server.example.com:80","rotation_duration":null,"service":"quay"}{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Wed, 05 Feb 2025 22:03:37 GMT","jwk":{"e":"AQAB","kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","kty":"RSA","n":"5iMX7RQ_4F_zdb1qonMsuWUDauCOqEyRpD8L_EhgnwDxrgMHuOlJ4_7sEOrOa3Jkx3QhwIW6LJCP69PR5X0wvz6vmC1DoWEaWv41bAq23Knzj7gUU9-N_fkZPZN9NQwZ-D-Zqg9L1c_cJF93Dy93py8_JswWFDj1FxMaThJmrX68wBwjhF-JLYqgCAGFyezzJ3oTpO-esV9v6R7skfkaqtx_cjLZk_0cKB4VKTtxiy2A8D_5nANTOSSbZLXNh2Vatgh3yrOmnTTNLIs0YO3vFIuylEkczHlln-40UMAzRB3HNspUySyzImO_2yGdrA762LATQrOzJN8E1YKCADx5CQ"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool"},"name":"http://quay-server.example.com:80","rotation_duration":null,"service":"quay"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/superuser/keys/{kid}エンドポイントを使用して、メタデータなどのサービスキーを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Mon, 03 Mar 2025 10:40:00 GMT","jwk":{"e":"AQAB","kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","kty":"RSA","n":"5iMX7RQ_4F_zdb1qonMsuWUDauCOqEyRpD8L_EhgnwDxrgMHuOlJ4_7sEOrOa3Jkx3QhwIW6LJCP69PR5X0wvz6vmC1DoWEaWv41bAq23Knzj7gUU9-N_fkZPZN9NQwZ-D-Zqg9L1c_cJF93Dy93py8_JswWFDj1FxMaThJmrX68wBwjhF-JLYqgCAGFyezzJ3oTpO-esV9v6R7skfkaqtx_cjLZk_0cKB4VKTtxiy2A8D_5nANTOSSbZLXNh2Vatgh3yrOmnTTNLIs0YO3vFIuylEkczHlln-40UMAzRB3HNspUySyzImO_2yGdrA762LATQrOzJN8E1YKCADx5CQ"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool","environment":"production"},"name":"quay-service-key-updated","rotation_duration":null,"service":"quay"}{"approval":{"approval_type":"ServiceKeyApprovalType.AUTOMATIC","approved_date":"Mon, 20 Jan 2025 14:46:01 GMT","approver":null,"notes":""},"created_date":"Mon, 20 Jan 2025 14:46:01 GMT","expiration_date":"Mon, 03 Mar 2025 10:40:00 GMT","jwk":{"e":"AQAB","kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","kty":"RSA","n":"5iMX7RQ_4F_zdb1qonMsuWUDauCOqEyRpD8L_EhgnwDxrgMHuOlJ4_7sEOrOa3Jkx3QhwIW6LJCP69PR5X0wvz6vmC1DoWEaWv41bAq23Knzj7gUU9-N_fkZPZN9NQwZ-D-Zqg9L1c_cJF93Dy93py8_JswWFDj1FxMaThJmrX68wBwjhF-JLYqgCAGFyezzJ3oTpO-esV9v6R7skfkaqtx_cjLZk_0cKB4VKTtxiy2A8D_5nANTOSSbZLXNh2Vatgh3yrOmnTTNLIs0YO3vFIuylEkczHlln-40UMAzRB3HNspUySyzImO_2yGdrA762LATQrOzJN8E1YKCADx5CQ"},"kid":"7fr8soqXGgea8JqjwgItjjJT9GKlt-bMyMCDmvzy6WQ","metadata":{"created_by":"CLI tool","environment":"production"},"name":"quay-service-key-updated","rotation_duration":null,"service":"quay"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/superuser/keys/{kid}エンドポイントを使用してサービスキーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.18. Red Hat Quay API を使用したタグの管理 リンクのコピーリンクがクリップボードにコピーされました!
タグは、Red Hat Quay API を使用して変更、復元、削除、またはリストできます。
手順
PUT /api/v1/repository/{repository}/tag/{tag}エンドポイントを使用して、タグが参照するイメージを変更するか、新規タグを作成します。curl -X PUT "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{"manifest_digest": "<MANIFEST_DIGEST>"}'$ curl -X PUT "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ -H "Content-Type: application/json" \ -d '{"manifest_digest": "<MANIFEST_DIGEST>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"Updated"
"Updated"Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/repository/{repository}/tag/{tag}/restoreエンドポイントを使用して、リポジトリータグをリポジトリーの以前のイメージに復元します。curl -X POST "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>/restore" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{"manifest_digest": "sha256:<your_manifest_digest>"}'$ curl -X POST "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>/restore" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json" \ -d '{"manifest_digest": "sha256:<your_manifest_digest>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{}{}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository/{repository}/tag/エンドポイントを使用して、リポジトリータグの一覧を取得します。curl -X GET "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json"
$ curl -X GET "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"tags": [{"name": "test", "reversion": true, "start_ts": 1740496373, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 15:12:53 -0000"}, {"name": "test", "reversion": false, "start_ts": 1740495442, "end_ts": 1740496373, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 14:57:22 -0000", "expiration": "Tue, 25 Feb 2025 15:12:53 -0000"}, {"name": "test", "reversion": false, "start_ts": 1740495408, "end_ts": 1740495442, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 14:56:48 -0000", "expiration": "Tue, 25 Feb 2025 14:57:22 -0000"}], "page": 1, "has_additional": false}{"tags": [{"name": "test", "reversion": true, "start_ts": 1740496373, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 15:12:53 -0000"}, {"name": "test", "reversion": false, "start_ts": 1740495442, "end_ts": 1740496373, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 14:57:22 -0000", "expiration": "Tue, 25 Feb 2025 15:12:53 -0000"}, {"name": "test", "reversion": false, "start_ts": 1740495408, "end_ts": 1740495442, "manifest_digest": "sha256:d08334991a3dba62307016833083d6433f489ab0f7d36d0a4771a20b4569b2f6", "is_manifest_list": false, "size": 2280303, "last_modified": "Tue, 25 Feb 2025 14:56:48 -0000", "expiration": "Tue, 25 Feb 2025 14:57:22 -0000"}], "page": 1, "has_additional": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/repository/{repository}/tag/{tag}エンドポイントを使用して、リポジトリーからタグを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.19. API を使用したチームの管理 リンクのコピーリンクがクリップボードにコピーされました!
チームは Red Hat Quay API を使用して管理できます。
6.19.1. API を使用したチームメンバーとリポジトリー権限の管理 リンクのコピーリンクがクリップボードにコピーされました!
チームにメンバーを追加する (直接招待またはメールによる)、またはチームからメンバーを削除するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}コマンドを入力して、既存のチームにメンバーを追加または招待します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "testuser", "kind": "user", "is_robot": false, "avatar": {"name": "testuser", "hash": "d51d17303dc3271ac3266fb332d7df919bab882bbfc7199d2017a4daac8979f0", "color": "#5254a3", "kind": "user"}, "invited": false}{"name": "testuser", "kind": "user", "is_robot": false, "avatar": {"name": "testuser", "hash": "d51d17303dc3271ac3266fb332d7df919bab882bbfc7199d2017a4daac8979f0", "color": "#5254a3", "kind": "user"}, "invited": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}コマンドを入力して、チームのメンバーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力しません。メンバーが削除されたことを確認するには、
GET /api/v1/organization/{orgname}/team/{teamname}/membersコマンドを実行して、そのメンバーが出力で返されていないことを確認します。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "owners", "members": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}, "invited": false}, {"name": "test-org+test", "kind": "user", "is_robot": true, "avatar": {"name": "test-org+test", "hash": "aa85264436fe9839e7160bf349100a9b71403a5e9ec684d5b5e9571f6c821370", "color": "#8c564b", "kind": "robot"}, "invited": false}], "can_edit": true}{"name": "owners", "members": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}, "invited": false}, {"name": "test-org+test", "kind": "user", "is_robot": true, "avatar": {"name": "test-org+test", "hash": "aa85264436fe9839e7160bf349100a9b71403a5e9ec684d5b5e9571f6c821370", "color": "#8c564b", "kind": "robot"}, "invited": false}], "can_edit": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/organization/{orgname}/team/{teamname}/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>"
$ curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/organization/{orgname}/team/{teamname}/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>"
$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.19.2. API を使用して組織内のチームのロールを設定する リンクのコピーリンクがクリップボードにコピーされました!
API を使用して組織内のチームのロールを表示および設定するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
組織のチームのリポジトリー権限のリストを返すには、次の
GET/api/v1/organization/{orgname}/team/{teamname}/permissionsコマンドを入力します。このコマンドで情報を取得するには、チームがリポジトリーに追加されている必要があることに注意してください。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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"permissions": [{"repository": {"name": "api-repo", "is_public": true}, "role": "admin"}]}{"permissions": [{"repository": {"name": "api-repo", "is_public": true}, "role": "admin"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT/api/v1/organization/{orgname}/team/{teamname}コマンドを使用して、組織内のチームを作成または更新し、指定されたロールを admin、member、または creator にすることができます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"name": "testteam", "description": "", "can_view": true, "role": "creator", "avatar": {"name": "testteam", "hash": "827f8c5762148d7e85402495b126e0a18b9b168170416ed04b49aae551099dc8", "color": "#ff7f0e", "kind": "team"}, "new_team": false}{"name": "testteam", "description": "", "can_view": true, "role": "creator", "avatar": {"name": "testteam", "hash": "827f8c5762148d7e85402495b126e0a18b9b168170416ed04b49aae551099dc8", "color": "#ff7f0e", "kind": "team"}, "new_team": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.19.3. API を使用した組織内のチームの削除 リンクのコピーリンクがクリップボードにコピーされました!
API を使用して組織内のチームを削除するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yamlファイルでBROWSER_API_CALLS_XHR_ONLY: falseを設定している。
手順
DELETE /api/v1/organization/{orgname}/team/{teamname} コマンドを入力して、組織内のチームを削除できます。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.20. Red Hat Quay API を使用したビルドの管理 リンクのコピーリンクがクリップボードにコピーされました!
ビルドは Red Hat Quay API を使用して管理できます。
手順
GET /api/v1/repository/{repository}/trigger/エンドポイントを使用して、指定されたリポジトリーのトリガーを一覧表示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"triggers": [{"id": "32ca5eae-a29f-46c7-8f44-3221ca417c92", "service": "custom-git", "is_active": false, "build_source": null, "repository_url": null, "config": {}, "can_invoke": true, "enabled": true, "disabled_reason": null}]}{"triggers": [{"id": "32ca5eae-a29f-46c7-8f44-3221ca417c92", "service": "custom-git", "is_active": false, "build_source": null, "repository_url": null, "config": {}, "can_invoke": true, "enabled": true, "disabled_reason": null}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activateエンドポイントを使用して、指定したビルドトリガーをアクティブにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/startエンドポイントを使用して、指定されたトリガーからビルドを手動で起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/buildsエンドポイントを使用して、指定されたトリガーによって開始されたビルドを一覧表示します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repository/{repository}/trigger/{trigger_uuid}エンドポイントを使用して、指定したビルドトリガーの情報を取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}エンドポイントを使用して、指定されたビルドトリガーを更新します。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}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}エンドポイントを使用して、指定したビルドトリガーを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.21. Red Hat Quay API を使用して現在のユーザーオプションを管理する リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーにスターを付けたり、アカウントに関する情報を取得したりするなどの一部のユーザーオプションは、Red Hat Quay API で利用できます。
手順
GET /api/v1/user/エンドポイントを使用して、認証ユーザーのユーザー情報を取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"anonymous": false, "username": "quayadmin", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "can_create_repo": true, "is_me": true, "verified": true, "email": "test@gmil.com", "logins": [], "invoice_email": false, "invoice_email_address": null, "preferred_namespace": false, "tag_expiration_s": 1209600, "prompts": [], "company": null, "family_name": null, "given_name": null, "location": null, "is_free_account": true, "has_password_set": true, "quotas": [{"id": 4, "limit_bytes": 2199023255552, "limits": [{"id": 3, "type": "Reject", "limit_percent": 100}]}], "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552, "running_backfill": "complete", "backfill_status": "complete"}, "organizations": [{"name": "test", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "can_create_repo": true, "public": false, "is_org_admin": true, "preferred_namespace": false}, {"name": "sample", "avatar": {"name": "sample", "hash": "ba560c68f1d26e8c6b911ac9b5d10d513e7e43e576cc2baece1b8a46f36a29a5", "color": "#b5cf6b", "kind": "org"}, "can_create_repo": true, "public": false, "is_org_admin": true, "preferred_namespace": false}], "super_user": true}{"anonymous": false, "username": "quayadmin", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "can_create_repo": true, "is_me": true, "verified": true, "email": "test@gmil.com", "logins": [], "invoice_email": false, "invoice_email_address": null, "preferred_namespace": false, "tag_expiration_s": 1209600, "prompts": [], "company": null, "family_name": null, "given_name": null, "location": null, "is_free_account": true, "has_password_set": true, "quotas": [{"id": 4, "limit_bytes": 2199023255552, "limits": [{"id": 3, "type": "Reject", "limit_percent": 100}]}], "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552, "running_backfill": "complete", "backfill_status": "complete"}, "organizations": [{"name": "test", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "org"}, "can_create_repo": true, "public": false, "is_org_admin": true, "preferred_namespace": false}, {"name": "sample", "avatar": {"name": "sample", "hash": "ba560c68f1d26e8c6b911ac9b5d10d513e7e43e576cc2baece1b8a46f36a29a5", "color": "#b5cf6b", "kind": "org"}, "can_create_repo": true, "public": false, "is_org_admin": true, "preferred_namespace": false}], "super_user": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/users/{username}エンドポイントを使用して、指定されたユーザーのユーザー情報を取得します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"anonymous": false, "username": "testuser", "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "super_user": false}{"anonymous": false, "username": "testuser", "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "super_user": false}Copy to Clipboard Copied! Toggle word wrap Toggle overflow POST /api/v1/user/starredエンドポイントを使用して、リポジトリーを表します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"namespace": "test", "repository": "testrepo"}{"namespace": "test", "repository": "testrepo"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/user/starredエンドポイントを使用して、スター付きリポジトリーをすべてリストします。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"repositories": [{"namespace": "test", "name": "testrepo", "description": "This repository is now under maintenance.", "is_public": true}]}{"repositories": [{"namespace": "test", "name": "testrepo", "description": "This repository is now under maintenance.", "is_public": true}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow DELETE /api/v1/user/starred/{repository}エンドポイントを使用して、リポジトリーからスターを削除します。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>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
第7章 Red Hat Quay アプリケーションプログラミングインターフェイス (API) リンクのコピーリンクがクリップボードにコピーされました!
この API を使用すると、Red Hat Quay リポジトリー、ユーザー、および組織の使用に必要な多くの操作を実行できます。
7.1. 認可 リンクのコピーリンクがクリップボードにコピーされました!
oauth2_implicit
スコープ
以下のスコープは、API エンドポイントへのアクセスを制御するのに使用されます。
| スコープ | 説明 |
|---|---|
| repo:read | このアプリケーションは、付与ユーザーまたはロボットアカウントに表示されるすべてのリポジトリーを表示し、プルできます。 |
| repo:write | このアプリケーションは、付与ユーザーまたはロボットアカウントに書き込みのアクセス権が割り当てられているリポジトリーをすべて表示、プッシュ、およびプルできます。 |
| repo:admin | このアプリケーションには、付与ユーザーまたはロボットアカウントがアクセスできるすべてのリポジトリーに管理者権限が割り当てられます。 |
| repo:create | このアプリケーションは、付与ユーザーまたはロボットアカウントがリポジトリーを作成できる namespace にリポジトリーを作成できます。 |
| user:read | このアプリケーションは、ユーザー名やメールアドレスなどのユーザー情報を読み取ることができます。 |
| org:admin | このアプリケーションは、ロボットの作成、チームの作成、チームのメンバーシップの調整、請求設定の変更など、組織の管理を行うことができます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
| super:user | このアプリケーションは、ユーザーの管理、スーパーユーザーパネルにある組織およびその他の機能の管理など、インストールを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
| user:admin | このアプリケーションは、ロボットの作成、リポジトリーへのパーミッションを付与するなど、アカウントを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
7.2. appspecifictokens リンクのコピーリンクがクリップボードにコピーされました!
現在のユーザーのアプリケーション固有のトークンを管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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"
7.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>"
7.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>"
7.3. build リンクのコピーリンクがクリップボードにコピーされました!
リポジトリービルドの作成、リスト表示、キャンセル、およびステータス/ログの取得
7.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 |
レスポンス
7.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 |
レスポンス
7.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 |
レスポンス
7.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 |
レスポンス
7.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 の配列 |
レスポンス
7.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 |
レスポンス
7.4. discovery リンクのコピーリンクがクリップボードにコピーされました!
API 検出情報。
7.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>"
7.5. error リンクのコピーリンクがクリップボードにコピーされました!
エラー詳細 API。
7.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>"
7.6. globalmessages リンクのコピーリンクがクリップボードにコピーされました!
メッセージ API。
7.6.1. createGlobalMessage リンクのコピーリンクがクリップボードにコピーされました!
メッセージを作成します。
POST /api/v1/messages
認可: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
新規メッセージの作成
| 名前 | 説明 | スキーマ |
|---|---|---|
|
message | 単一メッセージ | object |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 結果が見つからない |
コマンドの例
7.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>"
7.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.7. logs リンクのコピーリンクがクリップボードにコピーされました!
組織またはリポジトリーの使用状況ログにアクセスします。
7.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.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 | 結果が見つからない |
コマンドの例
7.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.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.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 | 結果が見つからない |
コマンドの例
7.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.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.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 | 結果が見つからない |
コマンドの例
7.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"
7.8. マニフェスト リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのマニフェストを管理します。
7.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>
7.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>
7.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 | 結果が見つからない |
コマンドの例
7.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
7.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>
7.9. mirror リンクのコピーリンクがクリップボードにコピーされました!
7.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" \
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
- 1
- 自動同期を無効にします。
7.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 | 結果が見つからない |
コマンドの例
7.10. namespacequota リンクのコピーリンクがクリップボードにコピーされました!
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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
7.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>"
7.11. organization リンクのコピーリンクがクリップボードにコピーされました!
組織、メンバーおよび OAuth アプリケーションを管理します。
7.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 '{
"name": "<new_organization_name>"
}' "https://<quay-server.example.com>/api/v1/organization/"
$ 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/"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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>"
7.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>"
7.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>"
7.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>"
7.12. permission リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのパーミッションを管理します。
7.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"
7.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>"
7.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>
7.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>
7.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>"
7.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>"
7.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>"
7.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/"
7.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>/
7.13. policy リンクのコピーリンクがクリップボードにコピーされました!
7.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/
7.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>"
7.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>
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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/
7.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>"
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.14. prototype リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーに追加されたデフォルトのパーミッションを管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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>
7.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 | 結果が見つからない |
コマンドの例
7.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
7.15. referrers リンクのコピーリンクがクリップボードにコピーされました!
v2 API リファラーのリストを示します。
7.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 |
7.16. repository リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーをリスト表示、作成、管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンド例
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.17. repositorynotification リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーイベント/通知をリスト表示、作成、管理します。
7.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
7.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>
7.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>
7.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>
7.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 | 結果が見つからない |
コマンドの例
7.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
7.18. robot リンクのコピーリンクがクリップボードにコピーされました!
ユーザーおよび組織のロボットアカウントを管理します。
7.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>"
7.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"
7.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"
7.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"
7.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"
7.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>"
7.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>"
7.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>"
7.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"
7.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>"
7.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>"
7.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>"
7.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>"
7.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"
7.19. search リンクのコピーリンクがクリップボードにコピーされました!
すべてのレジストリーコンテキストに対して検索を実行します。
7.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>"
7.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>"
7.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>"
7.20. secscan リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの脆弱性およびその他のセキュリティー情報をリスト表示および管理します。
7.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>"
7.21. superuser リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザー API。
7.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 '{
"username": "newuser",
"email": "newuser@example.com"
}' "https://<quay-server.example.com>/api/v1/superuser/users/"
$ 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/"
7.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}"
7.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/"
7.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>"
7.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/"
7.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 | 結果が見つからない |
コマンドの例
7.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"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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>"
7.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 | 作成済み | |
| 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/"
7.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 | 作成済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 結果が見つからない |
コマンドの例
7.22. tag リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのタグを管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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/
7.23. team リンクのコピーリンクがクリップボードにコピーされました!
組織のチームを作成、リスト表示、および管理します。
7.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"
7.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>"
7.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>"
7.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"
7.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>"
7.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>"
7.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>
7.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>"
7.24. trigger リンクのコピーリンクがクリップボードにコピーされました!
ビルドトリガーを作成、リスト表示、管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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}'
7.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>"
7.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>"
7.25. user リンクのコピーリンクがクリップボードにコピーされました!
現行ユーザーを管理します。
7.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 | 結果が見つからない |
コマンドの例
7.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>"
7.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>"
7.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>"
7.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>"
7.26. 定義 リンクのコピーリンクがクリップボードにコピーされました!
7.26.1. ApiError リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
status | 応答のステータスコード | integer |
|
type | エラーのタイプへの参照。 | string |
|
detail | エラーの特定インスタンスの詳細。 | string |
|
title | エラーのタイプを識別する一意のエラーコード。 | string |
|
error_message | 非推奨。 | string |
|
error_type | 非推奨。 | string |
7.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 |
7.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 |
7.26.4. ApiErrorDescription リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
type | エラータイプリソースへの参照。 | string |
|
title | エラーのタイトル。エラーの種類を一意に識別するために使用できます。 | string |
|
description | 問題の修正時に役立つ可能性のある詳細な説明。 | string |