// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactInstaller.java
// public interface PluginArtifactInstaller
// {
// 
//     void installArtifact(ElasticsearchArtifact artifact, File file) throws ArtifactException;
// 
// }
// 
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactResolver.java
// public interface PluginArtifactResolver
// {
//     File resolveArtifact(String coordinates) throws ArtifactException;
// }


import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.maven.plugin.logging.Log;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactInstaller;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactResolver;
package com.github.alexcojocaru.mojo.elasticsearch.v2;




/**
 * The cluster configuration, containing the list of ES configurations,
 * the artifact resolver, the logger, and other cluster specific attributes.
 *
 * @author Alex Cojocaru
 */
public class ClusterConfiguration
{
    private List<InstanceConfiguration> instanceConfigurationList;
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactInstaller.java
// public interface PluginArtifactInstaller
// {
// 
//     void installArtifact(ElasticsearchArtifact artifact, File file) throws ArtifactException;
// 
// }
// 
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactResolver.java
// public interface PluginArtifactResolver
// {
//     File resolveArtifact(String coordinates) throws ArtifactException;
// }


// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/ClusterConfiguration.java
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.maven.plugin.logging.Log;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactInstaller;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactResolver;

package com.github.alexcojocaru.mojo.elasticsearch.v2;




/**
 * The cluster configuration, containing the list of ES configurations,
 * the artifact resolver, the logger, and other cluster specific attributes.
 *
 * @author Alex Cojocaru
 */
public class ClusterConfiguration
{
    private List<InstanceConfiguration> instanceConfigurationList;
    private PluginArtifactResolver artifactResolver;