Cisco Crosswork Hierarchical Controller 7.0 NBI および SHQL 参照ガイド

ダウンロード オプション

  • PDF
    (3.5 MB)
    Adobe Reader を使ってさまざまなデバイスで表示
Updated: 2023 年 8 月 2 日

偏向のない言語

この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。

翻訳について

このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。

ダウンロード オプション

  • PDF
    (3.5 MB)
    Adobe Reader を使ってさまざまなデバイスで表示
Updated: 2023 年 8 月 2 日

目次

 

 

Crosswork Hierarchical Controller API の紹介

Cisco Crosswork Hierarchical Controller は、サービスオーケストレータ、OSS、インベントリ システムへのノースバウンド インターフェイスとして、広範な API セットを提供しています。これらの API は、運用ワークフロー、計画シナリオ、管理タスクを自動化するために不可欠なツールです。これらの API を使用して、情報の取得、サービスとリソースのプロビジョニング、ネットワークの構築、通知の登録を行うことができます。

Crosswork Hierarchical Controller は、これらの API に複数のテクノロジーを利用しています。

        RESTCONF NETCONF 用に定義された YANG モデルに基づく

        本文に JSON を含む REST

        本文に SHQL を含む REST

API アーキテクチャおよびテクノロジー

RESTCONF/YANG プロトコルの紹介

RESTCONF プロトコルは、ネットワーク設定プロトコル(NETCONF[RFC 6241] で定義され、NMDA [RFC 8342] でさらに拡張されたデータストアの概念を使用して、YANG 1.0 [RFC 6020] または YANG 1.1 [RFC 7950] で定義されたデータにアクセスするためのプログラムインターフェイスを提供する HTTP ベースのプロトコルです。

RESTCONF を選択する主な理由は次のとおりです。

        モデル駆動型 API を提供するために HTTP CRUD 操作をマッピングする機能。

        多くの Web アプリケーションで使用されるユビキタスな REST アーキテクチャを使用する機能。

        複数の SDO によって生成された YANG モデリング言語で定義されたさまざまな標準データモデルを使用および混合する機能。これにより、実装者は SDN アーキテクチャ(IETF ACTNONF TAPIMEF TAPI)を選択できる可能性があります。

Crosswork Hierarchical Controller RESTCONF 実装は、次のリソースで構成されています。

        +restconf}/data(データ API):YANG データモデルで定義された設定データツリー全体の作成/取得/更新/削除(CRUD)ベースの API

        +restconf}/operations(操作 API):YANG で定義された RPC をトリガーする RPC ベースの API エントリ。

        +restconf}/data/ietf-restconf-monitoring:restconf-state/streams(通知 APIRESTCONF プロトコルで定義されている潜在的な通知ストリームを検出する RESTCONF API。詳細については、「デバイス管理」を参照してください。

        +restconf}/yang-library-versionこの必須リーフは、このサーバーによって実装された「ietf-yang-libraryYANG モジュールの改訂日を識別する。

RFC 8040 に従って、RESTCONF 実装は YANG データの JSON エンコーディングをサポートします [RFC 7951]。サーバーは「application/yang-data+json」を受け入れます。

クエリのフィルタ処理

RESTCONF 仕様によると、各操作には、0 個以上のクエリパラメーターをリクエスト URI に含めることができます。具体的には、クエリ操作のパラメータは [RFC 8040] のセクション 4.8 で説明されています。次の表で、サポートされるクエリパラメータを示します。

表 1.                サポートされるクエリパラメータ

名前

メソッド

説明

content

GET

構成および/または構成以外のデータリソースを選択する     

depth

GET

応答コンテンツで制限されたサブツリーの深さをリクエストする

fields

GET

ターゲットのリソースコンテンツのサブセクションをリクエストする

転送のセキュリティ

データの完全性

Crosswork Hierarchical Controller は、TLS [RFC 5246] を介してすべての NBI アクセスデータを処理します。TLS は、データの完全性と機密性を提供するトランスポートレイヤーです。Crosswork Hierarchical Controller にアクセスするすべてのクライアントは、TLS 1.2 以上をサポートしている必要があります

サーバー認証

Crosswork Hierarchical Controller NBI は、クライアントとの TLS 接続の確立時に X.509v3 証明書を提示します。

クライアントは、RESTCONF [RFC 8040 セクション 2] に従って、証明書の検証をサポートしている必要がありますRESTCONF クライアントは、(1) X.509 証明書パス検証 [RFC5280] を使用して RESTCONF サーバーの TLS 証明書の整合性を検証するか、(2) サーバーの TLS 証明書を信頼できるメカニズム(たとえば、ピン留めされた証明書)と一致させる必要があります。X.509 証明書パスの検証が失敗し、提示された X.509 証明書が信頼できるメカニズムによって取得された証明書と一致しない場合、[RFC5246] のセクション 7.2.1 の規定に従い接続を終了しなければなりません

注:テストの目的で、クライアントの証明書の検証を無効にしてインターフェイスの機能をチェックできます。

クライアント認証

Crosswork Hierarchical Controller クライアント認証は、HTTP 基本認証 [RFC 7617] に基づいています。クライアントは、確立された TLS 接続を介してユーザー名とパスワードを提示する必要があります。より具体的には、クライアントは、基本認証スキームを使用する認証ヘッダーを使用する必要があります。詳細については、HTTP 認証スキームレジストリ [RFC 7235] を参照してください。

API エンドポイント

Crosswork Hierarchical Controller は、通知、情報、プロビジョニング サービスを受信するための API をサポートします。

        デバイスマネージャ:アダプタ、デバイス、クレデンシャルを管理できるさまざまな API です。

        インベントリの取得:光デバイスとルータ、それらのカード、ポート、属性を取得します。

        パフォーマンスカウンタの取得:特定のポートまたはリンクごとに L2 パフォーマンス(スループット)カウンタを取得します。

        クロスリンク:クロスリンクを管理するためのさまざまな API です。

        共有リスク:共有リスクのポリシーとルールを管理できるさまざまな API です。

        一般的なクエリSHQL コマンドを使用して、Crosswork Hierarchical Controller モデルから任意のデータをクエリします。

Object IDs

API での特定のオブジェクトの参照では、オブジェクト ID を使用します。ID は、ネットワーク、サイト、ノード、TP(ターミネーションポイント)、LSP、サービス、リンク、ネットワークアクセス、VLAN に使用できます。

Crosswork Hierarchical Controller がこれらの ID を実装したものが GUID です。GUID はモデル内のオブジェクトの一意の識別子であり、関連する GET API を使用してオブジェクト ID として取得できます。取得すると、その後はオブジェクト参照として使用できます。

Device Management

Crosswork Hierarchical Controller は、デバイス管理のための API を提供します。

Swagger を使用してデバイスマネージャ API にアクセスできます。

        https://<host>/api/v2/apps/device_manager/rest/doc

API には次のものが含まれています。

        すべてのアダプタの取得

        アダプタ構成スキーマの取得

        アダプタデバイススキーマの取得

        すべてのデバイスの取得

        Crosswork Hierarchical Controller へのデバイスの追加

        アダプタへのデバイスの追加

        デバイスのアダプタ構成の更新

        アダプタからのデバイス割り当て解除

        デバイス名の更新

        サイトへのデバイスの割り当て

        デバイスステータスの取得

        デバイスの取得

        Crosswork Hierarchical Controller からのデバイスの削除

        クレデンシャルキーの名前とタイプの取得

        新しいクレデンシャルの追加

        クレデンシャルの更新

        クレデンシャルの削除

        指定されたクレデンシャルタイプのパラメータスキーマの取得。

アダプタの入手

この API を使用して、すべてのアダプタのリストを取得します。応答の guid は、他のいくつかのデバイスマネージャメソッドで使用される adapterGuid です。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/adapter

要求パラメータ

なし

応答の例

[

  {

    "guid": "cisco_ios_xr",

    "enabled": true,

    "config": {

      "polling": 300,

      "concurrency": 1,

      "ssh_config": {

        "enabled": false,

        "connect_timeout": 10,

        "command_timeout": 10

      },

      "file_bringer": {

        "enabled": false,

        "location": "",

        "file_type": "XX"

      },

      "collection_parameters": {

        "enable_igp_isis": true,

        "enable_stats": true,

        "enable_vrf": true,

        "enable_lldp": true,

        "enable_mpls": true,

        "enable_snmp": true,

        "igp_isis_priority": 1,

        "igp_seed_routers": true

      }

    }

  },

  {

    "guid": "juniper_os_1",

    "enabled": true,

    "config": {

      "polling": 300,

      "concurrency": 1,

      "ssh_config": {

        "enabled": false,

        "connect_timeout": 10,

        "command_timeout": 10

      },

      "file_bringer": {

        "enabled": false,

        "location": "",

        "file_type": "XX"

      },

      "collection_parameters": {

        "enable_igp_isis": true,

        "enable_igp_ospf": true,

        "enable_stats": true,

        "enable_vrf": true,

        "enable_lldp": true,

        "enable_mpls": true,

        "enable_snmp": true,

        "igp_isis_priority": 1,

        "igp_seed_routers": true

      }

    }

  }

]

アダプタ構成スキーマの取得

この API を使用して、アダプタの構成スキーマを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/ adapter/{adapterGuid}/adapter-schema

要求パラメータ

パラメータ名

データタイプ

説明

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

応答の例

{

  "$schema": "http://json-schema.org/draft-04/schema#",

  "type": "object",

  "properties": {

    "polling": {

      "type": "integer",

      "minimum": 0,

      "default": 300,

      "title": "Polling Cycle [sec]",

      "description": "Poll every X seconds"

    },

    "concurrency": {

      "type": "integer",

      "default": 1,

      "title": "Number of concurrent routers collected"

    },

    "ssh_config": {

      "type": "object",

      "title": "SSH Configuration Parameters",

      "properties": {

        "enabled": {

          "type": "boolean",

          "default": false,

          "title": "Enable Tunnel"

        },

        "host": {

          "type": "string",

          "title": "Tunnel Host"

        },

        "port": {

          "type": "integer",

          "title": "Tunnel Port"

        },

        "tunnel_credentials_key": {

          "type": "string",

          "title": "Tunnel Credentials Key",

          "credentials-types": [

            "SSH_USER_PASSWORD"

          ]

        },

        "connect_timeout": {

          "type": "integer",

          "default": 10,

          "title": "Router Connect timeout"

        },

        "command_timeout": {

          "type": "integer",

          "default": 10,

          "title": "Router Command timeout"

        }

      },

      "additionalProperties": false

    },

    "file_bringer": {

      "type": "object",

      "title": "File Bringer Parameters",

      "properties": {

        "enabled": {

          "type": "boolean",

          "default": false,

          "title": "Enable File Bringer"

        },

        "location": {

          "type": "string",

          "title": "File Server Location",

          "description": "\"[sftp|file]://<server>:<port>/<absolute path>\"",

          "default": ""

        },

        "file_type": {

          "title": "File Type",

          "enum": [

            "XX",

            "XX"

          ],

          "default": "XX"

        },

        "authentication": {

          "type": "string",

          "credentials-types": [

            "SFTP"

          ]

        }

      },

      "additionalProperties": false

    },

    "collection_parameters": {

      "type": "object",

      "title": "Collection Parameters",

      "properties": {

        "enable_igp_isis": {

          "type": "boolean",

          "default": false,

          "title": "Enable IGP IS-IS Collection"

        },

        "enable_stats": {

          "type": "boolean",

          "default": false,

          "title": "Enable Stats Collection"

        },

        "enable_vrf": {

          "type": "boolean",

          "default": false,

          "title": "Enable VRF Collection"

        },

        "enable_lldp": {

          "type": "boolean",

          "default": false,

          "title": "Enable LLDP Collection"

        },

        "enable_mpls": {

          "type": "boolean",

          "default": false,

          "title": "Enable MPLS Tunnels Collection"

        },

        "enable_snmp": {

          "type": "boolean",

          "default": false,

          "title": "Enable SNMP Collection"

        },

        "igp_isis_priority": {

          "type": "integer",

          "default": 1,

          "title": "IGP IS-IS Priority"

        },

        "igp_seed_routers": {

          "type": "boolean",

          "default": true,

          "title": "Collect only IGP IS-IS seed routers"

        }

      },

      "additionalProperties": false

    }

  },

  "additionalProperties": false,

  "required": [

    "polling"

  ]

}

アダプタデバイススキーマの取得

この API を使用して、特定のアダプタのデバイス構成スキーマを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/adapter/{adpaterGuid}/device-schema

要求パラメータ

パラメータ名

データタイプ

説明

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

応答の例

{

  "type": "object",

  "properties": {

    "host": {

      "type": "string"

    },

    "port": {

      "type": "integer",

      "default": 22

    },

    "direct_connect": {

      "type": "boolean",

      "default": false,

      "title": "Direct Connect (avoid tunnel if configured)"

    },

    "authentication": {

      "type": "string",

      "credentials-types": [

        "SSH_USER_PASSWORD"

      ]

    },

    "enabled": {

      "type": "boolean",

      "default": false

    }

  },

  "additionalProperties": false,

  "required": [

    "enabled",

    "host",

    "port"

  ]

}

