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 | 文字列 | 構成管理データベース (CMDB) グループのSys_id。 |
| 必須コンプリートセット | ブーリアン | オプションですが、 requireAllQueryNodesCis が渡された場合は渡す必要があります。 アクセス制御リスト (ACL) の制限によってフィルタリングで除外された CI がある場合に空の文字列を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| requireAllQueryNodesCis | ブーリアン | オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| エラー | 失敗した操作のエラーのリスト。 データタイプ:アレイ |
| errors.error | エラー名。 可能な値:
データタイプ:文字列 |
| errors.message | エラーメッセージの簡単な説明。 データタイプ:文字列 |
| ID リスト | CMDB CI sys_idsのリスト。 データタイプ:アレイ |
| 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 | 文字列 | 構成管理データベース (CMDB) グループのSys_id。 |
| 必須コンプリートセット | ブーリアン | オプションですが、 requireAllQueryNodesCis が渡された場合は渡す必要があります。 アクセス制御リスト (ACL) の制限によってフィルタリングで除外された CI がある場合に空の文字列を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| requireAllQueryNodesCis | ブーリアン | オプション。クエリのすべての CMDB クラスから CI を返すかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| エラー | 失敗した操作のエラーのリスト。 データタイプ:アレイ |
| errors.error | エラー名。 可能な値:
データタイプ:文字列 |
| errors.message | エラーメッセージの簡単な説明。 データタイプ:文字列 |
| ID リスト | CMDB CI sys_idsのリスト。 データタイプ:アレイ |
| 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。 |
| 必須コンプリートセット | ブーリアン | 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(文字列 groupId, ブール値 requireCompleteSet)
指定された CMDB グループのクエリビルダーのクエリ ID を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId。 |
| 必須コンプリートセット | ブーリアン | 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 sysId は無視されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId。 |
| ciSysIds | 文字列 | CI 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 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(文字列 groupId, 文字列 queryIds)
指定されたグループの保存済みクエリ ID リストを設定します。既存のクエリー ID リストは上書きされます。qb_saved_queryテーブルに見つからないクエリ sysId は無視されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| groupId | 文字列 | CMDB グループの sysId。 |
| queryId | 文字列 | 保存済みクエリ 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"}]