機械翻訳について

指定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)にあります。