第8章 リソースへのアクセス


Automation Controller はプライマリーキーを使用して個々のリソースオブジェクトにアクセスします。名前付き URL 機能を通じて、リソース固有で、人間が判読できる識別子を使用して、Automation Controller リソースにアクセスできます。

次の例は、補助クエリー文字列なしでリソースオブジェクトにアクセスできる名前付き URL パスを示しています。

/api/v2/hosts/host_name++inv_name++org_name/
Copy to clipboard

8.1. 設定オプション

/api/v2/settings/named-url/: NAMED_URL_FORMATS および NAMED_URL_GRAPH_NODES という 2 つの名前付き URL 関連の設定があります。

NAMED_URL_FORMATS は、使用可能なすべての名前付き URL 識別子形式の読み取り専用のキーと値のペアのリストです。以下は NAMED_URL_FORMATS の例になります。

"NAMED_URL_FORMATS": {
"organizations": "<name>",
"teams": "<name>++<organization.name>",
"credential_types": "<name>+<kind>",
"credentials": "<name>++<credential_type.name>+<credential_type.kind>++<organization.name>",
"notification_templates": "<name>++<organization.name>",
"job_templates": "<name>++<organization.name>",
"projects": "<name>++<organization.name>",
"inventories": "<name>++<organization.name>",
"hosts": "<name>++<inventory.name>++<organization.name>",
"groups": "<name>++<inventory.name>++<organization.name>",
"inventory_sources": "<name>++<inventory.name>++<organization.name>",
"inventory_scripts": "<name>++<organization.name>",
"instance_groups": "<name>",
"labels": "<name>++<organization.name>",
"workflow_job_templates": "<name>++<organization.name>",
"workflow_job_template_nodes": "<identifier>++<workflow_job_template.name>++<organization.name>",
"applications": "<name>++<organization.name>",
"users": "<username>",
"instances": "<hostname>"
}
Copy to clipboard

NAMED_URL_FORMATS の各項目のキーは、名前付き URL を持つリソースの API 名です。値は、人間が判読できる、そのリソースの一意識別子を形成する方法を示す文字列です。NAMED_URL_FORMATS には、名前付き URL を持つことができるリソースのみがリストされ、そこにリストされていないリソースには名前付き URL はありません。リソースに名前付き URL を設定できる場合、そのオブジェクトには、オブジェクト固有の名前付き URL を表す named_url フィールドが必要です。このフィールドはリストビューではなく詳細ビューでのみ表示されます。正確に生成された名前付き URL を使用して、指定されたリソースオブジェクトにアクセスできます。これはオブジェクトとそれに関連する URL です。たとえば、/api/v2/res_name/obj_slug/ が有効な場合、/api/v2/res_name/obj_slug/related_res_name/ も有効です。

NAMED_URL_FORMATS は、人間が判読できる一意の識別子と名前付き URL 自体を作成するのに十分な情報を提供します。使いやすさを考慮して、名前付き URL を指定できるリソースのオブジェクトにはすべて、そのオブジェクトの名前付き URL を表示する関連フィールド named_url があります。そのフィールドをコピーして貼り付け、独自のカスタム用途に使用できます。詳細は、リソースオブジェクトに名前付き URL がある場合、API ブラウザーのヘルプテキストを参照してください。

名前付き URL ラベル (ID 5 など) を手動で決定できます。NAMED_URL_FORMATS を使用してこの特定のリソースオブジェクトの名前付き URL を作成するには、まず NAMED_URL_FORMATS の labels フィールドを参照して、識別子形式 <name>++<organization.name> を取得します。

  • URL 形式の最初の部分は <name> です。つまり、ラベルリソースの詳細が /api/v2/labels/5/ にあり、返された JSON で name フィールドを探すことができます。名前 フィールドの値が Foo の場合、一意の識別子の最初の部分は Foo になります。
  • 形式の 2 番目の部分は二重プラス記号 ++ です。これは、一意の識別子の異なる部分を分ける区切り文字です。これらを一意の識別子に追加すると、Foo++ が得られます。
  • 形式の 3 番目の部分は <organization.name> です。これは、フィールドが調査中の現在のラベルオブジェクト内ではなく、ラベルオブジェクトが指す組織内にあることを示します。形式が示すように、現在返されている JSON の関連フィールドで組織を検索します。そのフィールドは存在しない可能性があります。存在する場合は、そのフィールドに指定された URL (例: /api/v2/organizations/3/) に従って特定の組織の詳細を取得し、その名前フィールド (例: "Default") を抽出して、現在の一意の識別子に追加します。<organizations.name> は、形式の最後の部分なので、/api/v2/labels/Foo++Default/ のように、名前付き URL が生成されます。

    ラベルオブジェクトの詳細の関連フィールドに組織が存在しない場合は、代わりに空の文字列を追加します。これにより現在の識別子は変更されません。したがって、Foo++ が最終的な一意の識別子になり、結果として生成される名前付き URL は /api/v2/labels/Foo++/ になります。

名前付き URL の一意の識別子を生成する際の重要な側面は、予約文字に関係しています。識別子は URL の一部であるため、;/?:@=&[] などの、URL 標準による予約文字はパーセント記号でエンコードされます。たとえば、組織の名前が ;/?:@=&[] の場合、その一意の識別子は %3B%2F%3F%3A%40%3D%26%5B%5D になります。もう 1 つの特別な予約文字は + です。これは URL 標準では予約されていませんが、名前付き URL によって識別子のさまざまな部分をリンクするために使用されます。[+] でエンコードされます。たとえば、組織名が [+] の場合、その一意の識別子は %5B[+]%5D になります。ここで、元の [] はパーセントにエンコードされ、+[+] に変換されます。

NAMED_URL_FORMATS は、手動で変更できませんが、変更は自動的に行われ、時間の経過とともに拡張され、基礎となるリソースの変更と拡張を反映します。名前付き URL 機能を使用する同じクラスターの NAMED_URL_FORMATS を参照してください。

NAMED_URL_GRAPH_NODES は、キーと値のペアのもう 1 つの読み取り専用リスト、名前付き URL を管理するために使用される内部グラフデータ構造を公開します。これは人間が読める形式ではありませんが、プログラムで名前付き URL を生成するために使用する必要があります。任意のリソースオブジェクトのプライマリーキーに NAMED_URL_GRAPH_NODES の情報を使用して、名前付きの URL を指定できる場合の、名前付き URL を生成するスクリプトのサンプルは、GitHub にあります。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.