You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ev...@apache.org on 2014/04/15 19:43:42 UTC

svn commit: r1587647 - in /jclouds/site-content/guides: karaf.html karaf/ karaf/index.html vcloud.html vcloud/ vcloud/index.html

Author: everett
Date: Tue Apr 15 17:43:42 2014
New Revision: 1587647

URL: http://svn.apache.org/r1587647
Log:
deploy jclouds site content

Added:
    jclouds/site-content/guides/karaf/
    jclouds/site-content/guides/karaf/index.html
    jclouds/site-content/guides/vcloud/
    jclouds/site-content/guides/vcloud/index.html
Removed:
    jclouds/site-content/guides/karaf.html
    jclouds/site-content/guides/vcloud.html

Added: jclouds/site-content/guides/karaf/index.html
URL: http://svn.apache.org/viewvc/jclouds/site-content/guides/karaf/index.html?rev=1587647&view=auto
==============================================================================
--- jclouds/site-content/guides/karaf/index.html (added)
+++ jclouds/site-content/guides/karaf/index.html Tue Apr 15 17:43:42 2014
@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+<title>Apache jclouds&reg; :: Apache Karaf: Getting Started Guide</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="">
+<meta name="author" content="">
+
+<!--link rel="stylesheet/less" href="less/bootstrap.less" type="text/css" /-->
+<!--link rel="stylesheet/less" href="less/responsive.less" type="text/css" /-->
+<!--script src="js/less-1.3.3.min.js"></script-->
+<!--append ‘#!watch’ to the browser URL, then refresh the page. -->
+
+<link href="/css/bootstrap.min.css" rel="stylesheet">
+<link href="/css/style.css" rel="stylesheet">
+<link href="/css/syntax.css" rel="stylesheet">
+
+<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+<!--[if lt IE 9]>
+<script src="js/html5shiv.js"></script>
+<![endif]-->
+
+<!-- Fav and touch icons -->
+<!--
+<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/img/apple-touch-icon-144-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/apple-touch-icon-114-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/apple-touch-icon-72-precomposed.png">
+<link rel="apple-touch-icon-precomposed" href="/img/apple-touch-icon-57-precomposed.png">
+-->
+<link rel="shortcut icon" href="/favicon.ico">
+
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Blog Posts Feed">
+<link rel="alternate" type="application/atom+xml" href="/releasenotes/atom.xml" title="Release Notes Feed">
+
+<script type="text/javascript" src="/js/jquery.min.js"></script>
+<script type="text/javascript" src="/js/bootstrap.min.js"></script>
+<script type="text/javascript" src="/js/toc.js"></script>
+
+<script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-8638379-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+     })();
+</script>
+<script type="text/javascript">
+    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+     })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+    ga('create', 'UA-47106724-1', 'jclouds.apache.com');
+    ga('send', 'pageview');
+</script>
+
+    </head>
+    <body>
+        <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="/">Apache jclouds &reg;</a>
+        </div>
+
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav">
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Getting Started<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/start/what-is-jclouds/">What Is Apache jclouds?</a></li>
+                        <li><a href="/start/install/">Installation Guide</a></li>
+                        <li class="divider"></li>
+                        <li><a href="/start/compute/">ComputeService</a></li>
+                        <li><a href="/start/blobstore/">BlobStore</a></li>
+                        <li><a href="http://github.com/jclouds/jclouds-examples">Examples</a></li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/guides/providers/">Cloud Providers</a></li>
+                        <li><a href="/guides">User Guides</a></li>
+                        <li><a href="/reference/configuration/">Configuration</a></li>
+                        <li><a href="/reference/logging/">Logging</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Developer Guides</li>
+                        <li><a href="http://wiki.apache.org/jclouds/">Wiki</a></li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/community/">Get In Touch!</a></li>
+                        <li><a href="http://www.meetup.com/jclouds/">Attend An Event</a></li>
+                        <li><a href="/community/users/">Who Is Using jclouds?</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Contribute</li>
+                        <li><a href="/reference/report-a-bug/">Report a Bug</a></li>
+                        <li><a href="http://wiki.apache.org/jclouds/How%20to%20Contribute">How To Contribute Code</a></li>
+                        <li><a href="http://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation">How To Contribute Documentation</a></li>
+                    </ul>
+                </li>
+                <li><a href="/blog">Blog</a></li>
+            </ul>
+            <ul class="nav navbar-nav navbar-right">
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Release Notes<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <!-- only keep the release notes for supported versions in this list -->
+                        <li><a href="/releasenotes/1.7.1">1.7.1</a></li>
+                        <li><a href="/releasenotes/1.7.0">1.7.0</a></li>
+                        <li><a href="/releasenotes/1.6.3">1.6.3</a></li>
+                        <li><a href="/releasenotes/1.6.2">1.6.2</a></li>
+                        <li><a href="/releasenotes/1.6.1">1.6.1</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Previous releases</li>
+                        <li><a href="/releasenotes">Release archive</a></li>
+                    </ul>
+                </li>
+                <li>
+                    <div>
+                        <a class="btn btn-success navbar-btn" href="/start/install/">
+                            <span class="glyphicon glyphicon-download"></span>
+                            Install
+                        </a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+
+        <div class="container">
+            <div class="page-header">
+                <h1>Apache Karaf: Getting Started Guide</h1>
+            </div>
+            <h2>Introduction</h2>
+
+<p><a href="http://karaf.apache.org">Apache Karaf</a> is an OSGi runtime that runs on top of most OSGi containers like <a href="http://felix.apache.org">Apache Felix</a> and
+<a href="http://www.eclipse.org/equinox/">Eclipse Equinox</a>.  jclouds provides easy integration with Apache Karaf by leveraging the Karaf <em>"Feature"</em> concept.</p>
+
+<p>This section will describe how to install jclouds on Apache Karaf and run some examples that demonstrate the power of jclouds in a dynamic environment
+such as Karaf.</p>
+
+<p>jclouds provides the following Karaf "features":</p>
+
+<ul>
+<li>jclouds-aws-ec2</li>
+<li>jclouds-googlestorage</li>
+<li>jclouds-gogrid</li>
+<li>jclouds-eucalyptus-s3</li>
+<li>jclouds-eucalyptus-ec2</li>
+<li>jclouds-azureblob</li>
+<li>jclouds-cloudfiles-uk</li>
+<li>jclouds-cloudfiles-us</li>
+<li>jclouds-cloudloadbalancers-us</li>
+<li>jclouds-cloudonestorage</li>
+<li>jclouds-cloudserver-uk</li>
+<li>jclouds-cloudserver-us</li>
+<li>jclouds-cloudsigma-zrh</li>
+<li>jclouds-elastichosts-lon-b</li>
+<li>jclouds-elastichosts-lon-p</li>
+<li>jclouds-elastichosts-sat-p</li>
+<li>jclouds-hosteurope-storage</li>
+<li>jclouds-ninefold-storage</li>
+<li>jclouds-openhosting-east1</li>
+<li>jclouds-savvis-symphonyvpdc</li>
+<li>jclouds-scaleup-storage</li>
+<li>jclouds-serverlove-z1-man</li>
+<li>jclouds-skalicloud-sdg-my</li>
+<li>jclouds-synaptic-storage</li>
+<li>jclouds-tiscali-storage</li>
+<li>jclouds-trmk-ecloud</li>
+<li>jclouds-trmk-vcloudexpress</li>
+</ul>
+
+
+<h2>Installation</h2>
+
+<ol>
+<li>Get jclouds-karaf from the <a href="https://github.com/jclouds/jclouds-karaf">jclouds-karaf repository</a> on GitHub.</li>
+</ol>
+
+
+<p>As of the jclouds Version 1.0.0 release, the jclouds-karaf feature is available on the central maven repository, so you can skip this step of getting the
+source and building it and go directly to the install of the jclouds feature.</p>
+
+<div class="highlight"><pre><code class="sh">git clone git://github.com/jclouds/jclouds-karaf.git
+<span class="nb">cd </span>jclouds-karaf
+mvn clean install
+</code></pre></div>
+
+
+<ol>
+<li>Start Karaf and install the jclouds feature.</li>
+</ol>
+
+
+<div class="highlight"><pre><code class="text">features:addurl mvn:org.jclouds.karaf/feature/1.0/xml/features
+features:install jclouds
+</code></pre></div>
+
+
+<ol>
+<li>Now that the core of jclouds is installed, select any additional jclouds features you wish and install them using the shell:</li>
+</ol>
+
+
+<div class="highlight"><pre><code class="text">features:list | grep jclouds
+</code></pre></div>
+
+
+<p><em><em>Example</em></em></p>
+
+<ol>
+<li>For installing the module for aws-s3:</li>
+</ol>
+
+
+<div class="highlight"><pre><code class="text">features:install jclouds-aws-s3
+</code></pre></div>
+
+
+<h2>Running the examples</h2>
+
+<p>The following example demonstrates how using jclouds inside Karaf can make it easy to use jclouds.  The example leverages the Karaf shell and the
+configuration administrator to provide two shell commands that read and write data to a blobstore.  The BlobStore provider and the access information
+can change dynamically, and they may be configured or reconfigured using the OSGi configuration administrator.</p>
+
+<p>The first step is to get and build the example:</p>
+
+<div class="highlight"><pre><code class="text">git clone https://iocanel@github.com/jclouds/jclouds-examples.git
+cd jclouds-examples/blobstore-karaf-shell
+mvn clean install
+</code></pre></div>
+
+
+<p>Then from Karaf shell you can install the example:</p>
+
+<div class="highlight"><pre><code class="text">osgi:install -s mvn:org.jclouds.examples/blobstore-karaf-shell/1.0-SNAPSHOT
+</code></pre></div>
+
+
+<p>The command above installs in Karaf two new commands:</p>
+
+<ul>
+<li>jclouds:blobstore-write</li>
+<li>jclouds:blobstore-read</li>
+</ul>
+
+
+<p>In order to use those commands, you first need to configure the provider. The configuration is done
+using the org.jclouds.blobstore PID. You can create the configuration either from inside the shell or
+by dropping  a file named org.jclouds.blobstore.cfg under karaf's etc folder.
+Let's see how it can be done using the Karaf shell:</p>
+
+<div class="highlight"><pre><code class="text">config:edit org.jclouds.blobstore
+config:propset provider aws-s3
+config:propset accessKeyId XXXXXX
+config:propset secretKey XXXXXX
+config:update
+</code></pre></div>
+
+
+<p>Now you are ready to use the commands</p>
+
+<div class="highlight"><pre><code class="text">jclouds:blobstore-write mybucket myblob JCloudsRocks
+jclouds:blobstore-write mybucket myblob
+</code></pre></div>
+
+
+<p>At any point in time, you can edit the configuration, either using the shell or
+by editing the configuration file. The commands will pick up the changes immediately.
+This way you can even switch providers.</p>
+
+<p>Watch the <a href="http://www.youtube.com/watch?v=SIvSaGEKrkM">demo video</a>.</p>
+
+            <div class="row clearfix">
+                <div id="footer" class="col-md-12 column">
+                    <div id="footer">
+    <hr/>
+    <div class="row clearfix">
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/start/">Getting Started</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/reference/report-a-bug/">Report a Bug</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation">Fix This Page</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://wiki.apache.org/jclouds/How%20to%20Contribute">Contribute Code</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/community/">Contact Us</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://twitter.com/jclouds">Follow Us</a>
+            </p>
+        </div>
+    </div>
+    <hr style="margin-top: 10px"/>
+    <div class="row clearfix">
+        <div class="col-md-12 column">
+            <p class="text-center">
+              Copyright &copy; 2011-2014 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
+            </p>
+            <p class="text-center">
+              Apache, jclouds, Apache jclouds, the jclouds logo, and the Apache feather logos are registered trademarks or trademarks of the Apache Software Foundation.
+            </p>
+            <p class="text-center">
+              <img src="/img/feather-small.gif" width="80", height="24"/>
+            </p>
+            <br/>
+        </div>
+    </div>
+</div>
+
+                </div>
+            </div>
+        </div>
+    </body>
+</html>

