8.2. 識別子フォーマットのプロトコル


リソースは、リソースフィールドのタプルである一意のキーによって識別できます。すべてのリソースには、一意のキーとしてプライマリーキー番号のみがあることが保証されていますが、他にも一意のキーが多数存在する場合があります。リソースは、次のルールを満たす一意のキーが少なくとも 1 つある場合に、識別子形式を生成し、名前付き URL を指定できます。

  1. キーには、name フィールド、または (認証タイプリソースの kind フィールドのように) 有限数の選択肢のあるテキストフィールドのいずれかのみが含まれる。
  2. これまでのルールに違反しているが、唯一許可されている例外フィールドは、自身以外のリソースに関連する、多対一の関連フィールドです。これにもスラグが許可されています。

リソース FooBar がある場合、FooBar の両方に、名前フィールドと、値が "yes" または "no".のみになる選択フィールドが含まれます。さらに、リソース Foo には、Bar に関連する多対 1 フィールド (外部キー) (例: fk) があります。Foo には一意のキータプル (namechoicefk) があり、Bar には一意のキータプル (namechoice) があります。Bar は、前述の最初のルールを満たしているため、名前付き URL を指定できます。Foo は、最初のルールに違反しているにもかかわらず、名前付き URL を指定できます。ルール 1 に違反する追加フィールドは、Bar と多対一の関係にある fk フィールドであり、Bar は名前付き URL を指定できます。

ルール 1 を満たすリソースの場合、人間が判読できる一意の識別子は、+ で区切られた外部キーフィールドの組み合わせになります。具体的には、前述の例のリソース Bar のスラグ形式は <name>+<choice> です。スラグ形式ではフィールドの順序が重要であり、name フィールドが存在する場合は常に最初に表示され、その後に残りのフィールドがフィールド名の辞書順に配置されることに注意してください。たとえば、Bar にルール 1 を満たす a_choice フィールドもあり、一意のキーが namechoicea_choice になる場合、そのスラグの形式は <name><a_choice><choice> になります。

ルール 2 を満たすリソースの場合、追加の外部キーフィールドを遡って追跡すると、その結果はそのリソースのオブジェクトを識別するリソースツリーになります。識別子形式を生成するために、トレースバックツリー内の各リソースは、外部キー以外のすべてのフィールドを使用して、スタンドアロン形式の独自の部分を生成します。最後に、すべての部分が次の順序で ++ で結合されます。

  • 最初の識別子部分にスタンドアロン形式を配置します。
  • リソースにごとに一意の識別子を再帰的に生成します。基礎となるリソースは、外部キー (トレースバックツリーノードの子) を使用して参照します。
  • 生成された一意の識別子を残りの識別子コンポーネントとして扱います。対応する外部キーを辞書順に並べ替えます。
  • ++ を使用してすべてのコンポーネントを結合し、最終的な識別子形式を生成します。

Foo リソースの識別子形式を生成する場合、Automation Controller がスタンドアロン形式 (Foo の場合は <name>+<choice>Bar の場合は <fk.name>+<fk.choice>) を生成し、それらを結合して <name><choice>+<fk.name>+<fk.choice> にします。

指定された識別子形式に従って識別子を生成する場合、外部キーがどこも参照していない場合があります。この場合、Automation Controller は、外部キーが指すリソースに対応する形式の部分を空の文字列に置き換えます。たとえば、Foo オブジェクトが name ="alice"choice ="yes", であるが、fk field = None の場合、結果の識別子は alice+yes++ になります。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る