class PillarSave implements OrchestratorBootstrap {

    private Map<String, Object> discovery(String hostname, String publicAddress,
            String instanceId, String instanceType) {
        Map<String, Object> map = new HashMap<>();
        map.put("fqdn", hostname);
        map.put("hostname", hostname.split("\\.")[0]);
        map.put("domain", hostname.replaceFirst(hostname.split("\\.")[0] + '.', ""));
        // Deprecated: this is just for backward compatibility, it is no longer in use
        map.put("custom_domain", true);
        map.put("public_address", StringUtils.isEmpty(publicAddress) ? Boolean.FALSE : Boolean.TRUE);
        map.put("instance_id", instanceId);
        map.put("instance_type", instanceType);
        return map;
    }

    public  PillarSave(SaltConnector sc, Set<String> targets, Collection<Node> hosts);
    public  PillarSave(SaltConnector sc, Set<String> targets, Map<String, List<RecipeModel>> recipes, Long recipeExecutionTimeout);
    public  PillarSave(SaltConnector sc, Set<String> targets, SaltPillarProperties pillarProperties);

}