Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos YANG モジュールについて

ジュニパーネットワークスは、設定階層、運用コマンド、Junos 拡張の YANG モデルを使用して、Junos デバイスのスキーマを公開します。以下のセクションでは、ネイティブの Junos YANG モジュールについて説明します。

Junos YANG モジュールの概要

ジュニパーネットワークスは、Junos デバイスの設定階層と運用コマンド、YANG 拡張とタイプを定義する YANG モジュールを提供します。Junos OSリリース17.2以降、Junos YANGモジュールはデバイスファミリーに固有のものです。 表1 は、異なるJunosデバイスファミリーの識別子の概要を示し、各ファミリーに含まれるプラットフォームを示しています。

表 1:Junos デバイス ファミリー

デバイス ファミリー識別子

サポートされているプラットフォーム

junos

ACX シリーズ、EX シリーズ(特定のプラットフォーム)、MX シリーズ、PTX シリーズ

junos-es

J シリーズ、LN シリーズ、SRX シリーズ

junos-ex

EX シリーズ(特定のプラットフォーム)

junos-qfx

QFXシリーズ

メモ:

同じシリーズ内の異なるプラットフォームは、異なるデバイスファミリーの下で分類される場合があります。デバイスでオペレーションモードコマンドまたはRPCを show system information 実行することで、特定のデバイスのファミリーを <get-system-information/> 検証できます。コマンド出力の フィールドの Family 値、または <os-name> RPC 応答の要素は、デバイス ファミリーを示しています。

Junos OS リリース 17.4R1 以降、設定 YANG モジュールは、複数の小さなモジュールで拡張されたルート モジュールに分割され、ネイティブの Junos YANG モジュールはモジュールの名前、ファイル名、名前空間に新しい命名規則を使用します。モジュール名とファイル名には、デバイスファミリーと、モジュール内のスキーマが属する設定またはコマンド階層の領域が含まれます。さらに、モジュールファイル名にはリビジョン日付が含まれています。 表 2 は、Junos デバイスにネイティブな YANG モジュールをまとめたもので、異なるモジュール名が使用されているリリースを示しています。

表 2:ジュニパーネットワークスネイティブ YANG モジュール

Junos YANG モジュール

説明

モジュール名

リリース

構成モジュール

Junos 構成階層のスキーマを定義します。

Junos OSリリース17.4R1以降、設定YANGモジュールは、複数の小さなモジュールで強化されたルートモジュールに分割されます。

configuration

14.2~17.3

family-conf-hierarchy

17.4R1以降

運用コマンド モジュール

運用モード コマンドのリモート プロシージャ コール(RPC)を定義する運用コマンド階層およびモジュールの集合型グループを表します。コマンド階層の異なる領域には、個別のモジュールがあります。

juniper-command

16.1~17.3

family-rpc-hierarchy

17.4R1以降

モジュール拡張モジュール

Junos デバイスのデータ定義言語(IMAP)ステートメントが含まれます。

このモジュールには、 および must-message キーワードがmust含まれており、特別なキーワードを使用する設定階層制約を識別します。モジュールには、カスタム RPC に必要なステートメントも含まれています。

junos-extension

15.1~17.3

junos-common-ddl-extensions

17.4R1以降

ODL 拡張モジュール

Junos デバイスで実行される RPC のフォーマット済み ASCII 出力を作成およびカスタマイズするために使用できる出力定義言語(ODL)ステートメントが含まれています。

junos-extension-odl

16.1~17.3

junos-common-odl-extensions

17.4R1以降

メタデータ注釈拡張モジュール

構成操作のメタデータ注釈を定義します。

注釈は、RFC 7952、 YANGによるメタデータの定義と使用で定義されています。

junos-configuration-metadata

22.2R1以降(Junos OS Evolved)

タイプ モジュール

YANG タイプの定義が含まれます。

junos-common-types

17.4R1以降

異なるリリースの異なるデバイスファミリーのYANGモジュールをサポートするために、ダウンロードしたモジュールはデバイスファミリー別に整理され、各モジュールの名前、ファイル名、名前空間は、モジュール内のスキーマが属するデバイスファミリーを反映しています。モジュールの取得については、 Junos YANGモジュールのダウンロードと生成を参照してください。モジュール名前空間については、 Junos YANGモジュールの名前空間とプレフィックスについてを参照してください。

Junos YANG モジュールのダウンロードと生成