すべてのデバイスの取得

この API を使用して、特定のアダプタのすべてのデバイスを取得します。応答で返される device_manager_guid は、関連するデバイスマネージャ API deviceGuid として使用されます。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device?adapter={adpaterGuid}

要求パラメータ

パラメータ名

データタイプ

説明

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

応答の例

[

  {

    "device_manager_guid": "0a9af2d2-324a-45dd-895e-9e6edb2f9d39",

    "inventory_type": "ROUTER",

    "device_model_guid": "IN/cisco_ios_xr/ROUTER-xrv-p1",

    "name": "cisco_1",

    "adapters": {

      "cisco_ios_xr": {

        "adapter_guid": "cisco_ios_xr",

        "config": {

          "port": 22,

          "direct_connect": true,

          "enabled": true,

          "host": "10.1.0.58",

          "authentication": "Cisco"

        },

        "enabled": false

      }

    },

    "identifiers": {

      "host_name": "10.1.0.58",

      "tid": null,

      "serial": null,

      "loopback_mac": null,

      "loopback_ip": null,

      "extra": {}

    },

    "site": null,

    "pending_delete": false,

    "enabled": false

  },

  {

    "device_manager_guid": "9988749383",

    "inventory_type": "ROUTER",

    "device_model_guid": "IN/cisco_ios_xr/ROUTER-xrv-p2",

    "name": "cisco_2",

    "adapters": {

      "cisco_ios_xr": {

        "adapter_guid": "cisco_ios_xr",

        "config": {

          "port": 22,

          "direct_connect": true,

          "enabled": true,

          "host": "10.1.0.71",

          "authentication": "Cisco"

        },

        "enabled": false

      }

    },

    "identifiers": {

      "host_name": "10.1.0.71",

      "tid": null,

      "serial": null,

      "loopback_mac": null,

      "loopback_ip": null,

      "extra": {}

    },

    "site": null,

    "pending_delete": false,

    "enabled": false

  }

]

Crosswork Hierarchical Controller へのデバイスの追加

この API を使用して、デバイスを Crosswork Hierarchical Controller に追加します。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device

要求パラメータ

なし

要求本文

パラメータ名

データタイプ

説明

説明

string

デバイス名。

site

string

サイトを指定するか、サイトがない場合は null を指定します。

リクエストボディの例

{

  "name": "router-a",

  "site": null

}

応答の例

{

  "device_manager_guid": "a2087abe-5753-4387-b372-f8cfb571bb1e"

}

デバイスをアダプタに割り当てる

この API を使用してデバイスをアダプタに割り当てます。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/adapters/{adapterGuid}

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

要求本文

パラメータ名

データタイプ

説明

説明

string

アダプタのデバイスパラメータ。スキーマは、Get Adapter Device Schema API を使用して取得できます。

必須としてマークされているパラメータを追加してください。このスキーマの例では、以下を追加します。

  "required": [

    "enabled",

    "host",

    "port"

  ]

リクエストボディの例

{

    "host": "1.1.1.1",

    "port": 22,

    "enabled": false

}

応答の例

201 Successful

デバイスのアダプタ構成の更新

この API を使用してデバイスアダプタの構成を更新します。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/adapters/{adapterGuid}

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

要求本文

パラメータ名

データタイプ

説明

説明

string

アダプタのデバイスパラメータ。スキーマは、Get Adapter Device Schema API を使用して取得できます。

必須としてマークされているパラメータを追加してください。このスキーマの例では、以下を追加します。

  "required": [

    "enabled",

    "host",

    "port"

  ]

リクエストボディの例

{

    "host": "1.1.1.1",

    "port": 22,

    "enabled": true

}

応答の例

200 Successful

アダプタからのデバイス割り当て解除

この API を使用して、アダプタからデバイスの割り当てを解除します。デバイスはネットワークから削除されません。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/adapters/{adapterGuid}

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

応答の例

200 Successful

デバイス名の更新

この API を使用してデバイス名を更新します。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/name/{name}

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

adapterGuid

string

アダプタの GUIDアダプタの取得メソッドによって返される guid を使用します。

応答の例

200 Successful

デバイスをサイトに割り当てる

この API を使用してデバイスをサイトに割り当てます。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/site

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

要求本文

パラメータ名

データタイプ

説明

guid

string

サイトの GUID

リクエストボディの例

{

  "guid": "ST/e7df76d7a9cb"

}

応答の例

200 Successful operation.

デバイスステータスの取得

この API を使用して、デバイスのステータスを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}/status

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

応答の例

{

  "adapte-name": {

    "last-successfull-discovery": "2020-05-04T17:50:15.530Z"

  }

}

デバイスの取得

この API を使用してデバイスを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/ device/{deviceGuid}

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

応答の例

{

  "device_manager_guid": "83ce57e9-a82b-488a-994b-f8c4191f0158",

  "inventory_type": null,

  "device_model_guid": null,

  "name": "router-a",

  "adapters": {

    "cisco_ios_xr": {

      "adapter_guid": "cisco_ios_xr",

      "config": {

        "host": "1.1.1.2",

        "port": 22,

        "enabled": false

      },

      "enabled": false

    }

  },

  "identifiers": {

    "host_name": null,

    "tid": null,

    "serial": null,

    "loopback_mac": null,

    "loopback_ip": null,

    "extra": {}

  },

  "site": null,

  "pending_delete": false,

  "enabled": false

}

Crosswork Hierarchical Controller からのデバイスの削除

この API を使用して、Crosswork Hierarchical Controller からデバイスを削除します。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/apps/device_manager/rest/device/{deviceGuid}?force=true

要求パラメータ

パラメータ名

データタイプ

説明

deviceGuid

string

デバイスの GUIDすべてのデバイスの取得メソッドによって返される device_manager_guid を使用します。

force

string

デバイスがアダプタに割り当てられている場合でも、デバイスをシステムから削除するかどうか。

応答の例

200 OK!

クレデンシャルの取得

この API を使用して、構成されたすべてのクレデンシャルキーの名前とタイプを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/credentials?type={type}

要求パラメータ

パラメータ名

データタイプ

説明

タイプ

array[string]

SSH_USER_PASSWORDSSH_PUBLIC_KEYHTTPSNMP_COMMUNITYSFTP

応答の例

[

  {

    "name": "A",

    "type": "SSH_USER_PASSWORD"

  },

  {

    "name": "Cisco",

    "type": "SSH_USER_PASSWORD"

  },

  {

    "name": "junos",

    "type": "SSH_USER_PASSWORD"

  }

]

新しいクレデンシャルの追加

この API を使用して、新しいクレデンシャルを追加します。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/device_manager/rest/credentials/{name}

要求パラメータ

パラメータ名

データタイプ

説明

name

string

クレデンシャルの名前。

要求本文

パラメータ名

データタイプ

説明

タイプ

array[string]

SSH_USER_PASSWORDSSH_PUBLIC_KEYHTTPSNMP_COMMUNITYSFTP

config

説明

クレデンシャルの取得 API で説明されているクレデンシャルパラメータの構造。

リクエストボディの例

{

  "type": "SSH_USER_PASSWORD",

  "config": {}

}

応答の例

201 Successful Operation

資格情報の更新

この API を使用してクレデンシャルを更新します。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/device_manager/rest/credentials/{name}

要求パラメータ

パラメータ名

データタイプ

説明

name

string

クレデンシャルの名前。

要求本文

パラメータ名

データタイプ

説明

タイプ

array[string]

SSH_USER_PASSWORDSSH_PUBLIC_KEYHTTPSNMP_COMMUNITYSFTP

config

説明

クレデンシャルの取得 API で説明されているクレデンシャルパラメータの構造。

リクエストボディの例

{

  "type": "SSH_USER_PASSWORD",

  "config": {}

}

応答の例

200 Successful Operation

クレデンシャルの削除

この API を使用してクレデンシャルを削除します。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/apps/device_manager/rest/ credentials/{name}

要求パラメータ

パラメータ名

データタイプ

説明

name

string

クレデンシャルの名前。

応答の例

200 Successful

指定されたクレデンシャルタイプのパラメータスキーマの取得。

この API を使用して、指定されたクレデンシャルタイプのパラメータスキーマを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/device_manager/rest/XXX

要求パラメータ

パラメータ名

データタイプ

説明

タイプ

array[string]

SSH_USER_PASSWORDSSH_PUBLIC_KEYHTTPSNMP_COMMUNITYSFTP

応答の例

{

  "type": "object",

  "properties": {

    "username": {

      "title": "Username",

      "type": "string"

    },

    "password": {

      "title": "Password",

      "type": "string",

      "encrypted": true

    }

  },

  "required": [

    "username",

    password

  ]

}

物理インベントリ

物理インベントリ API は、デバイスの属性、スロット、カード、ポートに関する情報を提供します。

この API は、光デバイスのみをサポートします。

物理インベントリの取得

API は次の 2 つのクエリを受け入れます。

        デバイス ID デバイスの完全なリストまたは ID ごとの特定のデバイスを取得します。

        Full 詳細なデバイスインベントリまたはその ID のみを取得します(full=true/false)。

要求メソッド

GET

要求 URL

/api/v2/apps/network-inventory-app/rest/devices/

要求ヘッダー

Accept: application/yang-data+json

Content-Type: application/yang-data+json

応答の例

