RemedialActionEngine - スコープ指定
RemedialActionEngine API には、修復アクションを操作するためのメソッドが用意されています。
- 修復アクションを開始します。
- 修復アクションの実行をトリガーします。
- 修復アクションを実行するログインユーザーの権限を確認します。
- ターゲットレコードに対する修復アクションの適用性を確認します。
- ターゲットアクションの現在の実行ステータスと出力ペイロードを取得します。
この API には修復アクションフレームワーク (com.snc.sn_reacf) ストアアプリケーションが必要であり、 sn_reacf 名前空間内で提供されます。
RemedialActionEngine - beginRemediation (文字列 remedialAction, 文字列 parentTable, 文字列 parentRecord, オブジェクト actionParams, 文字列 targetRecord, 文字列 originRecord)
ターゲットレコードに対して親レコードから修復アクションを開始します。このメソッドは、「準備完了」ステータスで新しい修復アクション実行レコードを作成します。
- パラメーターの型がオブジェクトまたは配列の場合は、各プロパティとその型を定義します。
- パラメータータイプが GlideRecord の場合は、関連するテーブルを要求に含めます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション | 文字列または GlideRecord | femedial action [sn_reacf_remedial_action] テーブルの Sys_id または internal_name または GlideRecord。 |
| parentTable | 文字列 | 親レコードのテーブル名。 |
| parentRecord | 文字列 | 親レコードの sys_id。 |
| actionParams | オブジェクト | オプション。修復アクションパラメーターの名前と値のマップ。
注: パラメーター値は、修復アクションパラメーター [sn_reacf_remedial_action_parameter] テーブルで定義されたタイプである必要があります。 |
| targetRecord | 文字列または GlideRecord | オプション。設定されたターゲットテーブルの Sys_id または GlideRecord。 |
| originRecord | 文字列または GlideRecord | オプション。修復アクション作成元 [sn_reacf_remedial_action_origin] テーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | |
| <Object>.statusCode | 修復アクション実行要求のステータスコード (成功、duplicate_request、失敗) |
| <Object>.actionExecutionRequestId | 新しい修復アクション実行レコードまたは重複する同時修復アクション実行レコードのSys_id |
| <Object>.parentRecord | 重複する同時修復アクション実行レコードの親レコードのSys_id。 |
| <Object>.parentTable | 重複する同時修復アクション実行レコードの親レコードのテーブル名。 |
次の例は、修復アクションを開始する方法を示しています。ここで、修復アクションは CI アクションを内部的に使用して CI のプロセスを強制終了します。
var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of the Action
var parentTable = "incident"; //table name of the Parent record
var parentRecord = "62733787871e25105763ec6d0ebb3579" //sys_id of the Parent record
var actionParams = {
process_id: "322113"
}
var targetRecord = "af57a3418775e5105763ec6d0ebb356d"; //sys_id of the Target record
var originRecord = "26e78022c3d525104f1a722e3f40dd99"; //sys_id of the Origin record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var response = remedialActionEngine.beginRemediation(remedialAction, parentTable, parentRecord, actionParams, targetRecord, originRecord);
gs.info(JSON.stringify(response));
出力オブジェクト:
Case 1 :successful :
{
‘statusCode’: ‘successful’,
‘actionExecutionRequestId: ‘979b6060a5954300964fa3aa92874155’
}
Case 2 :Duplicate :
{
‘statusCode’: ‘duplicate_request,
‘actionExecutionRequestId’: ‘552c48888c033300964f4932b03eb092’,
‘parentRecord’ : ‘1a14620f973be110539e35d11153afc8’,
‘parentTable’: ‘incident’
}
Case 3 : Failed
{
‘statusCode’: ‘failed,
}
RemedialActionEngine - canCancel(文字列 remedialActionExecution)
このメソッドは、現在のユーザーが指定された修復アクションの実行をキャンセルできるかどうかを確認するために使用されます。
- パラメーターの型がオブジェクトまたは配列の場合は、各プロパティとその型を定義します。
- パラメータータイプが GlideRecord の場合は、関連するテーブルを要求に含めます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション実行 | 文字列または GlideRecord | 修復アクション実行 [sn_reacf_remedial_action_execution] テーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| ブール | 修復アクション実行要求をキャンセルできるかどうかを示すフラグ。 有効な値:
|
次の例は、現在のユーザーが現在のステータスで修復アクションの実行をキャンセルできるかどうかを検証する方法を示しています。
var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var canCancel = remedialActionEngine.canCancel(remedialActionExecutionId)
gs.info("canCancel: " + canCancel);
出力:
canCancel: true
RemedialActionEngine - cancelExecution(文字列 remedialActionExecution)
修復アクション実行要求をキャンセルし、実行レコードを「キャンセル」ステータスに更新して、成功した場合は true を返します。
- パラメーターの型がオブジェクトまたは配列の場合は、各プロパティとその型を定義します。
- パラメータータイプが GlideRecord の場合は、関連するテーブルを要求に含めます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション実行 | 文字列または GlideRecord | 修復アクション実行 [sn_reacf_remedial_action_execution] テーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| ブール | 修復アクション実行要求をキャンセルできるかどうかを示すフラグ。 有効な値:
|
次の例は、修復アクションの実行を現在の状態からキャンセルする方法を示しています。
var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var cancelExecution = remedialActionEngine.cancelExecution(remedialActionExecutionId)
gs.info(‘cancelExecution: ’ + cancelExecution);
出力:
cancelExecution : true
RemedialActionEngine - executeRemedialAction (文字列 remedialActionExecution)
開始され、現在準備完了ステータスになっている修復アクションの実行をトリガーします。このメソッドは、ターゲットアクション (CI アクションなど) を開始し、修復アクションの実行ステータスを [対応中] に移行します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション実行 | 文字列または GlideRecord | 修復アクション実行 [sn_reacf_remedial_action_execution] テーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | オブジェクトには、修復アクション実行のaction_execution_tableとaction_execution_idが含まれています。 |
次の例は、修復アクションを実行する方法を示しています。
var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //Sys_id of the Remedial Action Execution record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var response = remedialActionEngine.executeRemedialAction(remedialActionExecution);
gs.info("Response: " + JSON.stringify(response, null, 2));
出力:
{
"action_execution_table": "sn_cimaf_action_request",
"action_execution_id": "2d7843a787d2a5100295ebd73cbb35d4"
}
RemedialActionEngine - getRemedialActionOutput (文字列 remedialActionExecution)
ターゲットアクションの現在の実行ステータスと出力ペイロードを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション実行 | 文字列または GlideRecord | 修復アクション実行 [sn_reacf_remedial_action_execution] テーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | オブジェクトには、ターゲットアクションステータスの値と表示値を持つステータスオブジェクトと、修復アクション実行の一部として実行されるターゲットアクション出力を持つペイロードアレイが含まれています。 データタイプ:文字列 |
次の例は、ターゲットアクションの現在の実行ステータスと出力ペイロードを取得する方法を示しています。
var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //sys_id of the Remedial Action Execution record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var response = remedialActionEngine.getRemedialActionOutput(remedialActionExecution);
gs.info("Response: " + JSON.stringify(response, null, 2));
出力:
{
"status": {
"value": "completed",
"displayValue": "Completed"
},
"payload": [
"{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
]
}
RemedialActionEngine - isApplicable (文字列 remedialAction, 文字列 targetRecord)
ターゲットレコードに対する修復アクションの適用性を確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション | 文字列または GlideRecord | 修復アクション [sn_reacf_remedial_action] テーブルの Sys_id、internal_name、または GlideRecord。 |
| targetRecord | 文字列または GlideRecord | 設定されたターゲットテーブルの Sys_id または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| ブール | 修復アクションに対するターゲットレコードの適用性を示すフラグ。
|
次の例は、ターゲットレコードに対する修復アクションの適用性を確認する方法を示しています。
var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2"; //Sys_id of the Remedial Action Execution record
var targetRecord = "df3799a387a921100295ebd73cbb35c4"; //Sys_id of the Target Record
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var isApplicable = remedialActionEngine.isApplicable(remedialAction, targetRecord);
gs.info("Is applicable: " + isApplicable);
出力:
Is applicable: true
RemedialActionEngine - isAuthorized(文字列 remedialAction)
ユーザーに修復アクションの実行権限があるかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 修復アクション | 文字列または GlideRecord | 修復アクション [sn_reacf_remedial_action] テーブルの Sys_id、internal_name、または GlideRecord。 |
| タイプ | 説明 |
|---|---|
| ブール | ユーザーの認可の結果の成功ステータスを示すフラグ。
|
次の例は、修復アクションを実行するための承認を確認する方法を示しています。
var actionSysId = "e62f550843e121101a24ff53e9b8f23b"; //Sys_id of the Action
var remedialActionEngine = new sn_reacf.RemedialActionEngine();
var isAuthorized = remedialActionEngine.isAuthorized(actionSysId);
gs.info("Is user authorized: " + isAuthorized);
出力:
Is user authorized: true