付録D Red Hat Update Infrastructure における API リファレンス
ここで引用している資料はすべて、Pulp 2.18 リポジトリー で利用できます。
D.1. リポジトリー API
D.1.1. 作成、削除、および設定
D.1.1.1. リポジトリーの作成
この呼び出しは、Pulp に新しいリポジトリーを作成し、インポーターとディストリビューターの設定用のオプションのパラメーターを受け入れます。これらのパラメーターの詳細な説明は、インポーターまたはディストリビューターを既存のリポジトリーに関連付ける API のドキュメントを参照してください。これらのパラメーターが渡されない場合、呼び出しはパルプにのみリポジトリーを作成します。リポジトリーの実際の機能は、インポーターとディストリビューターが追加されるまで定義されません。リポジトリー ID は、サーバーの全リポジトリーで一意でなければなりません。
方法: POST
パス: /pulp/api/v2/repositories/
パーティション: create
要求ボディーの内容。
- id
- (文字列) リポジトリーの一意の識別子
- display_name
- (文字列) (オプション) リポジトリーのわかりやすい名前
- description
- (文字列) (オプション) リポジトリーのコンテンツを説明するユーザーフレンドリーなテキスト
- notes
- (オブジェクト) (オプション) リポジトリーにプログラムでタグを付けるためのキーと値のペア
- importer_type_id
- (文字列) (オプション) リポジトリーに関連付けられているインポーターのタイプ ID
- importer_config
-
(オブジェクト) (オプション) リポジトリーがインポーターの動作を駆動するために使用する設定。
proxy_password
とbasic_auth_password
は、セキュリティー上の理由から*
として返されることに注意してください。 - distributors
-
(配列) (オプション)
distributor_type_id
、repo_plugin_config
、auto_publish
、およびdistributor_id
の値を含むオブジェクトの配列
レスポンスコード
- 201
- リポジトリーが正常に作成されました。
- 400
- いずれかのパラメーターが無効になっている場合
- 409
- 指定した ID のリポジトリーがすでに存在する場合
- 500
- インポータ―またはディストリビューターで初期化中にエラーを発生した場合
戻り値: 作成されたリポジトリーのデータベース表現
要求のサンプル:
{ "display_name": "Harness Repository: harness_repo_1", "id": "harness_repo_1", "importer_type_id": "harness_importer", "importer_config": { "num_units": "5", "write_files": "true" }, "distributors": [{ "distributor_id": "dist_1", "distributor_type_id": "harness_distributor", "distributor_config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "auto_publish": false }], }
201 応答の本文のサンプル:
{ "scratchpad": {}, "display_name": "Harness Repository: harness_repo_1", "description": null, "_ns": "repos", "notes": {}, "content_unit_counts": {}, "_id": { "$oid": "52280416e5e71041ad000066" }, "id": "harness_repo_1", "_href": "/pulp/api/v2/repositories/harness_repo_1/" }
D.1.1.2. リポジトリーを更新します。
(関連するインポーター/ディストリビューターと比較して) リポジトリーの作成が単にリポジトリーメタデータに関連しているように、更新リポジトリーの呼び出しは、そのメタデータのみの更新に重点が置かれます。
方法: PUT
Path: /pulp/api/v2/repositories/<repo_id>/
パーティション: update
要求の本文の内容: 要求の本文は、以下の 3 つの可能なルート要素を持つ JSON ドキュメントです。
- delta
- (オブジェクト) - (任意) リポジトリー上で更新する必要のある値を持つキーを含むオブジェクト
- importer_config
- (オブジェクト) - (任意) リポジトリーのインポーター設定で更新する必要のある値を含むオブジェクト
- distributor_configs
- (オブジェクト) - (任意) ディストリビューター ID であるキーを含むオブジェクト、およびプラグイン固有のキー/値のペアを含むオブジェクトの値
レスポンスコード
- 200
- 更新が実行され、成功した場合
- 202
- 更新は実行されたにも関わらず、ネストされたディストリビューター設定を更新するために追加のタスクが作成された場合
- 400
- いずれかのパラメーターが無効になっている場合
- 404
- 指定した ID のあるリポジトリーがない場合
戻り値: (更新による変更後の) リポジトリーのデータベース表現と、リポジトリーのコンシューマーバインディングを適用するために生成されたタスクが含まれる Call Report。生成されるバインディングタスクの詳細は、コンシューマーをリポジトリーにバインド を参照してください。
要求のサンプル:
{ "delta": { "display_name" : "Updated" }, "importer_config": { "demo_key": "demo_value" }, "distributor_configs": { "demo_distributor": { "demo_key": "demo_value" } } }
結果値のサンプル: Call Report の結果フィールドに、リポジトリーのデータベース表現が含まれます。
{ ... "result": { "display_name": "zoo", "description": "foo", "_ns": "repos", "notes": { "_repo-type": "rpm-repo" }, "content_unit_counts": { "package_group": 2, "package_category": 1, "rpm": 32, "erratum": 4 }, "_id": { "$oid": "5328b2983738202945a3bb47" }, "id": "zoo", "_href": "/pulp/api/v2/repositories/zoo/" }, ... }
D.1.1.3. インポータ―をリポジトリーに関連付けます。
この呼び出しは、以前に作成されたパルプリポジトリーの インポーター を設定します。各リポジトリーは、インポーターの設定を維持します。これは、インポーターがコンテンツを同期する際にどのように動作するかを決定するために使用されます。可能な設定値は、追加するインポーターのタイプによって決まります。インポーターの各タイプは、その機能に関係する異なる値のセットをサポートします。
インポーターは、特定のタイミングでリポジトリーに関連付けられるだけです。リポジトリーにすでに関連付けられたインポーターがある場合、以前の関連付けは削除されます。この削除は、新しいインポーターが初期化される前に実行されるため、新しいインポーターの初期化に失敗した場合は、インポーターなしでリポジトリーが残される可能性があります。
インポーターを追加すると、追加を確認する前に以下の検証ステップが実行されます。
- インポータープラグインと通信し、インポーターの提供された設定を検証するよう要求されます。その設定が無効であることをインポーターが示している場合は、インポーターはリポジトリーに追加されません。
-
インポーターの
importer_added
メソッドは、そのリポジトリーに必要な初期化をインポータ―が実行できるように呼び出されます。この呼び出し中にプラグインが例外を発生させると、インポーターはリポジトリーに追加されません。 - Pulp データベースが更新され、インポーターの設定と、リポジトリーがインポーターに関連付けられている知識が保存されます。
追加されたインポーターの詳細が呼び出しから返されます。
方法: POST
Path: /pulp/api/v2/repositories/<repo_id>/importers/
パーティション: create
要求ボディーの内容。
- importer_type_id
- (文字列) - リポジトリーに関連付けられているインポーターのタイプを示します。この ID のある Pulp サーバーにインポーターがインストールされている必要があります。
- importer_config
- (オブジェクト) リポジトリーがインポーターの動作を駆動するために使用する設定。
レスポンスコード
- 202
- 関連付けを実行するためにキューに追加された場合
- 400
- 必要なパラメーターのいずれかが欠落している場合、インポーターのタイプ ID は存在しないインポーターを参照します。また、インポーターは、指定された設定が無効であることを示します。
- 404
- 指定した ID があるリポジトリーが存在しない場合
- 500
- 初期化中にインポーターがエラーを発生させる場合
戻り値: 関連タスクの現在の状態が含まれる Call Report。
要求のサンプル:
{ "importer_type_id": "harness_importer", "importer_config": { "num_units": "5", "write_files": "true" } }
Task Report の結果値のサンプル: Task Report の結果フィールドには、インポーターのデータベース表現 (完全なリポジトリーの詳細ではなく、インポーターのみ) が含まれます。
{ "scratchpad": null, "_ns": "repo_importers", "importer_type_id": "harness_importer", "last_sync": null, "repo_id": "harness_repo_1", "_id": "bab0f9d5-dfd1-45ef-bd1d-fd7ea8077d75", "config": { "num_units": "5", "write_files": "true" }, "id": "harness_importer" }
タグ: 作成されたタスクには、pulp:action:update_importer
、pulp:repository:<repo_id>
、pulp:repository_importer:<importer_type_id>
のタグが含まれます。
D.1.1.4. ディストリビューターとリポジトリーの関連付け
この呼び出しは、以前に作成されたパルプリポジトリーの ディストリビューター を設定します。各リポジトリーは、ディストリビューターの設定を維持します。これは、ディストリビューターがコンテンツを公開する際にどのように動作するかを決定するために使用されます。可能な設定値は、追加されるディストリビューターのタイプによって異なります。各ディストリビュータータイプは、その機能に関連するさまざまな値のセットをサポートします。
任意のディストリビューター設定パラメーターがあります。これは force_full
と呼ばれるすべてのディストリビュータープラグインタイプで使用できます。このパラメーターを設定すると、このディストリビューターを使用するリポジトリーのすべての公開が最初から実行されます。詳細は、リリースノート を参照してください。
一度に複数のディストリビューターをリポジトリーに関連付けることができます。同じタイプのディストリビューターが複数存在する場合があります。唯一の制限は、ディストリビューション ID が特定のリポジトリーのすべてのディストリビューターで一意である必要があることです。
ディストリビューターを追加すると、追加を確認する前に以下の検証手順が実行されます。
- これが指定されている場合は、リポジトリーのコンテキストにおける一意性についてディストリビューター ID が確認されます。指定しないと、一意の ID が生成されます。
- distributor プラグインが接続され、ディストリビューターに指定された設定の検証が求められます。ディストリビューターがその設定が無効であることを示している場合、ディストリビューターはリポジトリーに追加されません。
-
ディストリビューターの
distributor_added
メソッドは、そのリポジトリーに必要な初期化を行うために呼び出されます。この呼び出し中にプラグインが例外を発生させると、ディストリビューターはリポジトリーに追加されません。 - Pulp データベースが更新され、ディストリビューターの設定と、リポジトリーがディストリビューターに関連付けられているナレッジが保存されます。
追加されたディストリビューターの詳細が呼び出しから返されます。
方法: POST
Path: /pulp/api/v2/repositories/<repo_id>/distributors/
パーティション: create
要求ボディーの内容。
- distributor_type_id
- (文字列) リポジトリーに関連付けられているディストリビューターのタイプを示します。この ID のある Pulp サーバーにディストリビューターがインストールされている必要があります。
- distributor_config
- (オブジェクト) ディストリビューターの動作を駆動するためにリポジトリーが使用するプラグイン固有の設定
- distributor_id
- (文字列) (オプション) 指定されている場合、この値はディストリビューターを参照します。指定しない場合、1 つはディストリビューターにランダムに割り当てられます。
- auto_publish
- (ブール値) (オプション) true の場合、このディストリビューターは、リポジトリーの同期が成功した後、自動的に公開操作を呼び出します。指定されていない場合はデフォルトで false に設定されます。
レスポンスコード
- 201
- ディストリビューターが正常に追加された場合
- 400
- 必要なパラメーターのいずれかが欠落している場合、ディストリビューターのタイプ ID は存在しないディストリビューターを参照します。また、ディストリビューターは、指定された設定が無効であることを示します。
- 404
- 指定した ID があるリポジトリーが存在しない場合
- 500
- ディストリビューターが初期化中にエラーを発生させる場合
戻り値: ディストリビューターのデータベース表現 (完全なリポジトリーの詳細ではなく、ディストリビューターのみ)。
要求のサンプル:
{ "distributor_id": "dist_1", "distributor_type_id": "harness_distributor", "distributor_config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "auto_publish": false }
201 応答の本文のサンプル:
{ "scratchpad": null, "_ns": "repo_distributors", "last_publish": null, "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "cfdd6ab9-6dbe-4192-bde2-d00db768f268", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" }
D.1.1.5. リポジトリーに関連付けられているインポートの更新
リポジトリーに関連付けられている インポーター の設定を更新します。
指定されていないインポーター設定値は変更されません。
インポーターの proxy_password
フィールドと basic_auth_password
フィールドは、入力されている場合は *
として返されることに注意してください。これは、セキュリティーの目的で行われます。
方法: PUT
Path: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/
パーティション: update
要求ボディーの内容。
- importer_config
- (オブジェクト) インポーターで更新する必要のある値を持つキーを含むオブジェクト
レスポンスコード
- 202
- リポジトリーが利用可能の場合に、インポーターを更新するサーバーが要求に要求が受け入れられた場合
- 400
- 要求ボディーパラメーターが無効になっている場合
- 404
- 指定した ID を持つリポジトリーまたはインポーターがない場合
戻り値: Task Report にポーリングする必要がある生成されたタスクが含まれる Call Report。
要求のサンプル:
{ "importer_config": { "demo_key": "demo_value" } }
Task Report の結果値のサンプル: Task Report の結果フィールドには、インポーターのデータベース表現が含まれます。これには、完全なリポジトリー情報が含まれません。
[options="nowrap"] { "scratchpad": null, "_ns": "repo_importers", "importer_type_id": "demo_importer", "last_sync": "2013-10-03T14:08:35Z", "scheduled_syncs": [], "repo_id": "demo_repo", "_id": { "$oid": "524db282dd01fb194283e53f" }, "config": { "demo_key": "demo_value" }, "id": "demo_importer" }
タグ: 作成されたタスクには、pulp:action:update_importer
、pulp:repository:<repo_id>
、pulp:repository_importer:<importer_id>
のタグが含まれます。
D.1.1.6. リポジトリーからのインポーターの関連付けを解除します。
方法: DELETE
Path: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/
パーティション: delete
レスポンスコード
- 202
- リポジトリーが利用可能である場合は、関連付けを解除をするサーバーに要求に要求が受け入れられた場合
- 404
- 指定した ID を持つリポジトリーまたはインポーターがない場合
戻り値: Call Report
タグ: 作成されたタスクには、pulp:action:delete_importer
、pulp:repository:<repo_id>
、pulp:repository_importer:<importer_id>
のタグが含まれます。
D.1.1.7. リポジトリーに関連付けられているディストリビューターの更新
リポジトリーに関連付けられているディストリビューターの設定を更新します。これにより、以下のアクションが実行されます。
- サーバーのディストリビューターを更新します。
- バインドされたコンシューマーを再バインドします。
指定されていないディストリビューターの設定値は変更されず、明示的に None
に設定されている値は設定から削除されます。
最初のステップは、Call Report に示されます。ステップ 1 が完了すると、spawned_tasks フィールドに、ステップ 2 を完了するために必要なタスクへのリンクが表示されます。ディストリビューターを更新すると、そのリポジトリーに関連する各バインディングも更新されます。詳細は、コンシューマーのリポジトリーへのバインド を参照してください。
方法: PUT
Path: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/
パーティション: update
要求ボディーの内容。
- distributor_config
- (オブジェクト) (オプション) ディストリビューター設定を更新する値を持つプラグイン固有のキーを含むオブジェクト
- delta
-
(オブジェクト) (オプション) ディストリビューターオブジェクトを更新する値を持つキーを含むオブジェクト。現在、
auto_publish
のみをサポートしています。
レスポンスコード
- 202
- リポジトリーが利用可能の場合に、ディストリビューターを更新するサーバーにリクエストが許可された場合
- 404
- 指定した ID を持つリポジトリーやディストリビューターがない場合
戻り値: Call Report
要求のサンプル:
{ "distributor_config": { "demo_key": "demo_value" }, "delta": { "auto_publish": true } }
タグ: ディストリビューターを更新するために作成されるタスクには、pulp:action:update_distributor
、pulp:repository:<repo_id>
、および pulp:repository_distributor:<distributor_id>
のタグが含まれます。バインディングタスクに関する情報は、Bind a Consumer to a Repository を参照してください。
D.1.1.8. リポジトリーからのディストリビューターの関連付けを解除
ディストリビューターの関連付けを解除すると、以下のアクションが実行します。
- ディストリビューターとリポジトリー間の関連付けを削除します。
- バインドされているすべてのコンシューマーのバインドを解除します。
最初のステップは、Call Report に示されます。ステップ 1 が完了すると、spawned_tasks フィールドに、ステップ 2 を完了するために必要なタスクへのリンクが表示されます。生成されたタスクの合計数は、リポジトリーにバインドされるコンシューマーの数によって異なります。
方法: DELETE
Path: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/
パーティション: delete
レスポンスコード
- 202
- リポジトリーが利用可能である場合は、関連付けを解除をするサーバーに要求に要求が受け入れられた場合
- 404
- 指定した ID を持つリポジトリーやディストリビューターがない場合
- 500
- サーバーが関連付け解除時にエラーを発生させる場合
戻り値: Call Report
タグ: ディストリビューターを削除するために作成されるタスクには、pulp:action:remove_distributor
、pulp:repository:<repo_id>
、および pulp:repository_distributor:<distributor_id>
のタグが含まれます。
D.1.1.9. リポジトリーを削除します。
リポジトリーが削除されると、データベースから削除され、ローカルの作業ディレクトリーが削除されます。リポジトリー内のコンテンツは削除されません。コンテンツの削除は、孤立したユニット プロセスで処理されます。
リポジトリーの削除は、主に以下の手順で行います。
- リポジトリーを削除します。
- バインドされているすべてのコンシューマーのバインドを解除します。
最初のステップは、Call Report に示されます。ステップ 1 が完了すると、spawned_tasks フィールドに、ステップ 2 を完了するために必要なタスクへのリンクが表示されます。生成されたタスクの合計数は、リポジトリーにバインドされるコンシューマーの数によって異なります。
方法: DELETE
Path: /pulp/api/v2/repositories/<repo_id>/
パーティション: delete
レスポンスコード
- 202
- サーバーがリポジトリーを削除するために要求を受け入れた場合
- 404
- 要求されたリポジトリーが存在しない場合
戻り値: Call Report
タグ: リポジトリーを削除するために作成されるタスクには、pulp:action:delete
、pulp:repository:<repo_id>
のタグが含まれます。
D.1.2. 取得
D.1.2.1. 単一リポジトリーの取得
この呼び出しは、単一のパルプリポジトリーに関する情報を取得します。返されるデータには、一般的なリポジトリーメタデータ、リポジトリーに関連付けられているインポーターとディストリビューターを記述するメタデータ、リポジトリーに対してローカルに保存されているコンテンツユニットの数が含まれます。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/
パーティション: read
クエリーパラメーター
- details
- (ブール値) (任意) ディストリビューター、インポーター、およびコンテンツユニット数を含むショートカット
- importers
-
(ブール値) (任意) 各リポジトリーの
importers
属性が含まれます。 - distributors
- (ブール値) (オプション) 各リポジトリーに distributors 属性を含めます
レスポンスコード
- 200
- リポジトリーが存在する場合
- 404
- 指定 ID を持つリポジトリーが存在しない場合
戻り値: 一致するリポジトリーのデータベース表現
200 応答の本文のサンプル:
{ "display_name": "Harness Repository: harness_repo_1", "description": null, "distributors": [ { "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "addf9261-345e-4ce3-ad1e-436ba005287f", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" } ], "notes": {}, "scratchpad": {}, "content_unit_counts": {}, "last_unit_added": "2012-01-25T15:26:32Z", "last_unit_removed": "2012-01-25T15:26:32Z", "importers": [ { "scratchpad": 1, "_ns": "repo_importers", "importer_type_id": "harness_importer", "last_sync": "2012-01-25T15:26:32Z", "repo_id": "harness_repo_1", "sync_in_progress": false, "_id": "bbe81308-ef7c-4c0c-b684-385fd627d99e", "config": { "num_units": "5", "write_files": "true" }, "id": "harness_importer" } ], "id": "harness_repo_1", "total_repository_units": 5, "locally_stored_units": 3 }
D.1.2.2. すべてのリポジトリーの取得
この呼び出しは、パルプサーバー内のすべてのリポジトリーに関する情報を返します。この呼び出しが 404 を返すことは決してないことに注意してください。リポジトリーがない場合は、空の配列が返されます。
方法: GET
パス: /pulp/api/v2/repositories/
パーティション: read
クエリーパラメーター
- details
- (ブール値) - (任意) ディストリビューターとインポーターの両方を含むショートカット
- importers
- (ブール値) (オプション) 各リポジトリーに importers 属性を含めます
- distributors
- (ブール値) (オプション) 各リポジトリーに distributors 属性を含めます
レスポンスコード
- 200
- リポジトリーの配列が含まれます。
戻り値: 単一リポジトリーの取得と同じ形式です。ただし、戻り値のベースは、それらの配列です。
200 応答の本文のサンプル:
[ { "display_name": "Harness Repository: harness_repo_1", "description": null, "last_unit_added": "2012-01-25T15:26:32Z", "last_unit_removed": null, "distributors": [ { "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "addf9261-345e-4ce3-ad1e-436ba005287f", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" } ], "notes": {}, "scratchpad": {}, "content_unit_counts": {}, "importers": [ { "scratchpad": 1, "_ns": "repo_importers", "importer_type_id": "harness_importer", "last_sync": "2012-01-25T15:26:32Z", "repo_id": "harness_repo_1", "sync_in_progress": false, "_id": "bbe81308-ef7c-4c0c-b684-385fd627d99e", "config": { "num_units": "5", "write_files": "true" }, "id": "harness_importer" } ], "id": "harness_repo_1" } ]
D.1.2.3. リポジトリーの高度な検索
これらの検索の実行方法は、検索 API を参照してください。
この呼び出しは、検索パラメーターに一致するパルプサーバー内のリポジトリーに関する情報を返します。この呼び出しが 404 を返すことは決してないことに注意してください。リポジトリーがない場合は、空の配列が返されます。
方法: POST
パス: /pulp/api/v2/repositories/search/
パーティション: read
要求ボディーの内容。
- details
- (ブール値) (オプション) インポートとディストリビューターを含むショートカット
- importers
- (ブール値) (オプション) 各リポジトリーに importers 属性を含めます
- distributors
- (ブール値) (オプション) 各リポジトリーに distributors 属性を含めます
レスポンスコード
- 200
- リポジトリーの配列が含まれます。
戻り値: 単一リポジトリーの取得と同じ形式です。ただし、戻り値のベースは、それらの配列です。
200 応答の本文のサンプル:
[ { "display_name": "Harness Repository: harness_repo_1", "description": null, "distributors": [ { "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "addf9261-345e-4ce3-ad1e-436ba005287f", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" } ], "notes": {}, "scratchpad": {}, "content_unit_counts": {}, "last_unit_added": null, "last_unit_removed": null, "importers": [ { "scratchpad": 1, "_ns": "repo_importers", "importer_type_id": "harness_importer", "last_sync": "2012-01-25T15:26:32Z", "repo_id": "harness_repo_1", "sync_in_progress": false, "_id": "bbe81308-ef7c-4c0c-b684-385fd627d99e", "config": { "num_units": "5", "write_files": "true" }, "id": "harness_importer" } ], "id": "harness_repo_1" } ]
この呼び出しは、検索パラメーターに一致するパルプサーバー内のリポジトリーに関する情報を返します。この呼び出しが 404 を返すことは決してないことに注意してください。リポジトリーがない場合は、空の配列が返されます。
一部のフィルター式はクエリーパラメーターとしてシリアル化できない場合があるため、この方法は POST の代替方法よりも制限があります。
方法: GET
パス: /pulp/api/v2/repositories/search/
パーティション: read
クエリーパラメーター
- details
- (ブール値) - (任意) ディストリビューターとインポーターの両方を含むショートカット
- importers
-
(ブール値) (任意) 各リポジトリーの
importers
属性が含まれます。 - distributors
-
(ブール値) (オプション) 各リポジトリーに
distributors
属性を含めます
クエリーパラメーターは、Search Criteria で定義されている Criteria オブジェクトの属性と一致する必要があります。例外は fields
パラメーターで、これは単数形で指定する必要があります。例: /v2/repository/search/?field = id&field = display_name&limit =20'
。
レスポンスコード
- 200
- リポジトリーの配列を獲得する
戻り値: 単一リポジトリーの取得と同じ形式です。ただし、戻り値のベースは、それらの配列です。
200 応答の本文のサンプル:
[ { "display_name": "Harness Repository: harness_repo_1", "description": null, "distributors": [ { "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "addf9261-345e-4ce3-ad1e-436ba005287f", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" } ], "notes": {}, "scratchpad": {}, "content_unit_counts": {}, "last_unit_added": null, "last_unit_removed": null, "importers": [ { "scratchpad": 1, "_ns": "repo_importers", "importer_type_id": "harness_importer", "last_sync": "2012-01-25T15:26:32Z", "repo_id": "harness_repo_1", "sync_in_progress": false, "_id": "bbe81308-ef7c-4c0c-b684-385fd627d99e", "config": { "num_units": "5", "write_files": "true" }, "id": "harness_importer" } ], "id": "harness_repo_1" } ]
D.1.2.4. リポジトリーに関連付けられているインポートの取得
この呼び出しは、リポジトリーに関連付けられている インポーター (存在する場合) を取得します。配列は空 (インポーターが設定されていない) になるか、単一のエントリーが含まれます。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/importers/
パーティション: read
クエリーパラメーター: なし
レスポンスコード
- 200
- インポーターの配列が含まれます。
- 404
- 指定した ID のリポジトリーがない場合は、リポジトリーが存在していても関連するインポーターがない場合には、これは発生しません。
戻り値: リポジトリーのインポーターまたは空の一覧のデータベース表現。
200 応答の本文のサンプル:
[ { "_href": "/pulp/api/v2/repositories/zoo/importers/yum_importer/", "_id": { "$oid": "563c82fa45ef48043f026c32" }, "_ns": "repo_importers", "config": { "feed": "http://example.com/repos/zoo/" }, "id": "yum_importer", "importer_type_id": "yum_importer", "last_sync": "2015-11-06T10:38:23Z", "repo_id": "zoo", "scratchpad": { "repomd_revision": 1331832478 } } ]
D.1.2.5. リポジトリーに関連付けられているインポータ―の取得
この呼び出しは、リポジトリーに関連付けられている特定の インポーター (存在する場合) を取得します。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/
パーティション: read
クエリーパラメーター: なし
レスポンスコード
- 200
- インポーターの詳細が含まれます。
- 404
- 一致する ID のリポジトリーまたはインポーターがない場合
戻り値: リポジトリーのインポーターのデータベース表現
200 応答の本文のサンプル:
{ "_href": "/pulp/api/v2/repositories/zoo/importers/yum_importer/", "_id": { "$oid": "563c82fa45ef48043f026c32" }, "_ns": "repo_importers", "config": { "feed": "http://example.com/repos/zoo/" }, "id": "yum_importer", "importer_type_id": "yum_importer", "last_sync": "2015-11-06T10:38:23Z", "repo_id": "zoo", "scratchpad": { "repomd_revision": 1331832478 } }
D.1.2.6. リポジトリーに関連付けられているディストリビューターの取得
この呼び出しは、リポジトリーに関連付けられているすべての ディストリビューター を取得します。リポジトリーに関連するディストリビューターがない場合は、空の配列が返されます。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/distributors/
パーティション: read
クエリーパラメーター: なし
レスポンスコード
- 200
- ディストリビューターの配列が含まれます。
- 404
- 指定した ID のリポジトリーがない場合は、リポジトリーが存在していても関連するディストリビューターがない場合には、これは発生しません。
戻り値: リポジトリー上のすべてのディストリビューターのデータベース表現
200 応答の本文のサンプル:
[ { "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": "addf9261-345e-4ce3-ad1e-436ba005287f", "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" } ]
D.1.2.7. リポジトリーに関連付けられているディストリビューターの取得
この呼び出しは、リポジトリーに関連付けられた単一の ディストリビューター を取得します。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/
パーティション: read
クエリーパラメーター: なし
レスポンスコード
- 200
- ディストリビューターの詳細が含まれます。
- 404
- リポジトリーがない場合や、一致する ID を持つディストリビューターがない場合
戻り値: ディストリビューターのデータベース表現
200 応答の本文のサンプル:
{ "scratchpad": 1, "_ns": "repo_distributors", "last_publish": "2012-01-25T15:26:32Z", "auto_publish": false, "distributor_type_id": "harness_distributor", "repo_id": "harness_repo_1", "publish_in_progress": false, "_id": {"$oid": "addf9261-345e-4ce3-ad1e-436ba005287f"}, "config": { "publish_dir": "/tmp/harness-publish", "write_files": "true" }, "id": "dist_1" }
D.1.2.8. ディストリビューターの高度な検索
これらの検索の実行方法は、検索 API を参照してください。
この呼び出しは、検索パラメーターに一致するパルプサーバーのディストリビューターに関する情報を返します。この呼び出しが 404 を返すことは決してないことに注意してください。ディストリビューターがない場合は、空の配列が返されます。
方法: POST
パス: /pulp/api/v2/distributors/search/
パーティション: read
要求ボディーの内容: なし
レスポンスコード
- 200
- ディストリビューターの配列が含まれます。
戻り値: ディストリビューターオブジェクトの一覧
200 応答の本文のサンプル:
[ { "repo_id": "el7", "last_publish": "2015-04-28T18:19:01Z", "auto_publish": null, "scheduled_publishes": [], "distributor_type_id": "ostree_web_distributor", "scratchpad": null, "config": { "relative_path": "/opt/content/ostree/el7" }, "id": "ostree_web_distributor_name_cli" }, { "repo_id": "el6", "last_publish": "2015-5-28T18:18:01Z", "auto_publish": null, "scheduled_publishes": [], "distributor_type_id": "ostree_web_distributor", "scratchpad": null, "config": { "relative_path": "/opt/content/ostree/el6" }, "id": "ostree_web_distributor_name_cli" } ]
D.1.3. 同期
D.1.3.1. リポジトリーを同期します。
この呼び出しは、リポジトリーの インポーター を使用して、フィードソースからリポジトリーにコンテンツを同期します。
方法: POST
Path: /pulp/api/v2/repositories/<repo_id>/actions/sync/
パーティション: execute
要求ボディーの内容。
- override_config
- (オブジェクト) (オプション) この同期のインポーターのデフォルト設定をオーバーライドするインポーター設定値
レスポンスコード
- 202
- 同期が実行するように設定されている場合
- 404
- リポジトリーが存在しない場合
戻り値: Call Report
要求のサンプル:
{ "override_config": {"verify_checksum": false, "verify_size": false}, }
タグ: 作成されたタスクには、pulp:action:sync
、pulp:repository:<repo_id>
のタグが含まれます。
D.1.3.2. リポジトリーのダウンロード
同期時に遅延したリポジトリーにコンテンツをダウンロードします。これは、download_policy=(background | on_demand)
で設定されたインポーターを含むリポジトリーで役に立ちます。ダウンロード済みのコンテンツは再度ダウンロードされません。
この API では、Alternate Download Policies 機能がインストールされ、機能するように設定されている必要があります。設定されていない場合は、この API によってディスパッチされるタスクは何もしません。
方法: POST
パス: /pulp/api/v2/repositories/<repo_id>/actions/download/
パーティション: execute
要求ボディーの内容。
- verify_all_units
- (ブール値) (オプション) リポジトリー内のすべてのユニットに破損または欠落しているファイルがないか確認し、欠落していることがわかっているファイルをダウンロードするだけでなく、必要に応じてファイルをダウンロードします (デフォルトは false)
レスポンスコード
- 202
- ダウンロードが実行するように設定されている場合
- 404
- リポジトリーが存在しない場合
戻り値: Call Report
要求のサンプル:
{ "verify_all_units": false }
タグ: 作成されたタスクには、pulp:action:download_repo
、pulp:repository:<repo_id>
のタグが含まれます。
D.1.3.3. 同期のスケジュール設定
リポジトリーは、iso8601 の間隔 を使用して自動的に同期できます。スケジュールされた同期を作成するには、間隔、同期オーバーライド設定、およびその他のスケジュールオプションをリポジトリーの インポーター に設定する必要があります。
方法: POST
Path: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/
パーティション: create
要求ボディーの内容。
- スケジュール
- (文字列) iso8601 間隔としてのスケジュール
- override_config
- (オブジェクト) (任意) スケジュールが設定された同期で使用されるインポーターの上書き設定
failure_threshold (数値) (任意) スケジュールが設定されたこの同期が無効になる前に連続して失敗が可能な回数
- enabled
- (ブール値) (任意) スケジュールが設定された同期が最初に有効かどうか (デフォルトは true)
レスポンスコード
- 201
- スケジュールが正常に作成された場合
- 400
- いずれかのパラメーターが無効になっている場合
- 404
- 指定した ID を持つリポジトリーまたはインポーターがない場合
戻り値: スケジュールを設定した呼び出しの現在の状態を表すスケジュールレポート
要求のサンプル:
{ "override_config": {}, "schedule": "00:00:00Z/P1DT", "failure_threshold": 3, }
201 応答の本文のサンプル:
{ "next_run": "2014-01-27T21:41:50Z", "task": "pulp.server.tasks.repository.sync_with_auto_publish", "last_updated": 1390858910.292712, "first_run": "2014-01-27T21:41:50Z", "schedule": "PT1H", "args": [ "demo" ], "enabled": true, "last_run_at": null, "_id": "52e6d29edd01fb70bd0d9c37", "total_run_count": 0, "failure_threshold": 3, "kwargs": { "overrides": {} }, "resource": "pulp:importer:demo:puppet_importer", "remaining_runs": null, "consecutive_failures": 0, "_href": "/pulp/api/v2/repositories/demo/importers/puppet_importer/schedules/sync/52e6d29edd01fb70bd0d9c37/" }
D.1.3.4. スケジュールが設定された同期の更新
スケジュールされた同期の作成に使用されるパラメーターはいつでも更新できます。
方法: PUT
パス: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
パーティション: create
要求ボディーの内容。
- スケジュール
- (文字列) (オプション) iso8601 間隔としての新しいスケジュール
- override_config
- (オブジェクト) (任意) スケジュールが設定された同期で使用されるインポーターの新しい上書き設定
failure_threshold (数値) (任意) スケジュールが設定されたこの同期が無効になる前に新たに連続して失敗が可能な回数
- enabled
- (ブール値) (任意) スケジュールされた同期が有効かどうか
レスポンスコード
- 200
- スケジュールが正常に更新された場合
- 400
- いずれかのパラメーターが無効になっている場合
- 404
- リポジトリーがない場合は、指定された ID でインポートまたはスケジュールします。
戻り値: スケジュールが設定された呼び出しの現在の状態を表すスケジュールレポート (詳細は、同期のスケジュール設定の応答例を参照してください)。
D.1.3.5. スケジュールが設定された同期の削除
スケジュールが設定された同期を削除して、インポータ―から永続的に削除します。
方法: DELETE
パス: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
パーティション: delete
レスポンスコード
- 200
- スケジュールが正常に削除された場合
- 404
- リポジトリーがない場合は、指定された ID でインポートまたはスケジュールします。
戻り値: null
D.1.3.6. スケジュールされた同期の一覧表示
指定のインポーターに対してスケジュールが設定された同期がすべて表示されます。
方法: GET
Path: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/
パーティション: read
レスポンスコード
- 200
- リポジトリーの場合は、importer が存在します。
- 404
- 指定した ID を持つリポジトリーまたはインポーターがない場合
戻り値: スケジュールが設定されたすべての同期のスケジュールレポートの配列
200 応答の本文のサンプル:
[ { "_href": "/pulp/api/v2/repositories/test/importers/yum_importer/schedules/sync/54d8852245ef4876fade7cc2/", "_id": "54d8852245ef4876fade7cc2", "args": [ "test" ], "consecutive_failures": 0, "enabled": true, "failure_threshold": null, "first_run": "2015-02-09T10:00:02Z", "kwargs": { "overrides": {} }, "last_run_at": "2015-02-09T10:00:23Z", "last_updated": 1423476133.825821, "next_run": "2015-02-10T10:00:02Z", "remaining_runs": null, "resource": "pulp:importer:test:yum_importer", "schedule": "P1DT", "task": "pulp.server.tasks.repository.sync_with_auto_publish", "total_run_count": 1 } ]
D.1.3.7. スケジュールされた単一同期の一覧表示
スケジュールが設定された各同期は検査できます。
方法: GET
パーティション: read
パス: /pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
レスポンスコード
- 200
- リポジトリー、インポーター、スケジュールが存在する場合
- 404
- リポジトリーがない場合は、指定された ID でインポートまたはスケジュールします。
戻り値: スケジュールが設定された同期のスケジュールレポート
200 応答の本文のサンプル:
{ "_href": "/pulp/api/v2/repositories/test/importers/yum_importer/schedules/sync/54d8852245ef4876fade7cc2/", "_id": "54d8852245ef4876fade7cc2", "args": [ "test" ], "consecutive_failures": 0, "enabled": true, "failure_threshold": null, "first_run": "2015-02-09T10:00:02Z", "kwargs": { "overrides": {} }, "last_run_at": "2015-02-09T10:00:23Z", "last_updated": 1423476133.825821, "next_run": "2015-02-10T10:00:02Z", "remaining_runs": null, "resource": "pulp:importer:test:yum_importer", "schedule": "P1DT", "task": "pulp.server.tasks.repository.sync_with_auto_publish", "total_run_count": 1 }
D.1.3.8. 同期履歴の取得
この呼び出しは、リポジトリーの同期履歴を取得します。リポジトリーで実行される各同期は履歴エントリーを作成します。
方法: GET
パーティション: read
パス: /pulp/api/v2/repositories/<repo_id>/history/sync/
クエリーパラメーター
- limit
- (整数) (オプション) 返す履歴エントリーの最大数です。指定されないと、履歴全体が返されます。
- sort
- (文字列) (任意) オプションは ascending および descending です。配列は同期のタイムスタンプでソートされます。
- start_date
- (iso8601 日時) (任意) 指定の日付より前のタイムスタンプのエントリーは返されません。
- end_date
- (iso8601 datetime) (オプション) 指定された日付より後のタイムスタンプを持つエントリーは返されません
レスポンスコード
- 200
- 履歴が正常に取得された場合
- 404
- 指定したリポジトリー ID が存在しない場合
戻り値: 同期履歴エントリーの配列
200 応答の本文のサンプル:
[ { "result": "success", "importer_id": "my_demo_importer", "exception": null, "repo_id": "demo_repo", "traceback": null, "started": "1970:00:00T00:00:00Z", "completed": "1970:00:00T00:00:01Z", "importer_type_id": "demo_importer", "error_message": null, } ]
D.1.4. 公開
D.1.4.1. リポジトリーの公開
この呼び出しは、リポジトリーの ディストリビュータ を使用してリポジトリーからコンテンツを公開します。この呼び出しは常に非同期で実行され、呼び出しレポート を返します。
方法: POST
パス: /pulp/api/v2/repositories/<repo_id>/actions/publish/
パーティション: execute
要求ボディーの内容。
- id
- (文字列) 公開するリポジトリーのディストリビューターを指定します。
- override_config
- (オブジェクト) (任意) ディストリビューターの設定値 (この公開のディストリビューターのデフォルト設定を上書きします)
レスポンスコード
- 202
- 公開が実行するように設定されている場合
- 404
- リポジトリーが存在しない場合
戻り値: 同期の現在の状態を表す Call Report
要求のサンプル:
{ "id": "distributor_1", "override_config": {}, }
タグ: 作成されたタスクには、pulp:action:publish
、pulp:repository:<repo_id>
のタグが含まれます。
D.1.4.2. 公開のスケジュール設定
リポジトリーは、iso8601 の間隔 を使用して自動的に公開できます。スケジュールが設定された公開、間隔、公開のオーバーライド設定、およびその他のスケジュールオプションをリポジトリーの ディストリビューター に設定する必要があります。
方法: POST
パス: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/schedules/publish/
パーティション: create
要求ボディーの内容。
- スケジュール
- (文字列) iso8601 間隔としてのスケジュール
- override_config
- (オブジェクト) (任意) スケジュールが設定された公開で使用されるディストリビューターの上書き設定
- failure_threshold
- (番号) (オプション) このスケジュールされた公開が無効になる前に許可される連続した失敗
- enabled
- (ブール値) (オプション) スケジュールされた公開が最初に有効になっているかどうか (デフォルトは true)
レスポンスコード
- 201
- スケジュールが正常に作成された場合
- 400
- いずれかのパラメーターが無効になっている場合
- 404
- 指定した ID を持つリポジトリーやディストリビューターがない場合
戻り値: スケジュールを設定した呼び出しの現在の状態を表すスケジュールレポート
要求のサンプル:
{ "override_config": {}, "schedule": "PT1H", "failure_threshold": 3, }
201 応答の本文のサンプル:
{ "next_run": "2014-01-27T21:27:56Z", "task": "pulp.server.tasks.repository.publish", "last_updated": 1390858076.682694, "first_run": "2014-01-27T21:27:56Z", "schedule": "PT1H", "args": [ "demo", "puppet_distributor" ], "enabled": true, "last_run_at": null, "_id": "52e6cf5cdd01fb70bd0d9c34", "total_run_count": 0, "failure_threshold": 3, "kwargs": { "overrides": {} }, "resource": "pulp:distributor:demo:puppet_distributor", "remaining_runs": null, "consecutive_failures": 0, "_href": "/pulp/api/v2/repositories/demo/distributors/puppet_distributor/schedules/publish/52e6cf5cdd01fb70bd0d9c34/" }
D.1.4.3. スケジュールが設定された公開の更新
スケジュール済みパブリッシュの作成に使用されるパラメーターはいつでも更新される可能性があります。
方法: PUT
パス: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/schedules/publish/<schedule_id>/
パーティション: create
要求ボディーの内容。
- スケジュール
- (文字列) (オプション) iso8601 間隔としての新しいスケジュール
- override_config
- (オブジェクト) (任意) スケジュールが設定された同期で使用されるインポーターの新しい上書き設定
- failure_threshold
- (番号) (オプション) このスケジュールされた同期が無効になる前に許可される新しい連続した失敗
- enabled
- (ブール値) (任意) スケジュールされた同期が有効かどうか
レスポンスコード
- 200
- スケジュールが正常に更新された場合
400: いずれかのパラメーターが無効になっている場合
404: リポジトリーがない場合は、指定した ID で配布またはスケジュールします。
戻り値: スケジュールが設定された呼び出しの現在の状態を表すスケジュールレポート (詳細は、公開のスケジュール設定の応答例を参照してください)。
D.1.4.4. スケジュールが設定された公開の削除
スケジュールが設定された公開を削除して、ディストリビューターから永続的に削除します。
方法: DELETE
パス: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/schedules/publish/<schedule_id>/
パーティション: delete
レスポンスコード
- 200
- スケジュールが正常に削除された場合
- 404
- リポジトリーがない場合は、指定した ID で配布またはスケジュールします。
戻り値: null
D.1.4.5. スケジュールされたすべての公開の一覧表示
指定のディストリビューターに対してスケジュールが設定された公開がすべて表示されます。
方法: GET
パス: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/schedules/publish/
パーティション: read
レスポンスコード
- 200
- リポジトリーがある場合は、ディストリビューターが存在します
- 404
- 指定された ID を持つリポジトリーまたはディストリビューターがない場合
戻り値: スケジュールが設定されたすべての公開のスケジュールレポートの配列です (詳細は、公開のスケジュール設定の応答例を参照してください)。
200 応答の本文のサンプル:
{ "_href": "/pulp/api/v2/repositories/test/distributors/yum_distributor/schedules/publish/54d88df045ef4876fb50c994/", "_id": "54d88df045ef4876fb50c994", "args": [ "test", "yum_distributor" ], "consecutive_failures": 0, "enabled": true, "failure_threshold": null, "first_run": "2015-02-09T10:37:36Z", "kwargs": { "overrides": {} }, "last_run_at": "2015-02-09T10:38:23Z", "last_updated": 1423478256.805917, "next_run": "2015-02-10T10:37:36Z", "remaining_runs": null, "resource": "pulp:distributor:test:yum_distributor", "schedule": "P1DT", "task": "pulp.server.tasks.repository.publish", "total_run_count": 1 }
D.1.4.6. スケジュールが設定された単一公開の一覧表示
スケジュールが設定された各公開は検査できます。
方法: GET
パーティション: read
パス: /pulp/api/v2/repositories/<repo_id>/distributors/<distributor_id>/schedules/publish/<schedule_id>/
レスポンスコード:
- 200
- リポジトリーがある場合は、ディストリビューターまたはスケジュールが存在します
- 404
- 指定された ID のリポジトリー、ディストリビューター、またはスケジュールがない場合
戻り値: スケジュールが設定された公開のスケジュールレポート (詳細は、公開のスケジュール設定の応答例を参照してください)。
200 応答の本文のサンプル:
{ "_href": "/pulp/api/v2/repositories/test/distributors/yum_distributor/schedules/publish/54d88df045ef4876fb50c994/", "_id": "54d88df045ef4876fb50c994", "args": [ "test", "yum_distributor" ], "consecutive_failures": 0, "enabled": true, "failure_threshold": null, "first_run": "2015-02-09T10:37:36Z", "kwargs": { "overrides": {} }, "last_run_at": "2015-02-09T10:38:23Z", "last_updated": 1423478256.805917, "next_run": "2015-02-10T10:37:36Z", "remaining_runs": null, "resource": "pulp:distributor:test:yum_distributor", "schedule": "P1DT", "task": "pulp.server.tasks.repository.publish", "total_run_count": 1 }
D.1.4.7. 公開履歴の取得
この呼び出しは、リポジトリーの公開履歴を取得します。リポジトリーで実行される各公開は履歴エントリーを作成します。
方法: GET
パーティション: read
Path: /pulp/api/v2/repositories/<repo_id>/history/publish/<distributor_id>/
クエリーパラメーター
- limit
- (整数) (オプション) 返される履歴エントリーの最大数。指定しない場合、履歴全体が返されます。
- sort
- (文字列) (任意) オプションは ascending および descending です。配列は公開のタイムスタンプでソートされます。
start_date (iso8601 日時) (任意) 指定の日付より前のタイムスタンプのエントリーは返されません。
- end_date
- (iso8601 datetime) (オプション) 指定された日付より後のタイムスタンプを持つエントリーは返されません。
レスポンスコード
- 200
- 履歴が正常に取得された場合
404: 指定したリポジトリー ID が存在しない場合
戻り値: 公開履歴エントリーの配列
200 応答の本文のサンプル:
[ { "result": "success", "distributor_id": "my_demo_distributor", "distributor_type_id": "demo_distributor", "exception": null, "repo_id": "demo_repo", "traceback": null, "started": "1970:00:00T00:00:00Z", "completed": "1970:00:00T00:00:01Z", "error_message": null, } ]
D.1.5. コンテンツの取得
D.1.5.1. 高度なユニット検索
ユニット関連付け基準 を使用して、リポジトリー内でユニットを検索するために使用できます。
方法: POST
パス: /pulp/api/v2/repositories/<repo_id>/search/units/
パーティション: read
要求ボディーの内容。
- 基準
- (object) A UnitAssociationCriteria
レスポンスコード
- 200
- 検索が実行された場合
- 400
- 基準がないか無効な場合
- 404
- リポジトリーが見つからない場合
戻り値: コンテンツユニット関連付けを表すオブジェクトの配列
要求のサンプル:
{ "criteria": { "fields": { "unit": [ "name", "version" ] }, "type_ids": [ "rpm" ], "limit": 1 } }
200 応答の本文のサンプル:
[ { "updated": "2013-09-04T22:12:05Z", "repo_id": "zoo", "created": "2013-09-04T22:12:05Z", "_ns": "repo_content_units", "unit_id": "4a928b95-7c4a-4d23-9df7-ac99978f361e", "metadata": { "_id": "4a928b95-7c4a-4d23-9df7-ac99978f361e", "version": "4.1", "name": "bear", "pulp_user_metadata": {} }, "unit_type_id": "rpm", "id": "522777f5e19a002faebebf79" } ]