{

    "id": "XX-01011",

    "type": "ONE",

    "desc": "XX-01011",

    "vendor_model": "ciena_6500",

    "tid": "TID111",

    "serial_number": "[Shelf-1 [1-XX,2-XX]]",

    "SHELF": [

        {

            "id": "1",

            "type": "SHELF",

            "desc": "6500 14-Slot Converged Optical Shelf Assembly, OCP",

            "vendor_model": "ciena_6500",

            "tid": "XX-01011",

            "aid": "SHELF-1",

            "clei": "WWW",

            "serial_number": "SSS",

            "FAN": [

                {

                    "id": "FAN-1-1",

                    "type": "FAN",

                    "desc": "XX-01011/MNG-EQPT/FAN-1-1 (FAN), ctype=\"Fan Rear Exhaust High Flow Cooling\")",

                    "vendor_model": "ciena_6500",

                    "tid": "XX-01011",

                    "aid": "FAN-1-1",

                    "clei": "WWW",

                    "part_number": "NNN",

                    "serial_number": "MMM"

                }

            ],

            "CARD": [

                {

                    "id": "1-1",

                    "type": "CARD",

                    "desc": "XX-01011/1-1 (OTSC), ctype=\"2x10G OTR 4x XFP\")",

                    "vendor_model": "ciena_6500",

                    "tid": "XX-01011",

                    "aid": "OOO-1-1",

                    "clei": "WWW",

                    "part_number": "MM",

                    "serial_number": "NNN",

                    "PORT": [

                        {

                            "id": "1-1-1",

                            "type": "PORT",

                            "desc": "XX-01011/1-1-1 (P10GSOEL), ctype=\"OC192 SR1/I64.1 10GBASE-LR/LW OTU2 10GFC 1200SMLLL 1310 nm XFP\")",

                            "vendor_model": "ciena_6500",

                            "tid": "XX-01011",

                            "aid": "UU-1-1-1",

                            "clei": "WWW",

                            "pluggable": "PLUGGABLE",

                            "part_number": "NNNA",

                            "serial_number": "MMM"

                        },

                       

                },

            

            "POWER_SUPPLY": [

                {

                    "id": "PWR-1-17-1",

                    "type": "POWER_SUPPLY",

                    "desc": "XX-01011/MNG-EQPT/PWR-1-17-1 (PWR), ctype=\"Power Card 60A breakered\")",

                    "vendor_model": "ciena_6500",

                    "tid": "XX-01011",

                    "aid": "PWR-1-17-1",

                    "clei": "WWWD",

                    "part_number": "NNNA",

                    "serial_number": "MMM"

                },

            ]

        }

    ]

}

応答パラメータ

応答には、すべてのデバイス インベントリ モジュールに関する情報が含まれています。

        デバイス すべてのデバイスレベルの属性

        シェルフ 1 つ以上のシェルフ

        ファン ファントレイ

        カード トランシーバーを含む、すべての着脱可能なカード、ラインカード、アグリゲーションカード

        ポート すべての物理ポート

        電源 すべての電源モジュール

パフォーマンス カウンタ

Crosswork Hierarchical Controller パフォーマンス API は、シスコが作成した非 SDO データモデルに基づいています。SDO には、管理対象ネットワークオブジェクトの実パフォーマンスカウンタへの NBI アクセスを可能にするネットワークレベルのパフォーマンスデータモデルがありません。

IETF の現在のパフォーマンス カウンタ データ モデルは、ietf-interfaces などのデバイスレベルに対応していますが、ネットワーク レベル データ モデルは、帯域幅などの取得値に焦点を当てています。シスコは、IETF から利用可能になった時点で標準データモデルを実装します。

Crosswork Hierarchical Controller データモデルは、ポートおよび IP/MPLS LSP から収集された実パフォーマンスカウンタを公開します。これは YANG RPC の形式で実装され、NBI クライアントが RESTCONF NBI を介して操作をトリガーして、レートや平均などを取得するためのパケットおよび/またはオクテットカウンタを取得できます。

URIs

最新の PM 間隔または特定の期間のカウンタを取得できます。統計は、特定の LSP/ポート/リンク、すべてのオブジェクト、またはオブジェクトのグループ(POST メッセージで設定)に対して取得できます。

インターフェイス タイプ

インターフェイス操作

要求メソッド

URI

パフォーマンス

ある期間のオブジェクトタイプごとの実パフォーマンスカウンタを取得する RPC

GET

/api/v2/timeseries/stats/

パフォーマンス

最新の期間のオブジェクトタイプごとの実パフォーマンスカウンタを取得する RPC

GET

/api/v2/timeseries/stats/latest

パフォーマンス

特定のポート(1 つのポート、またはすべてのポートではない)の実パフォーマンスカウンタを取得する RPC

PUT

/api/v2/timeseries/stats/bulkStatsQuery

パフォーマンスの最新統計の取得

1 つのオブジェクトまたはすべてのオブジェクトの最新の期間のパフォーマンス統計を取得します。特定のポート/LSP またはストリーム ID を使用して、特定の PM タイプを指定できます。

要求メソッド

GET

要求 URL

api/v2/timeseries/stats/latest

要求ヘッダー

Accept: application/yang-data+json

Content-Type: application/yang-data+json

要求パラメータ

パラメータ名

データ タイプ

説明

objGuid

string

オブジェクトの GUID

pmType

array[string]

DELAY_USECMIN_RTT_USECOCTET_OUT

PMタイプ。

streamId

numeric

 

ストリーム ID

要求の例

GET /api/v2/timeseries/stats/latest?pmType=DELAY_USEC&objGuid=PO/juniper-northstar/LGC-LabMX960-02:ae5.0

GET /api/v2/timeseries/stats/latest?pmType=DELAY_USEC&streamId=3

要求パラメータ

パラメータ名

データ タイプ

説明

objGuid

string

オブジェクトの GUID

timestamp

datetime

時間。

deviceType

string

 

デバイス タイプ (: ROUTER)

timePeriodSec

numeric

 

秒単位の時間

pmType

array[string]

DELAY_USECMIN_RTT_USECOCTET_OUT

PMタイプ。

value

numeric

 

パフォーマンス統計情報。

streamId

numeric

 

ストリーム ID

応答の例

{

  "objGuid": "LI/lsp/f66fa3288d396e47/f66fa3288d396e47/f1e815107b715b67/f1e815107b715b67/lsp_1619081766048",

  "timeStamp": 1622602613000,

  "deviceType": "ROUTER",

  "timePeriodSec": 0,

  "pmType": "OCTET_OUT",

  "value": 273252081213835,

  "streamId": 6

}

期間中のパフォーマンス統計の取得

1 つのオブジェクトまたはすべてのオブジェクトの特定の期間のパフォーマンス統計を取得します。特定のポート/LSP またはストリーム ID を使用して、特定の PM タイプを指定できます。

要求メソッド

GET

要求 URL

api/v2/timeseries/stats

要求ヘッダー

Accept: application/yang-data+json

Content-Type: application/yang-data+json

要求パラメータ

パラメータ名

データ タイプ

説明

startTimeStamp

datetime

 

期間の開始時間。

endTimeStamp

datetime

 

期間の終了時間。

objGuid

string

 

オブジェクトの GUID

pmType

array[string]

DELAY_USECMIN_RTT_USECOCTET_OUT

PMタイプ。

streamId

numeric

 

ストリーム ID

要求の例

GET /api/v2/timeseries/stats?startTimeStamp=1643793190000&

endTimeStamp=1643878292000&pmTypeDELAY_USEC&objGuid= PO/r_logical/16f1596a46b13da5/7d82f458ff24bfa3

要求パラメータ

パラメータ名

データ タイプ

説明

objGuid

string

 

オブジェクトの GUID

Timestamp

datetime

時間。

deviceType

string

 

デバイス タイプ (: ROUTER)

timePeriodSec

numeric

 

秒単位の時間

pmType

array[string]

DELAY_USECMIN_RTT_USECOCTET_OUT

PMタイプ。

numeric

 

パフォーマンス統計情報。

streamId

numeric

 

ストリーム ID

応答の例

{

  "objGuid": "PO/r_logical/16f1596a46b13da5/7d82f458ff24bfa3",

  "timeStamp": 1643874592000,

  "deviceType": "ROUTER",

  "timePeriodSec": 859,

  "pmType": "DELAY_USEC",

  "value": 649907,

  "streamId": 5

}

{

  "objGuid": "PO/r_logical/16f1596a46b13da5/7d82f458ff24bfa3",

  "timeStamp": 1643875520000,

  "deviceType": "ROUTER",

  "timePeriodSec": 928,

  "pmType": "DELAY_USEC",

  "value": 724091,

  "streamId": 5

}

{

  "objGuid": "PO/r_logical/16f1596a46b13da5/7d82f458ff24bfa3",

  "timeStamp": 1643876484000,

  "deviceType": "ROUTER",

  "timePeriodSec": 927,

  "pmType": "DELAY_USEC",

  "value": 69079,

  "streamId": 5

}

{

  "objGuid": "PO/r_logical/16f1596a46b13da5/7d82f458ff24bfa3",

  "timeStamp": 1643877388000,

  "deviceType": "ROUTER",

  "timePeriodSec": 904,

  "pmType": "DELAY_USEC",

  "value": 665969,

  "streamId": 5

}

特定のポートのパフォーマンス統計の送信

特定のポート(1 つのポート、またはすべてのポートではない)の特定の期間のパフォーマンス統計を取得します。

要求メソッド

PUT

要求 URL

api/v2/timeseries/stats/bulkStatsQuery

要求ヘッダー

Accept: application/yang-data+json

Content-Type: application/yang-data+json

要求パラメータ

パラメータ名

データタイプ

説明

startTimeStamp

datetime

期間の開始時間。

endTimeStamp

datetime

期間の終了時間。

d@ports.json

JSON 文字列

ここで、ports.json GUID のリストです。

要求の例

POST /api/v2/timeseries/stats/bulkStatsQuery?startTimeStamp=1659402468000&endTimeStamp=1659802468000' -d@ports.json

 

request.json GUID のリストです。

[

    "PO/r_logical/1d80163d31fa18ee/870a15983eafb41f",

    "PO/r_logical/7b4564a1ccb6e4cb/5a52cb94b8d7dbc4"

]

応答パラメータ

パラメータ名

データ タイプ

説明

objGuid

string

 

オブジェクトの GUID

timeStamp

datetime

時間。

deviceType

string

 

デバイス タイプ (: ROUTER)

timePeriodSec

numeric

 

秒単位の時間

pmType

array[string]

DELAY_USECMIN_RTT_USECOCTET_OUT

PMタイプ。

value

numeric

 

パフォーマンス統計情報。

streamId

numeric

 

ストリーム ID

応答の例

[

  {

    "objGuid": "PO/r_logical/7b4564a1ccb6e4cb/5a52cb94b8d7dbc4",

    "timeStamp": 1659608730000,

    "deviceType": "ROUTER",

    "timePeriodSec": 900,

    "pmType": "MAX_RTT_USEC",

    "value": 481463,

    "streamId": 4

  },

  {

    "objGuid": "PO/r_logical/7b4564a1ccb6e4cb/5a52cb94b8d7dbc4",

    "timeStamp": 1659608730000,

    "deviceType": "ROUTER",

    "timePeriodSec": 900,

    "pmType": "DELAY_USEC",

    "value": 443345,

    "streamId": 4

  },

  {

    "objGuid": "PO/r_logical/7b4564a1ccb6e4cb/5a52cb94b8d7dbc4",

    "timeStamp": 1659608730000,

    "deviceType": "ROUTER",

    "timePeriodSec": 900,

    "pmType": "MIN_RTT_USEC",

    "value": 441197,

    "streamId": 4

  },

  {

    "objGuid": "PO/r_logical/1d80163d31fa18ee/870a15983eafb41f",

    "timeStamp": 1659608735000,

    "deviceType": "ROUTER",

    "timePeriodSec": 900,

    "pmType": "OCTET_OUT",

    "value": 17939855810587,

    "streamId": 4

  }

クロスリンク

Crosswork Hierarchical Controller は、クロスリンクを管理するための API を提供します。詳細については、『Cisco Crosswork Hierarchical Controller Administration Guide』を参照してください。

API には次のものが含まれています。

        隣接するすべてのクロスリンクの取得

        すべてのクロスリンクの検証

        1 つのクロスリンクの検証

        すべての手動クロスリンクの取得

        すべての手動クロスリンクの取得

        クロスリンクの取得

        Crosswork Hierarchical Controller への手動クロスリンクの追加

        クロスリンクの削除

注:ユーザーに API を実行する権限がない場合、403 Forbidden が返されます。間違ったクレデンシャルが使用されると、401 Authorization Required が返されます。

隣接するすべてのクロスリンクの取得

この API を使用して、LLDP などの自動検出プロトコルを使用して検出されたポートの隣接関係(アジャセンシー)を返します。このリストの要素は、構成されておらず、手動クロス リンクの一部ではない隣接関係である場合があります。

要求メソッド

GET

要求 URL

https://example-host/api/v2/crosslinks/adjacencies

要求パラメータ

なし

応答の例

応答には、隣接するすべてのクロスリンクに関する情報が含まれます。クロスリンクに関する次のものが返されます。

        interfaceA deviceNameinterfaceNametypeguid

        interfaceB deviceNameinterfaceNametype guid

        technologyETH または NMC

        relatedModelObjectGuid

すべてのクロスリンクの検証

この API を使用して、すべてのクロスリンクの検証をトリガーします。これにより、クロスリンク、ルータ物理リンク、eth リンクなどの最新のステータスに基づいてモデル(リンクとパス)を更新するプロセスが実行されます。すべてのクロスリンクを検証(および新しい手動クロスリンクを追加)すると、r-phy リンクのパスが更新される場合があり、まだ存在しない場合は r-phy リンクが一から作成される可能性もあります。新しい手動クロスリンクの結果として、光回線全体がエンドツーエンドで検出される可能性があります。

イーサネットリンクの場合、手動で追加されたクロスリンクとネットワークから検出されたクロスリンクの間に競合がある場合、手動で追加されたリンクは Cisco Crosswork Hierarchical Controller ネットワークモデルから削除されます。手動リンクは手動リンクデータベースに残り、ネットワークで検出されたリンクが消え、競合がなくなった後に手動リンクが肯定的な検証を得た場合に、ネットワークモデルに再度追加されます(これは、肯定的な検証がなくてもネットワークモデルに追加される競合のない手動リンクとは対照的です)。

この API メソッドは空の結果を返します。すべての手動クロスリンクの取得メソッドを使用して、最新のステータスを表示できます。

要求メソッド

GET

要求 URL

https://example-host/api/v2/crosslinks/validate

要求パラメータ

なし

応答の例

なし

1 つのクロスリンクの検証

この API を使用して、特定のクロスリンクの検証をトリガーします。この API は、トポロジモデルに触れることなく、検証済みの手動クロスリンクの関連する検証フィールドのみを更新します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/crosslinks/validate/{guid}

応答パラメータ

パラメータ名

データタイプ

説明

guid

string

クロスリンクの GUIDすべての手動クロスリンクの取得メソッドによって返される guid を使用します。

応答の例

応答は、クロス リンクに対して次を返します。

        guid:リンクの GUID

        interfaceA deviceNameinterfaceNametypeguid

        interfaceB deviceNameinterfaceNametype guid

        technologyETH または NMC

        relatedModelObjectGuid

        additionTimeEpochMillis

        説明

        validated:リンクが検証されているかどうか。

        validationResult:検証結果(VALIDATED_BY_PORT_ADJACENCYVALIDATED_BY_CORRELATIONNOT_CORRELATEDINCONCLUSIVEUNKNOWNCONFLICT)。

        lastValidationCheck:リンクが最後に検証されたときのタイムスタンプ。

        lastConflictTime:競合が発生しなかった場合、このタイムスタンプは非表示になります。これが lastValidationCheck と同じ場合、手動リンクは現在競合しています。lastValidationCheck lastConflictTime より後の場合、手動リンクは以前は競合していましたが、現在は競合していません。さらに validated true の場合、この手動リンクがネットワークモデルに追加されます。

        conflicts:リンクが競合している、または過去に競合していた場合、conflicts リストには 1 つまたは 2 つの競合するペアが表示されます(手動リンクポートごとに 1 ペア)。

{

  "guid": "23f6e6c340268f068f817f8f9484aa54a2ba92d5d7072efd7940308f8ecc8fa5",

  "interfaceA": {

    "deviceName": "CR2.ATH",

    "interfaceName": "TenGigE0/0/1/13",

    "type": "R_PHYSICAL",

    "guid": "PO/r_physical/8ff611ed7ebcd772/2c4e6530608a213d"

  },

  "interfaceB": {

    "deviceName": "SD2ATH02",

    "interfaceName": "ETH-1-1-8",

    "type": "ETH",

    "guid": "PO/eth/ecf4e9a6bbb76cbc/86cdb5c6379e5c62"

  },

  "technology": "ETH",

  "relatedModelObjectGuid": "LI/eth/8ff611ed7ebcd772/2c4e6530608a213d/ecf4e9a6bbb76cbc/86cdb5c6379e5c62",

  "additionTimeEpochMillis": 1666695054475,

  "description": "cross link description",

  "validated": true,

  "validationResult": "VALIDATED_BY_PORT_ADJACENCY",

  "lastValidationCheck": 1668598747209,

  "conflicts": [

    {

      "a": { "deviceName": "dev-name-of-manual-link-interfaceA", "interfaceName": "iface-name-of-manual-link-interfaceA" },

      "b": { "deviceName": "dev-name-of-different-than-manual-link-interfaceB", "interfaceName": "iface-name-different-than-manual-link-interfaceB" }

 },

 {

       "a": { "deviceName": "dev-name-of-manual-link-interfaceB", "interfaceName": "iface-name-of-manual-link-interfaceB" },

       "b": { "deviceName": "dev-name-of-different-than-manual-link-interfaceA", "interfaceName": "iface-name-different-than-manual-link-interfaceA" }

   }

   ]

}

すべての手動クロスリンクの取得

この API を使用して、一連の手動クロスリンクを取得します。返された guid は、他のクロスリンク API の要求パラメータとして使用できます。

要求メソッド

GET

要求 URL

https://example-host/api/v2/crosslinks/manual

要求パラメータ

なし

応答の例

応答は、以下の情報と合わせて一連のクロスリンクを返します。

        guid

        interfaceA deviceNameinterfaceNametypeguid

        interfaceB deviceNameinterfaceNametype guid

        technologyETH または NMC

        relatedModelObjectGuid

        additionTimeEpochMillis

        説明

        validated

        validationResultVALIDATED_BY_PORT_ADJACENCYVALIDATED_BY_CORRELATIONNOT_CORRELATEDINCONCLUSIVEUNKNOWNCONFLICT)。

        lastValidationCheck

        conflicts

{

  "guid": "23f6e6c340268f068f817f8f9484aa54a2ba92d5d7072efd7940308f8ecc8fa5",

  "interfaceA": {

    "deviceName": "CR2.ATH",

    "interfaceName": "TenGigE0/0/1/13",

    "type": "R_PHYSICAL",

    "guid": "PO/r_physical/8ff611ed7ebcd772/2c4e6530608a213d"

  },

  "interfaceB": {

    "deviceName": "SD2ATH02",

    "interfaceName": "ETH-1-1-8",

    "type": "ETH",

    "guid": "PO/eth/ecf4e9a6bbb76cbc/86cdb5c6379e5c62"

  },

  "technology": "ETH",

  "relatedModelObjectGuid": "LI/eth/8ff611ed7ebcd772/2c4e6530608a213d/ecf4e9a6bbb76cbc/86cdb5c6379e5c62",

  "additionTimeEpochMillis": 1666695054475,

  "description": "cross link description",

  "validated": true,

  "validationResult": "VALIDATED_BY_PORT_ADJACENCY",

  "lastValidationCheck": 1668598747209,

  "conflicts": []

}

クロスリンクの取得

この API を使用して手動クロスリンクを取得します。

要求メソッド

GET

要求 URL

https://example-host/api/v2/crosslinks/manual/{guid}

要求パラメータ

パラメータ名

データタイプ

説明

guid

string

クロスリンクの GUIDすべての手動クロスリンクの取得メソッドによって返される guid を使用します。

応答の例

応答は、クロス リンクに対して次を返します。

        guid

        interfaceA deviceNameinterfaceNametypeguid

        interfaceB deviceNameinterfaceNametype guid

        technologyETH または NMC

        relatedModelObjectGuid

        additionTimeEpochMillis

        説明

        validated:リンクが検証されているかどうか。

        validationResult:検証結果(VALIDATED_BY_PORT_ADJACENCYVALIDATED_BY_CORRELATIONNOT_CORRELATEDINCONCLUSIVEUNKNOWNCONFLICT)。

        lastValidationCheck:リンクが最後に検証されたときのタイムスタンプ。

        lastConflictTime:競合が発生しなかった場合、このタイムスタンプは非表示になります。これが lastValidationCheck と同じ場合、手動リンクは現在競合しています。lastValidationCheck lastConflictTime より後の場合、手動リンクは以前は競合していましたが、現在は競合していません。さらに validated true の場合、この手動リンクがネットワークモデルに追加されます。

        conflicts:リンクが競合している、または過去に競合していた場合、conflicts リストには 1 つまたは 2 つの競合するペアが表示されます(手動リンクポートごとに 1 ペア)。

{

  "guid": "fa6262a2f1202b4bba1dd699cc78b2cf9cc45c826487de6daad69e3fa0cf0a90",

  "interfaceA": {

    "deviceName": "CR2.BCN",

    "interfaceName": "TenGigE0/0/1/8",

    "type": "R_PHYSICAL",

    "guid": "PO/r_physical/b876eefb0f288974/146956e90f8b5b6d"

  },

  "interfaceB": {

    "deviceName": "OTN1MIL01",

    "interfaceName": "1-2-3",

    "type": "ETH",

    "guid": "PO/eth/5979a210307b1e66/fba4016fb0ebde72"

  },

  "technology": "ETH",

  "relatedModelObjectGuid": "LI/CL/PO/r_physical/b876eefb0f288974/146956e90f8b5b6d/PO/eth/5979a210307b1e66/fba4016fb0ebde72",

  "additionTimeEpochMillis": 1668597718579,

  "description": "example",

  "validated": false,

  "validationResult": "UNKNOWN",

  "lastValidationCheck": 1668597744370,

  "conflicts": []

}

Crosswork Hierarchical Controller への手動クロスリンクの追加

この API を使用して、Crosswork Hierarchical Controller に手動クロスリンクを追加します。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/crosslinks/manual

要求パラメータ

なし

要求本文

パラメータ名

データタイプ

説明

interfaceA

 

ポート A

deviceName

string

デバイス名。

interfaceName

string

インターフェイス名。

interfaceB

 

ポート B

deviceName

string

デバイス名。

interfaceName

string

インターフェイス名。

テクノロジー

string

テクノロジー。

説明

string

説明。

リクエストボディの例

{

  "interfaceA": {

    "deviceName": "CR2.BCN",

    "interfaceName": "TenGigE0/0/1/8"

  },

  "interfaceB": {

    "deviceName": "OTN1MIL01",

    "interfaceName": "1-2-3"

  },

  "technology": "ETH",

  "description": "example"

}

応答の例

{"guid":"d33ac2ec12c237e3a53bef30aec690e8f1ecff1a9c600c98b406ea9be30e91b7"}

クロスリンクの削除

この API を使用して手動クロスリンクを削除します。クロスリンクは削除済みとしてマークされ、次の検証の実行時に削除されます。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/crosslinks/manual/{guid}

要求パラメータ

パラメータ名

データタイプ

説明

guid

string

クロスリンクの GUIDすべての手動クロスリンクの取得メソッドによって返される guid を使用します。

応答の例

200 OK

共有リスク

Crosswork Hierarchical Controller は、共有リスクポリシーとルールを管理するための API を提供します。

Swagger を使用して Shared Risk API にアクセスできます。https://<host>/api/v2/apps/srlg-app/rest/doc

API には次のものが含まれています。

    特定のポリシーの取得

    すべてのポリシーの取得

    ポリシーの作成

    ポリシーの削除

    ポリシーの共有リスクタイプの変更

    ポリシーの種類の変更

    ポリシーへの新しいルールの追加

    ルールリソースの更新

    ポリシーからのルールの削除

ポリシーの取得

この API を使用して、すべてのポリシーのリストを取得します。これにより、すべてのポリシーとそのルールのリストが返されます。

要求メソッド

GET

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy

要求パラメータ

なし

応答の例

{

    "name": "policy-1",

    "shared_risk_types": [

      "Link",

      "Port",

      "Card",

      "Shelf",

      "Device"

    ],

    "policy_type": "MULTIPLE-LINKS",

    "rules": [

      {

        "name": "rule-1",

        "resources": [

          "LI/eth/000fc44c94a1f2cd/51308dfd752c1574/df753d953c1e1c8f/f8e7b20537ce03b7"

        ]

      },

      {

        "name": "rule99",

        "resources": [

          "inventory[.name=\"CR1.PAR\"]|port|link[.layer=\"R_LOGICAL\"]"

        ]

      }

    ]

  },

  {

    "name": "test",

    "shared_risk_types": [

      "Link",

      "Device",

      "Shelf",

      "Port",

      "Card"

    ],

    "policy_type": "MULTIPLE-LINKS",

    "rules": [

      {

        "name": "rule001",

        "resources": [

          "inventory[.name=\"ILA-SD1EVO01-SD1SEV01-1\"]|port|link[.layer=\"R_LOGICAL\"]"

        ]

      }

    ]

  },

  {

    "name": "policy-3",

    "shared_risk_types": [

      "Link"

    ],

    "policy_type": "SINGLE-PROTECTED",

    "rules": [

      {

        "name": "rule-99",

        "resources": [

          "link[.layer=\"R_LOGICAL\"]"

        ]

      }

    ]

}

ポリシーの取得

この API を使用してポリシーを取得します。

要求メソッド

GET

要求 URL

https:// example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

応答の例

{

  "name": "policy-1",

  "shared_risk_types": [

    "Link",

    "Port",

    "Card",

    "Shelf",

    "Device"

  ],

  "policy_type": "MULTIPLE-LINKS",

  "rules": [

    {

      "name": "rule-1",

      "resources": [

        "LI/eth/000fc44c94a1f2cd/51308dfd752c1574/df753d953c1e1c8f/f8e7b20537ce03b7"

      ]

    },

    {

      "name": "rule99",

      "resources": [

        "inventory[.name=\"CR1.PAR\"]|port|link[.layer=\"R_LOGICAL\"]"

      ]

    }

  ]

}

ポリシーの作成

この API を使用してポリシーを作成します。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

要求本文

パラメータ名

データタイプ

説明

shared_risk_types

string

リンク、ポート、カード、シェルフ、デバイス

policy_type

string

SINGLE-PROTECTED または MULTIPLE-LINKS

リクエストボディの例

{

  "shared_risk_types": [

    "Link"

  ],

  "policy_type": "SINGLE-PROTECTED"

応答の例

201 Successful Operation

Delete Policy

この API を使用してポリシーを削除します。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

応答の例

200 Successful

ポリシーの共有リスクタイプの更新

この API を使用して、ポリシーの共有リスクタイプを変更します。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}/shared_risk_types

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

要求本文

パラメータ名

データタイプ

説明

shared_risk_types

string

リンク、ポート、カード、シェルフ、デバイス

リクエストボディの例

{

  "shared_risk_types": [

    "Link"

  ]

}

応答の例

200 Successful Operation

ポリシータイプの更新

この API を使用してクレデンシャルを更新します。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}/policy-type

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

要求本文

パラメータ名

データタイプ

説明

policy_type

string

SINGLE-PROTECTED または MULTIPLE-LINKS

リクエストボディの例

{

  "policy_type": "SINGLE-PROTECTED"

}

応答の例

200 Successful Operation

ポリシーへのルールの追加

この API を使用して、ルールをポリシーに追加します。GUID の配列や SHQL クエリを使用してルールを作成できます。

要求メソッド

POST

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}/rules{ruleName}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

