class GenericVnfHealthCheck {

    public void setParamsForGenericVnfHealthCheck(BuildingBlockExecution execution) {

        GeneralBuildingBlock gBBInput = execution.getGeneralBuildingBlock();

        try {
            ControllerSelectionReference controllerSelectionReference;
            GenericVnf vnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
            String vnfId = vnf.getVnfId();
            String vnfName = vnf.getVnfName();
            String vnfType = vnf.getVnfType();
            String oamIpAddress = vnf.getIpv4OamAddress();
            String actionCategory = Action.HealthCheck.toString();
            controllerSelectionReference =
                    catalogDbClient.getControllerSelectionReferenceByVnfTypeAndActionCategory(vnfType, actionCategory);
            String controllerName = controllerSelectionReference.getControllerName();

            execution.setVariable("vnfId", vnfId);
            execution.setVariable(VNF_NAME, vnfName);
            execution.setVariable(OAM_IP_ADDRESS, oamIpAddress);
            execution.setVariable(VNF_HOST_IP_ADDRESS, oamIpAddress);
            execution.setVariable("msoRequestId", gBBInput.getRequestContext().getMsoRequestId());
            execution.setVariable("action", actionCategory);
            execution.setVariable("controllerType", controllerName);

        } catch (Exception ex) {
            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
        }
    }

}