APIs de gestão de ciclo de vida
A Gestão de ciclo de vida do IC fornece um conjunto de APIs de gestão de estados para gerenciar estados operacionais de IC e aplicar ações de IC.
As APIs de gestão de estado aderem às restrições e permissões especificadas por Ações de IC não permitidas, Ações de IC compatíveis e Transições operacionais não permitidas. Se uma API tentar executar uma operação restrita, a operação será bloqueada, um erro será registrado em log e uma tarefa será criada automaticamente se apropriado.
As APIs de gestão de ciclo de vida podem definir estados operacionais e ações de IC para grupos do CMDB ao usar APIs de gestão de ciclo de vida em massa.
APIs de registro
- registerOperator() — método para registrar o operador com gestão de estado para usuário sem fluxo de trabalho.
- unregisterOperator(String requestorId) — método para cancelar o registro do operador para usuários sem fluxo de trabalho.
- isValidRequestor(String requestorId) — método para determinar se o solicitante especificado é um usuário de fluxo de trabalho ativo válido ou um usuário registrado.
- isLeaseExpired(String requestorId, String ciSysId, String ciActionName) — método para verificar se o leasing do usuário registrado expirou.
- extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime) — método para estender o tempo de leasing da ação de IC para usuários registrados. Se o leasing anterior já tiver expirado, estenda o leasing a partir de agora.
APIs de estado operacional
- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) — método para definir o Estado operacional de uma matriz de ICs.
- getOperationalState(String ciSysId) — método para obter o Estado operacional de IC.
APIs de ações de IC
- addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime) — método para adicionar uma Ação de IC a uma matriz de ICs.
- removeBulkCIAction(String requestorId, String sysIdList, String ciActionName) — método para remover uma Ação de IC de uma lista de ICs.
- getCIActions(String ciSysId) — método para obter Ações de IC.
Ação não permitida com base na API do estado operacional
isNotAllowedAction(String ciType, String opsLabel, String actionName) — método para verificar se uma ação de IC específica não é permitida para um Estado operacional específico em um Tipo de IC.
API de transição de estado operacional não permitida
isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) — método para verificar se uma transição de estado operacional específica não é permitida em um Tipo de IC.
API de ação compatível
isCompatibleCIAction(String actionName, String otherActionName) — método para verificar se duas ações específicas são compatíveis entre si.
Como usar APIs de gestão de estado
// 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);