ruleName

string

規則名。Get Policies メソッドによって返されたルール名の 1 つを使用します。

要求本文

パラメータ名

データタイプ

説明

resources

array(string)

GUID リンクおよび SHQL クエリ両方を含むまたはいずれか一方を含むリスト。

SQHL クエリを使用する場合は、式が有効で結果を返すことを確認してください。SQHL ユーザーガイドを参照してください。

SQHL クエリを渡すときは、必ず "." \s の組み合わせで囲んでください(例:"link[.layer=\"R_LOGICAL\"]")。

リクエストボディの例

{

  "resources": [

    "link[.layer=\"R_LOGICAL\"]"

  ]

}

または

{

  "resources": [

    "LI/guid1",

    "LI/guid2"

  ]

}

または

{

  "resources": [

        "inventory[.name=\"CR1.PAR\"]|port|link[.layer=\"R_LOGICAL\"]"

   ]

}

応答の例

201 Successful Operation

ルールの更新

この API を使用して、ルールのリソースを更新します。GUID の配列や SHQL クエリを使用してルールを作成できます。

要求メソッド

PUT

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid}/rules{ruleName}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

ruleName

string

規則名。Get Policies メソッドによって返されたルール名の 1 つを使用します。

要求本文

パラメータ名

データタイプ

