指定URLを使用したリソースへのアクセス
Oracle Linux Automation Managerには、リソースへのアクセスとリソースの管理に使用できる指定URLの2つのグループが用意されています。 これらの指定URLは、/api/v2/settings/named-url/にあります。 指定URLグループは次のとおりです。
- NAMED_URL_FORMATS
- NAMED_URL_GRAPH_NODES
NAMED_URL_FORMATSは、使用可能なすべての指定URL識別子フォーマットの読取り専用キー/値ペア・リストです。 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>
たとえば、次のcURLリクエストは、org1の一部であるteam1の詳細を返します。
curl -i -H "Authorization: Bearer pVQoc51Apt4LNrXrNzoSbaMCDzjK8B" -X GET https://192.102.118.107/api/v2/teams/team1++org1
NAMED_URL_FORMATSは、指定URLを持つことができるすべてのリソースを排他的にリストします。 NAMED_URLリソースにはそれぞれ、オブジェクト固有の指定URLを表すnamed_urlフィールドが詳細ビュー内にあります。 オブジェクトの関連URLを表示することもできます。 たとえば、/api/v2/res_name/obj_slug/が有効である場合は、/api/v2/res_name/obj_slug/related_res_name/が有効です。
すべての指定URLリソースには、そのオブジェクトの指定URLを表示する関連フィールドnamed_urlがあります。 自分で使用するために、そのフィールドをコピーして貼り付けることができます。 たとえば、/api/v2/teams/2/にある、REST APIブラウザ内のID 2のチーム詳細を次に示します。 関連オブジェクトのnamed_urlフィールドには、named_url値を持つ指定URLが表示されています。
"id": 2,
"type": "team",
"url": "/api/v2/teams/2/",
"related": {
"named_url": "/api/v2/teams/team2++org1/",
"created_by": "/api/v2/users/1/",
....
指定URLの一意の識別子の生成に関して、予約文字に関連する重要な側面があります。 識別子はURLの一部であるため、予約文字;/?:@=&[]はパーセント記号でエンコードされます。 たとえば、組織の名前が;/?:@=&[]である場合、その一意の識別子は%3B%2F%3F%3A%40%3D%26%5B%5Dである必要があります。 もう1つの特別な予約文字は+で、これはURL標準では予約されておらず、指定URL機能で識別子の様々な部分をリンクするために使用されます。 これは、[+]でエンコードされます。 たとえば、組織の名前が[+]である場合、その一意の識別子は%5B[+]%5Dであり、元の[と]はパーセントでエンコードされ、+は[+]に変換されます。
NAMED_URL_GRAPH_NODESは、Oracle Linux Automation Managerが指定URLを管理するために使用する内部グラフ・データ構造を公開する、キー/値ペアのもう1つの読取り専用リストです。 これは、判読可能にすることを意図したものではなく、プログラムによる指定URLの生成に使用します。 NAMED_URL_GRAPH_NODESによって提供される情報を使用して、指定URLを持つことができる任意のリソース・オブジェクトの主キーに基づいて指定URLを生成するためのスクリプトの例は、GitHub (https://github.com/ansible/awx/blob/devel/tools/scripts/pk_to_named_url.py)にあります。