RemedialActionEngine : inclus dans le champ d’application
L’API incluse dans le périmètre RemedialActionEngine fournit des méthodes courantes pour travailler avec les actions de correction.
- Lancer une action corrective
- Déclencher l’exécution d’une action de rattrapage
- Vérifiez l’autorisation de l’utilisateur connecté pour exécuter l’action de rattrapage
- Vérifier l’applicabilité de l’action corrective par rapport à l’enregistrement cible
- Obtenir l’état d’exécution actuel et la charge utile de sortie de l’action ciblée
Cette API requiert l’application de stockage Remedial Actions Framework (com.snc.sn_reacf) et est fournie dans l’espace de noms sn_reacf .
RemedialActionEngine : beginRemediation (chaîne remedialAction, chaîne parentTable, chaîne parentRecord, objet actionParams, chaîne targetRecord, chaîne originRecord)
Démarre toute action de correction à partir de l’enregistrement parent par rapport à un enregistrement cible. Cette méthode crée un nouvel enregistrement de l’exécution de l’action de rattrapage avec l’état « Prêt ».
- Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
- Si le type de paramètre est GlideRecord, fournissez la table associée dans votre demande.
| Nom | Type | Description |
|---|---|---|
| action corrective | Chaîne ou GlideRecord | Sys_id ou internal_name ou GlideRecord de la table d’action fémediale [sn_reacf_remedial_action]. |
| parentTable | Chaîne | Le nom de la table de l'enregistrement parent. |
| parentRecord | Chaîne | Sys_id de l’enregistrement parent. |
| Paramètres d’action | Objet | Facultatif. Carte des noms et valeurs des paramètres d’action de rattrapage.
Remarque : La valeur du paramètre doit être du type défini dans la table des paramètres d’action corrective [sn_reacf_remedial_action_parameter]. |
| targetRecord | Chaîne ou GlideRecord | Facultatif. Sys_id ou GlideRecord de la table cible configurée. |
| originRecord | Chaîne ou GlideRecord | Facultatif. Sys_id ou GlideRecord de la table Origine de l’action de rattrapage [sn_reacf_remedial_action_origin]. |
| Type | Description |
|---|---|
| Objet | |
| <Object>.statusCode | Code d’état de la demande d’exécution de l’action de rattrapage, c’est-à-dire réussie, duplicate_request ou échouée |
| <Object>.actionExecutionRequestId | Sys_id du nouvel enregistrement de l’exécution de l’action de rattrapage ou de l’enregistrement simultané de l’exécution de l’action de rattrapage en double |
| <Object>.parentRecord | Sys_id de l’enregistrement parent de l’enregistrement d’exécution de l’action de rattrapage simultanée en double. |
| <Object>.tableparente | Nom de la table de l’enregistrement parent de l’enregistrement d’exécution de l’action de rattrapage simultanée en double. |
L’exemple suivant montre comment démarrer une action corrective. Ici, l’action de rattrapage utilise une action de CI en interne pour arrêter un processus sur un 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));
Objet de sortie :
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(String remedialActionExecution)
Cette méthode est utilisée pour vérifier si l’utilisateur actuel peut ou non annuler l’exécution de l’action de rattrapage donnée.
- Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
- Si le type de paramètre est GlideRecord, fournissez la table associée dans votre demande.
| Nom | Type | Description |
|---|---|---|
| remedialActionExecution | Chaîne ou GlideRecord | Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la demande d’exécution de l’action de rattrapage peut ou non être annulée. Valeurs valides :
|
L’exemple suivant montre comment valider si l’utilisateur actuel peut annuler l’exécution d’une action de rattrapage dans son état actuel.
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);
Sortie :
canCancel: true
RemedialActionEngine : cancelExecution(String remedialActionExecution)
Annule une demande d’exécution d’action de rattrapage, puis met à jour l’enregistrement d’exécution sur l’état « annulé » et renvoie la valeur true en cas de réussite.
- Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
- Si le type de paramètre est GlideRecord, fournissez la table associée dans votre demande.
| Nom | Type | Description |
|---|---|---|
| remedialActionExecution | Chaîne ou GlideRecord | Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la demande d’exécution de l’action de rattrapage peut ou non être annulée. Valeurs valides :
|
L’exemple suivant montre comment annuler l’exécution d’une action de rattrapage à partir de son état actuel.
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);
Sortie :
cancelExecution : true
RemedialActionEngine : executeRemedialAction (chaîne remedialActionExecution)
Déclenche toute exécution d’action de rattrapage qui a été démarrée et qui est actuellement à l’état Prêt. Cette méthode démarre l’action ciblée (par exemple, l’action de CI) et déplace l’état d’exécution de l’action de rattrapage sur « En cours ».
| Nom | Type | Description |
|---|---|---|
| remedialActionExecution | Chaîne ou GlideRecord | Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution]. |
| Type | Description |
|---|---|
| Objet | L’objet contient la action_execution_table et la action_execution_id de l’exécution de l’action de rattrapage. |
L’exemple suivant montre comment exécuter n’importe quelle action corrective.
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));
Sortie :
{
"action_execution_table": "sn_cimaf_action_request",
"action_execution_id": "2d7843a787d2a5100295ebd73cbb35d4"
}
RemedialActionEngine : getRemedialActionOutput (chaîne remedialActionExecution)
Obtient l’état d’exécution actuel et la charge utile de sortie de l’action ciblée.
| Nom | Type | Description |
|---|---|---|
| remedialActionExecution | Chaîne ou GlideRecord | Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution]. |
| Type | Description |
|---|---|
| Objet | L’objet contient l’objet d’état ayant la valeur et la valeur d’affichage de l’état de l’action cible et le tableau de charge utile ayant les sorties d’action cible exécutées dans le cadre de l’exécution de l’action de rattrapage. Type de données : chaîne |
L’exemple suivant montre comment obtenir l’état d’exécution actuel et la charge utile de sortie de l’action ciblée.
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));
Sortie :
{
"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 (chaîne remedialAction, chaîne targetRecord)
Vérifie l’applicabilité de toute action corrective par rapport à un enregistrement cible.
| Nom | Type | Description |
|---|---|---|
| action corrective | Chaîne ou GlideRecord | Sys_id ou internal_name ou GlideRecord de la table Action corrective [sn_reacf_remedial_action]. |
| targetRecord | Chaîne ou GlideRecord | Sys_id ou GlideRecord de la table cible configurée. |
| Type | Description |
|---|---|
| Booléen | Marqueur qui indique l’applicabilité de l’enregistrement cible à l’action de rattrapage.
|
L’exemple suivant montre comment vérifier l’applicabilité de toute action corrective par rapport à un enregistrement cible.
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);
Sortie :
Is applicable: true
RemedialActionEngine : isAuthorized(String remedialAction)
Vérifie si l’utilisateur est autorisé à exécuter l’action de rattrapage.
| Nom | Type | Description |
|---|---|---|
| action corrective | Chaîne ou GlideRecord | Sys_id ou internal_name ou GlideRecord de la table Action de correction [sn_reacf_remedial_action]. |
| Type | Description |
|---|---|
| Booléen | Marqueur qui indique l’état de réussite de l’autorisation de l’utilisateur qui en résulte.
|
L’exemple suivant montre comment vérifier l’autorisation d’exécuter une action corrective.
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);
Sortie :
Is user authorized: true