説明

resources

array(string)

GUID リンクおよび SHQL クエリ両方を含むまたはいずれか一方を含むリスト。

SQHL クエリを使用する場合は、式が有効で結果を返すことを確認してください。SQHL ユーザーガイドを参照してください。

SQHL クエリを渡すときは、必ず "." \s の組み合わせで囲んでください(例:"link[.layer=\"R_LOGICAL\"]")。

リクエストボディの例

{

  "resources": [

    "link[.layer=\"R_LOGICAL\"]"

  ]

}

または

{

  "resources": [

    "LI/guid1",

    "LI/guid2"

  ]

}

または

{

  "resources": [

        "inventory[.name=\"CR1.PAR\"]|port|link[.layer=\"R_LOGICAL\"]"

   ]

}

応答の例

201 Successful Operation

ポリシーからのルールの削除

この API を使用して、ポリシーからルールを削除します。

要求メソッド

DELETE

要求 URL

https://example-host/api/v2/apps/srlg-app/rest/policy/{policyGuid} /policy/{policyGuid}/rules/{ruleName}

要求パラメータ

パラメータ名

データタイプ

説明

policyGuid

string

ポリシーの GUIDGet Policies メソッドによって返された GUID を使用します。

ruleName

string

規則名。Get Policies メソッドによって返されたルール名の 1 つを使用します。

応答の例

200 Successful

SHQLを使用した一般的な情報の検索

Crosswork Hierarchical Controller は、Sedona Hierarchical Query Language (SHQL) と呼ばれる、ネットワークデータ用に設計された特殊なクエリ言語を提供します。SHQL を使用すると、ユーザーは任意クエリを指定して結果をすばやく確認できるだけでなく、他のユーザーのためにクエリを保存することもできます。

SHQL には、ユーザーが単純なキーワードを使用して多層モデルにクエリを実行できるという固有の機能があります。キーワードを使用すると、モデルをナビゲートしたり、あるオブジェクトタイプから別のオブジェクトタイプに遷移したり、複雑な条件の必要性を排除したりできます。

遷移とは、SHQL がオブジェクトのリストを取得し、これを使用して関連するオブジェクトに移動する場合を意味します。たとえば、システム内のすべての SITES を取得してから、言語演算子「|」(パイプ演算子)を使用して、それらのサイトのすべての INVENTORY を取得する場合などのです。

たとえば、特定の LSP によって使用されるすべての OMS は「downward」コマンドを使用するだけで取得できます。これは、指定された LSP について、指定された下位レイヤーのすべてのリンクを取得するコマンドです。

link[.name="my_lsp"] | downward ("OMS")

SHQL コマンドと構文については、『Crosswork Hierarchical Controller SHQL Guide』で説明されています。

SHQL は、Crosswork Hierarchical Controller UI アプリケーションで、または REST POST コマンドとして使用できます。

要求メソッド

POST

要求 URL

https://<server>/api/v2/shql

要求の例

この例では、クエリは、動作状態が down のすべての LSP のアンダーレイである OMS のリストを取得します。

link[.layer="LSP" and .operStatus="DOWN"] | downward | link[.layer="OMS" and .operStatus="DOWN"]

応答の例

{

    "activeProtectionPriority": null,

    "bidi": true,

    "desc": null,

    "distanceMeters": null,

    "extra": null,

    "guid": "LI/oms/af5e85ffc6049e8f/8c290fec341b62da/9bf4b791d3191519/3837d2f977f671bd",

    "inverseLinkId": null,

    "latencyMicros": null,

    "layer": "OMS",

    "name": "SD1BKL01/1-2-5&8 to SD1SLO01/1-3-5&8",

    "operStatus": "DOWN",

    "pathGroupType": "SINGLE_PATH",

    "paths": [

        {

            "guid": "PA/oms/af5e85ffc6049e8f/8c290fec341b62da/9bf4b791d3191519/3837d2f977f671bd"

        }

    ],

    "portA": {

        "guid": "PO/oms/af5e85ffc6049e8f/8c290fec341b62da",

        "type": "OMS"

    },

    "portB": {

        "guid": "PO/oms/9bf4b791d3191519/3837d2f977f671bd",

        "type": "OMS"

    },

    "protectionStatus": "N_A",

    "provider": "Topogen",

    "role": "REGULAR",

    "srlgs": null,

    "teMetric": null

}

SQHL の概要

SHQL - 必要性

Cisco Crosswork Hierarchical Controller は、ネットワーク構造に関する有益な情報を提供し、複数の専用アプリケーションを使用してさまざまな条件をシミュレーションできるようにします。

ただし、独自の分析を実行して、結果のレポートを表示することもできます。多面的データモデルのクエリは複雑であり、モデルに関する深い理解と高度な開発スキルが必要です。次に例を示します。

    あるレイヤーを別のレイヤーでフィルタ処理する

    さまざまな時間からデータを取得する

    異常を見つける

    複数のディメンションで属性ごとにリンクをグループ化する

モデルデータは多面的であり、次のものが含まれます。

    ベンダー

    トポロジ

    [レイヤ(Layers]

    ドメイン

    Status(ステータス)

    時刻

SHQL アプリケーションは、レイヤーテーブルとディメンションテーブルの間にクロスクエリを実装することにより、この問題を解決します。これによってデータの複雑さを隠し、これらすべてのディメンションにわたってモデルを簡単にクエリできる、シンプルかつ強力なクエリ言語を提供します。

SHQL の概要

SHQL アプリケーションを使用すると、複雑なクエリコマンドをすばやく作成し、Crosswork Hierarchical Controller SHQL REST API へのリクエストとして送信できます。SHQL アプリケーションにブラウザからアクセスすると、クエリを実行し、列見出しの下に規則正しく配列された結果を表示できます。列の種類と数は、表示されるオブジェクトタイプのプロパティに基づいています。

このアプリケーションは、クエリ言語のすべての機能をカバーしています。自動補完のコンテキストメニューを使用すると、実行可能なオブジェクトタイプとそれらに関連するプロパティを簡単に選択し、さまざまなオペランドを使用して複数の条件を適用できます。

SHQL を使用すると、同じクエリコマンドライン内でクエリをあるオブジェクトタイプから別のオブジェクトタイプに変換することにより、表示される情報を操作できます。または、すべてのクエリアイテムが関連する一連のオブジェクトタイプを指定できます。

注:   このガイドで使用されるオブジェクトタイプという用語は、同じプロパティを共有するアイテムまたはアイテムのグループとして定義されます。

Crosswork Hierarchical Controller のオブジェクトモデル

DiagramDescription automatically generated

1.

SHQL オブジェクトモデル

インベントリタイプ

表 2.                インベントリタイプ

インベントリ

説明

光ノード

アクティブに管理される光ネットワークの要素。増幅器、ROADM、トランスポンダ、マックスポンダなどが含まれます。

ルータ

ループバック IP アドレスと物理インベントリを持つルータの個別のインスタンス。

IGP インベントリアイテム

ルータのインスタンスとしての論理/仮想ルータ。

電源モジュール

光ノードまたはルータの電源モジュール。

カード

あらゆるタイプの着脱可能なカード。

シェルフ

ルータまたは光ノードのシャーシ。

ファン トレイ

光ノードまたはルータの着脱可能または管理可能なファントレイユニット。

リンク タイプ

表 3.                リンク タイプ

インベントリ

説明

光ファイバセグメント

1 つの DUCT から別の DUCT にまたがり、光ファイバリンクのセグメントとして使用される物理光ファイバ回線。

ファイバ

光デバイス間にまたがる光ファイバセグメントのチェーン。

OTS

OMS リンクのアンダーレイとして使用される論理レイヤ。

1 つの光ファイバリンク上に 1 つの OTS リンクを作成できます。

OMS

OCH リンクのアンダーレイとして使用される論理レイヤ。

OTS リンクのチェーン上に 1 つの OMS リンクを作成できます。

NMC

1 つ以上の OMS リンクを介した 2 つの ROADM 間の波長接続。マックスポンダのクライアントポートには接続していません。

OCH

いずれかの OEO デバイス(トランスポンダ、マックスポンダ、リジェネレータ)のクライアントポートと別のデバイス間の波長接続。

40 または 80 OCH リンクを 1 つの OMS リンク上に作成できます。

OCH リンクは 1 つのクライアントポートから別のクライアントポートにまたがり、クライアントポートは TDM または ETH ポートのいずれかです。

SCH

ある ROADM デバイスから別の ROADM デバイスにまたがり、クライアントポートではなくデバイスで終端する OCH

STSOCGOC

1 つの光デバイスから別の光デバイスにまたがる TDMOCH リンクの上位に位置し、TDM クライアントポートで終端する。

OTU

ODU リンクに使用される OTN レイヤのアンダーレイリンク。OCH の上に配置できます。

ODU

OTU リンクのサブ信号。

OTU リンクは複数の ODU リンクを伝達することができ、ODU リンクはより細かい ODU リンクに再帰的に分割できます。

ETHリンク

1 つの ETH UNI ポートから別のポートにまたがり、ODU の上位に位置する ETH L2 リンク。

ETH チェーン

ETH リンクのチェーン。

L3 物理

2 つの ETH ポート間のイーサネットリンク(L2 接続)。

これは、2 つのルーター間の IP サブネットリンクのアンダーレイレイヤです。

Agg

複数の ETH リンクがグループ化されて、より高い BW と復元力のあるリンクを作成する Link Aggregation GroupLAG)。

論理リンク

2 つのルーター間の物理リンクを介して 2 つの IP サブネットが接続されるリンク。

IGP

2 つの特定のノード間の最短パスとしてルータによって計算されたパス。

IGP プロトコルメッセージを伝送する 2 つのルータ間のリンク。リンクは IGP の隣接関係を表します。

Tunnel

TE オプションの有無にかかわらず、IGP リンクを介して 2 つのルータ間で作成される MPLS RSVP またはセグメント ルーティング トンネル。

L3-VPN リンク

特定の L3-VPN 2 つのサイト間の接続(LSP 接続または IGP パスのチェーンである場合があります)。

Crosswork Hierarchical Controller の接続モデル

例:100G OTN リンク上の 10GE

Graphical user interfaceDescription automatically generated

2.

接続モデル

SQHL の例

この例では、2 つの LSP 間に共有 OMS があるかどうかを検出しています。

Graphical user interfaceDescription automatically generated

3.

SHQL の例

SHQL の使用

SHQL インターフェースについて

ブラウザで、サイドバーのボタンをクリックして SHQL アプリケーションを開きます。

注:   Chrome を使用することをお勧めします。

TextDescription automatically generated with low confidence

4.

SHQL アプリケーションのボタン

SHQL アプリケーション インターフェースが表示されます。クエリを挿入するフィールドは空です。

Graphical user interface, text, applicationDescription automatically generated with medium confidence

5.

SHQL インターフェース

クエリを実行したら、後で使用するために保存できます(クエリの保存を参照)。

クエリーの実行

クエリを実行するには以下の手順に従ってください。

