jclouds/README.txt

130 lines
5.3 KiB
Plaintext
Raw Normal View History

Overview:
jclouds is an open source library that helps you get started in the cloud
2010-05-05 02:12:31 -04:00
and reuse your java and clojure development skills. Our api allows you to
freedom to use portable abstractions or cloud-specific features. We have
two abstractions at the moment: compute and blobstore. compute helps you
bootstrap machines in the cloud. blobstore helps you manage key-value
data.
2011-06-05 01:47:01 -04:00
our current version is 1.0.0
2011-06-05 03:19:14 -04:00
our next maintenance version is 1.0.1-SNAPSHOT
our dev version is 1.1.0-SNAPSHOT
2011-06-05 01:49:24 -04:00
check out our examples site! https://github.com/jclouds/jclouds-examples
2011-04-04 06:09:36 -04:00
our compute api supports: aws-ec2, gogrid, cloudservers-us, stub (in-memory), deltacloud,
cloudservers-uk, vcloud (generic), ec2 (generic), byon, nova,
trmk-ecloud, trmk-vcloudexpress, eucalyptus (generic),
cloudsigma-zrh, elasticstack(generic), bluelock-vcloud-vcenterprise,
bluelock-vcloud-zone01, stratogen-vcloud-mycloud, rimuhosting,
slicehost, eucalyptus-partnercloud-ec2, elastichosts-lon-p (Peer 1),
elastichosts-sat-p (Peer 1), elastichosts-lon-b (BlueSquare),
openhosting-east1, serverlove-z1-man, skalicloud-sdg-my,
greenhousedata-element-vcloud, go2cloud-jhb1
* note * the pom dependency org.jclouds/jclouds-allcompute gives you access to
to all of these providers
our blobstore api supports: aws-s3, cloudfiles-us, cloudfiles-uk, filesystem,
azureblob, atmos (generic), synaptic-storage,
cloudonestorage, walrus(generic), ninefold-storage,
eucalyptus-partnercloud-s3, swift (generic), transient (in-mem)
* note * the pom dependency org.jclouds/jclouds-allblobstore gives you access to
to all of these providers
our loadbalancer api supports: cloudloadbalancers-us
* note * the pom dependency org.jclouds/jclouds-allloadbalancer gives you access to
to all of these providers
we also have support for: ibmdev, mezeo, nirvanix, boxdotnet, openstack nova, scality ring,
hosteurope-storage, tiscali-storage, scaleup-storage, googlestorage,
azurequeue, simpledb, cloudstack as well as a async-http-client
driver in the sandbox
If you want access to all jclouds components, include the maven dependency org.jclouds/jclouds-all
2010-05-05 02:12:31 -04:00
BlobStore Example (Java):
// init
context = new BlobStoreContextFactory().createContext(
2011-02-13 17:46:37 -05:00
"aws-s3",
accesskeyid,
secretaccesskey);
blobStore = context.getBlobStore();
// create container
2010-05-05 02:12:31 -04:00
blobStore.createContainerInLocation(null, "mycontainer");
// add blob
2011-06-05 01:47:01 -04:00
blob = blobStore.blobBuilder("test").payload("testdata").build();
2010-05-06 12:07:44 -04:00
blobStore.putBlob("mycontainer", blob);
BlobStore Example (Clojure):
2011-06-05 01:47:01 -04:00
(use 'org.jclouds.blobstore2)
2010-05-06 12:07:44 -04:00
2011-06-05 01:47:01 -04:00
(def *blobstore* (blobstore "azureblob" account encodedkey))
(create-container *blobstore* "mycontainer")
(put-blob *blobstore* "mycontainer" (blob "test" :payload "testdata"))
2010-05-06 12:07:44 -04:00
2010-05-05 02:12:31 -04:00
Compute Example (Java):
// init
context = new ComputeServiceContextFactory().createContext(
2011-02-13 17:46:37 -05:00
"aws-ec2",
accesskeyid,
secretaccesskey,
ImmutableSet.of(new Log4JLoggingModule(),
new SshjSshClientModule()));
client = context.getComputeService();
// define the requirements of your node
template = client.templateBuilder().osFamily(UBUNTU).smallest().build();
2011-06-05 01:47:01 -04:00
// setup a boot user which is the same as your login
template.getOptions().runScript(AdminAccess.standard());
// these nodes will be accessible via ssh when the call returns
2011-01-31 21:02:54 -05:00
nodes = client.createNodesInGroup("mycluster", 2, template);
2010-05-06 12:07:44 -04:00
2011-06-05 01:47:01 -04:00
// you can now run ad-hoc commands on the nodes based on predicates
responses = client.runScriptOnNodesMatching(inGroup("mycluster"), "uptime",
wrapInInitScript(false));
2010-05-06 12:07:44 -04:00
Compute Example (Clojure):
2011-06-05 01:47:01 -04:00
(use 'org.jclouds.compute2)
2010-05-06 12:07:44 -04:00
; create a compute service using sshj and log4j extensions
2010-05-06 12:07:44 -04:00
(def compute
(*compute* "trmk`-ecloud" "user" "password" :sshj :log4j))
2010-05-06 12:07:44 -04:00
2011-06-05 01:47:01 -04:00
; launch a couple nodes with the default operating system, installing your user.
(create-nodes *compute* "mycluster" 2
(TemplateOptions$Builder/runScript (AdminAccess/standard)))
2011-06-05 01:47:01 -04:00
; run a command on that group
(run-script-on-nodes-matching *compute* (in-group? "mycluster") "uptime"
(RunScriptOptions$Builder/wrapInInitScript false))
Downloads:
2011-06-05 01:47:01 -04:00
* installation guide: http://code.google.com/p/jclouds/wiki/Installation
2010-12-23 14:32:24 -05:00
* maven repo: http://repo2.maven.org/maven2 (maven central - the default repository)
2010-12-20 15:24:22 -05:00
* snapshot repo: https://oss.sonatype.org/content/repositories/snapshots
Links:
* project page: http://code.google.com/p/jclouds/
2011-06-05 01:47:01 -04:00
* javadocs: http://jclouds.rimuhosting.com/apidocs/
2010-05-06 12:14:10 -04:00
* community: http://code.google.com/p/jclouds/wiki/AppsThatUseJClouds
2010-04-12 18:13:03 -04:00
* user group: http://groups.google.com/group/jclouds
* dev group: http://groups.google.com/group/jclouds-dev
* twitter: http://twitter.com/jclouds
2011-03-12 15:08:33 -05:00
## License
Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
Licensed under the Apache License, Version 2.0