Modified: jclouds/site-content/guides/rackspace/index.html URL: http://svn.apache.org/viewvc/jclouds/site-content/guides/rackspace/index.html?rev=1923693&r1=1923692&r2=1923693&view=diff ============================================================================== --- jclouds/site-content/guides/rackspace/index.html (original) +++ jclouds/site-content/guides/rackspace/index.html Mon Feb 10 07:25:53 2025 @@ -150,95 +150,80 @@ <h1>Rackspace Cloud: Getting Started Guide</h1> </div> <ol> -<li><a href="#intro">Introduction</a></li> -<li><a href="#account">Get a Username and API Key</a></li> -<li><a href="#install">Get jclouds</a></li> -<li><a href="#terminology">Terminology</a></li> -<li><a href="#files">Your First Cloud Files App</a></li> -<li><a href="#servers">Your First Cloud Servers App</a></li> -<li><a href="#volumes">Working with Cloud Block Storage</a></li> -<li><a href="#loadbalancers">Working with Cloud Load Balancers</a></li> -<li><a href="#databases">Working with Cloud Databases</a></li> -<li><a href="#autoscale">Working with Cloud Auto Scale</a></li> -<li><a href="#queues">Working with Cloud Queues</a></li> -<li><a href="#next">Next Steps</a></li> -<li><a href="#providers">Rackspace Cloud Providers</a></li> -<li><a href="#support">Support and Feedback</a></li> + <li><a href="#intro">Introduction</a></li> + <li><a href="#account">Get a Username and API Key</a></li> + <li><a href="#install">Get jclouds</a></li> + <li><a href="#terminology">Terminology</a></li> + <li><a href="#files">Your First Cloud Files App</a></li> + <li><a href="#servers">Your First Cloud Servers App</a></li> + <li><a href="#volumes">Working with Cloud Block Storage</a></li> + <li><a href="#loadbalancers">Working with Cloud Load Balancers</a></li> + <li><a href="#databases">Working with Cloud Databases</a></li> + <li><a href="#autoscale">Working with Cloud Auto Scale</a></li> + <li><a href="#queues">Working with Cloud Queues</a></li> + <li><a href="#next">Next Steps</a></li> + <li><a href="#providers">Rackspace Cloud Providers</a></li> + <li><a href="#support">Support and Feedback</a></li> </ol> - -<h2><a id="intro"></a>Introduction</h2> - +<h2 id="introduction"><a id="intro"></a>Introduction</h2> <p>The <a href="https://www.rackspace.com/cloud/public/">Rackspace Cloud</a> platform includes everything you need to build websites and applications that scale servers, storage, networking, APIs, and more. The Rackspace Cloud is based on OpenStack, which is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds.</p> -<p>This guide assumes you're familiar with Java and its technologies. To get started you'll need access to the Rackspace cloud and jclouds.</p> - -<h2><a id="account"></a>Get a Username and API Key</h2> +<p>This guide assumes youâre familiar with Java and its technologies. To get started youâll need access to the Rackspace cloud and jclouds.</p> +<h2 id="get-a-username-and-api-key"><a id="account"></a>Get a Username and API Key</h2> <ol> -<li>If you don't have a Username and API Key already, sign up for <a href="https://developer.rackspace.com/signup/">developer+</a> to try the Rackspace Cloud. - -<ul> -<li>developer+ gives you a 12-month infrastructure credit that can be used with all of the Rackspace services.</li> -</ul> -</li> -<li>Login to the <a href="https://mycloud.rackspace.com/">Cloud Control Panel (US)</a> or the <a href="https://mycloud.rackspace.co.uk/">Cloud Control Panel (UK)</a>.</li> -<li>In the top right corner click on your username and then click Account Settings to locate your API Key.</li> + <li>If you donât have a Username and API Key already, sign up for <a href="https://developer.rackspace.com/signup/">developer+</a> to try the Rackspace Cloud. + <ul> + <li>developer+ gives you a 12-month infrastructure credit that can be used with all of the Rackspace services.</li> + </ul> + </li> + <li>Login to the <a href="https://mycloud.rackspace.com/">Cloud Control Panel (US)</a> or the <a href="https://mycloud.rackspace.co.uk/">Cloud Control Panel (UK)</a>.</li> + <li>In the top right corner click on your username and then click Account Settings to locate your API Key.</li> +</ol> + +<h2 id="get-jclouds"><a id="install"></a>Get jclouds</h2> + +<ol> + <li>Ensure you are using the <a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">Java Development Kit (JDK) version 6 or later</a>. + <ul> + <li><code class="language-plaintext highlighter-rouge">javac -version</code></li> + </ul> + </li> + <li>Ensure you are using <a href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven version 3 or later</a>. + <ul> + <li><code class="language-plaintext highlighter-rouge">mvn -version</code></li> + </ul> + </li> + <li>Create a directory to try out jclouds. + <ul> + <li><code class="language-plaintext highlighter-rouge">mkdir jclouds</code></li> + <li><code class="language-plaintext highlighter-rouge">cd jclouds</code></li> + </ul> + </li> + <li>Make a local copy of this <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/pom.xml">pom.xml</a> file in the jclouds directory. + <ul> + <li><code class="language-plaintext highlighter-rouge">mvn dependency:copy-dependencies "-DoutputDirectory=./lib"</code></li> + </ul> + </li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> </ol> - -<h2><a id="install"></a>Get jclouds</h2> - -<ol> -<li>Ensure you are using the <a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">Java Development Kit (JDK) version 6 or later</a>. - -<ul> -<li><code>javac -version</code></li> -</ul> -</li> -<li>Ensure you are using <a href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven version 3 or later</a>. - -<ul> -<li><code>mvn -version</code></li> -</ul> -</li> -<li>Create a directory to try out jclouds. - -<ul> -<li><code>mkdir jclouds</code></li> -<li><code>cd jclouds</code></li> -</ul> -</li> -<li>Make a local copy of this <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/pom.xml">pom.xml</a> file in the jclouds directory. - -<ul> -<li><code>mvn dependency:copy-dependencies "-DoutputDirectory=./lib"</code></li> -</ul> -</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -</ol> - - -<h2><a id="terminology"></a>Terminology</h2> - +<h2 id="terminology"><a id="terminology"></a>Terminology</h2> <p>There are some differences in terminology between jclouds and Rackspace/OpenStack that should be made clear.</p> - <div class="row clearfix"> <div class="col-md-4 column"> <table class="table table-striped table-hover"> @@ -286,64 +271,56 @@ </div> </div> +<h2 id="your-first-cloud-files-app"><a id="files"></a>Your First Cloud Files App</h2> +<h3 id="introduction-1"><a id="files-intro"></a>Introduction</h3> -<h2><a id="files"></a>Your First Cloud Files App</h2> +<p><a href="https://www.rackspace.com/cloud/public/files/">Cloud Files</a> is an easy to use online storage for files and media which can be delivered globally over Akamaiâs content delivery network (CDN).</p> -<h3><a id="files-intro"></a>Introduction</h3> - -<p><a href="https://www.rackspace.com/cloud/public/files/">Cloud Files</a> is an easy to use online storage for files and media which can be delivered globally over Akamai's content delivery network (CDN).</p> - -<h3><a id="files-apis"></a>APIs</h3> +<h3 id="apis"><a id="files-apis"></a>APIs</h3> <p>Cloud Files works with a portable layer in jclouds that is used to access features common to all cloud object storage systems. Cloud Files also works with the OpenStack layer in jclouds that is used to access features common to all OpenStack Swift object storage systems. Finally, Cloud Files works with the Rackspace layer in jclouds that is used to access features specific to the Rackspace object storage system.</p> <ol> -<li>The portable API for Cloud Files is org.jclouds.blobstore.BlobStore.</li> -<li>The OpenStack API for Cloud Files is org.jclouds.openstack.swift.CommonSwiftClient.</li> -<li>The Rackspace API for Cloud Files is org.jclouds.cloudfiles.CloudFilesClient.</li> -<li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> -</ol> - - -<h3><a id="files-source"></a>The Source Code</h3> - -<ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudfiles/ in your jclouds directory.</li> -<li>Create Java source files called CloudFilesPublish.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/cloudfiles/</code> - -<ul> -<li><code>CloudFilesPublish.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CloudFilesPublish.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java">CloudFilesPublish.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> + <li>The portable API for Cloud Files is org.jclouds.blobstore.BlobStore.</li> + <li>The OpenStack API for Cloud Files is org.jclouds.openstack.swift.CommonSwiftClient.</li> + <li>The Rackspace API for Cloud Files is org.jclouds.cloudfiles.CloudFilesClient.</li> + <li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> +</ol> + +<h3 id="the-source-code"><a id="files-source"></a>The Source Code</h3> + +<ol> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudfiles/ in your jclouds directory.</li> + <li>Create Java source files called CloudFilesPublish.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/cloudfiles/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CloudFilesPublish.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CloudFilesPublish.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java">CloudFilesPublish.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run"><a id="files-compile"></a>Compile and Run</h3> -<h3><a id="files-compile"></a>Compile and Run</h3> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.cloudfiles.CloudFilesPublish myUsername myApiKey @@ -353,64 +330,57 @@ Create Object From File createObjectFromFile.html Enable CDN Container Go to https://blah.rackcdn.com/createObjectFromFile.html -</code></pre> - -<h2><a id="servers"></a>Your First Cloud Servers App</h2> +</code></pre></div></div> -<h3><a id="servers-intro"></a>Introduction</h3> +<h2 id="your-first-cloud-servers-app"><a id="servers"></a>Your First Cloud Servers App</h2> +<h3 id="introduction-2"><a id="servers-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/public/servers/">Cloud Servers</a> is an easy to use service that provides on-demand servers that you can use to to build dynamic websites, deliver mobile apps, or crunch big data.</p> -<h3><a id="servers-apis"></a>APIs</h3> +<h3 id="apis-1"><a id="servers-apis"></a>APIs</h3> <p>Cloud Servers works with a portable layer in jclouds that is used to access features common to all cloud compute systems. Cloud Servers also works with the OpenStack layer in jclouds that is used to access features common to all OpenStack Nova compute systems.</p> <ol> -<li>The portable API for Cloud Servers is org.jclouds.compute.ComputeService.</li> -<li>The OpenStack API for Cloud Servers is the org.jclouds.openstack.nova.v2_0.features.ServerApi. It's accessible via the org.jclouds.openstack.nova.v2_0.NovaApi.</li> -<li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> + <li>The portable API for Cloud Servers is org.jclouds.compute.ComputeService.</li> + <li>The OpenStack API for Cloud Servers is the org.jclouds.openstack.nova.v2_0.features.ServerApi. Itâs accessible via the org.jclouds.openstack.nova.v2_0.NovaApi.</li> + <li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> +</ol> + +<h3 id="the-source-code-1"><a id="servers-source"></a>The Source Code</h3> + +<ol> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudservers/ in your jclouds directory.</li> + <li>Create Java source files called CloudServersPublish.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/cloudservers/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CloudServersPublish.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CloudServersPublish.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java">CloudServersPublish.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-1"><a id="servers-compile"></a>Compile and Run</h3> -<h3><a id="servers-source"></a>The Source Code</h3> - -<ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudservers/ in your jclouds directory.</li> -<li>Create Java source files called CloudServersPublish.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/cloudservers/</code> - -<ul> -<li><code>CloudServersPublish.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CloudServersPublish.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java">CloudServersPublish.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> -</ol> - - -<h3><a id="servers-compile"></a>Compile and Run</h3> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.cloudservers.CloudServersPublish myUsername myApiKey @@ -421,63 +391,56 @@ Create Server Login: ssh [email protected] Password: a1b2c3d4 Go to http://123.123.123.123 -</code></pre> +</code></pre></div></div> -<h2><a id="volumes"></a>Working with Cloud Block Storage</h2> - -<h3><a id="volumes-intro"></a>Introduction</h3> +<h2 id="working-with-cloud-block-storage"><a id="volumes"></a>Working with Cloud Block Storage</h2> +<h3 id="introduction-3"><a id="volumes-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/public/blockstorage/">Cloud Block Storage</a> allows you to create volumes on which to persistently store your data from your servers, even when those servers have been deleted. It delivers consistent performance for your I/O-intensive applications.</p> -<h3><a id="volumes-apis"></a>APIs</h3> +<h3 id="apis-2"><a id="volumes-apis"></a>APIs</h3> <p>Cloud Block Storage works with the OpenStack layer in jclouds that is used to access features common to all OpenStack Cinder block storage systems.</p> <ol> -<li>The OpenStack API for Cloud Block Storage is the org.jclouds.openstack.cinder.v1.CinderApi. All other APIs for working with block storage are accessible via the CinderApi.</li> -<li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> + <li>The OpenStack API for Cloud Block Storage is the org.jclouds.openstack.cinder.v1.CinderApi. All other APIs for working with block storage are accessible via the CinderApi.</li> + <li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> </ol> - -<h3><a id="volumes-source"></a>The Source Code</h3> +<h3 id="the-source-code-2"><a id="volumes-source"></a>The Source Code</h3> <ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudblockstorage/ in your jclouds directory.</li> -<li>Create Java source files called CreateVolumeAndAttach.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/cloudblockstorage/</code> - -<ul> -<li><code>CreateVolumeAndAttach.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CreateVolumeAndAttach.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudblockstorage/CreateVolumeAndAttach.java">CreateVolumeAndAttach.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudblockstorage/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudblockstorage/ in your jclouds directory.</li> + <li>Create Java source files called CreateVolumeAndAttach.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/cloudblockstorage/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CreateVolumeAndAttach.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CreateVolumeAndAttach.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudblockstorage/CreateVolumeAndAttach.java">CreateVolumeAndAttach.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudblockstorage/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-2"><a id="volumes-compile"></a>Compile and Run</h3> -<h3><a id="volumes-compile"></a>Compile and Run</h3> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudblockstorage/CreateVolumeAndAttach.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudblockstorage/CreateVolumeAndAttach.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.cloudblockstorage.CreateVolumeAndAttach myUsername myApiKey @@ -493,254 +456,226 @@ Mount Volume and Create Filesystem Exit Status: 0 List Volumes ... -</code></pre> - -<h2><a id="loadbalancers"></a>Working with Cloud Load Balancers</h2> +</code></pre></div></div> -<h3><a id="loadbalancers-intro"></a>Introduction</h3> +<h2 id="working-with-cloud-load-balancers"><a id="loadbalancers"></a>Working with Cloud Load Balancers</h2> +<h3 id="introduction-4"><a id="loadbalancers-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/public/loadbalancers/">Cloud Load Balancers</a> distributes workloads across two or more servers, network links, and other resources to maximize throughput, minimize response time, and avoid overload. Rackspace Cloud Load Balancers allow you to quickly load balance multiple Cloud Servers for optimal resource utilization.</p> -<h3><a id="loadbalancers-apis"></a>APIs</h3> +<h3 id="apis-3"><a id="loadbalancers-apis"></a>APIs</h3> <p>Cloud Load Balancers works with the Rackspace layer in jclouds that is used to access features specific to the Rackspace load balancer system.</p> <ol> -<li>The Rackspace API for Cloud Load Balancers is org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersApi. All other APIs for working with load balancers are accessible via the CloudLoadBalancersApi.</li> -<li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> + <li>The Rackspace API for Cloud Load Balancers is org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersApi. All other APIs for working with load balancers are accessible via the CloudLoadBalancersApi.</li> + <li>You can find these APIs in the latest <a href="https://demobox.github.com/jclouds-maven-site/latest/apidocs">Javadoc</a>.</li> </ol> - -<h3><a id="loadbalancers-source"></a>The Source Code</h3> +<h3 id="the-source-code-3"><a id="loadbalancers-source"></a>The Source Code</h3> <ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudloadbalancers/ in your jclouds directory.</li> -<li>Create Java source files called CreateLoadBalancerWithExistingServers.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/cloudloadbalancers/</code> - -<ul> -<li><code>CreateLoadBalancerWithExistingServers.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CreateLoadBalancerWithExistingServers.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithExistingServers.java">CreateLoadBalancerWithExistingServers.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudloadbalancers/ in your jclouds directory.</li> + <li>Create Java source files called CreateLoadBalancerWithExistingServers.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/cloudloadbalancers/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CreateLoadBalancerWithExistingServers.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CreateLoadBalancerWithExistingServers.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithExistingServers.java">CreateLoadBalancerWithExistingServers.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-3"><a id="loadbalancers-compile"></a>Compile and Run</h3> -<h3><a id="loadbalancers-compile"></a>Compile and Run</h3> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithExistingServers.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithExistingServers.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.cloudloadbalancers.CreateLoadBalancerWithExistingServers myUsername myApiKey Create Cloud Load Balancer LoadBalancer{id=85901...} Go to http://166.78.34.87 -</code></pre> - -<h2><a id="databases"></a>Working with Cloud Databases</h2> +</code></pre></div></div> -<h3><a id="databases-intro"></a>Introduction</h3> +<h2 id="working-with-cloud-databases"><a id="databases"></a>Working with Cloud Databases</h2> +<h3 id="introduction-5"><a id="databases-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/databases/">Cloud Databases</a> provides easily managed cloud MySQL instances with built-in data replication for speed and reliability.</p> -<h3><a id="databases-apis"></a>APIs</h3> +<h3 id="apis-4"><a id="databases-apis"></a>APIs</h3> -<p>You can access Cloud Databases with the jclouds openstack-trove API by specifying the rackspace clouddatabases providers "rackspace-clouddatabases-us" and "rackspace-clouddatabases-uk". The -us one can be used to access the United States regions, and the -uk one is for the United Kingdom regions. The examples use the -us provider, but the providers are interchangeable (but regions will differ).</p> +<p>You can access Cloud Databases with the jclouds openstack-trove API by specifying the rackspace clouddatabases providers ârackspace-clouddatabases-usâ and ârackspace-clouddatabases-ukâ. The -us one can be used to access the United States regions, and the -uk one is for the United Kingdom regions. The examples use the -us provider, but the providers are interchangeable (but regions will differ).</p> <ol> -<li>The Rackspace compatible API for Cloud Databases is org.jclouds.openstack.trove.v1.TroveApi - All other APIs for working with Cloud Databases are accessible via the TroveApi.</li> + <li>The Rackspace compatible API for Cloud Databases is org.jclouds.openstack.trove.v1.TroveApi - All other APIs for working with Cloud Databases are accessible via the TroveApi.</li> </ol> - -<h3><a id="databases-source"></a>The Source Code</h3> - -<ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/clouddatabases/ in your jclouds directory.</li> -<li>Create Java source files called CreateInstance.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/clouddatabases/</code> - -<ul> -<li><code>CreateInstance.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CreateInstance.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/clouddatabases/CreateInstance.java">CreateInstance.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/clouddatabases/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> +<h3 id="the-source-code-4"><a id="databases-source"></a>The Source Code</h3> + +<ol> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/clouddatabases/ in your jclouds directory.</li> + <li>Create Java source files called CreateInstance.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/clouddatabases/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CreateInstance.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CreateInstance.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/clouddatabases/CreateInstance.java">CreateInstance.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/clouddatabases/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-4"><a id="databases-compile"></a>Compile and Run</h3> -<h3><a id="databases-compile"></a>Compile and Run</h3> +<p>Note: When providing a java classpath in Windows, the path separator is â;â instead of â:â</p> -<p>Note: When providing a java classpath in Windows, the path separator is ';' instead of ':'</p> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/clouddatabases/CreateInstance.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/clouddatabases/CreateInstance.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.clouddatabases.CreateInstance myUsername myApiKey -</code></pre> +</code></pre></div></div> -<h3><a id="databases-advanced"></a>Advanced work with Cloud Databases</h3> +<h3 id="advanced-work-with-cloud-databases"><a id="databases-advanced"></a>Advanced work with Cloud Databases</h3> <p>In addition to the create database instance example, by going through the clouddatabases example code, you will learn to create instances, databases, and database users as well as delete and modify them. You will also learn how to set up and access a database from the public internet over JDBC. You can find the examples documentation in the <a href="https://github.com/apache/jclouds-examples/tree/master/rackspace">Rackspace examples</a>.</p> -<h2><a id="autoscale"></a>Working with Cloud Auto Scale</h2> - -<h3><a id="autoscale-intro"></a>Introduction</h3> +<h2 id="working-with-cloud-auto-scale"><a id="autoscale"></a>Working with Cloud Auto Scale</h2> +<h3 id="introduction-6"><a id="autoscale-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/auto-scale/">Cloud Auto Scale</a> takes the work out of capacity planning, allowing Rackspace Cloud Monitoring alerts or scheduled events to create and delete servers. Through the use of webhooks, Auto Scale can be integrated into countless deployment scenarios. Read the dev blog <a href="https://developer.rackspace.com/blog/rackspace-autoscale-is-now-open-source.html">here</a>.</p> -<h3><a id="autoscale-apis"></a>APIs</h3> +<h3 id="apis-5"><a id="autoscale-apis"></a>APIs</h3> -<p>You can access Cloud Auto Scale with the jclouds rackspace-autoscale API by specifying the Auto Scale provider "rackspace-autoscale-us". There is no -uk provider at this time.</p> +<p>You can access Cloud Auto Scale with the jclouds rackspace-autoscale API by specifying the Auto Scale provider ârackspace-autoscale-usâ. There is no -uk provider at this time.</p> <ol> -<li>The Rackspace compatible API for Auto Scale is org.jclouds.rackspace.autoscale.v1.AutoscaleApi - All other APIs for working with Auto Scale are accessible via the <a href="http://jclouds-javadocs.elasticbeanstalk.com/org/jclouds/rackspace/autoscale/v1/AutoscaleApi.html">AutoscaleApi</a>.</li> + <li>The Rackspace compatible API for Auto Scale is org.jclouds.rackspace.autoscale.v1.AutoscaleApi - All other APIs for working with Auto Scale are accessible via the <a href="http://jclouds-javadocs.elasticbeanstalk.com/org/jclouds/rackspace/autoscale/v1/AutoscaleApi.html">AutoscaleApi</a>.</li> </ol> - -<h3><a id="autoscale-source"></a>The Source Code</h3> - -<ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/autoscale/ in your jclouds directory.</li> -<li>Create Java source files called CreatePolicy.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/autoscale/</code> - -<ul> -<li><code>CreatePolicy.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open CreatePolicy.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/autoscale/CreatePolicy.java">CreatePolicy.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/autoscale/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> +<h3 id="the-source-code-5"><a id="autoscale-source"></a>The Source Code</h3> + +<ol> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/autoscale/ in your jclouds directory.</li> + <li>Create Java source files called CreatePolicy.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/autoscale/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">CreatePolicy.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open CreatePolicy.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/autoscale/CreatePolicy.java">CreatePolicy.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/autoscale/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-5"><a id="autoscale-compile"></a>Compile and Run</h3> -<h3><a id="autoscale-compile"></a>Compile and Run</h3> - -<p>Note: When providing a java classpath in Windows, the path separator is ';' instead of ':' +<p>Note: When providing a java classpath in Windows, the path separator is â;â instead of â:â Note: This uses the API key, not the password.</p> -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/autoscale/CreatePolicy.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/autoscale/CreatePolicy.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.autoscale.CreatePolicy myUsername myApiKey -</code></pre> +</code></pre></div></div> -<h3><a id="autoscale-advanced"></a>Advanced work with Auto Scale</h3> +<h3 id="advanced-work-with-auto-scale"><a id="autoscale-advanced"></a>Advanced work with Auto Scale</h3> <p>In addition to the CreatePolicy example, by going through the Auto Scale example code, you will learn to create and execute webhooks, and delete and modify groups, policies, and webhooks. You can find the examples documentation in the <a href="https://github.com/apache/jclouds-examples/tree/master/rackspace">Rackspace examples</a>.</p> -<h2><a id="queues"></a>Working with Cloud Queues</h2> - -<h3><a id="queues-intro"></a>Introduction</h3> +<h2 id="working-with-cloud-queues"><a id="queues"></a>Working with Cloud Queues</h2> +<h3 id="introduction-7"><a id="queues-intro"></a>Introduction</h3> <p><a href="https://www.rackspace.com/cloud/queues/">Cloud Queues</a> easily connect distributed applications without installing complex software. Create unlimited queues quickly and send unlimited messages.</p> -<h3><a id="queues-apis"></a>APIs</h3> +<h3 id="apis-6"><a id="queues-apis"></a>APIs</h3> <p>Cloud Queues works with the OpenStack layer in jclouds that is used to access features common to all OpenStack Marconi queuing systems.</p> <ol> -<li>The OpenStack API for Cloud Queues is the org.jclouds.openstack.marconi.v1.MarconiApi. All other APIs for working with queues are accessible via the MarconiApi.</li> + <li>The OpenStack API for Cloud Queues is the org.jclouds.openstack.marconi.v1.MarconiApi. All other APIs for working with queues are accessible via the MarconiApi.</li> </ol> - -<h3><a id="queues-source"></a>The Source Code</h3> +<h3 id="the-source-code-6"><a id="queues-source"></a>The Source Code</h3> <ol> -<li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudqueues/ in your jclouds directory.</li> -<li>Create Java source files called ProducerConsumer.java and Constants.java in the directory above.</li> -<li>You should now have a directory with the following structure: - -<ul> -<li><code>jclouds/</code> - -<ul> -<li><code>pom.xml</code></li> -<li><code>lib/</code> - -<ul> -<li><code>*.jar</code></li> -</ul> -</li> -<li><code>org/jclouds/examples/rackspace/cloudqueues/</code> - -<ul> -<li><code>ProducerConsumer.java</code></li> -<li><code>Constants.java</code></li> -</ul> -</li> -</ul> -</li> -</ul> -</li> -<li>Open ProducerConsumer.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudqueues/ProducerConsumer.java">ProducerConsumer.java</a>, read it over, and copy the code into your file.</li> -<li>Open Constants.java for editing.</li> -<li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudqueues/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> + <li>Create the directory hierarchy org/jclouds/examples/rackspace/cloudqueues/ in your jclouds directory.</li> + <li>Create Java source files called ProducerConsumer.java and Constants.java in the directory above.</li> + <li>You should now have a directory with the following structure: + <ul> + <li><code class="language-plaintext highlighter-rouge">jclouds/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">pom.xml</code></li> + <li><code class="language-plaintext highlighter-rouge">lib/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">*.jar</code></li> + </ul> + </li> + <li><code class="language-plaintext highlighter-rouge">org/jclouds/examples/rackspace/cloudqueues/</code> + <ul> + <li><code class="language-plaintext highlighter-rouge">ProducerConsumer.java</code></li> + <li><code class="language-plaintext highlighter-rouge">Constants.java</code></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Open ProducerConsumer.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudqueues/ProducerConsumer.java">ProducerConsumer.java</a>, read it over, and copy the code into your file.</li> + <li>Open Constants.java for editing.</li> + <li>Go to the example code <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudqueues/Constants.java">Constants.java</a>, read it over, and copy the code into your file.</li> </ol> +<h3 id="compile-and-run-6"><a id="queues-compile"></a>Compile and Run</h3> -<h3><a id="queues-compile"></a>Compile and Run</h3> - -<pre><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudqueues/ProducerConsumer.java +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>javac -classpath ".:lib/*" org/jclouds/examples/rackspace/cloudqueues/ProducerConsumer.java java -classpath ".:lib/*" org.jclouds.examples.rackspace.cloudqueues.ProducerConsumer myUsername myApiKey @@ -757,15 +692,15 @@ Producer Consumer Producer 1 Message 1:5 Consumer 2 Message 1:4 (Queue This Way) ... -</code></pre> +</code></pre></div></div> -<h2><a id="jee"></a>jclouds in a Managed Container</h2> +<h2 id="jclouds-in-a-managed-container"><a id="jee"></a>jclouds in a Managed Container</h2> -<p>Setting up jclouds to work in a managed container is easy. You simply need to ensure that jclouds won't spawn any of its own threads. You can do this by using the ExecutorServiceModule when building your Context.</p> +<p>Setting up jclouds to work in a managed container is easy. You simply need to ensure that jclouds wonât spawn any of its own threads. You can do this by using the ExecutorServiceModule when building your Context.</p> <p>An example code snippet:</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">util</span><span class="o">.</span><span class="na">concurrent</span><span class="o">.</span><span class="na">MoreExecutors</span><span class="o">.</span><span class="na">sameThreadExecutor</span><span class="o">;</span> +<figure class="highlight"><pre><code class="language-java" data-lang="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">util</span><span class="o">.</span><span class="na">concurrent</span><span class="o">.</span><span class="na">MoreExecutors</span><span class="o">.</span><span class="na">sameThreadExecutor</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.jclouds.compute.ComputeService</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.jclouds.compute.ComputeServiceContext</span><span class="o">;</span> @@ -775,56 +710,52 @@ Producer Consumer <span class="o">...</span> <span class="kd">private</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="o">{</span> - <span class="n">Iterable</span><span class="o"><</span><span class="n">Module</span><span class="o">></span> <span class="n">modules</span> <span class="o">=</span> <span class="n">ImmutableSet</span><span class="o">.<</span><span class="n">Module</span><span class="o">></span> <span class="n">of</span><span class="o">(</span> + <span class="nc">Iterable</span><span class="o"><</span><span class="nc">Module</span><span class="o">></span> <span class="n">modules</span> <span class="o">=</span> <span class="nc">ImmutableSet</span><span class="o">.<</span><span class="nc">Module</span><span class="o">></span> <span class="nf">of</span><span class="o">(</span> <span class="k">new</span> <span class="nf">ExecutorServiceModule</span><span class="o">(</span><span class="n">sameThreadExecutor</span><span class="o">(),</span> <span class="n">sameThreadExecutor</span><span class="o">()));</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">"rackspace-cloudservers-us"</span><span class="o">)</span> - <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"myUsername"</span><span class="o">,</span> <span class="s">"myApiKey"</span><span class="o">)</span> + <span class="nc">ComputeServiceContext</span> <span class="n">context</span> <span class="o">=</span> <span class="nc">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">"rackspace-cloudservers-us"</span><span class="o">)</span> + <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"myUsername"</span><span class="o">,</span> <span class="s">"myApiKey"</span><span class="o">)</span> <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="n">modules</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">ComputeService</span> <span class="n">compute</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">();</span> + <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="nc">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + <span class="nc">ComputeService</span> <span class="n">compute</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">();</span> <span class="o">}</span> <span class="o">...</span> -<span class="o">}</span> -</code></pre></div> - +<span class="o">}</span></code></pre></figure> -<h2><a id="next"></a>Next Steps</h2> +<h2 id="next-steps"><a id="next"></a>Next Steps</h2> <ol> -<li>Try the rest of the <a href="https://github.com/apache/jclouds-examples/tree/master/rackspace#the-examples">Rackspace examples</a> and the <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/Logging.java">Logging example</a>.</li> -<li>When you're ready to publish some web pages on the internet, try the <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java">CloudFilesPublish.java</a>, <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java">CloudServersPublish.java</a>, or <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithNewServers.java">CreateLoadBalancerWithNewServers.java</a> examples.</li> -<li>Change the examples to do different things that you want to do.</li> -<li>After running some examples, compare the output with what you see in the <a href="https://mycloud.rackspace.com/">Cloud Control Panel</a>.</li> -<li>Join the <a href="/community/">jclouds community</a> as either a developer or user.</li> + <li>Try the rest of the <a href="https://github.com/apache/jclouds-examples/tree/master/rackspace#the-examples">Rackspace examples</a> and the <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/Logging.java">Logging example</a>.</li> + <li>When youâre ready to publish some web pages on the internet, try the <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java">CloudFilesPublish.java</a>, <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudservers/CloudServersPublish.java">CloudServersPublish.java</a>, or <a href="https://github.com/apache/jclouds-examples/blob/master/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudloadbalancers/CreateLoadBalancerWithNewServers.java">CreateLoadBalancerWithNewServers.java</a> examples.</li> + <li>Change the examples to do different things that you want to do.</li> + <li>After running some examples, compare the output with what you see in the <a href="https://mycloud.rackspace.com/">Cloud Control Panel</a>.</li> + <li>Join the <a href="/community/">jclouds community</a> as either a developer or user.</li> </ol> - -<h2><a id="providers"></a>Rackspace Cloud Providers</h2> +<h2 id="rackspace-cloud-providers"><a id="providers"></a>Rackspace Cloud Providers</h2> <p>This is a list of providers that work with the Rackspace Cloud that you can use to build your Context.</p> <ul> -<li><code>"cloudfiles-us"</code></li> -<li><code>"cloudfiles-uk"</code></li> -<li><code>"rackspace-cloudservers-us"</code></li> -<li><code>"rackspace-cloudservers-uk"</code></li> -<li><code>"rackspace-autoscale-us"</code></li> -<li><code>"rackspace-cloudblockstorage-us"</code></li> -<li><code>"rackspace-cloudblockstorage-uk"</code></li> -<li><code>"rackspace-cloudloadbalancers-us"</code></li> -<li><code>"rackspace-cloudloadbalancers-uk"</code></li> -<li><code>"rackspace-clouddatabases-us"</code></li> -<li><code>"rackspace-clouddatabases-uk"</code></li> -<li><code>"rackspace-cloudqueues-us"</code></li> -<li><code>"rackspace-cloudqueues-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"cloudfiles-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"cloudfiles-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudservers-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudservers-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-autoscale-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudblockstorage-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudblockstorage-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudloadbalancers-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudloadbalancers-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-clouddatabases-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-clouddatabases-uk"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudqueues-us"</code></li> + <li><code class="language-plaintext highlighter-rouge">"rackspace-cloudqueues-uk"</code></li> </ul> +<h2 id="support-and-feedback"><a id="support"></a>Support and Feedback</h2> -<h2><a id="support"></a>Support and Feedback</h2> - -<p>Your feedback is appreciated! If you have specific issues with Rackspace support in jclouds, we'd prefer that you file an issue via <a href="https://issues.apache.org/jira/browse/JCLOUDS">JIRA</a>.</p> +<p>Your feedback is appreciated! If you have specific issues with Rackspace support in jclouds, weâd prefer that you file an issue via <a href="https://issues.apache.org/jira/browse/JCLOUDS">JIRA</a>.</p> <p>For general feedback and support requests, please join the <a href="/community/">jclouds community</a>.</p>
Modified: jclouds/site-content/guides/softlayer/index.html URL: http://svn.apache.org/viewvc/jclouds/site-content/guides/softlayer/index.html?rev=1923693&r1=1923692&r2=1923693&view=diff ============================================================================== --- jclouds/site-content/guides/softlayer/index.html (original) +++ jclouds/site-content/guides/softlayer/index.html Mon Feb 10 07:25:53 2025 @@ -154,131 +154,110 @@ <p>Currently, <em>SoftLayer</em> offers 3 main âcloudâ flavours:</p> <ul> -<li><code>Bare Metal Server</code> (<em>BMS</em>): SoftLayer dedicated servers give you options from entry-level single processor servers to quad proc, hex-core, and even GPU-powered workhorses.</li> -<li><code>Virtual Server</code> (<em>BMI</em>): Single-tenant environment with SoftLayer managed hypervisor, ideal for applications with stringent resource requirements. It can be considered as a specialized configuration of Bare Metal Servers with limited options.</li> -<li><code>Public Cloud Instances</code> (<em>CCI</em>): Multi-tenant environment with SoftLayer managed hypervisor, ideal for rapid scalability and higher-cost effectiveness.</li> + <li><code class="language-plaintext highlighter-rouge">Bare Metal Server</code> (<em>BMS</em>): SoftLayer dedicated servers give you options from entry-level single processor servers to quad proc, hex-core, and even GPU-powered workhorses.</li> + <li><code class="language-plaintext highlighter-rouge">Virtual Server</code> (<em>BMI</em>): Single-tenant environment with SoftLayer managed hypervisor, ideal for applications with stringent resource requirements. It can be considered as a specialized configuration of Bare Metal Servers with limited options.</li> + <li><code class="language-plaintext highlighter-rouge">Public Cloud Instances</code> (<em>CCI</em>): Multi-tenant environment with SoftLayer managed hypervisor, ideal for rapid scalability and higher-cost effectiveness.</li> </ul> - <p>Starting from 1.8.0, Jclouds supports officially only Public Cloud Instances (CCI).</p> -<h2>Getting Started</h2> - +<h2 id="getting-started">Getting Started</h2> <ol> -<li>Sign up for <a href="https://www.softlayer.com/cloud-servers/">SoftLayer Cloud</a>.</li> -<li>Log in to the</li> -<li>Get your Username and API Key: - -<ul> -<li>Sign in to <a href="https://control.softlayer.com">SoftLayer Customer Portal</a></li> -<li>Navigate to <a href="https://control.softlayer.com/account/users">Users</a></li> -<li>Click on "View" under <code>API Key</code> to see the API credential.</li> -</ul> -</li> -<li>Ensure you are using a recent version of Java 6.</li> -<li>Setup your project to include <code>softlayer</code>. - -<ul> -<li>Get the dependencies <code>org.jclouds.provider/softlayer</code> using jclouds <a href="/start/install">Installation</a>.</li> -</ul> -</li> -<li>Start coding.</li> + <li>Sign up for <a href="https://www.softlayer.com/cloud-servers/">SoftLayer Cloud</a>.</li> + <li>Log in to the</li> + <li>Get your Username and API Key: + <ul> + <li>Sign in to <a href="https://control.softlayer.com">SoftLayer Customer Portal</a></li> + <li>Navigate to <a href="https://control.softlayer.com/account/users">Users</a></li> + <li>Click on âViewâ under <code class="language-plaintext highlighter-rouge">API Key</code> to see the API credential.</li> + </ul> + </li> + <li>Ensure you are using a recent version of Java 6.</li> + <li>Setup your project to include <code class="language-plaintext highlighter-rouge">softlayer</code>. + <ul> + <li>Get the dependencies <code class="language-plaintext highlighter-rouge">org.jclouds.provider/softlayer</code> using jclouds <a href="/start/install">Installation</a>.</li> + </ul> + </li> + <li>Start coding.</li> </ol> +<h2 id="softlayer-compute">SoftLayer Compute</h2> -<h2>SoftLayer Compute</h2> - -<div class="highlight"><pre><code class="java"><span class="c1">// Get a context with softlayer that offers the portable ComputeService API</span> -<span class="n">ComputeServiceContext</span> <span class="n">computeServiceContext</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">"softlayer"</span><span class="o">)</span> - <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"username"</span><span class="o">,</span> <span class="s">"apiKey"</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">.<</span><span class="n">Module</span><span class="o">></span> <span class="n">of</span><span class="o">(</span><span class="k">new</span> <span class="n">Log4JLoggingModule</span><span class="o">(),</span> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// Get a context with softlayer that offers the portable ComputeService API</span> +<span class="nc">ComputeServiceContext</span> <span class="n">computeServiceContext</span> <span class="o">=</span> <span class="nc">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">"softlayer"</span><span class="o">)</span> + <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"username"</span><span class="o">,</span> <span class="s">"apiKey"</span><span class="o">)</span> + <span class="o">.</span><span class="na">modules</span><span class="o">(</span><span class="nc">ImmutableSet</span><span class="o">.<</span><span class="nc">Module</span><span class="o">></span> <span class="nf">of</span><span class="o">(</span><span class="k">new</span> <span class="nc">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="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="nc">ComputeServiceContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> -<span class="n">ComputeService</span> <span class="n">computeService</span> <span class="o">=</span> <span class="n">computeServiceContext</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">();</span> +<span class="nc">ComputeService</span> <span class="n">computeService</span> <span class="o">=</span> <span class="n">computeServiceContext</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">();</span> <span class="c1">// List availability zones</span> -<span class="n">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">Location</span><span class="o">></span> <span class="n">locations</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listAssignableLocations</span><span class="o">();</span> +<span class="nc">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="nc">Location</span><span class="o">></span> <span class="n">locations</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listAssignableLocations</span><span class="o">();</span> <span class="c1">// List nodes</span> -<span class="n">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">ComputeMetadata</span><span class="o">></span> <span class="n">nodes</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listNodes</span><span class="o">();</span> +<span class="nc">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="nc">ComputeMetadata</span><span class="o">></span> <span class="n">nodes</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listNodes</span><span class="o">();</span> <span class="c1">// List hardware profiles</span> -<span class="n">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">Hardware</span><span class="o">></span> <span class="n">hardware</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listHardwareProfiles</span><span class="o">();</span> +<span class="nc">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="nc">Hardware</span><span class="o">></span> <span class="n">hardware</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listHardwareProfiles</span><span class="o">();</span> <span class="c1">// List images</span> -<span class="n">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">org</span><span class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span class="na">compute</span><span class="o">.</span><span class="na">domain</span><span class="o">.</span><span class="na">Image</span><span class="o">></span> <span class="n">image</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listImages</span><span class="o">();</span> -</code></pre></div> +<span class="nc">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">org</span><span class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span class="na">compute</span><span class="o">.</span><span class="na">domain</span><span class="o">.</span><span class="na">Image</span><span class="o">></span> <span class="n">image</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">listImages</span><span class="o">();</span></code></pre></figure> +<p>NB: âcomputeService.listImages()â returns <code class="language-plaintext highlighter-rouge">operatingSystems</code> from <a href="https://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Virtual_Guest_Configuration">SoftLayer_Container_Virtual_Guest_Configuration</a>.</p> -<p>NB: "computeService.listImages()" returns <code>operatingSystems</code> from <a href="https://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Virtual_Guest_Configuration">SoftLayer_Container_Virtual_Guest_Configuration</a>.</p> - -<div class="highlight"><pre><code class="java"><span class="c1">// Create nodes with templates</span> -<span class="n">Template</span> <span class="n">template</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">templateBuilder</span><span class="o">().</span><span class="na">osFamily</span><span class="o">(</span><span class="n">OsFamily</span><span class="o">.</span><span class="na">UBUNTU</span><span class="o">).</span><span class="na">build</span><span class="o">();</span> -<span class="n">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="n">NodeMetadata</span><span class="o">></span> <span class="n">groupedNodes</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">createNodesInGroup</span><span class="o">(</span><span class="s">"myGroup"</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="n">template</span><span class="o">);</span> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// Create nodes with templates</span> +<span class="nc">Template</span> <span class="n">template</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">templateBuilder</span><span class="o">().</span><span class="na">osFamily</span><span class="o">(</span><span class="nc">OsFamily</span><span class="o">.</span><span class="na">UBUNTU</span><span class="o">).</span><span class="na">build</span><span class="o">();</span> +<span class="nc">Set</span><span class="o"><?</span> <span class="kd">extends</span> <span class="nc">NodeMetadata</span><span class="o">></span> <span class="n">groupedNodes</span> <span class="o">=</span> <span class="n">computeService</span><span class="o">.</span><span class="na">createNodesInGroup</span><span class="o">(</span><span class="s">"myGroup"</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="n">template</span><span class="o">);</span> <span class="c1">// Reboot images in a group</span> -<span class="n">computeService</span><span class="o">.</span><span class="na">rebootNodesMatching</span><span class="o">(</span><span class="n">inGroup</span><span class="o">(</span><span class="s">"myGroup"</span><span class="o">));</span> -</code></pre></div> - - -<h3>TemplateOptions and SoftLayerTemplateOptions</h3> +<span class="n">computeService</span><span class="o">.</span><span class="na">rebootNodesMatching</span><span class="o">(</span><span class="n">inGroup</span><span class="o">(</span><span class="s">"myGroup"</span><span class="o">));</span></code></pre></figure> +<h3 id="templateoptions-and-softlayertemplateoptions">TemplateOptions and SoftLayerTemplateOptions</h3> <p>In jclouds, the standard mechanism to specify template options is by using the TemplateBuilder. This supports a number of configuration supported by all the api/provider jclouds</p> -<p>For example, the location id is used to specify the "region" provider where to spin your VM:</p> - -<div class="highlight"><pre><code class="java"><span class="n">TemplateBuilder</span> <span class="n">templateBuilder</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">().</span><span class="na">templateBuilder</span><span class="o">();</span> -<span class="n">templateBuilder</span><span class="o">.</span><span class="na">locationId</span><span class="o">(</span><span class="s">"ams01"</span><span class="o">);</span> -</code></pre></div> +<p>For example, the location id is used to specify the âregionâ provider where to spin your VM:</p> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="nc">TemplateBuilder</span> <span class="n">templateBuilder</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getComputeService</span><span class="o">().</span><span class="na">templateBuilder</span><span class="o">();</span> +<span class="n">templateBuilder</span><span class="o">.</span><span class="na">locationId</span><span class="o">(</span><span class="s">"ams01"</span><span class="o">);</span></code></pre></figure> <p>If you need to specify a public image supported by SoftLayer can be referenced as follows:</p> -<div class="highlight"><pre><code class="java"><span class="n">templateBuilder</span><span class="o">.</span><span class="na">imageId</span><span class="o">(</span><span class="s">"CENTOS_6_64"</span><span class="o">);</span> -</code></pre></div> - - -<p>If you want instead to specify a <code>private</code> image, you need to set the <code>globalIdentifier</code> of a VirtualGuestBlockDeviceTemplateGroup, like:</p> - -<div class="highlight"><pre><code class="java"><span class="n">templateBuilder</span><span class="o">.</span><span class="na">imageId</span><span class="o">(</span><span class="s">"3d7697d8-beef-437a-8921-5a2a18bc116f"</span><span class="o">);</span> -</code></pre></div> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">templateBuilder</span><span class="o">.</span><span class="na">imageId</span><span class="o">(</span><span class="s">"CENTOS_6_64"</span><span class="o">);</span></code></pre></figure> +<p>If you want instead to specify a <code class="language-plaintext highlighter-rouge">private</code> image, you need to set the <code class="language-plaintext highlighter-rouge">globalIdentifier</code> of a VirtualGuestBlockDeviceTemplateGroup, like:</p> -<p>Notice, if you don't know the globalIdentifier upfront you can use the following curl command:</p> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">templateBuilder</span><span class="o">.</span><span class="na">imageId</span><span class="o">(</span><span class="s">"3d7697d8-beef-437a-8921-5a2a18bc116f"</span><span class="o">);</span></code></pre></figure> -<div class="highlight"><pre><code class="java"><span class="n">curl</span> <span class="o">-</span><span class="nl">uusername:</span><span class="n">apiKey</span> <span class="nl">https:</span><span class="c1">//api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups?objectMask=children.blockDevices.diskImage.softwareReferences.softwareDescription</span> -</code></pre></div> +<p>Notice, if you donât know the globalIdentifier upfront you can use the following curl command:</p> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">curl</span> <span class="o">-</span><span class="nl">uusername:</span><span class="n">apiKey</span> <span class="nl">https:</span><span class="c1">//api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups?objectMask=children.blockDevices.diskImage.softwareReferences.softwareDescription</span></code></pre></figure> <p>and use the globalIdentifier desired</p> <p>jclouds is able to leverage SoftLayer CCI specific-options described at <a href="https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/createObject">createObject</a> by doing the following:</p> -<div class="highlight"><pre><code class="java"><span class="n">SoftLayerTemplateOptions</span> <span class="n">options</span> <span class="o">=</span> <span class="n">template</span><span class="o">.</span><span class="na">getOptions</span><span class="o">().</span><span class="na">as</span><span class="o">(</span><span class="n">SoftLayerTemplateOptions</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="nc">SoftLayerTemplateOptions</span> <span class="n">options</span> <span class="o">=</span> <span class="n">template</span><span class="o">.</span><span class="na">getOptions</span><span class="o">().</span><span class="na">as</span><span class="o">(</span><span class="nc">SoftLayerTemplateOptions</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> <span class="c1">// domain</span> -<span class="n">options</span><span class="o">.</span><span class="na">domainName</span><span class="o">(</span><span class="s">"live.org"</span><span class="o">);</span> +<span class="n">options</span><span class="o">.</span><span class="na">domainName</span><span class="o">(</span><span class="s">"live.org"</span><span class="o">);</span> <span class="c1">// multi-disk</span> -<span class="n">options</span><span class="o">.</span><span class="na">blockDevices</span><span class="o">(</span><span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">25</span><span class="o">,</span> <span class="mi">400</span><span class="o">,</span> <span class="mi">400</span><span class="o">));</span> +<span class="n">options</span><span class="o">.</span><span class="na">blockDevices</span><span class="o">(</span><span class="nc">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">25</span><span class="o">,</span> <span class="mi">400</span><span class="o">,</span> <span class="mi">400</span><span class="o">));</span> <span class="c1">// disk type (SAN, LOCAL)</span> -<span class="n">options</span><span class="o">.</span><span class="na">diskType</span><span class="o">(</span><span class="s">"SAN"</span><span class="o">);</span> +<span class="n">options</span><span class="o">.</span><span class="na">diskType</span><span class="o">(</span><span class="s">"SAN"</span><span class="o">);</span> <span class="c1">//tags</span> -<span class="n">options</span><span class="o">.</span><span class="na">tags</span><span class="o">(</span><span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"jclouds"</span><span class="o">));</span> +<span class="n">options</span><span class="o">.</span><span class="na">tags</span><span class="o">(</span><span class="nc">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"jclouds"</span><span class="o">));</span> <span class="c1">// primaryNetworkComponent.networkVlan.id</span> <span class="n">options</span><span class="o">.</span><span class="na">primaryNetworkComponentNetworkVlanId</span><span class="o">(</span><span class="n">vlanId</span><span class="o">);</span> <span class="c1">// primaryBackendNetworkComponent.networkVlan.id</span> -<span class="n">options</span><span class="o">.</span><span class="na">primaryBackendNetworkComponentNetworkVlanId</span><span class="o">(</span><span class="n">backendVlanId</span><span class="o">);</span> -</code></pre></div> +<span class="n">options</span><span class="o">.</span><span class="na">primaryBackendNetworkComponentNetworkVlanId</span><span class="o">(</span><span class="n">backendVlanId</span><span class="o">);</span></code></pre></figure> +<p>NB: notice, vlandId and backendVlanId should be the internal IDs and not the vlan number! One can easily retrieve it from the SoftLayer web UI by clicking on VLAN number link of <code class="language-plaintext highlighter-rouge">https://control.softlayer.com/network/vlans</code> +The url will show something like <code class="language-plaintext highlighter-rouge">https://control.softlayer.com/network/vlans/1234567</code> where the vlanId is <em>1234567</em></p> -<p>NB: notice, vlandId and backendVlanId should be the internal IDs and not the vlan number! One can easily retrieve it from the SoftLayer web UI by clicking on VLAN number link of <code>https://control.softlayer.com/network/vlans</code> -The url will show something like <code>https://control.softlayer.com/network/vlans/1234567</code> where the vlanId is <em>1234567</em></p> - -<h3>Provider-specific APIs</h3> - +<h3 id="provider-specific-apis">Provider-specific APIs</h3> <p>When you need access to SoftLayer features, use the provider-specific context</p> -<div class="highlight"><pre><code class="java"><span class="n">SoftLayerApi</span> <span class="n">api</span> <span class="o">=</span> <span class="n">computeServiceContext</span><span class="o">.</span><span class="na">unwrapApi</span><span class="o">(</span><span class="n">SoftLayerApi</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="nc">SoftLayerApi</span> <span class="n">api</span> <span class="o">=</span> <span class="n">computeServiceContext</span><span class="o">.</span><span class="na">unwrapApi</span><span class="o">(</span><span class="nc">SoftLayerApi</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> <span class="c1">// and then get access to the delegate API groups</span> <span class="n">api</span><span class="o">.</span><span class="na">getVirtualGuestApi</span><span class="o">();</span> <span class="n">api</span><span class="o">.</span><span class="na">getDatacenterApi</span><span class="o">();</span> @@ -287,27 +266,22 @@ The url will show something like <code>h <span class="n">api</span><span class="o">.</span><span class="na">getAccountApi</span><span class="o">();</span> <span class="c1">// Be sure to close the context when done</span> -<span class="n">computeServiceContext</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div> - - -<h2>SoftLayer Object Storage</h2> +<span class="n">computeServiceContext</span><span class="o">.</span><span class="na">close</span><span class="o">();</span></code></pre></figure> +<h2 id="softlayer-object-storage">SoftLayer Object Storage</h2> <p>SoftLayer Object Storage is an OpenStack® based blobstore storage system.</p> -<div class="highlight"><pre><code class="java"><span class="c1">// Get a context with softlayer that offers the portable BlobStore API</span> -<span class="n">BlobStoreContext</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">"swift"</span><span class="o">)</span> - <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"tenantName:accessKey"</span><span class="o">,</span> <span class="s">"apiKey)</span> -<span class="s"> .endpoint("</span><span class="nl">https:</span><span class="c1">//<locationId>.objectstorage.softlayer.net/auth/v1.0")</span> - <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">BlobStoreContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> +<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// Get a context with softlayer that offers the portable BlobStore API</span> +<span class="nc">BlobStoreContext</span> <span class="n">context</span> <span class="o">=</span> <span class="nc">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">"swift"</span><span class="o">)</span> + <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"tenantName:accessKey"</span><span class="o">,</span> <span class="s">"apiKey) + .endpoint("</span><span class="nl">https:</span><span class="c1">//<locationId>.objectstorage.softlayer.net/auth/v1.0")</span> + <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="nc">BlobStoreContext</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> <span class="c1">// Create a container in the default location</span> <span class="n">context</span><span class="o">.</span><span class="na">getBlobStore</span><span class="o">().</span><span class="na">createContainerInLocation</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="n">container</span><span class="o">);</span> <span class="c1">// Be sure to close the context when done</span> -<span class="n">context</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div> - +<span class="n">context</span><span class="o">.</span><span class="na">close</span><span class="o">();</span></code></pre></figure> <p>For more examples, see <a href="/guides/openstack/">Openstack</a> documentation.</p>