1.     [クエリ(Query] フィールドにクエリコマンドを入力します(クエリの作成を参照)。

2.     [実行(Run] をクリックします。

取得されたデータは、関連するタブの下に整理されます。

6 は、inventory_item というクエリを実行した後、2 つのタブの下に表示された結果のリストを示しています。

Graphical user interface, application, tableDescription automatically generated

6.

インベントリアイテムの結果を示すクエリ画面 光ノード

Graphical user interface, application, tableDescription automatically generated

7.

インベントリアイテムの結果を示すクエリ画面 ルータ

GUID 列のオブジェクトの隣にある [] をクリックすると、そのプロパティが JSON 形式で表示されます。.JSON には、オブジェクトのプロパティとその値がリストされます。

Text, whiteboardDescription automatically generated

8.

.JSON 形式のインベントリオブジェクト

クエリの中止

結果を返すまでに時間がかかるクエリを実行する場合、クエリを中止できます。    

クエリを中止するには以下を実行します。

1.     [クエリ(Query] フィールドにクエリコマンドを入力します(クエリの作成を参照)。

2.     [実行(Run] をクリックします。クエリが結果を返すまでに時間がかかる場合は、中止オプションが提示されます。

Graphical user interface, applicationDescription automatically generated

9.

クエリの中止

3.     クエリを終了する場合は、[中止(Abort] をクリックします。

クエリの作成

フリー テキストを使用するか、オートコンプリート コンテキスト メニューから項目を選択して、またはその両方を組み合わせてクエリを作成できます。[クエリ(Query] フィールドに入力する最初の項目はオブジェクトタイプです。

クエリ構文の任意の場所でオートコンプリート コンテキスト メニューを使用できます。

注:   クエリでは大文字と小文字が区別されません。

オートコンプリート コンテキスト メニューを表示するには以下を実行します。

    [クエリ(Query] フィールド内をクリックし、次のいずれかを実行します。

       MacCommand + スペースバーを押します。

       PCCtrl + スペースバーを押します。

メニューが表示されます。

10 は、オブジェクトタイプのオートコンプリート コンテキスト メニューを示しています。

Related image, diagram or screenshot

10.

オートコンプリート コンテキスト メニュー

メニューから項目を選択すると、その項目が [クエリ(Query] フィールドに表示されます。引き続きクエリを作成し、条件と関数を追加できます。

フリーテキストまたはコンテキストメニューの選択による入力に誤りがある場合、赤いアイコン Related image, diagram or screenshot で示されます。アイコンにカーソルを合わせると、入力が実行可能でない理由が示されるか、予想される入力が示されます。

Related image, diagram or screenshot

11.

入力が実行不可能

エラーは、図 12 に示すように単純に構文の問題の場合もあります。 12.

Related image, diagram or screenshot

12.

構文エラー

注:   クエリ対象のオブジェクトタイプの .JSON ファイルを調べて、実行可能な入力を確認してください。

クエリの保存

クエリを作成したら、それを [保存されたクエリ(Saved Queries] ドロップダウンメニューに保存して、繰り返し使用することができます。

クエリを保存するには以下を実行します。

1.     クエリの作成が完了したら、[名前を付けて保存(Save As] をクリックします。

次のダイアログボックスが表示されます。

Graphical user interfaceDescription automatically generated with medium confidence

13.

クエリ名のダイアログボックス

2.     クエリの名前を入力し、[保存(Save] をクリックします。

Graphical user interface, text, application, chat or text messageDescription automatically generated

14.

保存されたクエリ

3.     保存するすべてのクエリに対して手順 1 2 を繰り返します。

クエリの削除

クエリを削除するには以下を実行します。

1.     保存されたクエリのドロップダウンリストからクエリを選択します。

Related image, diagram or screenshot

15.

クエリの削除

2.     [削除(Delete] をクリックします。

クエリがリストから削除されます。

列のソート

取得されたデータは、関連する列見出しの下に表示されます。

アイテムを昇順または降順に並べ替え、個々の列にフィルタを適用できます。

注:   列管理は、他の Crosswork Hierarchical Controller テーブルと同様に処理されます。

列をソートするには以下を実行します。

1.     列の見出しをクリックします。

上向きの矢印が表示されます。

TableDescription automatically generated

16.

降順に表示された列コンテンツ

2.     矢印をクリックすると、列のアイテムが昇順にソートされます。再度クリックすると、列のアイテムが降順にソートされます。

TableDescription automatically generated

17.

昇順に表示された列コンテンツ

列のコンテンツをフィルタ処理するには以下を実行します。

1.     列見出しで、Related image, diagram or screenshot [フィルタ(Filter] アイコンをクリックします。

列見出しが展開され、フィルタ処理オプションが表示されます。

Graphical user interface, applicationDescription automatically generated

18.

列のコンテンツのフィルタ処理

2.     オプションの値を選択するか、テキストボックスにパターンを入力して、列のコンテンツをフィルタ処理します。列のフィルタアイコンが Related image, diagram or screenshot に変わり、フィルタが列に適用されたことを示します。

Related image, diagram or screenshot

19.

列に適用されたフィルタ

条件の作成

以下の表のオペランドを使用して、オブジェクトタイプに条件を適用できます。

通常、条件では大文字と小文字が区別されません。定義済みの値リストの一部である場合にのみ、大文字と小文字を区別する必要があります。

条件は角カッコ([ ])で囲みます。

表 4.                オペランド

オペランド

数字

文字列

説明

!=

ü

ü

次の値と異なる。

< 

ü

 

次の値より小さい。

<=

ü

 

右辺と比較して小さいか等しい。

=

ü

ü

次の値と等しい。

>

ü

 

次の値より大きい。

>=

ü

 

次の値より大きいか等しい。

が次の文字列を含む(contains

 

ü

一部一致する。

endswith

 

ü

特定のパターンで終わる。

所有

 

 

配列内のアイテム。

フィールドがリストの場合にアイテムを探すために使用します。

in

ü

ü

パターンの一致リスト。

フィールドが 1 つのアイテムであり、フィルタに複数のアイテムが含まれる場合に使用します。

intersect

ü

 

特定の経度と緯度にあるリージョンの地理的交差点。

次に例を示します。

region[.geometry intersect (4.8945398, 52.3666)]

 

ü

booleantrue / false)および null

not

 

ü

containsendwithstartswith と合わせて使用し、条件を否定します。

startswith

 

ü

特定のパターンから開始する。

xin

ü

ü

複数のプロパティのパターンの一致リスト。

~

 

ü

正規表現を使用した文字列。

1:オペランドによるフィルタ処理

20. は、CR1 で始まる名前のルータのリストを取得します

Related image, diagram or screenshot

20.

オペランドを使用したフィルタ処理。

21 は結果を示しています。

Graphical user interface, applicationDescription automatically generated

21.

クエリの結果

2:オペランドによるフィルタ処理

22 は、ベンダーが Ciena であるインベントリを取得します。

Graphical user interface, applicationDescription automatically generated

22.

オペランドを使用したフィルタ処理。

23 は結果を示しています。

Machine generated alternative text:SHQLSaved QueriesRecords fetched at: 06-11-2020 UTCinventory("Ciena")]. tags. Vendor hasNameILA-SDIEVOOI...ILA-SD2BRA01...ILA-SDIPRAOI...ILA-SDIBOROI...ILA-SDIFRAOI...ILA-SDIPAMOI...Il A-SD)PRAOITags{'Vendor'.• ['Cie...{'Vendor'.• ['Cie...{'Vendor'.• ['Cie...{'Vendor'.• ['Cie...{'Vendor'.• ['Cie...{'Vendor'.• ['Cie...('Vendor' _RunVendorCienaCienaCienaCienaCienaCienaCignaSave AsDelete QueryRESULTS (424)Optical Node (424)Guid424 ITEMSIN/002d237f16...IN/02539c320f...IN/027e3d88f5...IN/043464455...IN/05717daa2...IN/05b5b6c8c. ..IN/0777496c7TypeONEONEONEONEONEONEONEProviderTopogenTopogenTopogenTopogenTopogenTopogenTonoøpnDeviceFamilyILAILAILAILAILAILAIl ADeviceTypeONEONEONEONEONEONEONFReach abilityStat=REACHABLEREACHABLEREACHABLEREACHABLEREACHABLEREACHABLERFACHARI FSiteST/002d237f1...ST/02539c320f. ..ST/027e3d88f...ST/043464455...ST/05717daa2...ST/05b5b6c8c...ST/077749Gc7HasRoadm

23.

クエリの結果

3:オペランドによるフィルタ処理

24 は、(port_a.guid = "PO/igp/06c0868cc5601e85/06c0868cc5601e85" and port_b.guid ="PO/igp/c3b0dc2cd3ad6406/c3b0dc2cd3ad6406")または(port_a.guid = "PO/igp/c3b0dc2cd3ad6406/c3b0dc2cd3ad6406" and port_b.guid = "PO/igp/06c0868cc5601e85/06c0868cc5601e85")のリンクを探します。

Related image, diagram or screenshot

24.

オペランドを使用したフィルタ処理。

25 は結果を示しています。

Machine generated alternative text:SHQLSaved Querieslink [ . layer="LSP"RESULTS (1)LSP Link (1)and (.portA,. portBNameERI.WAR:...Xinport. guidPathGroupSINGLE, port. guidRecords fetched at: 06-11-2020 UTC" PO/ igp/c3b0dc2cd3ad6406/ c3b0dc2cd3ad6406" ] ) ]Guid1 ITEMLl/lsp/c3...LayerLSPOperStatuPathsPortAPO/igp/c...PortBPO/igp/0...Protection FProviderTopogenRoleREGULARHold Priori*7RunLspTechnoMPLSSave AsSetupPri01 F7Delete QuerySpeedBps1000000000

25.

クエリの結果

4:オペランドによるフィルタ処理

26は、一昨日(>-2d および <-1d)にキャプチャされたイベントを取得して合計します。.timeStamp プロパティは、d(日)、h(時間)、m(月0)、M(分)、S(秒)、y(年)、または w(週)と合わせて使用できます。

Related image, diagram or screenshot

26.

オペランドを使用したフィルタ処理。

27 は結果を示しています。

TableDescription automatically generated

27.

クエリの結果

オブジェクトタイプの変換/収集

オブジェクトタイプをクエリコマンドに追加して、取得するデータが 1 つのオブジェクトタイプから別のオブジェクトタイプに変換されるかどうか、またはデータが複数のオブジェクトタイプのコレクションとそれらの関連アイテムを反映するかどうかを判断できます。

    変換:新しいオブジェクトタイプを追加する前に、クエリコマンドにパイプ(|)を追加します。以前のオブジェクトタイプに関連する結果を、新しいオブジェクトタイプの出力に変換します。

    コレクション:新しいオブジェクトタイプを追加する前に、クエリコマンドにアンパサンド(&)を追加します。先行するすべてのオブジェクトタイプのすべての出力を取得します。

    As一時変数を追加します。先行するオブジェクトタイプに関連しないオブジェクトタイプでクエリを作成できます。

以下の表は、オブジェクトタイプと、それらが直接関連するオブジェクトタイプを示しています。

表 5.                オブジェクトのタイプとプロパティ

オブジェクトタイプ

オブジェクトタイプのプロパティ

イベント

該当なし

インベントリ

inventory_item

インベントリ

port

site

srlg

inventory_item

inventory_item

インベントリ

port

site

srlg

link

link

path

port

site link

srlg

region

path

path

link

port

port

link

inventory_item

インベントリ

service

srlg

region

site

visual site

link

risk_resource

srlg_risk_resource_mtm

risk_resource

port

link

inventory_item

インベントリ

service

port

service intent

service_intent

service_intent

service

service_intent_resource

service_intent_resource

service_intent_resource service_intent

site

site

inventory item

インベントリ

visual site

region

site_link

site_link

visual_site

link

srlg

srlg

port

link

inventory_item

インベントリ

srlg_risk_resource_mtm

srlg_risk_resource_mtm

risk_resource

port

link

inventory_item

インベントリ

visual_site

visual_site

site_link

site

region

例:オブジェクトタイプの変換

28. 28 は、オブジェクトタイプのインベントリアイテムに属するポートを取得するために作成されたクエリを示しています。オブジェクトタイプはパイプ(|)で区切られます。

Related image, diagram or screenshot

28.                                                                                                                                  

オブジェクトタイプの変換を使用したクエリ

29 は結果を示しています。

TableDescription automatically generated

29.

変換の結果

例:オブジェクトタイプのコレクション

30は、サイトとサイトが属するインベントリアイテムを取得するために作成されたクエリを示しています。オブジェクトタイプは、アンパサンド(&)で区切られます。

Related image, diagram or screenshot

30.

オブジェクト タイプ コレクションを使用したクエリ

31 は結果を示しています。

Related image, diagram or screenshot

31.

コレクションの結果

例:As 一時変数

As を使用すると、クエリの出力をコレクションの入力として使用できます。

次の図は、一時変数を使用して、関連のないオブジェクトタイプをサポートするように構築されたクエリを作成する方法を示しています。

32 は、オブジェクトタイプ link で構成されるクエリコマンドを示しています。

Related image, diagram or screenshot

32.

クエリ

33 は結果を示しています。

Graphical user interface, application, tableDescription automatically generated

33.

クエリの結果

34 は、As を使用して一時変数を作成する方法を示しています。変数 L は、有効なオブジェクトタイプとしてコンテキストメニューに表示されます。

Related image, diagram or screenshot

34.

As の追加

35 は、一時変数 L を使用して、リンクのリストをポート、パス、サイトリンクに変換する方法を示しています。

Related image, diagram or screenshot

35.

as を使用したクエリ

36 は結果を示しています。

Graphical user interface, text, application, emailDescription automatically generated

36.

一時変数を使用した結果

機能

SHQL には、取得するアイテムの数量、タイプ、ネットワークレイヤを正確に定義できる関数がいくつか用意されています。

クエリコマンドラインでは、関数の前にパイプが付きます。

アイテムを取得してから、関連アイテムをレイヤの上または下のいずれかから取得するか、上下の両方から取得するかを指定できます。これらの再帰操作は、ポート、リンク、サイト、インベントリ、ビジュアルサイトに対して有効です。

レトロスペクティブとタイムスタンプを使用すると、現在より前の状況をクエリできます。たとえば、サイトが現在は稼働しているものの、同じ日のダウンしていたときのステータスを確認できます。

さらに、SHQL 関数により、フリーテキストに基づいてデータを取得できます。

以下の表で SHQL 関数について説明します。SHQL 関数

表 6.                SHQL 関数

機能

説明

downward

指定されたアイテムのレイヤの下のレイヤからアイテムを取得する

upward

指定されたアイテムのレイヤの上のレイヤからアイテムを取得する

span

指定されたアイテムのレイヤの上下のレイヤからアイテムを取得する

fts

フリーテキスト検索。入力した検索文字列に従ってアイテムを取得します。

group_by

OperStatus Up のポートの数など、プロパティごとにグループ化されたクエリ結果を返します。

retrospective(@)

指定されたタイムスタンプに従って、過去のアイテムを取得します。

例:downward 関数

次の図は、GUID に従って、リンクの下にあるすべてのレイヤからアイテムを取得するクエリを作成する方法を示しています。

37 は、オブジェクトタイプと後に続く GUID で構成されるクエリコマンドを示しています。

Related image, diagram or screenshot

37.

クエリコマンド

38 は結果を示しています。

Graphical user interface, applicationDescription automatically generated

38.

GUID の結果

39 は、コマンドに downward 関数を追加した後に取得された、リンクレイヤの下にある 9 つの追加アイテムを示しています。

Graphical user interface, text, applicationDescription automatically generated

39.

downward 関数の結果

例:retrospective 関数

40 は、過去の特定の時間におけるネットワーク内の状況を取得するために作成されたクエリコマンドを示しています。

さまざまな時間形式を使用できます。

    絶対時間:@2019-05-10 10:00:00

    '-'[0-9]+[ymwdHMS]: @-10H の形式の相対時間

    Unix タイムスタンプミリ秒):@1558610956000

Related image, diagram or screenshot

40.

@ およびエポックタイムスタンプ

41 は結果を示しています。

Graphical user interface, applicationDescription automatically generated

41.

タイムスタンプの結果

例:group_by 関数

42 は、デバイスをサイトごとにグループ化する(およびそれらをカウントする)クエリコマンドを示しています。

Graphical user interfaceDescription automatically generated with medium confidence

42.

group_by

23 は結果を示しています。

TableDescription automatically generated

43.

group_by の結果

履歴関数

Crosswork Hierarchical Controller は、ネットワークインベントリとトポロジのすべての変更を記録します。変更は、イベントのリストとしてイベント履歴テーブルに保存されます。イベントは、リソースの追加(ADD、削除(DELETE)、または属性変更(UPDATE)の記録です。イベントは、モデル内のオブジェクトへの指数として GUID を使用してモデルにリンクされます。イベントテーブルには、時間、リソース ID、オブジェクトタイプ、イベントタイプ、変更前後の値など、変更のすべての詳細が含まれます。

独自の実装が選択されており、返される結果には、選択された時間範囲のある時点でモデル内にあったすべてのリソースが含まれます。そのため、後で削除されたサービスやリンクも検出されることが保証されています。たとえば、特定のタグが付いたすべてのサービスに関する過去 2 週間のイベントを取得するようにテーブルをクエリすると、結果には期間終了時に存在しなくなったサービスを含め、関連サービスが含まれます。詳細については、『Crosswork Hierarchical Controller Network History Guide』を参照してください。

標準の SHQL クエリを使用してモデルをフィルタ処理し、パイプ(|)を追加して履歴テーブルをフィルタ処理するクエリを作成できます。履歴テーブルは、すべてのエントリ属性でフィルタ処理できます。

    変更されたオブジェクト GUID

    変更されたオブジェクトタイプ

    変更タイプ(ADDUPDATEDELETE

    変更前の値

    変更後の値

結果はイベント履歴テーブルから返されます(一方、通常の SHQL クエリはオブジェクトテーブルから結果を返します)。

例:history

44 は、2 つの日付間のリンクのイベントを取得するために作成されたクエリコマンドを示しています。たとえば、UPDATE イベントのみを表示したり、ダウンしたリンクを検索したりするなど、履歴テーブルのオプションを追加してクエリ結果を絞り込むことができます。

Graphical user interfaceDescription automatically generated with medium confidenceRelated image, diagram or screenshot

44.

@ および history

45 は結果を示しています。

Graphical user interface, application, tableDescription automatically generated

45.

history の結果

その他の出力関数

以下の表の関数を追加して、結果を取得して特定の順序で表示することができます。通常、これらの関数はクエリコマンドの最後に追加されます。クエリ結果の特定のプロパティを表示することもできます。

関数の順序は重要であり、次の順序にする必要があります。

        fibre talk set > view > operands > asc/desc > limit > after

次に例を示します。

        このクエリは無効です:port | limit(10) | asc(.name)

        このクエリは有効です:port | asc(.name) | limit(10)

出力関数の前にはパイプ(|)が付きます。

表 7.                出力関数

機能

説明

add_counters

指定したオブジェクトタイプの属性値ごとの総数を表示します。

after (GUID)

指定された GUID を持つアイテムに続く結果のみを表示します。

asc (column)

結果を自然な昇順で表示します。

desc (column)

結果を自然な降順で表示します。

group_by

 

imit(#)

表示される結果の数を制限します。

view

クエリ結果として指定されたプロパティ(および提供されたラベル)を表示します。

例:after

46 は、指定された GUID を持つアイテムに続くアイテムのみを取得するために構築されたクエリを示しています。

Graphical user interfaceDescription automatically generated with medium confidence

46.

after の出力関数

47 は結果を示しています。

Graphical user interface, application, tableDescription automatically generated

47.

after の出力結果

1add_counters

48 は、各リンクレイヤの総数を取得するために作成されたクエリを示しています。クエリに | limit (0) を追加することで、応答がカウンタのみに制限されます。

Related image, diagram or screenshot

48.

add_counters 関数

49 は結果を示しています。

Graphical user interface, text, application, TeamsDescription automatically generated

49.

add_counters の結果

2: add_counters

50 は、各リンクレイヤの総数と、各動作ステータス(UPDOWN、または N_A)のリンクの総数を取得するために作成されたクエリを示しています。クエリに | limit (0) を追加することで、応答がカウンタのみに制限されます。

Graphical user interface, application, WordDescription automatically generated

50.

add_counters 関数

51 は結果を示しています。

Related image, diagram or screenshot

51.

add_counters の結果

例:view

52 は、IGP ポートのポート GUID、名前、device.nameteMetric を取得するために作成されたクエリを示しています。

Related image, diagram or screenshot

52.

view 出力関数

53 は結果を示しています。

TableDescription automatically generated

53.

view の出力結果

2view

54 は、リンクが FIBER または FIBER_SEGMENT レイヤにない場合に、リンクの GUID とリンク内のパス数を取得するために作成されたクエリを示しています。

Related image, diagram or screenshot

54.

view 出力関数

55 は結果を示しています。

TableDescription automatically generated

55.

view の出力結果

3view

56 は、リンクが FIBER または FIBER_SEGMENT レイヤにない場合に、リンクの GUID とポート名を取得するために作成されたクエリを示しています。出力は 20 エントリに制限されています。

Related image, diagram or screenshot

56.

view 出力関数

57 は結果を示しています。

Graphical user interface, applicationDescription automatically generated

57.

view の出力結果

4view

58 は、指定されたパスのホップ数をカウントするために作成されたクエリを示しています。

Related image, diagram or screenshot

58.

view 出力関数

59 は結果を示しています。

Graphical user interface, text, applicationDescription automatically generated

59.

view の出力結果

複雑な例

複雑な例 1

次の図は、LSP が失敗する原因となる OMS リンクを取得する方法を示しています。

クエリコマンドには次のものが含まれます。

site[.name="DUB"] | inventory_item | port | link[.layer="LSP"] as w; site[.name="BEL"] | inventory_item | port | link[.layer="LSP" and .guid in w] | downward("OMS") | link[.layer="OMS" and .operStatus="DOWN"]

サイト DUB BEL 間のすべての LPS を取得する

    | を使用して、あるオブジェクトタイプから別のオブジェクトタイプに変換します。

    エイリアス in を使用して、リストを DUB BEL 間のみに減らします。

OMS リンクまでの downward にし、動作ステータスでフィルタ処理します。

    downward」関数を使用します。

    関数でレイヤ名を使用し(downward (OMS))、downward を特定のレベルまでに制限します。

Related image, diagram or screenshot

60.

クエリの結果

Related image, diagram or screenshot

61.

クエリの結果

複雑な例 2

次の図は、OMS の現在のリストを取得する方法を示しています。

クエリコマンドには次のものが含まれます。

link[.name="CR1.DUB:CR1.BEL:lsp_0"] | downward | link[.layer="OMS"]

特定の LSP によって使用されるすべての OMS を取得する

    LSP を名前で取得します。

    LSP によって使用される OMS までの downward にします。

次のものを含むクエリコマンドとなります。

Related image, diagram or screenshot

62.

クエリコマンド

Graphical user interface, application, tableDescription automatically generated

63.

クエリの結果

時間の経過に伴う LSP パスの変更を追跡する場合は、たとえば @-1d を使用できます。

Related image, diagram or screenshot

64.

クエリコマンド

複雑な例 3

次の図は、2 つの IP リンク間の共有リスクを見つける方法を示しています。

クエリコマンドには次のものが含まれます。

link[.name="10.40.0.157 to 10.40.0.158"] | downward | link[.layer="OMS"] as p; link[.name="10.40.0.154 to 10.40.0.153"] | downward | link[.layer="OMS"] as w; link[.guid in p and .guid in w]

最初の IP 論理リンクの OMS を取得する

        リンク名でフィルタ処理し、その OMS までの downward として、エイリアスを p とします。

2 番目の IP 論理リンクの OMS を取得する

        リンク名でフィルタ処理し、その OMS までの downward として、エイリアスを w とします。

すべての共有 OMS リンクを取得する

        両方のグループのリンクを取得します。

Related image, diagram or screenshot

65.

クエリコマンド

Text, applicationDescription automatically generated

66.

クエリの結果

複雑な例 4

次の図は、サイト内のサービスに向けた空きポートを見つける方法を示しています。

次のものを含むクエリコマンドとなります。

site[.name contains "MIL"] | inventory_item | port[.type="ETH"] | link | port as p; site[.name contains "MIL"] | inventory_item | port[.type="ETH" and .guid not in p]

リンクで使用される特定のサイトのすべての ETH ポートを取得する

        サイトのポートを取得し、リンクに変換してからポートに変換し、エイリアスを p とします。

リンクで使用されていないすべてのポートを取得する。

    サイトのポートを取得し、ポートに変換し、p で表示されるものをフィルタで除外します。

Related image, diagram or screenshot

67.

クエリコマンド

Graphical user interface, text, applicationDescription automatically generated

68.

クエリの結果

実際に試す

独自の複雑なクエリを作成してみてください。

69 は、以下を含む例を示しています。

    オペランド

    変換

    コレクション

    機能

Related image, diagram or screenshot

69.

複雑なクエリ

表 8.                複雑なクエリの内容

項目

タイプ

参照先

site

オブジェクトタイプ

オブジェクトのタイプとプロパティ

[.guid = "ST/31105c202abd"] |

条件(オペランド =

オペランド

downward

機能

SHQL 関数

| inventory_item

変換オブジェクトタイプ

オブジェクトタイプの変換/収集

| port

変換オブジェクトタイプ

オブジェクトタイプの変換/収集

| link |

変換オブジェクトタイプ

オブジェクトタイプの変換/収集

upward

機能

SHQL 関数

| link[.layer in ("LSP", "E_LINE")] |

変換オブジェクトタイプ + 条件(オペランド in

オブジェクトタイプの変換/収集

limit(20)

機能

出力関数

& port & inventory_item & site|

オブジェクトタイプのコレクション

オブジェクトタイプの変換/収集

upward

機能

SHQL 関数

70 は結果を示しています。

TableDescription automatically generated

70.

複雑なクエリの結果

タイムマシンを使う

タイムマシンは、過去のある日付のネットワークの状態のスナップショットを提供します。このモードでは、すべてのアプリケーションに、この時点に適用されるデータと分析が反映されます。

タイムマシンを使用して、過去の日付と同じようにモデルをクエリできます。

モデルの日付を変更するには以下を実行します。

1.     Crosswork Hierarchical Controller のアプリケーションバーで、[SHQL] を選択します。

2.     [ライブ(Live] をクリックし、日付を選択して [確認(Confirm] をクリックします。

CalendarDescription automatically generated

3.     必要なクエリを実行します。

オブジェクトタイプのプロパティ

次のセクションでは、異なるオブジェクトタイプに対応するすべてのプロパティの一覧を示します。

Inventory_item プロパティ

表 9.                Inventory_item プロパティ

Inventory_item プロパティ

.accessIdentifier

.cardStatus

.cardType

.children

.childrenPorts

.desc

.deviceFamily

.deviceType

domainName

.equipState

.extra

.formFactor

.guid

.hasRoadm

.id

igpType

.isisInfo

.isisInfo.areaAddresses

.isisInfo.instanceIdentifier

.isisInfo.isDiscoveredL1

.isisInfo.isDiscoveredL2

.isisInfo.systemId

.isisInfo.topologyIdentifier

.managementIp

.modelNumber

.name

.oui

.parent

.partNumber

.pluggability

.provider

.reachabilityStatus

routerId

.serialNumber

.site

.softwareVersion

.supportedLambdas

.supportedPhysicalLayers

.supportedReacabilityMeters

.supportedSpeeds

.tags

.topologyId

.tunableType

.tunedLambda

.type

.vendor

port プロパティ

表 10.             port プロパティ

port プロパティ

.adminGroups

.adminGroups.groupNumber

.adminGroups.name

.adminStatus

.aggRateBps

.ceInterfaceIp

.cePeRoutingProtocols

.channelNum

.childRole

.containingService

.desc

.device

.egressBandwidthProfile

.egressBandwidthProfile.cbsKb

.egressBandwidthProfile.cir

.egressBandwidthProfile.ebsKb

.egressBandwidthProfile.eir

.egressBandwidthProfile.qosPolicy

.ethPortType

.evcEgressBandwidthProfile

.evcEgressBandwidthProfile.cbsKb

.evcEgressBandwidthProfile.cir

.evcEgressBandwidthProfile.ebsKb

.evcEgressBandwidthProfile.eir

.evcEgressBandwidthProfile.qosPolicy

.evcIngressBandwidthProfilePerEvc

.evcIngressBandwidthProfilePerEvc.cbsKb

.evcIngressBandwidthProfilePerEvc.cir

.evcIngressBandwidthProfilePerEvc.ebsKb

.evcIngressBandwidthProfilePerEvc.eir

.evcIngressBandwidthProfilePerEvc.qosPolicy

.exportRts

.extra

.guid

.hasServiceEndPointCapability

.id

.ifIndex

.igpInstanceName

.igpMetric

.importRts

.ingressBandwidthProfile

.ingressBandwidthProfile.cbsKb

.ingressBandwidthProfile.cir

.ingressBandwidthProfile.ebsKb

.ingressBandwidthProfile.eir

.ingressBandwidthProfile.qosPolicy

.ipAddress

.isLoopback

.isManagement

.isRouterId

.isStatsDummy

.isisInfo

.isisInfo.isisLevel

.isisInfo.netPrefixMetric

.isisInfo.portType

.lambdaNm

.links

.lowerPorts

.mappedCeTags

.mappedSvlan

mappingType

.maxLinkBandwidth

.maxReservableLinkBandwidth

.mediaFrameType

.memberCount

.mtuSize

.name

.nonPrimaryIps

.ocType

.oduId

.oduPolarization

.oduType

.operStatus

ospfInfo

.otuType

.packetOpticalDetails

.packetOpticalDetails.availableBandwidth

.parent

.pdhType

.physicalAddress

.portCapibilities

.primaryIp

.protectionType

.provider

.range

.relDirection

.relPort

.rfParams

.routeDistinguisher

.rsvpReservedBandwidthBps

.rsvpStaticBandwidthBps

.spanLoss

.speedBps

.srPrefixSids

.srlgs

.stsType

.tags

.teMetric

.type

.unreservedLinkBwForPriorityIndex

.upperPorts

.vcatStsType

.vlan

.vpnRole

.vrfName

.vtTye

.ycableType

link プロパティ

表 11.             link プロパティ

link プロパティ

.activeProtectionPriority

.adjacencySegmentInfo

.adminGroupConstraints

.bindingSid

.candidatePaths

.color

.deploymentType

.desc

.distanceMeters

.desc

.evcPerformanceProfile

.extra

.geometry

.guid

.holdPriority

.id

.inverseLinkId

.isApproximated

.isBidi

.isCeVlanCosPreservation

.latencyMicros

.layer

.lineType

.lspTechnology

.mappingStatus

.name

.numberOfFibers

.operStatus

.owner

.pathGroupType

.paths

.portA

.portB

.prefixSegmentInfo

.protectedLayer

.protectionStatus

.provider

.role

.rxLabel

.segmentType

.setupPriority

.sidIndex

.sidLabel

.signalType

.speedBps

.srAdjacencySids

.srlgs

.tags

.teMetric

.txLabel

.usedByHops

.vcId

site プロパティ

表 12.             site プロパティ

site プロパティ

.extra

.guid

.id

.latitude

.longitude

.name

.parent

service プロパティ

表 13.             service プロパティ

service プロパティ

.adminStatus

.anyToAnyOrHubRouteTarget

.containedPorts

.customerDetails

.customerName

.desc

.extra

.guid

.id

.name

.operStatus

.provider

.serviceIntent

.serviceIntentRelation

.spokeRouteTarget

.tags

.type

.vpnTopology

service_intent プロパティ

表 14.             service_intent プロパティ

service_intent プロパティ

.adminState

.anyToAnyDetails

.anyToAnyDetails.minimumSites

.anyToAnyDetails.routeTarget

.baseTemplate

.customerName

.dataForNonMultiplexedService

.dataForNonMultiplexedService.ethPortType

.deploymentInfo.lastStatusChangeTimeStamp

.deploymentInfo.operation

.deploymentInfo.phase

.desc

.extra

.guid

.holdPriority

.hubAndSpokeDetails

.hubAndSpokeDetails.hubRouteTarget

.hubAndSpokeDetails.minimumHubSites

.hubAndSpokeDetails.minimumSpokeSites

.hubAndSpokeDetails.spokeRouteTarget

.id

.ipAddressAllocationPolicy

.isOamPmCollectionEnabled

.isRemoved

.isTemplate

.name

.oduType

.pathComputationSettings

.pathComputationSettings.backupPathOptimization

.pathComputationSettings.includeLinkStates

.pathComputationSettings.mainPathOptimization

.protectionSettings

.protectionSettings.protectionPolicy

.protectionSettings.resourceDiversityFor1Plus1

.protectionSettings.resourceDiversityFor1Plus1.diversedResources

.protectionSettings.resourceDiversityFor1Plus1.diversityPolicy

.provider

.qosSettings

.qosSettings.cbsKb

.qosSettings.cir

.qosSettings.ebsKb

.qosSettings.eir

.qosSettings.qosPolicy

.resourceAllocationPolicy

.routeDistinguisher

.setupPriority

.srData

.tunnelType

.type

.underlayTech

.underlayTech.allowedNni

.underlayTech.ipMpls

.underlayTech.ipMpls.allowedNni

.underlayTech.ipMpls.tunnelResilliency

.underlayTech.ipMpls.tunnelTypes

.underlayTech.mplsTp

.underlayTech.mplsTp.allowedNni

.underlayTech.mplsTp.tunnelResilliency

.underlayTech.mplsTp.tunnelUsageConstraints

.underlayTech.otn

.underlayTech.otn.allowedNni

.underlayTech.otn.serviceTunnelRate

.underlayTech.otn.serviceTunnelType

.underlayTech.selectedTech

.underlayTech.tunnelResilliency

.underlayTech.tunnelTypes

.underlayTech.wdm

.underlayTech.wdm.allowedNni

.vlanManipulation

.vpnTopology

service_intent_resource プロパティ

表 15.             service_intent_resource プロパティ

service_intent_resource プロパティ

.constraintCompliance

.extra

.guid

.id

.includeType

.layer1Info

.layer1Info.tunnelRate

.layer2Info

.layer2Info.mappedCeTags

.layer2Info.qos

.layer2Info.qos.cbsKb

.layer2Info.qos.cir

.layer2Info.qos.ebsKb

.layer2Info.qos.eir

.layer2Info.qos.qosPolicy

.layer3Info

.layer3Info.cePeSettings

.layer3Info.cePeSettings.bgpRoutingDetails

.layer3Info.cePeSettings.bgpRoutingDetails.autonomousSystem

.layer3Info.cePeSettings.bgpRoutingDetails.peeringIp

.layer3Info.cePeSettings.ospfRoutingDetails

.layer3Info.cePeSettings.ospfRoutingDetails.metric

.layer3Info.cePeSettings.ospfRoutingDetails.ospfArea

.layer3Info.cePeSettings.routingMethod

.layer3Info.cePeSettings.staticRoutingDetails

.layer3Info.cePeSettings.staticRoutingDetails.entries.adminPreference

.layer3Info.cePeSettings.staticRoutingDetails.entries.ipPrefix

.layer3Info.cePeSettings.staticRoutingDetails.entries.nextHop

.layer3Info.ipAddress

.layer3Info.l3VpnRole

.order

.protectionRole

.resource

.resourceDiversity

.serviceIntent

.tag

.type

event プロパティ

表 16.             event プロパティ

event プロパティ

.count

.data

.guid

.lastUpdate

.machineId

.severity

.subType

.timeStamp

.type

.username

srlg Resource プロパティ

表 17.             srlg プロパティ

srlg プロパティ

.externalId

.extra

.guid

.id

.name

.ordinal

.provider

.srlgs

path プロパティ

表 18.             path プロパティ

path プロパティ

.ecmpWeight

.extra

.guid

.hops

.id

.link

.priority

.provider

.srPathSegments

.tunPortA

.tunPortB

site_link プロパティ

表 19.             site_link プロパティ

site_link プロパティ

.depth

.guid

.id

.isCrossLink

.layer

.links

.name

.siteA

.siteB

.status

.tags

.utilization

visual_site プロパティ

表 20.             visual_site プロパティ

visual_site プロパティ

.depth

.guid

.id

.isOnlyAmplifiers

.latitude

.longitude

.name

.oneSize

.parent

.reachabilityStatus

.routerSize

.site

.tags

inventory プロパティ

表 21.             inventory プロパティ

inventory プロパティ

.accessIdentifier

.cardStatus

.cardType

.children

.childrenPorts

.desc

.deviceFamily

.deviceType

.equipState

.extra

.formFactor

.guid

.hasRoadm

.isisInfo

.isisInfo.areaAddresses

.isisInfo.instanceIdentifier

.isisInfo.isDiscoveredL1

.isisInfo.isDiscoveredL2

.isisInfo.isisInstanceName

.isisInfo.systemId

.isisInfo.topologyIdentifier

.managementIp

.modelNumber

.name

.oui

.parent

.partNumber

.pluggability

.ports

.provider

.reachabilityStatus

.routerId

.serialNumber

.site

.softwareVersion

.srCapabilities

.srlgs

.supportedLambdas

.supportedPhysicalLayers

.supportedReacabilityMeters

.supportedSpeeds

.tags

.topologyId

.tunableType

.tunedLambda

.type

.unitType

.vendor

srlg_risk_resource_mtm プロパティ

表 22.             srlg_risk_resource_mtm プロパティ

srlg_risk_resource_mtm プロパティ

.guid

.id

.inventoryItem

.link

.port

.provider

.srlg

risk_resource プロパティ

表 23.             risk_resource プロパティ

risk_resource プロパティ

.inventoryItem

.guid

.provider

.link

.srlg

.port

region プロパティ

表 24.             region プロパティ

region プロパティ

.geometry

.guid

.id

.name

.overlay

history プロパティ

表 25.             history プロパティ

history プロパティ

.action

.changes

.objGuid

.objName

.objSubtype

.objType

.timestamp

SHQL ウィジェットの作成

SHQL ウィジェットについて

カスタマイズされたウィジェットをすぐに作成できます。開発の手間やソフトウェアの配布は必要ありません。SHQL ダッシュボードアプリケーションを開くとウィジェットクエリが実行され、ウィジェットが表示されます。ウィジェットには、クエリを手動で実行するための更新ボタンもあります。

Graphical user interface, chart, applicationDescription automatically generated

SHQL ウィジェットの作成

ウィジェットの属性は次のとおりです。

    タイトル:SHQL ダッシュボードに表示される SHQL ウィジェットの名前。

    クエリ:5 ビューまでにする必要があり、制限(100)があります。

        ビジュアルモード:

       / - クエリにカウンタのみが含まれている場合

       グラフ - クエリにタイムスタンプとカウンタが含まれている場合

       テーブル - クエリがリストを返す場合

    Aboutテキスト。

        オプション:ウィジェットへのドリルダウンとして使用される追加のクエリ(自動的に生成可能で、カウンタと制限は削除されます)。

SHQL ウィジェットを作成するには以下を実行します。

1.     Crosswork Hierarchical Controller のアプリケーションバーで、[SHQLウィジェット(SHQL Widgets] を選択します。

2.     [+新しいSHQLウィジェット(+ New SHQL Widget] をクリックします。

Graphical user interface, applicationDescription automatically generated

71.

新しいウィジェットの作成

3.     [タイプ(Type] を選択します。[テーブル(Table][グラフ(Graph]、または [円グラフ(Pie] にすることができます。

選択したウィジェットのタイプに応じて、SHQL で許可される操作に関するガイダンスが提供されます。


付録

用語集

用語

説明

RESTCONF

ネットワーク構成プロトコル(NETCONF)で定義されたデータストアの概念を使用して、YANG バージョン 1 または YANG バージョン 1.1 で定義されたデータを構成するための HTTP に基づくプロトコル

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Learn more