The AWS Toolkit for Eclipse is an open source plug-in for the Eclipse Java IDE that makes it easier for developers to develop, debug, and deploy Java applications using Amazon Web Services. With the AWS Toolkit for Eclipse, users can get started faster and be more productive when building AWS applications.
This wiki page documents how to configure the AWS Toolkit for Eclipse to provision and control cloud resources on Eucalyptus. This enables developers to build and deploy Java applications in either private or public cloud environments by simply changing the target cloud.
The instructions assume the reader has an AWS account and access to a Eucalyptus cloud. To install Eucalyptus for evaluation purposes we recommend the FastStart installer. If you do not have local resources to deploy Eucalyptus, you may request a free account on the Eucalyptus Community Cloud.
You will also require the following
- Eclipse development environment
- AWS Toolkit for Eclipse
- Private and secret keys for AWS and Eucalyptus clouds
This section describes how to configure the AWS Toolkit for Eclipse to communicate with your Eucalyptus cloud. The set of available regions is contained in the file regions.xml, which can be found in <eclipse_workspace_dir></eclipse_workspace_dir>/.metadata/.plugins/com.amazonaws.eclipse.core/regions/regions.xml
Open the regions.xml file and add the following entry: ```xml
<region> &lt;displayname&gt;My Euca Cloud&lt;/displayname&gt; &lt;systemname&gt;eucacloud&lt;/systemname&gt; &lt;flag&#45;icon&gt;flags/usa.png&lt;/flag&#45;icon&gt; &lt;min&#45;toolkit&#45;version&gt;1.1.0.0&lt;/min&#45;toolkit&#45;version&gt; &lt;services&gt; &amp;lt;service name=&amp;quot;S3&amp;quot;&amp;gt;http://&amp;#91;your.euca.server&amp;#93;:8773/services/Walrus/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;IAM&amp;quot;&amp;gt;http://&amp;#91;your.euca.server&amp;#93;:8773/services/Euare/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;EC2&amp;quot;&amp;gt;http://&amp;#91;your.euca.server&amp;#93;:8773/services/Eucalyptus/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;AutoScaling&amp;quot;&amp;gt;http://&amp;#91;your.euca.server&amp;#93;:8773/services/AutoScaling/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;CloudWatch&amp;quot;&amp;gt;http://&amp;#91;your.euca.server&amp;#93;:8773/services/CloudWatch/&amp;lt;/service&amp;gt; &lt;/services&gt; </region>
```
Note that you have to replace '[your.euca.server]' with the URL to your Eucalyptus front end. For example, this is the correct snippet to add when using the Eucalyptus Community Cloud: ```xml
<region> &lt;displayname&gt;EucalyptusCC&lt;/displayname&gt; &lt;systemname&gt;ecc&#45;1&lt;/systemname&gt; &lt;flag&#45;icon&gt;flags/usa.png&lt;/flag&#45;icon&gt; &lt;min&#45;toolkit&#45;version&gt;1.1.0.0&lt;/min&#45;toolkit&#45;version&gt; &lt;services&gt; &amp;lt;service name=&amp;quot;S3&amp;quot;&amp;gt;http://communitycloud.eucalyptus.com:8773/services/Walrus/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;IAM&amp;quot;&amp;gt;http://communitycloud.eucalyptus.com:8773/services/Euare/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;EC2&amp;quot;&amp;gt;http://communitycloud.eucalyptus.com:8773/services/Eucalyptus/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;AutoScaling&amp;quot;&amp;gt;http://communitycloud.eucalyptus.com:8773/services/AutoScaling/&amp;lt;/service&amp;gt; &amp;lt;service name=&amp;quot;CloudWatch&amp;quot;&amp;gt;http://communitycloud.eucalyptus.com:8773/services/CloudWatch/&amp;lt;/service&amp;gt; &lt;/services&gt; </region>
``` Be sure to restart Eclipse if it was running while editing the regions.xml file. Also, be sure to add your Eucalyptus key ID and secret key to the AWS Toolkit preferences
The AWS Toolkit for Eclipse is usually tested each time there is a major or minor Eucalyptus release. Testing is currently a manual process and aims to validate the following capabilities
- Start, reboot & stop / terminate instances
- View instance status
- Create, attach, detach, delete volumes
- Create, delete snapshots
- View images list
- Create, modify and delete security groups
- Create, browse and delete Walrus buckets
- Bundle EMI
- Deploy simple web application into Eucalyptus cloud
Latest Test: May 30, 2013
VERSIONS IN PLAY
- Eclipse: Juno Service Release 2
- AWS Java SDK: 1.4.5
- Eucalyptus: 3.3 Milestone 6
- View instances, their status and public IP, copy public DNS name
- View, create, delete Volumes
- View, create and delete Snapshots
- View, create, modify and delete Security Groups
- View image list [NOTE:]
- View list of S3 Buckets
- Cannot browse bucket contents
- Regarding Instances: Cannot start, stop, terminate, attach/detach volumes.
- Regarding Instance Metadata: These columns are unexpectedly blank: State, Type, Availability Zone, Key Pair, Launch Time, Security Groups, Tags.
- Simply viewing the instance list gets you an NPE. I mean the list appears, but something broke here because the pop-up menu that should appear when selecting an instance doesn't even show. And selecting an instance from the list causes an "Unhandled event loop exception" in the ec2 UI code.