package core.aws.env;
import com.amazonaws.regions.Regions;
import core.aws.util.Asserts;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
/**
* @author neo
*/
public class Environment {
private final Logger logger = LoggerFactory.getLogger(getClass());
public final Path envDir;
public Regions region = Regions.US_EAST_1;
public String name;
public final List<Path> ansibleRolePaths = new ArrayList<>();
public String bakeSubnetId;
public Environment(Path envDir) throws IOException {
this.envDir = envDir;
name = envDir.getFileName().toString();
File ansibleDir = new File(Asserts.notEmpty(System.getProperty("cmn.ansible"), "check start script, make sure -Dcmn.ansible is set")).getCanonicalFile();
Asserts.isTrue(ansibleDir.isDirectory(), "ansible path must be directory, path={}", ansibleDir);
logger.info("built-in ansible path => {}", ansibleDir);
ansibleRolePaths.add(ansibleDir.toPath());
}
public void region(String region) {
this.region = Regions.fromName(region);
}
public void name(String name) {
logger.info("environment set name => {}", name);
this.name = name;
}
public void customAnsiblePath(Path customAnsiblePath) {
logger.info("custom ansible path => {}", customAnsiblePath);
ansibleRolePaths.add(customAnsiblePath);
}
}