CMDB 共通統合アプリに含まれる RTE 変換のテンプレートスクリプト
強力な変換エンジン (RTE) による変換は、CMDB 共通統合 (sn_cmdb_int_util) ストアアプリに含まれるテンプレート化された操作です。
CMDB 共通統合 アプリでは、次のスクリプトベースの RTE 変換を使用できます。
CI ルックアップ操作
ソースネイティブキーによって CMDB 内の既存の構成アイテム (CI) のフィールドの値を取得するために使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンの CI ルックアップ操作 [sn_cmdb_int_util_ci_lookup_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力順序は次のとおりです。
この操作では、ソース [sys_object_source] テーブルでディスカバリーソースおよび関連するソースネイティブキーを照会し、ターゲットテーブル内の一致するレコードの CI フィールド値と関連するターゲットの Sys ID を返します。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、ソースネイティブキーのルックアップと一致した CI のフィールド名の値です。一致がない場合は空の文字列になります。 |
ソース [sys_object_source] テーブルは、前回のスキャンによるディスカバリーソースとソースネイティブキーの順序を用いて照会されます。テーブルはクエリの結果を反復処理し、有効な CI が見つかるまでターゲット Sys ID でターゲットテーブルを照会します。有効な CI が見つかると、一致する CI の CI フィールドの値が返されます。
| ディスカバリーソース | ソースネイティブキー | CI フィールド | 結果 |
|---|---|---|---|
| ServiceNow | ServiceNow|||COMPUTER-NAME|||Computer-01 | name | Computer-01 |
会社のクレンジング
メーカーがモデルまたはソフトウェア (cpu_manufacturer) にリンクされていない場合に、ハードウェアメーカー名をクレンジングし、会社 [core_company] テーブルにレコードを追加して参照を設定するために使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの会社のクレンジング操作 [sn_cmdb_int_util_cleanse_company_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力は会社/メーカー名です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、core_company 内の結果の sys_id と会社の名前であり、3 本のパイプ (|||) で連結されます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseCompany(input) |
一致するレコードが存在しない場合は、新しいレコードが core_company に作成されるため、戻り値には常に sys_id と名前が含まれます (入力が空または無効の場合を除く)。名前がクレンジングされ、MakeAndModelJS プラットフォーム API が呼び出される前に、CmdbIntegrationCompanyModelUtil スクリプトインクルードを介してファジールックアップが実行されます。
| 入力 | 結果 |
|---|---|
| SERVICENOW | 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow |
ハードウェアモデルのクレンジング
ハードウェアモデルを作成、クレンジング、またはルックアップして、参照 (model_id) を作成するために使用されます。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのハードウェアモデルのクレンジング操作 [sn_cmdb_int_util_cleanse_hardware_model_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
いずれかの値が単独で指定されている場合、操作は見つかったものだけを処理します。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、core_company 内の結果の sys_id と会社の名前、および cmdb_model 内の sys_id とモデルの名前であり、すべてが 3 本のパイプ (|||) で連結されます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseModelAndCompany(manufacturer_in, model_in) |
メーカーまたはモデルのどちらかで、一致するレコードが存在しない場合は、新しいレコードが core_company に作成されるため、戻り値には常に sys_id と両方のレコードの名前が含まれます (入力が空または無効の場合を除く)。
メーカー名は、会社のクレンジング変換のように処理され、メーカー名、モデル名が MakeAndModelJS プラットフォーム API に送信されます。
| メーカー名 | モデル名 | 結果 |
|---|---|---|
| ServiceNow Incorporated | SERVICENOW | 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow|||ba29cb303710200044e0bfc8bcbe5d6d |||ServiceNow |
モデル番号でのハードウェアモデルのクレンジング
ハードウェアモデルを作成、クレンジング、またはルックアップして、参照 (model_id) を作成するために使用されます。
| 詳細 | |
|---|---|
| テーブル | モデル番号を使用した強力な変換エンジンエンティティのハードウェアモデルのクレンジング操作 [sn_cmdb_int_util_cleanse_hardware_model_number_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
いずれかの値が単独で指定されている場合、操作は見つかったものだけを処理します。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、core_company 内の結果の sys_id と会社の名前、および cmdb_model 内の sys_id とモデルの名前であり、すべてが 3 本のパイプ (|||) で連結されます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseModelAndCompany(manufacturer_in, model_in) |
メーカーまたはモデルのどちらかで、一致するレコードが存在しない場合は、新しいレコードが core_company に作成されるため、戻り値には常に sys_id と両方のレコードの名前が含まれます (入力が空または無効の場合を除く)。
メーカー名は、会社のクレンジング変換のように処理され、メーカー名、モデル名およびモデル番号が MakeAndModelJS プラットフォーム API に送信されます。
| メーカー名 | モデル名 | モデル番号 | 結果 |
|---|---|---|---|
| ServiceNow Incorporated | SERVICENOW | BC0AA8000C56 | 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow|||ba29cb303710200044e0bfc8bcbe5d6d |||ServiceNow |
IP アドレスのクレンジング
フィールドが IP アドレスを提供する場合に使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの IP のクレンジング操作 [sn_cmdb_int_util_cleanse_ip_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力はクレンジングする IP アドレスです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は結果の IP アドレスで、空の場合もあります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationNetworkUtil().cleanseIpAddress(input) |
IP アドレスは、いくつかの既知の派生 (ピリオドの代わりにスペースを含む IPv4) とともに、IPv4 と IPv6 の両方の構造についてテストされます。結果が見つかった場合は、フォーマットされて返されます。
| IP | IP 結果 |
|---|---|
| 192.160.89.1 | 192.160.89.1 |
| 192.160.89.1、54.21.12.311 | 192.160.89.1 |
| 192 160 89 1 54 21 12 311 | 192.160.89.1 |
| 192-160-89-1 | 192.160.89.1 |
| 2001:0db8:0000:0000:0000:ff00:0042:8329 | 2001:0db8:0000:0000:0000:ff00:0042:8329 |
| junk | |
| 175912537 | 10.124.54.89 |
| -1 | |
| 0 |
IP バージョンのクレンジング
データのソースが IP バージョンを提供していない場合、または IP バージョンが信頼できない場合に使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの IP バージョンのクレンジング操作 [sn_cmdb_int_util_cleanse_ip_version_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力はクレンジングする IP アドレスです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、結果の cmdb_ci_ip_address.ip_version ルックアップキー (4、6、または空) です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationNetworkUtil().deriveIpVersion(input) |
入力 IP アドレス値が適切な IPv4 または IPv6 構造であるかどうかがチェックされます。そうでない場合、戻り値は空になります。この関数は IP クレンジングを提供しません。
| 入力 | 結果 |
|---|---|
| 192.160.89.1 | 4 |
MAC アドレスのクレンジング
フィールドが MAC アドレスを提供する場合に使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの MAC のクレンジング操作 [sn_cmdb_int_util_cleanse_mac_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力はクレンジングする MAC アドレスです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は結果の MAC アドレスで、空の場合もあります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationNetworkUtil().cleanseMacAddress(input) |
MAC アドレスは、いくつかの既知の派生とともに適切な構造についてテストされます (たとえば、コロンの代わりにスペースを使用した MAC アドレスなど)。結果が見つかった場合は、フォーマットされて返されます。
| 入力 | 結果 |
|---|---|
| 00 0A 95 9D 68 16 | 00:0a:95:9d:68:16 |
オペレーティングシステムのクレンジング
ソースがオペレーティングシステムの値を提供するときに、オペレーティングシステム名を抽出、クレンジング、およびフォーマットするために使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの OS のクレンジング操作 [sn_cmdb_int_util_cleanse_os_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力は、クレンジングするオペレーティングシステム名です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、結果のオペレーティングシステム名です。結果のオペレーティングシステム名は、cmdb_ci_computer.os リストフィールドにも書き込まれます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationOsUtil().cleanseAndInsertOs(input) |
現在のクレンジングのほとんどは、大文字小文字の修正などの一般的なクレンジングを除いて、Microsoft オペレーティングシステムの値に集中しています。
| オペレーティングシステム | オペレーティングシステムの結果 |
|---|---|
| Windows Server 2003 R2 64 bit Edition Service Pack 2 | Windows Server 2003 R2 |
| Windows 2003 | Windows 2003 |
| Windows Vista 64 bit Edition | Windows Vista |
| Windows 2000 Professional Service Pack 4 | Windows 2000 Professional |
| Windows XP Service Pack 2-3 | Windows XP |
| Microsoft Windows Server 2003 R2 64 bit Edition Service Pack 2 | Windows Server 2003 R2 |
| Microsoft Windows 2003 | Windows 2003 |
| Microsoft Windows Vista 64 bit Edition | Windows Vista |
| Microsoft Windows 2000 Professional Service Pack 4 | Windows 2000 Professional |
| Microsoft Windows XP Service Pack 2-3 | Windows XP |
| linux ubuntu | Linux Ubuntu |
| Linux Ubuntu Server | Linux Ubuntu Server |
シリアル番号のクレンジング
無効なシリアル番号をクレンジングして削除するために使用します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのシリアル番号のクレンジング操作 [sn_cmdb_int_util_cleanse_serial_number_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力はクレンジングするシリアル番号です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は結果のシリアル番号です。 |
| シリアル番号 | シリアル番号の結果 |
|---|---|
| ec2aa2da-5312-aa3e-804c-c35feabeda5f | ec2aa2da-5312-aa3e-804c-c35feabeda5f |
| 1045–1209–6738–4668–7696–2783 | 1045–1209–6738–4668–7696–2783 |
シリアル番号をクレンジング (無効な場合は代替値を返す)
シリアル番号をクレンジングし、クレンジングされたシリアル番号の長さを検証するために使用します。シリアル番号の長さが無効な場合は、代替値を返します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティが代替値の返却でシリアル番号をクレンジング [sn_cmdb_int_util_cle$anse_serial_number_with_alternate_value_return_if_invalid] |
| 入力フィールド | source_sys_rte_eb_fields 入力:シリアル番号、代替値 |
| 出力フィールド | target_sys_rte_eb_field 出力:長さが有効な場合はクレンジングされたシリアル番号、それ以外の場合は代替値。 |
| スクリプトインクルード関数 | global.SerialNumberManager().isValid(input) |
この操作では、シリアル番号をクレンジングし、クレンジングされたシリアル番号の長さが、sn_cmdb_int_util.minimum_valid_serial_number_length システムプロパティで指定された値以上かどうかを確認します。プロパティのデフォルト値は 7 に設定されます。
IMEI 番号をクレンジング (無効な場合は代替値を返す)
IMEI 番号をクレンジングし、クレンジングされた IMEI 番号の長さを検証するために使用します。IMEI 番号の長さが無効な場合は、代替値を返します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの IMEI のクレンジング 無効な場合は代替値の返却を使用 [sn_cmdb_int_util_cleanse_imei_with_alternate_value_return_if_invalid] |
| 入力フィールド | source_sys_rte_eb_fields 入力:IMEI 番号、代替値 |
| 出力フィールド | target_sys_rte_eb_field 出力:長さが有効な場合は IMEI 番号、それ以外の場合は代替値。 |
| スクリプトインクルード関数 | なし |
この操作では、IMEI 番号をクレンジングし、クレンジングされた IMEI 番号の長さが、sn_cmdb_int_util.valid_imei_number_length システムプロパティで指定された値と等しいかどうかを確認します。プロパティのデフォルト値は 15 に設定されています。
ソフトウェアモデルのクレンジング
ソフトウェアモデルをクレンジングして作成するために使用します。また、メーカーとソフトウェアモデルが存在しない場合は作成し、分割操作を実行します。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのソフトウェアモデルのクレンジング操作 [sn_cmdb_int_util_cleanse_software_model_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
メーカーまたは名前のみが指定されている場合は、それらの値のみが処理されて返されます。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、core_company 内の結果の sys_id と会社の名前、およびクレンジングされたソフトウェア名、クレンジングされたソフトウェアのバージョンであり、すべてが 3 本のパイプ (|||) で連結されます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationSoftwareModelUtil().cleanseSoftwareModel(company, model, version) |
一致するメーカーレコードが存在しない場合は、レコードが作成されるため、戻り値には常に sys_id とメーカーの名前が含まれます (メーカーが空または無効ではない場合)。
メーカー名は、会社のクレンジング変換のように処理され、メーカー名が MakeAndModelJS プラットフォーム API に送信されます。
ソフトウェア名とバージョンがクレンジングされ、フォーマットされて返されます。バージョンは、存在する場合はソフトウェア名から削除されます。
| メーカー | ソフトウェア名 | ソフトウェアバージョン | 結果 |
|---|---|---|---|
| Dell Inc. | |||
| NoManufacturer | |||
| 1.0.0.0 | |||
| Dell Inc. | DataEngine | 1.0.17.2 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||DataEngine|||1.0.17.2 |
| GenuineIntel | TestSoftware | 1.0.0.1 | 7aad6d00c611228400f00e0f80b67d2d|||Intel|||TestSoftware|||1.0.0.1 |
| Dell Inc. | TestSoftware | 232 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||232 |
| Dell Inc. | TestSoftware | 123.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||123.0 |
| America Online | TestSoftware | 1.0.0.0 | 0c43d035c61122750000251553f6f8e8|||America Online|||TestSoftware|||1.0 |
| America Online | TestSoftware | 1.0.0.0 | 0c43d035c61122750000251553f6f8e8|||America Online|||TestSoftware|||1.0 |
| dell | LowerCase | 1.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||LowerCase|||1.0 |
Dell Corporation. Incorporated, Corp. |
TestSoftware | 1.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||1.0 |
| Microsoft | Microsoft SQL Server 2016 Enterprise |
2.0.0 | 0e8b8e650a0a0b3b004f285ffbb1a4fc|||Microsoft|||Microsoft SQL Server 2016 Enterprise|||2.0 |
| Dell Computer | DataEngine | 1.0.17.2 | b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||DataEngine|||1.0.17.2 |
| Adobe | TestSoftware | 1 | b7e8b5c4c0a80169008b49e468920048|||Adobe Systems|||TestSoftware|||1.0 |
ソフトウェアインスタンス名の作成
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのソフトウェアインスタンス名の作成操作 [sn_cmdb_int_util_cleanse_software_model_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力はソフトウェアインスタンス名です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationSoftwareModelUtil().createSoftwareInstanceName(hw_name_in, sw_name_in, sw_version_in) |
| ハードウェア名 | ソフトウェア名 | ソフトウェアバージョン | 結果 |
|---|---|---|---|
| computer1 | microsoft | 2.0.1 | microsoft 2.0.1-computer1 |
| computer2 | adobe | adobe-computer2 | |
| computer3 | adobe | 2.1 | adobe 2.1-computer3 |
| hw2 | sw3 | 301 | sw3 301-hw2 |
CI クラスをモデルから導出
コンピューターレコードを処理し、モデルが提供されていても、それ以外にコンピューターのクラスがあいまいな場合に使用します。他の CI クラスを導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのモデルからのクラスの導出操作 [sn_cmdb_int_util_derive_class_from_model_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果のクラス名です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromModelInput(model_in, class_in) |
指定された入力クラスよりもクラス階層の上位にあるクラス (親クラス) の値を返しません。たとえば、入力が cmdb_ci_server の場合、cmdb_ci_computer を返しません。cmdb_ci_computer 階層のみで、cmdb_ci_server (cmdb_ci_computer、cmdb_ci_server、cmdb_ci_server の子) を調べます。
現在、モデル内のサーバー、Windows サーバー、および Linux サーバーインジケーターを探します。
| モデル | クラス | クラス結果 |
|---|---|---|
| Windows サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| Microsoft サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_computer | cmdb_ci_linux_server |
| Microsoft サーバー | cmdb_ci_server | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Red hat サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Arch サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Centos サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Debian サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Fedora サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Suse サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Oracle サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Rhel サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Ubuntu サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Junk | ||
| cmdb_ci_server | cmdb_ci_server | |
| Junk サーバー | cmdb_ci_computer | cmdb_ci_server |
| Junk | cmdb_ci_computer | cmdb_ci_computer |
ネイティブクラス識別子から CI クラスを導出
コンピューターレコードを処理し、ネイティブクラスインジケーターが提供されていても、それ以外にコンピューターのクラスがあいまいな場合に使用します。他の CI クラスを導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのネイティブ値からのクラスの導出操作 [sn_cmdb_int_util_derive_class_from_native_value_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果のクラス名です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromNativeValue(native_id_in, class_in) |
指定された入力クラスよりもクラス階層の上位にあるクラス (親クラス) の値を返しません。たとえば、入力が cmdb_ci_server の場合、cmdb_ci_computer を返しません。cmdb_ci_computer 階層のみで、cmdb_ci_server (cmdb_ci_computer、cmdb_ci_server、cmdb_ci_server の子) を調べます。
現在、ネイティブ識別子内のサーバー、Windows サーバー、および Linux サーバーインジケーターを探します。
| ネイティブクラス | クラス | クラス結果 |
|---|---|---|
| Windows サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| Microsoft サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_computer | cmdb_ci_linux_server |
| Microsoft サーバー | cmdb_ci_server | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Red hat サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Arch サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Centos サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Debian サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Fedora サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Suse サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Oracle サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Rhel サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Ubuntu サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Junk | ||
| cmdb_ci_server | cmdb_ci_server | |
| Junk サーバー | cmdb_ci_computer | cmdb_ci_server |
| Junk | cmdb_ci_computer | cmdb_ci_computer |
オペレーティングシステムから CI クラスを導出
コンピューターレコードを処理し、オペレーティングシステムが提供されていても、それ以外にコンピューターのクラスがあいまいな場合に使用します。他の CI クラスを導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティの OS からのクラスの導出操作 [sn_cmdb_int_util_derive_class_from_os_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果のクラス名です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromOsName(os_in, class_in) |
指定された入力クラスよりもクラス階層の上位にあるクラス (親クラス) の値を返しません。たとえば、入力が cmdb_ci_server の場合、cmdb_ci_computer を返しません。cmdb_ci_computer 階層のみで、cmdb_ci_server (cmdb_ci_computer、cmdb_ci_server、cmdb_ci_server の子) を調べます。
現在、オペレーティングシステム名のサーバー、Windows サーバー、および Linux サーバーインジケーターを探します。
| オペレーティングシステム | クラス | クラス結果 |
|---|---|---|
| Windows サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| Microsoft サーバー | cmdb_ci_computer | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_computer | cmdb_ci_linux_server |
| Microsoft サーバー | cmdb_ci_server | cmdb_ci_win_server |
| linux サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Red hat サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Arch サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Centos サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Debian サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Fedora サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Suse サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Oracle サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Rhel サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Ubuntu サーバー | cmdb_ci_server | cmdb_ci_linux_server |
| Junk | ||
| cmdb_ci_server | cmdb_ci_server | |
| Junk サーバー | cmdb_ci_computer | cmdb_ci_server |
| Junk | cmdb_ci_computer | cmdb_ci_computer |
ハードウェアモデルから仮想を導出
仮想である可能性があるコンピューターレコードを処理し、ハードウェアモデルが提供され、仮想ステータスがあいまいな場合に使用します。他の仮想を導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | 強力な変換エンジンエンティティのモデルからの仮想の導出操作 [sn_cmdb_int_util_derive_virtual_from_model_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果の仮想フラグ (true/false) です。現在の仮想フラグが「true」の場合、結果は true です。それ以外の場合、結果は「true」または「false」になります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromModelName(model_in, is_virtual_in) |
仮想デバイス (VMware) のモデル名でインジケーターを検索します。
| ハードウェアモデル | 仮想フラグ | 仮想フラグの結果 |
|---|---|---|
| thinkpad | true | true |
| thinkpad | false | false |
| thinkpad | false | |
| vmware Inc | true | true |
| true | true | |
| false | false | |
| false |
ネイティブインジケーターから仮想を導出
仮想である可能性があるコンピューターレコードを処理し、ソースによって仮想インジケーターが提供され、仮想ステータスがあいまいな場合に使用します。他の仮想を導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_derive_virtual_from_native_value_operation |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果の仮想フラグ (true/false) です。現在の仮想フラグが「true」の場合、結果は true です。それ以外の場合、結果は「true」または「false」になります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromNativeIdentifier(native_in, is_virtual_in) |
一般的な値のリストに対してネイティブインジケーターをテストし、「true」ブーリアンインジケーターを探します。
| ネイティブ仮想値 | 仮想フラグ | 仮想フラグの結果 |
|---|---|---|
| virtual | false | true |
| virtual | true | |
| virtual | true | true |
| y | false | true |
| y | true | |
| y | true | true |
| はい | false | true |
| はい | true | |
| はい | true | true |
| true | false | true |
| true | true | |
| true | true | true |
| t | false | true |
| t | true | |
| t | true | true |
| その他 | false | false |
| その他 | false | |
| その他 | true | true |
| not virtual | false | false |
| not virtual | false | |
| not virtual | true | true |
| false | false | |
| false | ||
| true | true |
シリアル番号から仮想を導出
仮想である可能性があるコンピューターレコードを処理し、ソースによってシリアル番号が提供され、仮想ステータスがあいまいな場合に使用します。他の仮想を導出変換と一緒に使用できます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_derive_virtual_from_serial_number_operation |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果の仮想フラグ (true/false) です。現在の仮想フラグが「true」の場合、結果は true です。それ以外の場合、結果は「true」または「false」になります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromSerialNumber (serial_in, is_virtual_in) |
仮想デバイス (VMware) のシリアル番号でインジケーターを検索します。
| シリアル番号 | 仮想フラグ | 仮想フラグの結果 |
|---|---|---|
| 123 | true | true |
| 123 | false | false |
| 123 | false | |
| vmware-123 | true | true |
| true | true | |
| false | false | |
| false |
単位による抽出とスケール
ソースに、スケーリングが必要な数値と、2048 Mb などの入力がある数値がある場合に使用します。ソースが常に単位を提供するわけではないため、提供される単位を計算または推測する必要がある場合があります。ターゲット単位は、CMDB のターゲットフィールドによって異なります。指定しない場合、小数点以下の桁数フィールドはデフォルトで 2 に設定されます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_extract_and_scale_by_units_operation |
| 入力フィールド | source_sys_rte_eb_fields |
| 出力フィールド | target_sys_rte_eb_field |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationExtractScaleUnitUtil().extractAndScaleUnits(input,defaultUnit,outputUnit,decimalPlaces) |
| 入力値 | デフォルトの単位 | 出力単位 | 結果 |
|---|---|---|---|
| 2048 Mb | Mb | GB | 2 GB |
| 17179869184 | B | GB | 16 GB |
最初の非 Null 値
単一のフィールドにマッピングする必要がある類似の情報を提供するフィールドのリストがあり、それらのフィールドがそれらの値を提供できる順序をランク付けしたい場合に使用します。
たとえば、SolarWinds の内部には、結合されたテーブルの階層があります。1 つの例では、コンピューターの名前は、子のほとんどのテーブルまたはそのテーブルの親のいずれかから取得される可能性がありますが、それぞれがプル内の個別のフィールドになります。最も具体的なテーブルから開始して、name 値の最初のインスタンスの値が検索されます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_first_non_null_operation |
| 入力フィールド | source_sys_rte_eb_fields 入力は、任意の長さのフィールドのリストです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、null (または空の) 値ではない、リスト内の最初のフィールドの値です。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationFirstNonNullValueUtil().firstNonNullValue(batch[i]) |
| フィールド 1 | フィールド 2 | フィールド 3 | 結果 |
|---|---|---|---|
| foo | foo2 | foo |
プロセス名、ドメイン、FQDN、DNS セット
ソースが名前、ドメイン、FQDN、または DNS 情報を提供する場合に使用します。これらのサブセットにのみ使用できます (たとえば、ソースが名前とドメインのみを提供する場合)。ソースが入力リスト (FQDN) の下位のフィールドのみを提供する場合は、スクリプト操作から CmdbIntegrationHardwareNameUtil スクリプトインクルードを呼び出して、空のダミーフィールドを作成する必要性を最小限に抑えることができます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_process_name_set_operation |
| 入力フィールド | source_sys_rte_eb_fields 次の順序で、最大 4 つの入力フィールドを取ります (追加のフィールドは無視されます)。
4 つの入力値すべてを指定する必要はありませんが、これらの値は指定された順序で指定する必要があります。たとえば、ドメインのクレンジングのみを行いたい場合は、空の場合でも名前属性を指定する必要があります。 |
| 出力フィールド | target_sys_rte_eb_field 出力は {name}|||{domain}|||{fqdn}|||{dns} のような、同じ順序で連結された値のセットです。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationHardwareNameUtil().processNameDomainFqdnDnsSet(name, domain, fqdn, dns) |
FQDN と DNS が最初に処理され、フォーマットが正しいかどうかが確認されます。FQDN には、次のように (プロパティを介して) 渡す必要がある追加の検出正規表現があります。glide.discovery.fqdn.regex – default : ^([^.]+)\\.((?:[^.]+\\.)+[^.]+)$
- glide.discovery.hostname.case – デフォルト:変更なし。「小文字」、「大文字」、「変更なし」に設定できます。
- glide.discovery.hostname.include_domain – デフォルト:false。「true」の場合、ドメインが最終的な名前の値に追加されます。
| 名前 | ドメイン | FQDN | DNS | 結果 |
|---|---|---|---|---|
| myName | other.net | otherName.other.net | mycomp.servicenow.com | myName|||other.net|||otherName.other.net|||mycomp.servicenow.com |
| na | other.net | otherName.other.net | mycomp.servicenow.com | otherName|||other.net|||otherName.other.net|||mycomp.servicenow.com |
| servicenow.com | |||servicenow.com|||||| | |||
| name.servicenow.com | name|||servicenow.com|||name.servicenow.com|||name.servicenow.com | |||
| name.servicenow.com | name|||servicenow.com|||name.servicenow.com||| | |||
| name.servicenow.com | name|||servicenow.com|||name.servicenow.com||| | |||
| name | servicenow.com | name|||servicenow.com|||name.servicenow.com||| |
プロセス FQDN
ソースから疑わしい FQDN 値が提供されていても、名前、ドメイン、DNS などの他の名前付けフィールドが提供されていない場合に使用します。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_process_fqdn_operation |
| 入力フィールド | source_sys_rte_eb_field 入力は、FQDN を含む単一のフィールドです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は {name}|||{domain}|||{fqdn}|||{dns} のような、同じ順序で連結された値のセットです。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationHardwareNameUtil().processNameDomainFqdnDnsSet('’, '’, fqdn, '’) |
処理は、FQDN のみが入力として使用されることを除いて、「プロセス名、ドメイン、FQDN、DNS セット」変換と同じロジックに従います。
| 入力 | 結果 |
|---|---|
| mycomputer.servicenow.com | mycomputer|||servicenow.com|||mycomputer.servicenow.com||| |
スケール単位
ソースにスケーリングが必要な数値入力がある場合に使用します。ソースが常に現在の単位を提供するわけではないため、提供される単位を計算または推測する必要がある場合があります。ターゲット単位は、CMDB でターゲットになっているフィールドによって異なります。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_scale_unit_operation |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field 出力は、現在の単位からターゲット単位にスケーリングされた入力値です。現在の単位の単位が見つからない場合は、入力値が返されます。現在の単位またはターゲット単位が見つからない場合、入力が出力として返されます。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationScaleUnitUtil().scaleUnits(input_value, input_unit, output_unit) |
| 入力 | 結果 |
|---|---|
|
1024 |
ソフトウェアバンドル ID のルックアップ
Jamf などのソースがソフトウェア公開者を提供していなくても、Mac ソフトウェアバンドル ID を提供している場合に使用します。ソフトウェアバンドル ID のルックアップは、バンドル ID ルックアップ [sn-cmdb_int_util_bundleid_lookup] テーブル内のレコードを bundle_id で検索します。指定された bundle_id のレコードが存在する場合は、それぞれのソフトウェア公開者が抽出されます。それ以外の場合は、ルックアップ Mac ソフトウェアバンドル ID データソースの次回実行時に照会される新しいレコードが作成されます。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_software_bundle_id_lookup_operation |
| 入力フィールド |
|
| 出力フィールド | target_sys_rte_eb_field 出力は、結果として得られるメンバー名、トラック名、および販売者名です。これらはすべて、3 本のパイプ (|||) で連結されます。一致するものが見つからない場合は、空の文字列になります。 |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationSoftwareBundleIdLookup. lookupSoftware(bundleId) |
| 入力 | 結果 |
|---|---|
| 入力フィールド 1:com.microsoft.Word | Microsoft Corporation|||Microsoft Word||| Microsoft Corporation |
ユーザールックアップ
- user_name 属性に一致するユーザー名
- email 属性に一致するメール
- 一致するものがない場合は、空を返します。
| 詳細 | |
|---|---|
| テーブル | sn_cmdb_int_util_user_lookup_operation |
| 入力フィールド | source_sys_rte_eb_fields 入力順序は次のとおりです。
|
| 出力フィールド | target_sys_rte_eb_field sys_user の sysId |
| スクリプトインクルード関数 | sn_cmdb_int_util.CmdbIntegrationUserLookup. lookupUser(username, email) |
| 入力 | 結果 |
|---|---|
| 入力フィールド 1:abel.tuter | 62826bf03710200044e0bfc8bcbe5df1 |
|
62826bf03710200044e0bfc8bcbe5df1 |