API de gestion du cycle de vie
Gestion du cycle de vie des CI fournit un ensemble d’API de gestion des états pour la manipulation des états opérationnels des CI et l’application d’actions de CI.
Les API de gestion des états respectent les restrictions et les autorisations spécifiées par Actions de CI non autorisées, Actions de CI compatibles et 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 signalée et une tâche est automatiquement créée le cas échéant.
Les API de gestion du cycle de vie peuvent définir des états opérationnels et des actions de CI sur des groupes CMDB à l’aide des API de gestion du cycle de vie en bloc.
API d’inscription
- registerOperator() : méthode pour enregistrer l’opérateur avec la gestion des états pour un utilisateur qui ne fait pas partie du workflow.
- unregisterOperator(String requestorId) : méthode pour désinscrire l’opérateur pour les utilisateurs qui ne font pas partie du 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(String requestorId, String ciSysId, String ciActionName, String leaseTime) : méthode pour prolonger la durée de bail de l’action de CI, pour les utilisateurs enregistrés. Si le bail précédent a déjà expiré, prolongez le bail dès maintenant.
API d’état opérationnel
- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) : méthode permettant de définir 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’état opérationnel API
isNotAllowedAction (String ciType, String opsLabel, String actionName) : méthode permettant de 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érationnel non autorisée
isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) : méthode permettant de vérifier si une transition d’état opérationnel spécifique n’est pas autorisée sur un type de CI.
API d’action compatible
isCompatibleCIAction(String actionName, String otherActionName) : méthode permettant de 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);