@Override public Image createImageForInstance(Instance instance) { String uuid = (String) DataAccessor.fields(instance).withKey(InstanceConstants.FIELD_IMAGE_UUID).get(); Image image = storageService.registerRemoteImage(uuid); if (image != null) { objectManager.setFields(instance, INSTANCE.IMAGE_ID, image.getId()); long currentAccount = instance.getAccountId(); Long id = instance.getRegistryCredentialId(); image = objectManager.loadResource(Image.class, instance.getImageId()); if (id == null) { for (ImageCredentialLookup imageLookup: imageCredentialLookups){ Credential cred = imageLookup.getDefaultCredential(uuid, currentAccount); if (cred == null){ continue; } if (cred.getId() != null){ objectManager.setFields(instance, INSTANCE.REGISTRY_CREDENTIAL_ID, cred.getId()); break; } } } if (instance.getRegistryCredentialId() != null) { objectManager.setFields(image, IMAGE.REGISTRY_CREDENTIAL_ID, instance.getRegistryCredentialId()); } } return image; }
setToken(from.getToken()); setUserdata(from.getUserdata()); setRegistryCredentialId(from.getRegistryCredentialId()); setExternalId(from.getExternalId()); setNativeContainer(from.getNativeContainer());