CMDBGroupAPI - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む25読むのに数分
  • CMDBGroupAPI は、構成管理データベース (CMDB) グループに対してアクションを実行するためのメソッドを提供します。

    この API はスコープ対象の静的クラスです。このクラスを使用するには、CMDBGroupAPI オブジェクトの前に名前空間識別子 sn_cmdbgroup を含める必要があります。例:
    var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);

    この API にアクセスするには、itil または asset ロールが必要です。

    CMDBGroupAPI - getAllCI(文字列 groupId, ブール requireCompleteSet, ブール requireAllQueryNodesCis)

    指定されたグループのすべての構成アイテム (CI) を返します。結果には、すべての手動 CI と、クエリービルダーの保存済みクエリーからの CI のリストが含まれます。

    表 : 1. パラメーター
    名前 タイプ 説明
    groupId 文字列 Configuration Management Database (CMDB) グループの sys_id。
    requireCompleteSet ブール オプションですが、requireAllQueryNodesCis を渡す場合は、渡す必要があります。

    アクセス制御リスト (ACL) の制限によって CI が除外された場合に空の文字列が返されるかどうかを示すフラグ。

    有効な値:
    • true:空の文字列を返します。
    • false:値を返しません。

    デフォルト値:false

    requireAllQueryNodesCis ブール オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。
    有効な値:
    • true:すべての列から CI を返します。
    • false:クエリビルダークエリの開始ノードからのみ CI を返します。

    デフォルト値:false

    表 : 2. 返される内容
    タイプ 説明
    errors 失敗した操作のエラーのリスト。

    データタイプ:アレイ

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    errors.error エラー名。
    可能な値:
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • CI_CAN_NOT_FOUND
    • SAVED_QUERY_ID_NOT_FOUND
    • ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY
    • TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY
    • MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • GROUP_API_TIMEOUT
    • EXCEPTION_FROM_EXECUTE_QUERY
    • SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    データタイプ:文字列

    errors.message エラーメッセージの簡単な説明。

    データタイプ:文字列

    idList CMDB CI sys_id のリスト。

    データタイプ:アレイ

    partialCIListDueToACLFlag ACL の制限のために返された CI のリストが不完全になっているかどうかを示すフラグ。
    注:
    これはエラー条件とは見なされず、対応するエラー情報は返されません。

    データタイプ:ブール

    有効な値:
    • true: idList は不完全です。
    • false: idList は完全です。
    result メソッドが正常に完了したかどうかを示すフラグ。
    可能な値:
    • true:成功
    • false:エラー
    // Script example: 
    var getAllCIFunc = function(groupSysId) {
      var parser = new JSONParser();
      var response = sn_cmdbgroup.CMDBGroupAPI.getAllCI(groupSysId, false);
      var parsed = parser.parse(response);
      if (parsed.result) {
        gs.info("succeed to retrieve ci list: " + parsed.idList);
      } else {
        gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
      }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupContainsInvalidSavedQuery = "e685a2c3d7012200de92a5f75e610387";
    getAllCIFunc(groupExists);
    getAllCIFunc(groupContainsInvalidSavedQuery);

    出力:

    // Successful response
    {
      'result':true, 
      'partialCIListDueToACLFlag': false,
      'idList':[
        '3a5dd3dbc0a8ce0100655f1ec66ed42c',
        '6b43105c37301000deeabfc8bcbe5db2'
      ] 
    }
    
    // Error response
    { 
      'result':false, 
      'errors':[ 
        {
          'message':'Group does not exist',
          'error':'GROUP_SYS_ID_IS_NOT_FOUND'
        } 
      ], 
      'partialCIListDueToACLFlag':false,
      'idList':[] 
    }

    CMDBGroupAPI - getAllCIFromQueryBuilder(文字列 groupId, ブール requireCompleteSet, ブール requireAllQueryNodesCis)

    指定されたグループについてクエリービルダーのすべての保存済みクエリー ID から返されたすべての構成アイテム (CI) を返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    groupId 文字列 Configuration Management Database (CMDB) グループの sys_id。
    requireCompleteSet ブール オプションですが、requireAllQueryNodesCis を渡す場合は、渡す必要があります。

    アクセス制御リスト (ACL) の制限によって CI が除外された場合に空の文字列が返されるかどうかを示すフラグ。

    有効な値:
    • true:空の文字列を返します。
    • false:値を返しません。

    デフォルト値:false

    requireAllQueryNodesCis ブール オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。
    有効な値:
    • true:すべての列から CI を返します。
    • false:クエリビルダークエリの開始ノードからのみ CI を返します。

    デフォルト値:false

    表 : 4. 返される内容
    タイプ 説明
    errors 失敗した操作のエラーのリスト。

    データタイプ:アレイ

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    errors.error エラー名。
    可能な値:
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • CI_CAN_NOT_FOUND
    • SAVED_QUERY_ID_NOT_FOUND
    • ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY
    • TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY
    • MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • GROUP_API_TIMEOUT
    • EXCEPTION_FROM_EXECUTE_QUERY
    • SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    データタイプ:文字列

    errors.message エラーメッセージの簡単な説明。

    データタイプ:文字列

    idList CMDB CI sys_id のリスト。

    データタイプ:アレイ

    partialCIListDueToACLFlag ACL の制限のために返された CI のリストが不完全になっているかどうかを示すフラグ。
    注:
    これはエラー条件とは見なされず、対応するエラー情報は返されません。

    データタイプ:ブール

    有効な値:
    • true: idList は不完全です。
    • false: idList は完全です。
    result メソッドが正常に完了したかどうかを示すフラグ。
    可能な値:
    • true:成功
    • false:エラー
    // Script example:
    var getAllCIFromQueryBuilderFunc = function(groupSysId) {
      var parser = new JSONParser();
      var response = sn_cmdbgroup.CMDBGroupAPI.getAllCIFromQueryBuilder(groupSysId, false);
      var parsed = parser.parse(response);
      if (parsed.result) {
        gs.info("succeed to retrieve ci list: " + parsed.idList);
      } else {
        gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
      }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupContainsInvalidSavedQuery = "e685a2c3d7012200de92a5f75e610387";
    getAllCIFromQueryBuilderFunc(groupExists);
    getAllCIFromQueryBuilderFunc(groupContainsInvalidSavedQuery);

    出力:

    // Successful response
    {
      'result':true, 
      'partialCIListDueToACLFlag': false,
      'idList':[
        '3a5dd3dbc0a8ce0100655f1ec66ed42c',
        '6b43105c37301000deeabfc8bcbe5db2'
      ] 
    }
    
    // Error response
    { 
      'result':false, 
      'errors':[ 
        {'message':'Group does not exist',
        'error':'GROUP_SYS_ID_IS_NOT_FOUND'} 
      ], 
      'partialCIListDueToACLFlag':false,
      'idList':[] 
    }

    CMDBGroupAPI - getManualCIList(文字列 groupId, ブール requireCompleteSet)

    CMDB グループの手動 CI リストを返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    groupId 文字列 CMDB グループの sysId
    requireCompleteSet ブーリアン true の場合、ACL 制限によって CI がフィルターされていればエラー文字列を返します。
    表 : 6. 返される内容
    タイプ 説明
    文字列 形式の JSON 形式の文字列
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    ここで
    • result - ブール値のフラグ。True の場合、メソッドは成功しています。
    • errors - メッセージとエラーコードを含むエラーのリスト
    • partialCIListDueToACLFlag -  ブールフラグ。true の場合、idList は ACL 制限のために不完全です。false の場合、idList は完了です。
    • idList - cmdb_ci の sys_ids のアレイ

    エラーの返される値が以下のものの場合、成功していません。 GROUP_SYS_ID_IS_NOT_FOUND、GROUP_SYS_ID_IS_EMPTY、FAIL_TO_INSERT_GROUP_CI_PAIR、FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR、CI_CAN_NOT_FOUND、SAVED_QUERY_ID_NOT_FOUND、ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY、TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY、NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY、MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY、GROUP_API_TIMEOUT、EXCEPTION_FROM_EXECUTE_QUERY、SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example for requireCompleteSet being false:
        var getManualCIList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve ci list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    // create a group in cmdb_group, and add CIs to this group in Edit Manual CI form
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    // use a non-exist group
    var groupDoesNotExists = "d0d2d25113152200eef2dd828144b0e4111";
    getManualCIList(groupExists);
    getManualCIList(groupDoesNotExists);
     

    出力:(書式設定の改行が追加されました)

    succeed to retrieve ci 
    list: 6b43105c37301000deeabfc8bcbe5db2,2dfd7c8437201000deeabfc8bcbe5d56
    fail to retrieve list, errors: 
    [{"message":"Group does not exist","error":"GROUP_SYS_ID_IS_NOT_FOUND"}]
    // Script example for requireCompleteSet being true
        var getManualCIList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, true);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve ci list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    // create a group in cmdb_group, and add CIs to this group in Edit Manual CI form
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    getManualCIList(groupExists);

    出力:(書式設定の改行が追加されました)

    fail to retrieve list, errors: 
    [{"message":"Some CI(s) not visible due to security constraint",
    "error":"SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT"}]

    CMDBGroupAPI - getSavedQueryIdList(String groupId、Boolean requireCompleteSet)

    指定された CMDB グループのクエリービルダーのクエリー ID を返します。

    表 : 7. パラメーター
    名前 タイプ 説明
    groupId 文字列 CMDB グループの sysId
    requireCompleteSet ブーリアン true の場合、ACL の制限によって任意の CI が除外されると空の文字列を返します。
    表 : 8. 返される内容
    タイプ 説明
    文字列 形式の JSON 形式の文字列
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    ここで
    • result - ブール値のフラグ。True の場合、メソッドは成功しています。
    • errors - メッセージとエラーコードを含むエラーのリスト
    • partialCIListDueToACLFlag -  ブールフラグ。true の場合、idList は ACL 制限のために不完全です。false の場合、idList は完了です。
    • idList - cmdb_ci の sys_ids のアレイ

    エラーの返される値が以下のものの場合、成功していません。 GROUP_SYS_ID_IS_NOT_FOUND、GROUP_SYS_ID_IS_EMPTY、FAIL_TO_INSERT_GROUP_CI_PAIR、FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR、CI_CAN_NOT_FOUND、SAVED_QUERY_ID_NOT_FOUND、ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY、TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY、NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY、MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY、GROUP_API_TIMEOUT、EXCEPTION_FROM_EXECUTE_QUERY、SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var getSavedQueryIdList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getSavedQueryIdList(groupSysId, false);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve saved query id list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupDoesNotExists = "d0d2d25113152200eef2dd828144b0e4111";
    getSavedQueryIdList(groupExists);
    getSavedQueryIdList(groupDoesNotExists);

    出力:(書式設定の改行が追加されました)

    succeed to retrieve saved query id list: 5d498532d7c12200de92a5f75e6103ce
    fail to retrieve list, errors:
     [{"message":"Group does not exist","error":"GROUP_SYS_ID_IS_NOT_FOUND"}]

    CMDBGroupAPI - setManualCIList(文字列 groupId, 文字列 ciSysIds)

    指定したグループの手動 CI リストを設定します。既存の手動 CI リストは上書きされます。cmdb_ci テーブルにない CI sysIds は無視されます。

    表 : 9. パラメーター
    名前 タイプ 説明
    groupId 文字列 CMDB グループの sysId
    CI_sys_id 文字列 CI システムのコンマ区切りリスト
    表 : 10. 返される内容
    タイプ 説明
    文字列 形式の JSON 形式の文字列
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    ここで
    • result - ブール値のフラグ。True の場合、メソッドは成功しています。
    • errors - メッセージとエラーコードを含むエラーのリスト
    • partialCIListDueToACLFlag -  ブールフラグ。true の場合、idList は ACL 制限のために不完全です。false の場合、idList は完了です。
    • idList - cmdb_ci の sys_ids のアレイ

    エラーの返される値が以下のものの場合、成功していません。 GROUP_SYS_ID_IS_NOT_FOUND、GROUP_SYS_ID_IS_EMPTY、FAIL_TO_INSERT_GROUP_CI_PAIR、FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR、CI_CAN_NOT_FOUND、SAVED_QUERY_ID_NOT_FOUND、ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY、TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY、NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY、MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY、GROUP_API_TIMEOUT、EXCEPTION_FROM_EXECUTE_QUERY、SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var setManualCIListFunc = function(groupSysId, manualCIList) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.setManualCIList(groupSysId, manualCIList);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to set manual ci list");
        } else {
            gs.info("fail to set manual ci list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var group = "d0d2d25113152200eef2dd828144b0e4";
    var groupDoesNotExist = "1234";
    var manualCIList = "b4fd7c8437201000deeabfc8bcbe5dc1, affd3c8437201000deeabfc8bcbe5dc3";
    setManualCIListFunc(group, manualCIList);
    setManualCIListFunc(groupDoesNotExist, manualCIList);

    出力:(書式設定の改行が追加されました)

    succeed to set manual ci list
    fail to set manual ci list, errors: [{"message":"Group does not exist","error":
    "GROUP_SYS_ID_IS_NOT_FOUND"}]

    CMDBGroupAPI - setSavedQueryIdList(String groupId、String queryIds)

    指定したグループの保存されたクエリー ID リストを設定します。既存のクエリー ID リストは上書きされます。qb_saved_query テーブルにないクエリー sysIds は無視されます。

    表 : 11. パラメーター
    名前 タイプ 説明
    groupId 文字列 CMDB グループの sysId
    queryIds 文字列 カンマで区切られた保存されたクエリー sysId のリスト
    表 : 12. 返される内容
    タイプ 説明
    文字列 形式の JSON 形式の文字列
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    ここで
    • result - ブール値のフラグ。True の場合、メソッドは成功しています。
    • errors - メッセージとエラーコードを含むエラーのリスト
    • partialCIListDueToACLFlag -  ブールフラグ。true の場合、idList は ACL 制限のために不完全です。false の場合、idList は完了です。
    • idList - cmdb_ci の sys_ids のアレイ

    エラーの返される値が以下のものの場合、成功していません。 GROUP_SYS_ID_IS_NOT_FOUND、GROUP_SYS_ID_IS_EMPTY、FAIL_TO_INSERT_GROUP_CI_PAIR、FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR、CI_CAN_NOT_FOUND、SAVED_QUERY_ID_NOT_FOUND、ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY、TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY、NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY、MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY、GROUP_API_TIMEOUT、EXCEPTION_FROM_EXECUTE_QUERY、SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var setSavedQueryIdListFunc = function(groupSysId, queryIdList) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.setSavedQueryIdList(groupSysId, queryIdList);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to set saved query id list");
        } else {
            gs.info("fail to set saved query id list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var group = "d0d2d25113152200eef2dd828144b0e4";
    var savedQueryBuilderIdList = "394585fed7812200de92a5f75e6103e8";
    var savedQueryBuilderIdNotExistList = "b4fd7c8437201000deeabfc8bcbe5dc1,
       affd3c8437201000deeabfc8bcbe5dc3";
     
    setSavedQueryIdListFunc(group, savedQueryBuilderIdList);
    setSavedQueryIdListFunc(group, savedQueryBuilderIdNotExistList);
    

    出力:(書式設定の改行が追加されました)

    succeed to set saved query id list
    fail to set saved query id list, errors: [{"message":
    "Saved query id(b4fd7c8437201000deeabfc8bcbe5dc1) is not found for 
    group(d0d2d25113152200eef2dd828144b0e4)","error":
    "SAVED_QUERY_ID_NOT_FOUND"},{"message":
    "Saved query id(affd3c8437201000deeabfc8bcbe5dc3) is not found for 
    group(d0d2d25113152200eef2dd828144b0e4)","error":"SAVED_QUERY_ID_NOT_FOUND"}]