You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/06/18 17:36:36 UTC
[1/3] camel git commit: CAMEL-8882: Camel-AWS EC2: Add options to Run
Instance command, add Placement header
Repository: camel
Updated Branches:
refs/heads/master fc38b2e67 -> ce5c0873e
CAMEL-8882: Camel-AWS EC2: Add options to Run Instance command, add Placement header
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ce5c0873
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ce5c0873
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ce5c0873
Branch: refs/heads/master
Commit: ce5c0873ed116f436760d2ecf7b9a8452e39faa5
Parents: 2327502
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jun 18 11:22:29 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jun 18 17:33:22 2015 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/component/aws/ec2/EC2Constants.java | 1 +
.../java/org/apache/camel/component/aws/ec2/EC2Producer.java | 6 ++++++
2 files changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ce5c0873/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
index 8b30166..0a863bf 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
@@ -34,4 +34,5 @@ public interface EC2Constants {
String INSTANCES_IDS = "CamelAwsEC2InstancesIds";
String INSTANCES_KEY_PAIR = "CamelAwsEC2InstancesKeyPair";
String INSTANCES_CLIENT_TOKEN = "CamelAwsEC2InstancesClientToken";
+ String INSTANCES_PLACEMENT = "CamelAwsEC2InstancesPlacement";
}
http://git-wip-us.apache.org/repos/asf/camel/blob/ce5c0873/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
index 2256161..2d5681d 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
@@ -27,6 +27,7 @@ import com.amazonaws.services.ec2.model.DescribeInstancesResult;
import com.amazonaws.services.ec2.model.InstanceType;
import com.amazonaws.services.ec2.model.MonitorInstancesRequest;
import com.amazonaws.services.ec2.model.MonitorInstancesResult;
+import com.amazonaws.services.ec2.model.Placement;
import com.amazonaws.services.ec2.model.RebootInstancesRequest;
import com.amazonaws.services.ec2.model.RunInstancesRequest;
import com.amazonaws.services.ec2.model.RunInstancesResult;
@@ -126,6 +127,7 @@ public class EC2Producer extends DefaultProducer {
Collection securityGroups;
String keyName;
String clientToken;
+ Placement placement;
RunInstancesRequest request = new RunInstancesRequest();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.IMAGE_ID))) {
ami = exchange.getIn().getHeader(EC2Constants.IMAGE_ID, String.class);
@@ -175,6 +177,10 @@ public class EC2Producer extends DefaultProducer {
clientToken = exchange.getIn().getHeader(EC2Constants.INSTANCES_CLIENT_TOKEN, String.class);
request.withClientToken(clientToken);
}
+ if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_PLACEMENT))) {
+ placement = exchange.getIn().getHeader(EC2Constants.INSTANCES_PLACEMENT, Placement.class);
+ request.withPlacement(placement);
+ }
RunInstancesResult result;
try {
result = ec2Client.runInstances(request);
[3/3] camel git commit: CAMEL-8882: Camel-AWS EC2: Add options to Run
Instance command, add keyPair header
Posted by ac...@apache.org.
CAMEL-8882: Camel-AWS EC2: Add options to Run Instance command, add keyPair header
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/409a039e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/409a039e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/409a039e
Branch: refs/heads/master
Commit: 409a039e3cf886b4e2005f5d691367582aaaf5f3
Parents: fc38b2e
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jun 18 10:15:33 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jun 18 17:33:22 2015 +0200
----------------------------------------------------------------------
.../camel/component/aws/ec2/EC2Constants.java | 1 +
.../camel/component/aws/ec2/EC2Producer.java | 5 +++
.../component/aws/ec2/AmazonEC2ClientMock.java | 39 ++++++++++++++------
.../aws/ec2/EC2ComponentSpringTest.java | 24 ++++++++++++
.../component/aws/ec2/EC2ProducerTest.java | 27 ++++++++++++++
5 files changed, 85 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/409a039e/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
index 611e513..c0e95dc 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
@@ -32,4 +32,5 @@ public interface EC2Constants {
String INSTANCE_EBS_OPTIMIZED = "CamelAwsEC2InstanceEbsOptimized";
String INSTANCE_SECURITY_GROUPS = "CamelAwsEC2InstanceSecurityGroups";
String INSTANCES_IDS = "CamelAwsEC2InstancesIds";
+ String INSTANCES_KEY_PAIR = "CamelAwsEC2InstancesKeyPair";
}
http://git-wip-us.apache.org/repos/asf/camel/blob/409a039e/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
index fd11c68..dff573d 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
@@ -124,6 +124,7 @@ public class EC2Producer extends DefaultProducer {
String kernelId;
boolean ebsOptimized;
Collection securityGroups;
+ String keyName;
RunInstancesRequest request = new RunInstancesRequest();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.IMAGE_ID))) {
ami = exchange.getIn().getHeader(EC2Constants.IMAGE_ID, String.class);
@@ -165,6 +166,10 @@ public class EC2Producer extends DefaultProducer {
securityGroups = exchange.getIn().getHeader(EC2Constants.INSTANCE_SECURITY_GROUPS, Collection.class);
request.withSecurityGroups(securityGroups);
}
+ if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_KEY_PAIR))) {
+ keyName = exchange.getIn().getHeader(EC2Constants.INSTANCES_KEY_PAIR, String.class);
+ request.withKeyName(keyName);
+ }
RunInstancesResult result;
try {
result = ec2Client.runInstances(request);
http://git-wip-us.apache.org/repos/asf/camel/blob/409a039e/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
index b714ebe..80572c1 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
@@ -52,6 +52,8 @@ import com.amazonaws.services.ec2.model.TerminateInstancesResult;
import com.amazonaws.services.ec2.model.UnmonitorInstancesRequest;
import com.amazonaws.services.ec2.model.UnmonitorInstancesResult;
+import org.apache.camel.util.ObjectHelper;
+
public class AmazonEC2ClientMock extends AmazonEC2Client {
public AmazonEC2ClientMock() {
@@ -71,17 +73,32 @@ public class AmazonEC2ClientMock extends AmazonEC2Client {
ins.setImageId(runInstancesRequest.getImageId());
ins.setInstanceType(runInstancesRequest.getInstanceType());
ins.setInstanceId("instance-1");
- if (runInstancesRequest.getSecurityGroups().contains("secgroup-1") && runInstancesRequest.getSecurityGroups().contains("secgroup-2")) {
- GroupIdentifier id1 = new GroupIdentifier();
- id1.setGroupId("id-1");
- id1.setGroupName("secgroup-1");
- GroupIdentifier id2 = new GroupIdentifier();
- id2.setGroupId("id-2");
- id2.setGroupName("secgroup-2");
- Collection secGroups = new ArrayList<GroupIdentifier>();
- secGroups.add(id1);
- secGroups.add(id2);
- ins.setSecurityGroups(secGroups);
+ if (ObjectHelper.isNotEmpty(runInstancesRequest.getSecurityGroups()) && ObjectHelper.isNotEmpty(runInstancesRequest.getSecurityGroups())) {
+ if (runInstancesRequest.getSecurityGroups().contains("secgroup-1") && runInstancesRequest.getSecurityGroups().contains("secgroup-2")) {
+ GroupIdentifier id1 = new GroupIdentifier();
+ id1.setGroupId("id-1");
+ id1.setGroupName("secgroup-1");
+ GroupIdentifier id2 = new GroupIdentifier();
+ id2.setGroupId("id-2");
+ id2.setGroupName("secgroup-2");
+ Collection secGroups = new ArrayList<GroupIdentifier>();
+ secGroups.add(id1);
+ secGroups.add(id2);
+ ins.setSecurityGroups(secGroups);
+ } else if (ObjectHelper.isNotEmpty(runInstancesRequest.getKeyName())) {
+ if (ObjectHelper.isNotEmpty(runInstancesRequest.getKeyName().contains("keypair-1"))) {
+ GroupIdentifier id1 = new GroupIdentifier();
+ id1.setGroupId("id-3");
+ id1.setGroupName("secgroup-3");
+ GroupIdentifier id2 = new GroupIdentifier();
+ id2.setGroupId("id-4");
+ id2.setGroupName("secgroup-4");
+ Collection secGroups = new ArrayList<GroupIdentifier>();
+ secGroups.add(id1);
+ secGroups.add(id2);
+ ins.setSecurityGroups(secGroups);
+ }
+ }
}
instances.add(ins);
res.setInstances(instances);
http://git-wip-us.apache.org/repos/asf/camel/blob/409a039e/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
index 5457a9c..849bf2d 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
@@ -71,6 +71,30 @@ public class EC2ComponentSpringTest extends CamelSpringTestSupport {
}
@Test
+ public void ec2CreateAndRunTestWithKeyPair() throws Exception {
+
+ Exchange exchange = template.request("direct:createAndRun", new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
+ exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
+ exchange.getIn().setHeader(EC2Constants.INSTANCES_KEY_PAIR, "keypair-1");
+ }
+ });
+
+ RunInstancesResult resultGet = (RunInstancesResult) exchange.getIn().getBody();
+ assertEquals(resultGet.getReservation().getInstances().get(0).getImageId(), "test-1");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getInstanceType(), InstanceType.T2Micro.toString());
+ assertEquals(resultGet.getReservation().getInstances().get(0).getInstanceId(), "instance-1");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().size(), 2);
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(0).getGroupId(), "id-3");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(1).getGroupId(), "id-4");
+ }
+
+ @Test
public void startInstances() {
Exchange exchange = template.request("direct:start", new Processor() {
http://git-wip-us.apache.org/repos/asf/camel/blob/409a039e/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
index 4c48191..2e53781 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
@@ -99,6 +99,33 @@ public class EC2ProducerTest extends CamelTestSupport {
}
@Test
+ public void ec2CreateAndRunTestWithKeyPair() throws Exception {
+
+ mock.expectedMessageCount(1);
+ Exchange exchange = template.request("direct:createAndRun", new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
+ exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
+ exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
+ exchange.getIn().setHeader(EC2Constants.INSTANCES_KEY_PAIR, "keypair-1");
+ }
+ });
+
+ assertMockEndpointsSatisfied();
+
+ RunInstancesResult resultGet = (RunInstancesResult) exchange.getIn().getBody();
+ assertEquals(resultGet.getReservation().getInstances().get(0).getImageId(), "test-1");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getInstanceType(), InstanceType.T2Micro.toString());
+ assertEquals(resultGet.getReservation().getInstances().get(0).getInstanceId(), "instance-1");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().size(), 2);
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(0).getGroupId(), "id-3");
+ assertEquals(resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(1).getGroupId(), "id-4");
+ }
+
+ @Test
public void ec2CreateAndRunKoTest() throws Exception {
mock.expectedMessageCount(0);
[2/3] camel git commit: CAMEL-8882: Camel-AWS EC2: Add options to Run
Instance command, add clientToken header
Posted by ac...@apache.org.
CAMEL-8882: Camel-AWS EC2: Add options to Run Instance command, add clientToken header
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/23275028
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/23275028
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/23275028
Branch: refs/heads/master
Commit: 23275028a45a146143401b0074a438fd9d3feda1
Parents: 409a039
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jun 18 11:18:57 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jun 18 17:33:22 2015 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/component/aws/ec2/EC2Constants.java | 1 +
.../java/org/apache/camel/component/aws/ec2/EC2Producer.java | 5 +++++
2 files changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/23275028/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
index c0e95dc..8b30166 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
@@ -33,4 +33,5 @@ public interface EC2Constants {
String INSTANCE_SECURITY_GROUPS = "CamelAwsEC2InstanceSecurityGroups";
String INSTANCES_IDS = "CamelAwsEC2InstancesIds";
String INSTANCES_KEY_PAIR = "CamelAwsEC2InstancesKeyPair";
+ String INSTANCES_CLIENT_TOKEN = "CamelAwsEC2InstancesClientToken";
}
http://git-wip-us.apache.org/repos/asf/camel/blob/23275028/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
index dff573d..2256161 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
@@ -125,6 +125,7 @@ public class EC2Producer extends DefaultProducer {
boolean ebsOptimized;
Collection securityGroups;
String keyName;
+ String clientToken;
RunInstancesRequest request = new RunInstancesRequest();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.IMAGE_ID))) {
ami = exchange.getIn().getHeader(EC2Constants.IMAGE_ID, String.class);
@@ -170,6 +171,10 @@ public class EC2Producer extends DefaultProducer {
keyName = exchange.getIn().getHeader(EC2Constants.INSTANCES_KEY_PAIR, String.class);
request.withKeyName(keyName);
}
+ if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_CLIENT_TOKEN))) {
+ clientToken = exchange.getIn().getHeader(EC2Constants.INSTANCES_CLIENT_TOKEN, String.class);
+ request.withClientToken(clientToken);
+ }
RunInstancesResult result;
try {
result = ec2Client.runInstances(request);