第6章 API チートシート


Red Hat Satellite API を使用してさまざまなタスクを実行する方法については、次の例を参照してください。ポート 443 の HTTPS 経由で Satellite Server 上の API を使用できます。

たとえば、Ruby では、Satellite Server の URL を次のように指定できます。

url = 'https://satellite.example.com/api/v2/'
katello_url = 'https://satellite.example.com/katello/api/v2/'

これらの値を使用してスクリプトを完全に自動化し、使用するポートを検証する必要性をなくします。

次の例では、API リクエストの送信に curl を使用します。詳細は、「curl での API の呼び出し」 を参照してください。

6.1. ホストの使用方法

ホストのリスト表示

以下の例では、Satellite ホストのリストを返します。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts | python3 -m json.tool

応答例:

{
      ...
       "total" => 2,
    "subtotal" => 2,
        "page" => 1,
    "per_page" => 1000,
      "search" => nil,
        "sort" => {
           "by" => nil,
        "order" => nil
    },
     "results" => [
      ...
}

ホストの情報要求

この要求は、satellite.example.com ホストの情報を返します。

要求例:

$  curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts/satellite.example.com \
| python3 -m json.tool

応答例:

{
    "all_puppetclasses": [],
    "architecture_id": 1,
    "architecture_name": "x86_64",
    "build": false,
    "capabilities": [
        "build"
    ],
    "certname": "satellite.example.com",
    "comment": null,
    "compute_profile_id": null,
    ...
}

ホストのファクト表示

この要求は、satellite.example.com ホストの全ファクトを返します。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts/satellite.example.com/facts \
| python3 -m json.tool

応答例:

{
    ...
    "results": {
        "satellite.example.com": {
            "augeasversion": "1.0.0",
            "bios_release_date": "01/01/2007",
            "bios_version": "0.5.1",
            "blockdevice_sr0_size": "1073741312",
            "facterversion": "1.7.6",
            ...
}

パターンが一致するホストの検索

以下のクエリーは、"example" というパターンと一致するホストをすべて返します。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts?search=example \
| python3 -m json.tool

応答例:

{
    ...
    "results": [
        {
            "name": "satellite.example.com",
            ...
        }
    ],
    "search": "example",
    ...
}

環境でのホストの検索

以下のクエリーは、production 環境内の全ホストを返します。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts?search=environment=production \
| python3 -m json.tool

応答例:

{
    ...
    "results": [
        {
            "environment_name": "production",
            "name": "satellite.example.com",
            ...
        }
    ],
    "search": "environment=production",
    ...
}

特定のファクト値を含むホストの検索

以下のクエリーでは、RHV Hypervisor というモデル名のホストがすべて返されます。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts?search=model=\"RHV+Hypervisor\" \
| python3 -m json.tool

応答例:

{
    ...
    "results": [
        {
            "model_id": 1,
            "model_name": "RHV Hypervisor",
            "name": "satellite.example.com",
            ...
        }
    ],
    "search": "model=\"RHV Hypervisor\"",
    ...
}

ホストの削除

この要求は、名前が host1.example.com のホストを削除します。

要求例:

$ curl --request DELETE --user My_User_Name:My_Password \
https://satellite.example.com/api/v2/hosts/host1.example.com \
| python3 -m json.tool

全ホストのブートディスクイメージのダウンロード

以下の要求では、ホストの完全な起動ディスクイメージを ID を使用してダウンロードします。

要求例:

$ curl --request GET --user My_User_Name:My_Password \
https://satellite.example.com/api/bootdisk/hosts/host_ID?full=true \
--output image.iso
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.