Junos YANG モジュールを取得できるのは、次のとおりです。

  • https://www.juniper.net/support/downloads のジュニパーネットワークス Web サイトからモジュールをダウンロードする

  • juniper Networks GitHub リポジトリからモジュールをダウンロードする(yang 用)https://github.com/Juniper/yang

  • ジュニパーネットワークス デバイス上のモジュールの生成

Junos OS リリース 17.1 以前では、Junos OS 設定用の YANG モジュールと、ジュニパーネットワークス Web サイトと GitHub に掲載されているコマンド階層で、Junos OS がリリースを実行しているすべてのデバイスのスキーマを定義しています。対照的に、ローカルデバイスで生成されたYANGモジュールは、ネイティブモジュールと、デバイスに追加された標準またはカスタムモジュールの両方のノードを含め、そのデバイスに固有のスキーマを定義します。

Junos OSリリース17.2以降、Junos YANGモジュールはデバイスファミリーに固有であり、各モジュールの名前空間には、モジュール内のスキーマが属するデバイスファミリーが反映されています。その結果、ジュニパーネットワークスの Web サイトに投稿され、特定のリリースの YANG モジュールを含む tar アーカイブには、デバイス ファミリーのモジュールごとに異なるディレクトリと、すべてのデバイス ファミリーに共通するモジュールの 共通 ディレクトリが含まれています。各ファミリー固有のディレクトリは、ディレクトリ名としてデバイスファミリー識別子を使用し、そのファミリー内のプラットフォームでサポートされている設定および運用コマンドモジュールが含まれています。デバイス ファミリー識別子は 、表 1 で定義されています。Junos OSリリース17.2を実行しているローカルデバイスで生成されたYANGモジュールは、そのデバイスに固有のスキーマを定義します。

Junos OSリリース17.4R1以降、ローカルデバイスで生成されたYANGモジュールには、デフォルトで、特定のデバイスファミリー内のすべてのデバイスで同一のファミリー固有のスキーマが含まれています。デバイス固有のモジュールを生成するには、 階層レベルで 設定ステートメントを[edit system services netconf yang-modules]設定device-specificします。

表 3 は、さまざまな Junos OS リリースでダウンロードされ、生成された YANG モジュールのスキーマの範囲をまとめたものです。

表 3:Junos OS YANG スキーマのスコープ

Junos OS リリース

ダウンロードされたモジュールのスキーマのスコープ

生成されたモジュールのスキーマのスコープ

17.1以前

すべてのデバイス

デバイス

17.2~17.3

デバイスファミリー

デバイス

17.4R1以降

デバイスファミリー

デバイスファミリー

Junos OS YANG モジュールをダウンロードまたは生成する方法の詳細については、「 ジュニパーネットワークス YANG モジュールを使用する」を参照してください。

Junos YANG モジュールの名前空間とプレフィックスについて

Junos OS リリース 17.1 以前では、Junos YANG モジュールは一意の識別子を使用して、各モジュールの名前空間を区別します。

Junos OSリリース17.2R1以降、Junos YANGモジュールはデバイスファミリーに固有のものです。特定のリリースの異なるデバイスファミリーに対して異なるYANGモジュールをサポートするために、YANGモジュールは、識別子に加えて、モジュール名、デバイスファミリー、Junos OSリリース文字列を含む名前空間を使用します。例えば:

Junos OS リリース 17.4R1 以降、名前空間は簡素化され、デバイス ファミリー、モジュール タイプ、および各モジュールに固有の識別子が含まれるようになり、モジュールの名前空間と他のモジュールの名前空間を区別します。

次の定義は、その変数が表示される名前空間のすべてのバージョンに適用されます。

device-family

モジュール内のスキーマが属するデバイス ファミリーの識別子(例えば、 、 junosjunos-esjunos-exまたは junos-qfx)。さまざまなデバイスファミリーの概要を表1に示します。

デバイス固有のスキーマを持つモジュールとファミリ固有のスキーマを持つモジュールは、両方とも名前空間で同じデバイス ファミリー識別子を使用します。

メモ:

共通モジュールは名前空間でデバイスファミリー識別子を junos 使用しますが、モジュールはすべてのデバイスファミリーに共通です。

identifier

モジュールの名前空間と他のモジュールの名前空間を区別する文字列。

Junos 設定およびコマンド モジュールには、モジュール内のスキーマが属する設定またはコマンド階層の領域を示す識別子が含まれています。一般的なモジュールは、例えば odl-extensions、モジュール名の差別化要因を識別子として使用します。

module-id

モジュールに固有の一意の識別子(例えば、 、 jcjrpcjeまたはjodl)。

