class InstanceValidator {

    public boolean isValidRefresh(InstanceConfirmation confirmation) {
        log.log(Level.FINE, () -> String.format("Accepting refresh for instance with identity '%s', provider '%s', instanceId '%s'.",
                                                   new AthenzService(confirmation.domain, confirmation.service).getFullName(),
                                                   confirmation.provider,
                                                   confirmation.attributes.get(SAN_DNS_ATTRNAME)));
        try {
            return validateAttributes(confirmation, getVespaUniqueInstanceId(confirmation));
        } catch (Exception e) {
            log.log(Level.WARNING, "Encountered exception while refreshing certificate for confirmation: " + confirmation, e);
            return false;
        }
    }

    @Inject public  InstanceValidator(KeyProvider keyProvider,
                             SuperModelProvider superModelProvider,
                             NodeRepository nodeRepository,
                             AthenzProviderServiceConfig config);
    public  InstanceValidator(KeyProvider keyProvider,
                             SuperModelProvider superModelProvider,
                             NodeRepository nodeRepository,
                             IdentityDocumentSigner identityDocumentSigner,
                             AthenzService tenantIdentity);

}