Added: jclouds/site-content/guides/vcloud/index.html
URL: http://svn.apache.org/viewvc/jclouds/site-content/guides/vcloud/index.html?rev=1587647&view=auto
==============================================================================
--- jclouds/site-content/guides/vcloud/index.html (added)
+++ jclouds/site-content/guides/vcloud/index.html Tue Apr 15 17:43:42 2014
@@ -0,0 +1,553 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+<title>Apache jclouds&reg; :: VMWare vCloud: Getting Started Guide</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="">
+<meta name="author" content="">
+
+<!--link rel="stylesheet/less" href="less/bootstrap.less" type="text/css" /-->
+<!--link rel="stylesheet/less" href="less/responsive.less" type="text/css" /-->
+<!--script src="js/less-1.3.3.min.js"></script-->
+<!--append ‘#!watch’ to the browser URL, then refresh the page. -->
+
+<link href="/css/bootstrap.min.css" rel="stylesheet">
+<link href="/css/style.css" rel="stylesheet">
+<link href="/css/syntax.css" rel="stylesheet">
+
+<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+<!--[if lt IE 9]>
+<script src="js/html5shiv.js"></script>
+<![endif]-->
+
+<!-- Fav and touch icons -->
+<!--
+<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/img/apple-touch-icon-144-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/apple-touch-icon-114-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/apple-touch-icon-72-precomposed.png">
+<link rel="apple-touch-icon-precomposed" href="/img/apple-touch-icon-57-precomposed.png">
+-->
+<link rel="shortcut icon" href="/favicon.ico">
+
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Blog Posts Feed">
+<link rel="alternate" type="application/atom+xml" href="/releasenotes/atom.xml" title="Release Notes Feed">
+
+<script type="text/javascript" src="/js/jquery.min.js"></script>
+<script type="text/javascript" src="/js/bootstrap.min.js"></script>
+<script type="text/javascript" src="/js/toc.js"></script>
+
+<script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-8638379-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+     })();
+</script>
+<script type="text/javascript">
+    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+     })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+    ga('create', 'UA-47106724-1', 'jclouds.apache.com');
+    ga('send', 'pageview');
+</script>
+
+    </head>
+    <body>
+        <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="/">Apache jclouds &reg;</a>
+        </div>
+
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav">
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Getting Started<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/start/what-is-jclouds/">What Is Apache jclouds?</a></li>
+                        <li><a href="/start/install/">Installation Guide</a></li>
+                        <li class="divider"></li>
+                        <li><a href="/start/compute/">ComputeService</a></li>
+                        <li><a href="/start/blobstore/">BlobStore</a></li>
+                        <li><a href="http://github.com/jclouds/jclouds-examples">Examples</a></li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/guides/providers/">Cloud Providers</a></li>
+                        <li><a href="/guides">User Guides</a></li>
+                        <li><a href="/reference/configuration/">Configuration</a></li>
+                        <li><a href="/reference/logging/">Logging</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Developer Guides</li>
+                        <li><a href="http://wiki.apache.org/jclouds/">Wiki</a></li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="/community/">Get In Touch!</a></li>
+                        <li><a href="http://www.meetup.com/jclouds/">Attend An Event</a></li>
+                        <li><a href="/community/users/">Who Is Using jclouds?</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Contribute</li>
+                        <li><a href="/reference/report-a-bug/">Report a Bug</a></li>
+                        <li><a href="http://wiki.apache.org/jclouds/How%20to%20Contribute">How To Contribute Code</a></li>
+                        <li><a href="http://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation">How To Contribute Documentation</a></li>
+                    </ul>
+                </li>
+                <li><a href="/blog">Blog</a></li>
+            </ul>
+            <ul class="nav navbar-nav navbar-right">
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Release Notes<strong class="caret"></strong></a>
+                    <ul class="dropdown-menu">
+                        <!-- only keep the release notes for supported versions in this list -->
+                        <li><a href="/releasenotes/1.7.1">1.7.1</a></li>
+                        <li><a href="/releasenotes/1.7.0">1.7.0</a></li>
+                        <li><a href="/releasenotes/1.6.3">1.6.3</a></li>
+                        <li><a href="/releasenotes/1.6.2">1.6.2</a></li>
+                        <li><a href="/releasenotes/1.6.1">1.6.1</a></li>
+                        <li class="divider"></li>
+                        <li class="dropdown-header">Previous releases</li>
+                        <li><a href="/releasenotes">Release archive</a></li>
+                    </ul>
+                </li>
+                <li>
+                    <div>
+                        <a class="btn btn-success navbar-btn" href="/start/install/">
+                            <span class="glyphicon glyphicon-download"></span>
+                            Install
+                        </a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+
+        <div class="container">
+            <div class="page-header">
+                <h1>VMWare vCloud: Getting Started Guide</h1>
+            </div>
+            <p>jclouds currently supports most of the VMware vCloud API. We also provide tools that make developing to it easier.</p>
+
+<h2>Service Providers</h2>
+
+<p>Here are the providers of the VMware vCloud API and the level of support in jclouds:</p>
+
+<table>
+<thead>
+<tr>
+<th> <em>Company</em> </th>
+<th> <em>Offering</em> </th>
+<th> <em>Provider in jclouds</em> </th>
+<th> <em>API Version in jclouds</em> </th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td> <img src="http://www.vmware.com/files/images/vam/img-terremark.gif"> </td>
+<td> <a href="http://vcloudexpress.terremark.com/blog.aspx">vCloud Express</a> </td>
+<td> trmk-vcloudexpress </td>
+<td> 0.8a-ext1.6 </td>
+</tr>
+<tr>
+<td> <img src="http://www.vmware.com/files/images/vam/img-terremark.gif"></td>
+<td> <a href="http://www.terremark.com/services/cloudcomputing/theenterprisecloud.aspx">Enterprise Cloud</a> </td>
+<td> trmk-ecloud </td>
+<td> 0.8b-ext2.3 </td>
+</tr>
+<tr>
+<td> <img src="http://www.vmware.com/files/images/vam/img-bluelock.gif"> </td>
+<td> <a href="http://www.bluelock.com/bluelock-cloud-hosting/virtual-cloud-enterprise/">vCloud Enterprise</a></td>
+<td> bluelock-vcdirector </td>
+<td> 1.0 </td>
+</tr>
+<tr>
+<td> <a href="http://www.stratogen.net/products/vmware-hosting.html"><img src="http://www.stratogen.net/images/footerlogo.gif"></a> </td>
+<td> <a href="http://www.stratogen.net/products/vmware-hosting.html">VMware Hosting</a></td>
+<td> stratogen-vcloud-mycloud </td>
+<td> 1.0 </td>
+</tr>
+</tbody>
+</table>
+
+
+<h2>Obtaining a context to vCloud</h2>
+
+<p>Once you have jclouds libraries loaded, the easiest way to get started is to use the
+<code>*ContextBuilder</code>.  This takes your username and password and gives you a context
+to either get a portable cloud computing interface (<code>getComputeService()</code> ), or the direct vCloud API ( <code>getProviderContext().getApi()</code> ).</p>
+
+<ul>
+<li>Getting a context to connect to Terremark vCloud Express:</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java"><span class="c1">// add the ssh module, if you are using ComputeService, otherwise leave it out</span>
+<span class="n">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;trmk-vcloudexpress&quot;</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="n">email</span><span class="o">,</span> <span class="n">password</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">ImmutableSet</span><span class="o">.&lt;</span><span class="n">Module</span><span class="o">&gt;</span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span>
+                                                        <span class="k">new</span> <span class="nf">SshjSshClientModule</span><span class="o">()))</span>
+                      <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="c1">// use context to obtain vcloud objects with terremark vCloud express extensions</span>
+<span class="n">RestContext</span><span class="o">&lt;</span><span class="n">TerremarkVCloudExpressClient</span><span class="o">,</span> <span class="n">TerremarkVCloudExpressAsyncClient</span><span class="o">&gt;</span>  <span class="n">providerContext</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getProviderContext</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>Getting a context to use Terremark eCloud</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java"><span class="c1">// add the ssh module, if you are using ComputeService, otherwise leave it out</span>
+<span class="n">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;trmk-ecloud&quot;</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="n">email</span><span class="o">,</span> <span class="n">password</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">ImmutableSet</span><span class="o">.&lt;</span><span class="n">Module</span><span class="o">&gt;</span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span>
+                                                        <span class="k">new</span> <span class="nf">SshjSshClientModule</span><span class="o">()))</span>
+                      <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="c1">// use context to obtain vcloud objects with terremark eCloud extensions</span>
+<span class="n">RestContext</span><span class="o">&lt;</span><span class="n">TerremarkECloudClient</span><span class="o">,</span> <span class="n">TerremarkECloudAsyncClient</span><span class="o">&gt;</span>  <span class="n">providerContext</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getProviderContext</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>Here's an example of getting a context to BlueLock vCloud Director</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java"><span class="c1">// add the ssh module, if you are using ComputeService, otherwise leave it out</span>
+<span class="n">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;bluelock-vcdirector&quot;</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="n">user</span><span class="o">,</span> <span class="n">password</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">ImmutableSet</span><span class="o">.&lt;</span><span class="n">Module</span><span class="o">&gt;</span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span>
+                                                        <span class="k">new</span> <span class="nf">SshjSshClientModule</span><span class="o">()))</span>
+                      <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="n">RestContext</span><span class="o">&lt;</span><span class="n">VCloudClient</span><span class="o">,</span> <span class="n">VCloudAsyncClient</span><span class="o">&gt;</span> <span class="n">providerContext</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getProviderContext</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>Here's an example of getting a context to StratoGen vCloud Director</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java">      <span class="c1">// add the ssh module, if you are using ComputeService, otherwise leave it out</span>
+      <span class="n">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;stratogen-vcloud-mycloud&quot;</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="n">user</span><span class="o">,</span> <span class="n">password</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">ImmutableSet</span><span class="o">.&lt;</span><span class="n">Module</span><span class="o">&gt;</span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span>
+                                                        <span class="k">new</span> <span class="nf">SshjSshClientModule</span><span class="o">()))</span>
+                      <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+      <span class="n">RestContext</span><span class="o">&lt;</span><span class="n">VCloudClient</span><span class="o">,</span> <span class="n">VCloudAsyncClient</span><span class="o">&gt;</span> <span class="n">providerContext</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getProviderContext</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>Getting a context to any portable version 1.0 vCloud:</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java"><span class="n">Properties</span> <span class="n">overrides</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span class="na">setProperty</span><span class="o">(</span><span class="s">&quot;vcloud.endpoint&quot;</span><span class="o">,</span> <span class="s">&quot;https://****/api&quot;</span><span class="o">);</span>
+
+<span class="c1">// add the ssh module, if you are using ComputeService, otherwise leave it out</span>
+<span class="n">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;vcloud&quot;</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="n">user</span><span class="o">,</span> <span class="n">password</span><span class="o">)</span>
+                      <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">ImmutableSet</span><span class="o">.&lt;</span><span class="n">Module</span><span class="o">&gt;</span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span>
+                                                        <span class="k">new</span> <span class="nf">SshjSshClientModule</span><span class="o">()))</span>
+                      <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="n">RestContext</span><span class="o">&lt;</span><span class="n">VCloudClient</span><span class="o">,</span> <span class="n">VCloudAsyncClient</span><span class="o">&gt;</span> <span class="n">providerContext</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getProviderContext</span><span class="o">();</span>
+</code></pre></div>
+
+
+<h2>Portability</h2>
+
+<p>All vClouds (Express or Director) extend the same interfaces <code>CommonVCloudClient</code> and
+<code>CommonVCloudAsyncClient</code>  You can always use this in place of the vendor-specific interface.</p>
+
+<div class="highlight"><pre><code class="text">// get a synchronous object to use for manipulating vcloud objects
+CommonVCloudClient client = context.getApi()
+</code></pre></div>
+
+
+<p>If you are interacting with Terremark, you can cast to <code>VCloudExpressClient</code> and <code>VCloudExpressAsyncClient</code>
+to use the common features between eCloud and vCloud Express.</p>
+
+<h3>Locating a vApp template to instantiate</h3>
+
+<p>In order to instantiate a vApp template, you must first find one.  Here's how to lookup a Ubuntu template:</p>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// lookup the item holding the vAppTemplate you wish to deploy by name</span>
+<span class="c1">// note that if you don&#39;t specify a parameter for org and catalog, jclouds will search the default catalog</span>
+<span class="n">CatalogItem</span> <span class="n">item</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">findCatalogItemInOrgCatalogNamed</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Ubuntu JeOS 9.04 (32-bit)&quot;</span><span class="o">);</span>
+
+<span class="c1">// note that the href of the catalog item isn&#39;t necessarily the same as the actual template</span>
+<span class="c1">// always get the &quot;real&quot; template from the catalog item&#39;s entity</span>
+<span class="n">VAppTemplate</span> <span class="n">vAppTemplate</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVAppTemplate</span><span class="o">(</span><span class="n">item</span><span class="o">.</span><span class="na">getEntity</span><span class="o">().</span><span class="na">getHref</span><span class="o">());</span>
+
+<span class="c1">// note that vcloud 0.8 vApp template is not compatible with 1.0.</span>
+<span class="c1">// Use VCloudExpressVAppTemplate in that case</span>
+<span class="n">VCloudExpressVAppTemplate</span> <span class="n">vAppTemplate</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVAppTemplate</span><span class="o">(</span><span class="n">item</span><span class="o">.</span><span class="na">getEntity</span><span class="o">().</span><span class="na">getHref</span><span class="o">());</span>
+</code></pre></div>
+
+
+<h3>Instantiate, deploy, and powerOn a vApp template in vCloud 0.8 (Terremark)</h3>
+
+<p>To make use of a vApp, you must first instantiate it, then deploy it, finally power it on.</p>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// lookup the datacenter you are deploying into, nulls for default</span>
+<span class="n">vdc</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">findVDCInOrgNamed</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+
+<span class="c1">// instantiate, noting vApp returned has minimal details: id, name, location</span>
+<span class="n">VCloudExpressVApp</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">instantiateVAppTemplateInVDC</span><span class="o">(</span><span class="n">vdc</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">vAppTemplate</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">serverName</span><span class="o">);</span>
+
+<span class="c1">// Execute this to start deployment</span>
+<span class="n">Task</span> <span class="n">deployTask</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">deployVApp</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+
+<span class="c1">// this object will loop up to 5 minutes for any task to complete on apply()</span>
+<span class="n">RetryablePredicate</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">taskTester</span> <span class="o">=</span> <span class="k">new</span> <span class="n">RetryablePredicate</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;(</span><span class="k">new</span> <span class="n">TaskSuccess</span><span class="o">(</span><span class="n">context</span>
+         <span class="o">.</span><span class="na">getAsyncApi</span><span class="o">()),</span> <span class="mi">300</span><span class="o">,</span> <span class="mi">10</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+
+<span class="c1">// block until deployment task shows success</span>
+<span class="k">if</span> <span class="o">(!</span><span class="n">taskTester</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">deployTask</span><span class="o">.</span><span class="na">getHref</span><span class="o">())</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">Exception</span><span class="o">(</span><span class="s">&quot;could not deploy &quot;</span><span class="o">+</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+
+<span class="c1">// turn on vApp</span>
+<span class="n">Task</span> <span class="n">onTask</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">powerOnVApp</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+
+<span class="c1">// block until poweron task shows success</span>
+<span class="k">if</span> <span class="o">(!</span><span class="n">taskTester</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">onTask</span><span class="o">.</span><span class="na">getHref</span><span class="o">()))</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">Exception</span><span class="o">(</span><span class="s">&quot;could not turn on &quot;</span><span class="o">+</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+</code></pre></div>
+
+
+<h3>Instantiate, deploy, and powerOn a vApp template in vCloud 1.0</h3>
+
+<p>To make use of a vApp, you must first instantiate it, then deploy it, finally power it on.  Default in vCloud 1.0 is
+to transition to powerOn state from instantiate.</p>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// lookup the datacenter you are deploying into, nulls for default</span>
+<span class="n">vdc</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">findVDCInOrgNamed</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+
+<span class="c1">// instantiate, noting vApp returned has minimal details: id, name, location</span>
+<span class="n">VApp</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">instantiateVAppTemplateInVDC</span><span class="o">(</span><span class="n">vdc</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">vAppTemplate</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">serverName</span><span class="o">);</span>
+
+<span class="c1">// the task inside the app will complete when the power is on</span>
+<span class="n">Task</span> <span class="n">task</span> <span class="o">=</span> <span class="n">vAppResponse</span><span class="o">.</span><span class="na">getTasks</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
+
+<span class="c1">// this object will loop up to 5 minutes for any task to complete on apply()</span>
+<span class="n">RetryablePredicate</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">taskTester</span> <span class="o">=</span> <span class="k">new</span> <span class="n">RetryablePredicate</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;(</span><span class="k">new</span> <span class="n">TaskSuccess</span><span class="o">(</span><span class="n">context</span>
+          <span class="o">.</span><span class="na">getAsyncApi</span><span class="o">()),</span> <span class="mi">300</span><span class="o">,</span> <span class="mi">10</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+
+<span class="c1">// block until task shows success</span>
+<span class="k">if</span> <span class="o">(!</span><span class="n">taskTester</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">task</span><span class="o">.</span><span class="na">getHref</span><span class="o">())</span>
+     <span class="k">throw</span> <span class="k">new</span> <span class="nf">Exception</span><span class="o">(</span><span class="s">&quot;could not deploy and powerOn &quot;</span><span class="o">+</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+</code></pre></div>
+
+
+<h3>Getting vApp details</h3>
+
+<p>In order to get details such as the private IP address, the vApp must at least be deployed.</p>
+
+<div class="highlight"><pre><code class="java">     <span class="c1">// after deployment, the vApp will have all details.</span>
+     <span class="c1">// note that 0.8 or VCloudExpress objects are not compatible with 1.0 ones</span>
+
+     <span class="c1">// for terremark or other vCloud Express 0.8 based services</span>
+     <span class="n">VCloudExpressVApp</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVApp</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+
+     <span class="c1">// for vCloud 1.0 based services</span>
+     <span class="n">vApp</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVApp</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+</code></pre></div>
+
+
+<h3>Closing the context</h3>
+
+<p>The context object uses threads and other resources.  When you are finished, close it.</p>
+
+<div class="highlight"><pre><code class="java">      <span class="n">context</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
+</code></pre></div>
+
+
+<h3>vApp Templates</h3>
+
+<p>vApp Templates are like images in other systems.  However, these also include virtual hardware settings, which can be customized.</p>
+
+<h3>FAQ</h3>
+
+<ul>
+<li><p>Can I tell the template that my vApp was created from?
+No.</p></li>
+<li><p>How do I list the vApp instances in a VDC?</p></li>
+</ul>
+
+
+<p>vApps are listed as ResourceEntities in the vDC.</p>
+
+<div class="highlight"><pre><code class="java"><span class="k">for</span> <span class="o">(</span><span class="n">ReferenceType</span> <span class="n">item</span> <span class="o">:</span>  <span class="n">vdc</span><span class="o">.</span><span class="na">getResourceEntities</span><span class="o">().</span><span class="na">values</span><span class="o">())</span> <span class="o">{</span>
+   <span class="k">if</span> <span class="o">(</span><span class="n">item</span><span class="o">.</span><span class="na">getType</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="n">VCloudMediaType</span><span class="o">.</span><span class="na">VAPP_XML</span><span class="o">))</span> <span class="o">{</span>
+      <span class="c1">// version 1.0</span>
+      <span class="n">VApp</span> <span class="n">app</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVApp</span><span class="o">(</span><span class="n">item</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+      <span class="c1">// version 0.8 (terremark)</span>
+      <span class="n">VCloudExpressVApp</span> <span class="n">app</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">getVApp</span><span class="o">(</span><span class="n">item</span><span class="o">.</span><span class="na">getHref</span><span class="o">());</span>
+   <span class="o">}</span>
+<span class="o">}</span>
+</code></pre></div>
+
+
+<ul>
+<li>How do I get the size of a vApp? (1.0)
+Get a reference to the vApp object and query the ResourceAllocations in the hardware section of the enclosed VMs</li>
+</ul>
+
+
+<div class="highlight"><pre><code class="java"><span class="kn">import</span> <span class="nn">static</span> <span class="n">com</span><span class="o">.</span><span class="na">google</span><span class="o">.</span><span class="na">common</span><span class="o">.</span><span class="na">collect</span><span class="o">.</span><span class="na">Iterables</span><span class="o">.*;</span>
+<span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span class="na">vcloud</span><span class="o">.</span><span class="na">predicates</span><span class="o">.</span><span class="na">VCloudPredicates</span><span class="o">.</span><span class="na">resourceType</span><span class="o">;</span>
+
+<span class="n">Vm</span> <span class="n">vm</span> <span class="o">=</span> <span class="n">get</span><span class="o">(</span><span class="n">from</span><span class="o">.</span><span class="na">getChildren</span><span class="o">(),</span> <span class="mi">0</span><span class="o">);</span>
+<span class="n">VirtualHardwareSection</span> <span class="n">hardware</span> <span class="o">=</span> <span class="n">vm</span><span class="o">.</span><span class="na">getVirtualHardwareSection</span><span class="o">();</span>
+
+<span class="kt">int</span> <span class="n">megsRam</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">hardware</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">MEMORY</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+
+<span class="c1">// be careful as you may have multiple processors</span>
+<span class="kt">int</span> <span class="n">vpus</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">hardware</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">PROCESSOR</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+
+<span class="c1">// be careful as you may have multiple disks</span>
+<span class="kt">int</span> <span class="n">kbDisk</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">hardware</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">DISK_DRIVE</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>How do I get the size of a vApp? (0.8)</li>
+</ul>
+
+
+<p>Get a reference to the vApp object and query the ResourceAllocations</p>
+
+<div class="highlight"><pre><code class="java"><span class="kn">import</span> <span class="nn">static</span> <span class="n">com</span><span class="o">.</span><span class="na">google</span><span class="o">.</span><span class="na">common</span><span class="o">.</span><span class="na">collect</span><span class="o">.</span><span class="na">Iterables</span><span class="o">.*;</span>
+<span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span class="na">vcloud</span><span class="o">.</span><span class="na">predicates</span><span class="o">.</span><span class="na">VCloudPredicates</span><span class="o">.</span><span class="na">resourceType</span><span class="o">;</span>
+
+<span class="kt">int</span> <span class="n">megsRam</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">MEMORY</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+
+<span class="c1">// be careful as you may have multiple processors</span>
+<span class="kt">int</span> <span class="n">vpus</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">PROCESSOR</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+
+<span class="c1">// be careful as you may have multiple disks</span>
+<span class="kt">int</span> <span class="n">kbDisk</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">find</span><span class="o">(</span><span class="n">vApp</span><span class="o">.</span><span class="na">getResourceAllocations</span><span class="o">(),</span> <span class="n">resourceType</span><span class="o">(</span><span class="n">ResourceType</span><span class="o">.</span><span class="na">DISK_DRIVE</span><span class="o">)).</span><span class="na">getVirtualQuantity</span><span class="o">();</span>
+</code></pre></div>
+
+
+<ul>
+<li>How do I clone my vApp without starting the clone?</li>
+</ul>
+
+
+<p><code>Note that the the source vApp must be off before you can clone it.</code></p>
+
+<p>This is the default behavior of cloneVApp.</p>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// lookup the datacenter you are deploying into, nulls for default</span>
+<span class="n">vdc</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">findVDCInOrgNamed</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+
+<span class="n">String</span> <span class="n">newName</span> <span class="o">=</span> <span class="s">&quot;clone of &quot;</span><span class="o">+</span><span class="n">sourceVApp</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
+
+<span class="n">Task</span> <span class="n">task</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">cloneVAppInVDC</span><span class="o">(</span><span class="n">vdc</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">sourceVApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">newName</span><span class="o">);</span>
+</code></pre></div>
+
+
+<ul>
+<li>How do I make a clone which automatically powers on?</li>
+</ul>
+
+
+<p>You need to set a couple options for this.  deploy, then poweron.</p>
+
+<div class="highlight"><pre><code class="java"><span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span class="na">vcloud</span><span class="o">.</span><span class="na">options</span><span class="o">.</span><span class="na">CloneVAppOptions</span><span class="o">.</span><span class="na">Builder</span><span class="o">.</span><span class="na">deploy</span><span class="o">;</span>
+
+<span class="c1">// lookup the datacenter you are deploying into, nulls for default</span>
+<span class="n">vdc</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">findVDCInOrgNamed</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+
+<span class="n">String</span> <span class="n">newName</span> <span class="o">=</span> <span class="s">&quot;clone of &quot;</span><span class="o">+</span><span class="n">sourceVApp</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
+
+<span class="n">Task</span> <span class="n">task</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">cloneVAppInVDC</span><span class="o">(</span><span class="n">vdc</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">sourceVApp</span><span class="o">.</span><span class="na">getHref</span><span class="o">(),</span> <span class="n">newName</span><span class="o">,</span> <span class="n">deploy</span><span class="o">().</span><span class="na">powerOn</span><span class="o">());</span>
+</code></pre></div>
+
+
+
+
+            <div class="row clearfix">
+                <div id="footer" class="col-md-12 column">
+                    <div id="footer">
+    <hr/>
+    <div class="row clearfix">
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/start/">Getting Started</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/reference/report-a-bug/">Report a Bug</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation">Fix This Page</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://wiki.apache.org/jclouds/How%20to%20Contribute">Contribute Code</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="/community/">Contact Us</a>
+            </p>
+        </div>
+        <div class="col-md-2 column">
+            <p class="text-center">
+                <a class="text-primary" href="https://twitter.com/jclouds">Follow Us</a>
+            </p>
+        </div>
+    </div>
+    <hr style="margin-top: 10px"/>
+    <div class="row clearfix">
+        <div class="col-md-12 column">
+            <p class="text-center">
+              Copyright &copy; 2011-2014 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
+            </p>
+            <p class="text-center">
+              Apache, jclouds, Apache jclouds, the jclouds logo, and the Apache feather logos are registered trademarks or trademarks of the Apache Software Foundation.
+            </p>
+            <p class="text-center">
+              <img src="/img/feather-small.gif" width="80", height="24"/>
+            </p>
+            <br/>
+        </div>
+    </div>
+</div>
+
+                </div>
+            </div>
+        </div>
+    </body>
+</html>