module-name

そのファイルに含まれる YANG モジュールの名前(例:configurationまたはjunos-extension)。各juniper-commandモジュールは、名前空間で固有のモジュール名を使用します。例えば. show-class-of-service

release

モジュール内のスキーマがサポートされているJunos OSまたはJunos OS Evolvedリリースです。

type

モジュールのタイプ。可能な値は次のとおりです。

  • conf— 設定の指定された領域のスキーマを定義する設定 YANG モジュール。

  • rpc— コマンド階層の指定された領域で、運用コマンドの RPC を定義する運用コマンド YANG モジュール。

  • common—拡張モジュールまたはタイプ モジュールで、すべてのデバイス ファミリーに共通です。

表 4 は、さまざまなリリースの各モジュールの名前空間の URI とプレフィックス(モジュールの prefix ステートメントで定義される)の概要を示しています。Junos OS リリース 17.2 以降、各運用コマンド モジュールのプレフィックスには、そのモジュールに含まれる RPC のコマンド階層エリアが反映されています。同様に、Junos OS リリース 17.4R1 以降、各設定 YANG モジュールのプレフィックスには、そのモジュールに含まれる設定ステートメント階層が反映されています。Junos YANG拡張およびタイプモジュールは、名前空間でデバイスファミリー識別子を使用 junos しますが、モジュールはすべてのデバイスファミリーに共通です。

表 4:Junos YANG モジュールの名前空間とプレフィックス

YANG モジュール

リリース

名前空間の URI

プレフィックス

構成モジュール

17.1以前

http://yang.juniper.net/yang/1.1/jc

jc

17.2~17.3

http://yang.juniper.net/yang/1.1/jc/configuration/device-family/release

jc

17.4R1以降

http://yang.juniper.net/device-family/conf/hierarchy

jc(ルート モジュール)

jc-hierarchy

運用コマンド モジュール

17.1以前

http://yang.juniper.net/yang/1.1/jrpc

jrpc

17.2~17.3

http://yang.juniper.net/yang/1.1/jrpc/module-name/device-family/release

hierarchy

17.4R1以降

http://yang.juniper.net/device-family/rpc/hierarchy

hierarchy

モジュール拡張モジュール

17.1以前

http://yang.juniper.net/yang/1.1/je/

junos

17.2 以降

http://yang.juniper.net/yang/1.1/je/junos-extension/junos/release

junos

17.4R1以降

http://yang.juniper.net/junos/common/ddl-extensions

junos

ODL 拡張モジュール

17.1以前

http://yang.juniper.net/yang/1.1/jodl

junos-odl

17.2~17.3

http://yang.juniper.net/yang/1.1/jodl/junos-extension-odl/junos/release

junos-odl

17.4R1以降

http://yang.juniper.net/junos/common/odl-extensions

junos-odl

メタデータ注釈拡張モジュール

22.2R1以降

http://yang.juniper.net/junos/jcmd jcmd

タイプ モジュール

17.4R1以降

http://yang.juniper.net/junos/common/types

jt

Junos OSリリース17.2以降、NETCONFセッションで [edit system services netconf] ステートメントを設定rfc-compliantし、設定データを要求すると、サーバーは対応するYANGモデルと同じ名前空間に要素のデフォルト<configuration>名前空間を設定します。例えば:

リリース履歴テーブル
リリース
説明
22.4R1および22.4R1-EVO
Junos OS リリース 22.4R1 およびリリース 22.4R1 Junos OS Evolved以降、RPC を定義する YANG モジュールには、拡張で出力されるスキーマに拡張ステートメントが含まれています junos:command
17.4R1
Junos OS Release 17.4R1以降、設定YANGモジュールは、複数の小さなモジュールで補強されたルートモジュールに分割され、ネイティブのJunos OS YANGモジュールは、モジュールの名前、ファイル名、名前空間に新しい命名規則を使用します。
17.4R1
Junos OSリリース17.4R1以降、ローカルデバイスで生成されたYANGモジュールには、デフォルトで、特定のデバイスファミリー内のすべてのデバイスで同一のファミリー固有のスキーマが含まれています。
17.2R1
Junos OSリリース17.2以降、Junos OS YANGモジュールはデバイスファミリーに固有であり、各モジュールの名前空間には、モジュール内のスキーマが属するデバイスファミリーが反映されています。
17.2R1
Junos OS リリース 17.2 以降、各運用コマンド モジュールのプレフィックスには、そのモジュールに含まれる RPC のコマンド階層エリアが反映されています。