public void trigger(Long accountId) { ConfigUpdateRequest request = ConfigUpdateRequest.forResource(Account.class, accountId); request.addItem(STACKS); request.withDeferredTrigger(true); itemManager.updateConfig(request); }
@Override public void reconcileServiceEndpoints(Service service) { ConfigUpdateRequest request = ConfigUpdateRequest.forResource(Service.class, service.getId()); request.addItem(SERVICE_ENDPOINTS_UPDATE); request.withDeferredTrigger(false); itemManager.updateConfig(request); }
@Override public void reconcileServices(Collection<? extends Service> services) { for (Service service: services) { ConfigUpdateRequest request = ConfigUpdateRequest.forResource(Service.class, service.getId()); request.addItem(RECONCILE); request.withDeferredTrigger(true); itemManager.updateConfig(request); } }
@Override public void reconcileHostEndpoints(Host host) { ConfigUpdateRequest request = ConfigUpdateRequest.forResource(Host.class, host.getId()); request.addItem(HOST_ENDPOINTS_UPDATE); request.withDeferredTrigger(false); itemManager.updateConfig(request); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { List<Service> services = new ArrayList<>(); Set<Long> stackIds = new HashSet<>(); if (state.getResource() instanceof Stack) { stackIds.add(((Stack) state.getResource()).getId()); } else if (state.getResource() instanceof Service) { services.add((Service) state.getResource()); } else if (state.getResource() instanceof Instance) { services.addAll(instanceDao.findServicesFor((Instance) state.getResource())); } for (Service service : services) { stackIds.add(service.getStackId()); } for (Long stackId : stackIds) { ConfigUpdateRequest request = ConfigUpdateRequest.forResource(Stack.class, stackId); request.addItem(STACK); request.withDeferredTrigger(true); itemManager.updateConfig(request); } return null; }
@Override protected void populateContext(Agent agent, Instance instance, ConfigItem item, ArchiveContext context) { context.getData().put("data", map.getMap(name)); if (instance != null) { return; } Client client = new Client(Agent.class, agent.getId()); ConfigUpdateRequest request = new ConfigUpdateRequest(client).withDeferredTrigger(true); for (String itemName : REQUIRED.get()) { if (!statusManager.isAssigned(client, itemName)) { log.info("Adding missing [{}] to agent [{}]", itemName, agent.getId()); request.addItem(itemName); } } if (request.getItems().size() > 0) { statusManager.updateConfig(request); } }
protected void handleDownload(Request req) throws IOException { ConfigItem item = itemRegistry.getConfigItem(req.getItemName()); if (item == null) { log.info("Client [{}] requested unknown item [{}]", req.getClient(), req.getItemName()); req.setResponseCode(Request.NOT_FOUND); return; } if (!versionManager.isAssigned(req.getClient(), req.getItemName())) { if (item.isDynamicallyApplied()) { ConfigUpdateRequest updateRequest = new ConfigUpdateRequest(req.getClient()).withDeferredTrigger(true); updateRequest.addItem(req.getItemName()); versionManager.updateConfig(updateRequest); } else { log.error("Client [{}] requesting non-assigned item [{}]", req.getClient(), req.getItemName()); req.setResponseCode(Request.NOT_FOUND); return; } } log.info("Processing [{}] for client [{}]", req.getItemName(), req.getClient()); item.handleRequest(req); }