API de gestion du cycle de vie
Gestion du cycle de vie des CI fournit un ensemble d’API de gestion des états permettant de manipuler les états opérationnels des CI et d’appliquer des actions de CI.
Les API State Management respectent les restrictions et les tolérances spécifiées par les actions de CI non autorisées, les actions de CI compatibles et les transitions opérationnelles non autorisées. Si une API tente d’effectuer une opération restreinte, l’opération est bloquée, une erreur est consignée et une tâche est automatiquement créée si nécessaire.
Les API de gestion du cycle de vie peuvent définir des états opérationnels et des actions de CI sur des groupes CMDB en utilisant des API de gestion du cycle de vie en bloc.
API d’inscription
- registerOperator() : méthode d’enregistrement d’un opérateur avec la gestion des états pour les utilisateurs sans workflow.
- unregisterOperator(String requestorId) : méthode pour annuler l’enregistrement de l’opérateur pour les utilisateurs qui ne font pas partie d’un workflow.
- isValidRequestor(String requestorId) : méthode permettant de déterminer si le demandeur spécifié est un utilisateur de workflow actif valide ou un utilisateur enregistré.
- isLeaseExpired(String requestorId, String ciSysId, String ciActionName) : méthode pour vérifier si le bail de l’utilisateur enregistré a expiré.
- extendCIActionLease(Chaîne requestorId, chaîne ciSysId, chaîne ciActionName, chaîne leaseTime) : méthode pour prolonger la durée du bail de l’action de CI pour les utilisateurs enregistrés. Si le bail précédent a déjà expiré, prolongez le bail à partir de maintenant.
API d’état opérationnel
- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) : méthode de définition de l’état opérationnel pour un tableau de CI.
- getOperationalState(String ciSysId) : méthode pour obtenir l’état opérationnel du CI.
API d’actions de CI
- addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime) : méthode pour ajouter une action de CI pour un tableau de CI.
- removeBulkCIAction(String requestorId, String sysIdList, String ciActionName) : méthode pour supprimer une action de CI pour une liste de CI.
- getCIActions(String ciSysId) : méthode pour obtenir des actions de CI.
Action non autorisée basée sur l’API d’état opérationnel
isNotAllowedAction (chaîne ciType, chaîne opsLabel, chaîne actionName) : méthode pour vérifier si une action de CI spécifique n’est pas autorisée pour un état opérationnel spécifique sur un type de CI.
API de transition d’état opérationnelle non autorisée
isNotAllowedOpsTransition(Chaîne ciType, chaîne opsLabel, chaîne transitionOpsLabel) : méthode pour vérifier si une transition d’état opérationnelle spécifique n’est pas autorisée sur un type de CI.
API d’action compatible
isCompatibleCIAction(String actionName, String otherActionName) : méthode pour vérifier si deux actions spécifiques sont compatibles l’une avec l’autre.
Utilisation des API de gestion des états
// 1. Register Operator with State Mgmt
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUntil.decode(output);
var requestorId = result.requestorId;
// Get list of sys_ids to update
var sys_ids;
// 2. Set list of sys_ids's Operational State to 'Repair in Progress'
output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
gs.print(output);
// 3. Set list of sys_ids's CI Action State to 'Patching'
output = SNC.StateManagementScriptableApi.addBulkCIAction(requestorId, sys_ids, 'Patching');
gs.print(output);