수명주기 관리 API
CI 수명주기 관리는 CI 운영 상태를 조작하고 CI 작업을 적용하기 위한 일련의 상태 관리 API를 제공합니다.
상태 관리 API는 허용되지 않는 CI 작업, 호환되는 CI 작업 및 허용되지 않는 운영 전환에 지정된 제한 및 허용량을 따릅니다. API가 제한된 작업을 수행하려고 하면 작업이 차단되고 오류가 기록되며 적절한 경우 작업이 자동으로 생성됩니다.
수명주기 관리 API는 수명주기 관리 대량 API를 활용하여 운영 상태와 CI 작업을 CMDB 그룹으로 설정할 수 있습니다.
등록 API
- registerOperator() - 비워크플로우 사용자에 대해 상태 관리에 연산자를 등록하는 메서드입니다.
- unregisterOperator(String requestorId) - 비워크플로우 사용자에 대한 연산자 등록을 취소하는 메서드입니다.
- isValidRequestor(String requestorId) - 지정된 요청자가 유효한 활성 워크플로우 사용자인지 또는 등록된 사용자인지 확인하는 메서드입니다.
- isLeaseExpired(String requestorId, string ciSysId, String ciActionName) - 등록된 사용자 임대가 만료되었는지 확인하는 메서드입니다.
- extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime) - 등록된 사용자에 대해 CI 작업 임대 시간을 연장하는 방법입니다. 이전 임대가 이미 만료된 경우 지금부터 임대를 연장합니다.
운영 상태 API
- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) - CI 배열의 운영 상태를 설정하는 메서드입니다.
- getOperationalState(String ciSysId) - CI 운영 상태를 가져오는 메서드입니다.
CI 작업 API
- addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime) - CI 배열에 대한 CI 작업을 추가하는 메서드입니다.
- removeBulkCIAction(String requestorId, String sysIdList, String ciActionName) - CI 목록에 대한 CI 작업을 제거하는 메서드입니다.
- getCIActions(String ciSysId) - CI 작업을 가져오는 메서드입니다.
운영 상태 API를 기반으로 허용되지 않은 작업
isNotAllowedAction(문자열 ciType, 문자열 opsLabel, 문자열 actionName) - CI 유형의 특정 운영 상태에 대해 특정 CI 작업이 허용되지 않는지 확인하는 방법입니다.
허용되지 않는 운영 상태 전환 API
isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) - CI 유형에서 특정 운영 상태 전환이 허용되지 않는지 확인하는 메서드입니다.
호환 가능한 작업 API
isCompatibleCIAction(String actionName, String otherActionName) - 두 개의 특정 작업이 서로 호환되는지 확인하는 메서드입니다.
상태 관리 API 사용
// 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);