package vpc2vpc;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.services.ec2.model.Instance;
import com.amazonaws.services.ec2.model.Region;
import com.amazonaws.services.ec2.model.Tag;
import com.amazonaws.services.ec2.model.Vpc;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
/**
* List Connections
*
* @author Vinay Selvaraj
*/
public class ListConnections extends BaseAction {
private Logger LOG = Logger.getLogger(ListConnections.class);
public ListConnections(String[] args, AWSCredentials awsCreds) {
super(args, awsCreds);
}
public void run() {
Options options = new Options();
options.addOption("h", "help", false, "display the help message");
options.addOption("v", "verbose", false, "be extra verbose");
CommandLineParser parser = new PosixParser();
CommandLine cmd = null;
try {
cmd = parser.parse(options, args);
} catch (ParseException pe) {
LOG.error("Unable to parse command: " + pe.getMessage());
System.exit(1);
}
if (cmd != null) {
if (cmd.hasOption("v")) {
LogManager.getRootLogger().setLevel(Level.DEBUG);
}
}
HashMap<String, VPC2VPCConnection> vpc2vpcIdConnections = VPC2VPCHelper.getInstance().getVPC2VPCConnections(awsCreds);
for(String vpc2vpcId : vpc2vpcIdConnections.keySet()) {
VPC2VPCConnection vpc2vpcConnection = vpc2vpcIdConnections.get(vpc2vpcId);
System.out.printf("%s : ", vpc2vpcId);
HashMap<String, VPNEndpoint> vpcIdVpnEndpoint = vpc2vpcConnection.getVpcIdVpnEndpoint();
int index = 0;
for(String vpcId : vpcIdVpnEndpoint.keySet()) {
VPNEndpoint vpnEndpoint = vpcIdVpnEndpoint.get(vpcId);
System.out.printf("%s/%s(%s)", vpnEndpoint.getVpc().getCidrBlock(), vpnEndpoint.getVpc().getVpcId(), vpnEndpoint.getRegion().getRegionName());
index = index + 1;
if(index < vpcIdVpnEndpoint.keySet().size()) {
System.out.printf(" <==> ");
} else {
System.out.printf(", ");
}
}
System.out.printf("%s\n", vpc2vpcConnection.getCreatedOn());
}
}
}