CMDBGroupAPI - スコープ指定
CMDBGroupAPI は、構成管理データベース (CMDB) グループに対してアクションを実行するためのメソッドを提供します。
sn_cmdbgroup を含める必要があります。例:var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);この API にアクセスするには、itil または asset ロールが必要です。
CMDBGroupAPI - getAllCI(文字列 groupId, ブール requireCompleteSet, ブール requireAllQueryNodesCis)
指定されたグループのすべての構成アイテム (CI) を返します。結果には、すべての手動 CI と、クエリービルダーの保存済みクエリーからの CI のリストが含まれます。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | Configuration Management Database (CMDB) グループの sys_id。 |
| requireCompleteSet | ブール | オプションですが、requireAllQueryNodesCis を渡す場合は、渡す必要があります。 アクセス制御リスト (ACL) の制限によって CI が除外された場合に空の文字列が返されるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| requireAllQueryNodesCis | ブール | オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| errors | 失敗した操作のエラーのリスト。 データタイプ:アレイ |
| errors.error | エラー名。 可能な値:
データタイプ:文字列 |
| errors.message | エラーメッセージの簡単な説明。 データタイプ:文字列 |
| idList | CMDB CI sys_id のリスト。 データタイプ:アレイ |
| partialCIListDueToACLFlag | ACL の制限のために返された CI のリストが不完全になっているかどうかを示すフラグ。 注:
これはエラー条件とは見なされず、対応するエラー情報は返されません。 データタイプ:ブール 有効な値:
|
| result | メソッドが正常に完了したかどうかを示すフラグ。 可能な値:
|
// 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) を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | Configuration Management Database (CMDB) グループの sys_id。 |
| requireCompleteSet | ブール | オプションですが、requireAllQueryNodesCis を渡す場合は、渡す必要があります。 アクセス制御リスト (ACL) の制限によって CI が除外された場合に空の文字列が返されるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| requireAllQueryNodesCis | ブール | オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| errors | 失敗した操作のエラーのリスト。 データタイプ:アレイ |
| errors.error | エラー名。 可能な値:
データタイプ:文字列 |
| errors.message | エラーメッセージの簡単な説明。 データタイプ:文字列 |
| idList | CMDB CI sys_id のリスト。 データタイプ:アレイ |
| partialCIListDueToACLFlag | ACL の制限のために返された CI のリストが不完全になっているかどうかを示すフラグ。 注:
これはエラー条件とは見なされず、対応するエラー情報は返されません。 データタイプ:ブール 有効な値:
|
| result | メソッドが正常に完了したかどうかを示すフラグ。 可能な値:
|
// 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 リストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId |
| requireCompleteSet | ブーリアン | true の場合、ACL 制限によって CI がフィルターされていればエラー文字列を返します。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 形式の JSON 形式の文字列 ここで
エラーの返される値が以下のものの場合、成功していません。 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 を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId |
| requireCompleteSet | ブーリアン | true の場合、ACL の制限によって任意の CI が除外されると空の文字列を返します。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 形式の JSON 形式の文字列 ここで
エラーの返される値が以下のものの場合、成功していません。 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 は無視されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId |
| CI_sys_id | 文字列 | CI システムのコンマ区切りリスト |
| タイプ | 説明 |
|---|---|
| 文字列 | 形式の JSON 形式の文字列 ここで
エラーの返される値が以下のものの場合、成功していません。 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 は無視されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId |
| queryIds | 文字列 | カンマで区切られた保存されたクエリー sysId のリスト |
| タイプ | 説明 |
|---|---|
| 文字列 | 形式の JSON 形式の文字列 ここで
エラーの返される値が以下のものの場合、成功していません。 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"}]