/** * {@inheritDoc} */ @Override public <E extends io.cattle.platform.core.model.HostTemplate> E into(E into) { into.from(this); return into; }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.HostTemplate from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setDriver(from.getDriver()); setFlavorPrefix(from.getFlavorPrefix()); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { HostTemplate template = (HostTemplate)state.getResource(); String value = DataAccessor.fieldString(template, HostTemplateConstants.FIELD_SECRET_VALUES); try { secretsService.delete(template.getAccountId(), value); } catch (IOException e) { log.error("Failed to delete secret from storage for machine driver credential [{}]", template.getId(), e); } return null; }
@Override public Object link(String name, Object obj, ApiRequest request) throws IOException { if (!(obj instanceof HostTemplate)) { return null; } HostTemplate ht = (HostTemplate)obj; Schema s = request.getSchemaFactory().getSchema(HostTemplate.class); if (!s.getResourceFields().get(HostTemplateConstants.FIELD_SECRET_VALUES).isReadOnCreateOnly()) { String secrets = DataAccessor.fieldString(obj, HostTemplateConstants.FIELD_SECRET_VALUES); if (secrets != null) { try { secrets = secretService.decrypt(ht.getAccountId(), secrets); request.setResponseContentType("application/json"); request.setResponseObject(new Object()); IOUtils.write(Base64.decodeBase64(secrets), request.getOutputStream()); return new Object(); } catch (Exception e) { throw new IOException(e); } } } return null; }
public String getDriverFromHostTemplate(Host host) { Long hostTemplateId = host.getHostTemplateId(); if (hostTemplateId != null) { HostTemplate ht = objectManager.loadResource(HostTemplate.class, hostTemplateId); return ht.getDriver(); } return null; }