use of com.amazonaws.auth.AWSCredentials in project GNS by MobilityFirst.
the class EC2Runner method initAndUpdateEC2Host.
/**
* This is called to initialize an EC2 host for use as A GNS server in a region. It starts the host, loads all the necessary
* software and copies the JAR files over. We also collect info about this host, like it's IP address and geographic location.
* When every host is initialized and we have collected all the IPs, phase two is called.
*
* @param region - the EC2 region where we are starting this host
* @param runSetName - so we can terminate them all together
* @param id - the GNS ID of this server
* @param elasticIP
* @param timeout
*/
public static void initAndUpdateEC2Host(RegionRecord region, String runSetName, String id, String elasticIP, int timeout) {
String installScript;
AMIRecord amiRecord = AMIRecord.getAMI(amiRecordType, region);
if (amiRecord == null) {
System.out.println("Invalid combination of " + amiRecordType + " and Region " + region.name());
return;
}
switch(dataStoreType) {
case CASSANDRA:
installScript = cassandraInstallScript;
break;
default:
// MONGO
if (amiRecordType.toString().contains("Amazon_Linux")) {
installScript = mongoInstallScript;
} else {
switch(amiRecordType) {
case MongoDB_2_4_8_with_1000_IOPS:
installScript = mongoShortInstallScript;
break;
case Mongo_2014_5_6:
installScript = null;
break;
case Mongo_2014_5_6_micro:
installScript = null;
break;
case Mongo_2015_6_25_vpc:
installScript = null;
break;
case Mongo_2016_6_16_micro:
installScript = null;
break;
default:
System.out.println("Invalid combination of " + amiRecordType + " and " + dataStoreType);
return;
}
}
}
String idString = id.toString();
// StatusModel.getInstance().queueUpdate(id, region.name() + ": [Unknown hostname]", null, null);
try {
AWSCredentials credentials = new PropertiesCredentials(new File(CREDENTIALSFILE));
//Create Amazon Client object
AmazonEC2 ec2 = new AmazonEC2Client(credentials);
String nodeName = "GNS Node " + idString;
System.out.println("Starting install for " + nodeName + " in " + region.name() + " as part of run set " + runSetName);
HashMap<String, String> tags = new HashMap<>();
tags.put("runset", runSetName);
tags.put("id", idString);
// StatusModel.getInstance().queueUpdate(id, "Creating instance");
// create an instance
Instance instance = AWSEC2.createAndInitInstance(ec2, region, amiRecord, nodeName, keyName, amiRecord.getSecurityGroup(), installScript, tags, elasticIP, timeout);
if (instance != null) {
// StatusModel.getInstance().queueUpdate(id, "Instance created");
// StatusModel.getInstance().queueUpdate(id, StatusEntry.State.INITIALIZING);
// toString our ip
String hostname = instance.getPublicDnsName();
InetAddress inetAddress = InetAddress.getByName(hostname);
String ip = inetAddress.getHostAddress();
// and take a guess at the location (lat, long) of this host
Point2D location = GEOLocator.lookupIPLocation(ip);
// StatusModel.getInstance().queueUpdate(id, hostname, ip, location);
// update our table of instance information
hostTable.put(id, new HostInfo(id, hostname, location));
// and we're done
// StatusModel.getInstance().queueUpdate(id, "Waiting for other servers");
} else {
System.out.println("EC2 Instance " + idString + " in " + region.name() + " did not in start.");
// StatusModel.getInstance().queueUpdate(id, StatusEntry.State.ERROR, "Did not start");
hostsThatDidNotStart.put(id, id);
}
} catch (IOException e) {
System.out.println("Problem creating EC2 instance " + idString + " in " + region.name() + ": " + e);
e.printStackTrace();
} catch (IllegalArgumentException e) {
System.out.println("Problem creating EC2 instance " + idString + " in " + region.name() + ": " + e);
e.printStackTrace();
}
}
use of com.amazonaws.auth.AWSCredentials in project GNS by MobilityFirst.
the class Amazontool method main.
/**
* @param args the command line arguments
* @throws java.io.IOException
*/
public static void main(String[] args) throws IOException {
AWSCredentials credentials = new PropertiesCredentials(AWSEC2.class.getResourceAsStream("resources/AwsCredentials.properties"));
//Create Amazon Client object
AmazonEC2 ec2 = new AmazonEC2Client(credentials);
AWSEC2.describeAllEndpoints(ec2);
// Instance instance = AWSEC2.findInstance(ec2, "i-86983af6");
// Address elasticIP = AWSEC2.findElasticIP(ec2, "23.21.120.250");
// System.out.println(instance.getPublicDnsName());
// System.out.println(elasticIP.getPublicIp());
//AWSEC2.associateAddress(ec2, "23.21.120.250", instance);
}
use of com.amazonaws.auth.AWSCredentials in project camel by apache.
the class SnsEndpoint method createSNSClient.
/**
* Provide the possibility to override this method for an mock implementation
*
* @return AmazonSNSClient
*/
AmazonSNS createSNSClient() {
AmazonSNS client = null;
ClientConfiguration clientConfiguration = null;
boolean isClientConfigFound = false;
if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost(configuration.getProxyHost());
clientConfiguration.setProxyPort(configuration.getProxyPort());
isClientConfigFound = true;
}
if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
if (isClientConfigFound) {
client = new AmazonSNSClient(credentials, clientConfiguration);
} else {
client = new AmazonSNSClient(credentials);
}
} else {
if (isClientConfigFound) {
client = new AmazonSNSClient();
} else {
client = new AmazonSNSClient(clientConfiguration);
}
}
return client;
}
use of com.amazonaws.auth.AWSCredentials in project cloudstack by apache.
the class S3Utils method getTransferManager.
public static TransferManager getTransferManager(final ClientOptions clientOptions) {
if (TRANSFERMANAGER_ACCESSKEY_MAP.containsKey(clientOptions.getAccessKey())) {
return TRANSFERMANAGER_ACCESSKEY_MAP.get(clientOptions.getAccessKey());
}
final AWSCredentials basicAWSCredentials = new BasicAWSCredentials(clientOptions.getAccessKey(), clientOptions.getSecretKey());
final ClientConfiguration configuration = new ClientConfiguration();
if (clientOptions.isHttps() != null) {
configuration.setProtocol(clientOptions.isHttps() ? HTTPS : HTTP);
}
if (clientOptions.getConnectionTimeout() != null) {
configuration.setConnectionTimeout(clientOptions.getConnectionTimeout());
}
if (clientOptions.getMaxErrorRetry() != null) {
configuration.setMaxErrorRetry(clientOptions.getMaxErrorRetry());
}
if (clientOptions.getSocketTimeout() != null) {
configuration.setSocketTimeout(clientOptions.getSocketTimeout());
}
if (clientOptions.getUseTCPKeepAlive() != null) {
configuration.setUseTcpKeepAlive(clientOptions.getUseTCPKeepAlive());
}
if (clientOptions.getConnectionTtl() != null) {
configuration.setConnectionTTL(clientOptions.getConnectionTtl());
}
if (clientOptions.getSigner() != null) {
configuration.setSignerOverride(clientOptions.getSigner());
}
LOGGER.debug(format("Creating S3 client with configuration: [protocol: %1$s, signer: %2$s, connectionTimeOut: %3$s, maxErrorRetry: %4$s, socketTimeout: %5$s, useTCPKeepAlive: %6$s, connectionTtl: %7$s]", configuration.getProtocol(), configuration.getSignerOverride(), configuration.getConnectionTimeout(), configuration.getMaxErrorRetry(), configuration.getSocketTimeout(), clientOptions.getUseTCPKeepAlive(), clientOptions.getConnectionTtl()));
final AmazonS3Client client = new AmazonS3Client(basicAWSCredentials, configuration);
if (isNotBlank(clientOptions.getEndPoint())) {
LOGGER.debug(format("Setting the end point for S3 client with access key %1$s to %2$s.", clientOptions.getAccessKey(), clientOptions.getEndPoint()));
client.setEndpoint(clientOptions.getEndPoint());
}
TRANSFERMANAGER_ACCESSKEY_MAP.put(clientOptions.getAccessKey(), new TransferManager(client));
return TRANSFERMANAGER_ACCESSKEY_MAP.get(clientOptions.getAccessKey());
}
use of com.amazonaws.auth.AWSCredentials in project jackrabbit-oak by apache.
the class Utils method openService.
/**
* Create AmazonS3Client from properties.
*
* @param prop properties to configure @link {@link AmazonS3Client}
* @return {@link AmazonS3Client}
*/
public static AmazonS3Client openService(final Properties prop) {
String accessKey = prop.getProperty(S3Constants.ACCESS_KEY);
String secretKey = prop.getProperty(S3Constants.SECRET_KEY);
AmazonS3Client s3service = null;
if (StringUtils.isNullOrEmpty(accessKey) || StringUtils.isNullOrEmpty(secretKey)) {
LOG.info("Configuring Amazon Client from environment");
s3service = new AmazonS3Client(getClientConfiguration(prop));
} else {
LOG.info("Configuring Amazon Client from property file.");
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
s3service = new AmazonS3Client(credentials, getClientConfiguration(prop));
}
String region = prop.getProperty(S3Constants.S3_REGION);
String endpoint = null;
String propEndPoint = prop.getProperty(S3Constants.S3_END_POINT);
if ((propEndPoint != null) & !"".equals(propEndPoint)) {
endpoint = propEndPoint;
} else {
if (StringUtils.isNullOrEmpty(region)) {
com.amazonaws.regions.Region s3Region = Regions.getCurrentRegion();
if (s3Region != null) {
region = s3Region.getName();
} else {
throw new AmazonClientException("parameter [" + S3Constants.S3_REGION + "] not configured and cannot be derived from environment");
}
}
if (DEFAULT_AWS_BUCKET_REGION.equals(region)) {
endpoint = S3 + DOT + AWSDOTCOM;
} else if (Region.EU_Ireland.toString().equals(region)) {
endpoint = "s3-eu-west-1" + DOT + AWSDOTCOM;
} else {
endpoint = S3 + DASH + region + DOT + AWSDOTCOM;
}
}
/*
* setting endpoint to remove latency of redirection. If endpoint is
* not set, invocation first goes us standard region, which
* redirects it to correct location.
*/
s3service.setEndpoint(endpoint);
LOG.info("S3 service endpoint [{}] ", endpoint);
return s3service;
}
Aggregations