Getting Started
Quick Start Guides
- Amazon Web Services
- Elastic Block Store Models
- Azure Storage Service
- BlueLock vCloud
- Cloud Sigma
- Eucalyptus
- File System
- Go Grid
- HP Cloud Services
- IBM Developer Cloud
- OpenStack
- Rackspace
- RimuHosting
- Terremark eCloud
- Terremark vCloud Express
Release Notes
- 1.5.0-alpha.6
- 1.5.0-alpha.5
- 1.5.0-alpha.4
- 1.5.0-alpha.3
- 1.5.0-alpha.2
- 1.5.0-alpha.1
- 1.4.0
- 1.4.0-rc.3
- 1.4.0-rc.2
- 1.4.0-rc.1
- 1.3.1
- 1.3.0
- 1.3.0-rc-2
- 1.3.0-rc-1
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
Maven Sites and Javadocs
- HEAD (Javadoc)
- latest release (Javadoc) permalink
- 1.5.0-alpha.6 (Javadoc)
- 1.5.0-alpha.5 (Javadoc)
- 1.5.0-alpha.4 (Javadoc)
- 1.5.0-alpha.3 (Javadoc)
- 1.5.0-alpha.2 (Javadoc)
- 1.5.0-alpha.1 (Javadoc)
- 1.4.0 (Javadoc)
- 1.4.0-rc.3 (Javadoc)
- 1.4.0-rc.2 (Javadoc)
- 1.4.0-rc.1 (Javadoc)
- 1.3.1 (Javadoc)
- 1.3.0 (Javadoc)
- 1.3.0-rc-2 (Javadoc)
- 1.3.0-rc-1 (Javadoc)
- 1.2.2 (Javadoc)
- 1.2.1 (Javadoc)
- 1.2.0 (Javadoc)
- 1.1.1 (Javadoc)
- 1.1.0 (Javadoc)
User Guides
- Using Blob Store API
- Using Compute API and Tools
- Google App Engine
- VMWare vCloud
- Terremark
- File System Provider
- Init Builder
- Using jclouds with Apache Karaf
- Using EC2
- Using Maven
Samples & Examples
FAQs
Reference
- jclouds Rationale and Design
- Location Metadata Design
- Compute API Design
- Columnar Data Design
- jclouds API
- jclouds OAuth Integration
- Using jclouds with Apache Felix OSGi Container
- Pool Design
- Load Balancer Design
- Logging in jclouds
- VMWare Integration Approach & Design
- Supported Providers
- Apps that use jclouds
- Using Provider Metadata
Developer Resources
- Contributing to jclouds
- Provider Testing
- Contributing to Documentation
- Using Eclipse
- jclouds Continuous Integration
- Provider Metadata
Old versions
Release Notes
- 1.0.0
- 1.0 Beta 8
- 1.0 Beta 7
Maven Sites and Javadocs
Frequently Asked Questions - JClouds EC2 integration
How to use your keypair with EC2 AMI
Amazon doesn't store the private key data, so if you supply an existing public key for jclouds to use, you'll also need to supply the private key correlating to it.
There are two ways you can tell jclouds to use your keypair for an EC2 AMI.
The preferable way is to just pass it as Template Option.
If you are using an image where jclouds doesn't know the login user, you'll need to specify the
option.overrideCredentialsWith and pass along the user that's baked in.
overrideLoginCredentialWith(your_id_rsa_string)
overrideCredentialsWith(new Credentials("root", your_id_rsa_string))
If you want to authorize your keypair, you can use the auhtorizePublicKey(yourKey) method
client.createNodesInGroup(group, 1, authorizePublicKey(myKey));
Here's how you can run a script using the overrideLoginCredentialsWith
templateOptions.runScript(_script_). authorizePublicKey().overrideLoginCredentialWith(private)
Keep in mind that authorizePublicKey() is redundant, if it is the same as what corresponds to the keyPair() option.
With respect to the security group, jclouds creates a security group for you, with rules corresponding to the
inboundPorts() option (defaults to open port 22), unless you use the option
EC2TemplateOptions.securityGroups().
The other way is the push your credentials into the credentials store so that jClouds uses it.
When a keypair is automatically created, jclouds puts the keypair into the Credentials Map. You can use the same option to put your credentials into the Credentials Map using the credentialStore
ComputeServiceContext.credentialStore
Note, the more you use features like security groups and keypairs, the less portable your code will be across clouds.