第3章 API 構文
API リクエストと JSON レスポンスの基本的な構文を確認できます。
Satellite 6 API のバージョン 1 と 2 が利用可能ですが、Red Hat はバージョン 2 のみをサポートしています。
3.1. API リクエストの構成 リンクのコピーリンクがクリップボードにコピーされました!
Satellite に含まれている API リファレンスは、HTTP メソッドの後に API ルートまたはパスを記載します。
HTTP_METHOD API_ROUTE
HTTP_METHOD API_ROUTE
API を使用するには、curl
コマンド構文と当リファレンスドキュメントの API ルートを使用して、コマンドを構築します。
- 1
- API 呼び出しに
curl
を使用するには、HTTP 動詞に--request
オプションを指定します。(例:--request POST
)。 - 2
--insecure
オプションを追加して、SSL ピア証明書の検証確認をスキップします。Red Hat では、SSL 認証を設定し、セキュリティーで保護された呼び出しを使用することを推奨します。詳細は、「SSL 認証の概要」 を参照してください。- 3
--user
オプションを使用して Satellite ユーザーの認証情報を指定します。- 4
- 5 6
--data
オプションを指定して JSON データを渡す場合は、--header
オプションを指定して以下のヘッダーを指定する必要があります。詳細は、「API 要求への JSON データの指定」 を参照してください。- 7
- Satellite Server からコンテンツをダウンロードする場合は、
--output
オプションを使用して出力ファイルを指定します。 - 8
https://satellite.example.com/katello/api/activation_keys
形式の API ルートを使用します。Satellite 6 では、API のバージョン 2 がデフォルトです。したがって、API 呼び出しの URL にv2
を指定する必要はありません。- 9
- Python
json.tool
モジュールに出力をリダイレクトして、出力の可読性を向上します。
3.1.1. HTTP メソッド (GET) の使用 リンクのコピーリンクがクリップボードにコピーされました!
HTTP メソッド (GET) を使用して、既存のエントリーまたはリソースに関するデータを API から取得します。この例では、登録されたホストの数を要求します。
API 要求
curl \ --request GET \ --user My_User_Name:My_Password \ https://satellite.example.com/api/hosts \ | python3 -m json.tool
$ curl \
--request GET \
--user My_User_Name:My_Password \
https://satellite.example.com/api/hosts \
| python3 -m json.tool
API 応答
API からの応答により、結果数が合計 2 つ、これらは結果の 1 ページ目に表示され、ページごとの最大結果数は 20 に設定されていることが分かります。詳細は、「JSON 応答形式」 を参照してください。
3.1.2. HTTP メソッド (POST) の使用 リンクのコピーリンクがクリップボードにコピーされました!
HTTP 動詞 (POST) を使用して、データを API に送信してエントリーまたはリソースを作成します。JSON 形式でデータを送信する必要があります。詳細は、「API 要求への JSON データの指定」 を参照してください。
API の手順
以下のコンテンツを含めて、
activation-key.json
などのテストファイルを作成します。{"organization_id":1, "name":"TestKey", "description":"Just for testing"}
{"organization_id":1, "name":"TestKey", "description":"Just for testing"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow activation-key.json
ファイルにデータを適用してアクティベーションキーを作成します。要求例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 応答例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- Satellite Web UI で、Content > Lifecycle > Activation Keys に移動して、アクティベーションキーを表示します。
3.1.3. HTTP メソッド (PUT) の使用 リンクのコピーリンクがクリップボードにコピーされました!
HTTP メソッド (PUT) を使用して、既存の値を変更するか、既存のリソースに追加します。JSON 形式でデータを送信する必要があります。詳細は、「API 要求への JSON データの指定」 を参照してください。
この例では、1 つ前の例で作成した TestKey
アクティベーションキーを更新します。
API の手順
先ほど作成した
activation-key.json
ファイルを以下のように編集します。{"organization_id":1, "name":"TestKey", "description":"Just for testing","max_hosts":"10" }
{"organization_id":1, "name":"TestKey", "description":"Just for testing","max_hosts":"10" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON ファイルの変更を適用します。
要求例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 応答例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Satellite Web UI で、Content > Lifecycle > Activation Keys に移動して変更を確認します。
3.1.4. HTTP メソッド (DELETE) の使用 リンクのコピーリンクがクリップボードにコピーされました!
リソースを削除するには、削除するリソース ID を含む API ルートと DELETE メソッドを使用します。この例では、ID が 2 の TestKey
アクティベーションキーを削除します。
API 要求
API 応答