<!DOCTYPE html>
<html lang="en">
    <head>
        {% include head.html %}
    </head>
    <body>
        {% include navbar.html %}
        <div id="home-content" class="container">

            {% comment %}
            {% include supportapache.html %}
            {% include apachecon.html %}
            {% endcomment %}

	    <div class="row clearfix">
                <div class="col-md-4 column">
                    <img src="/img/fullsizelogo.jpg" class="img-rounded"/>
                </div>
                <div class="col-md-8 column">
                    <div class="jumbotron">
                        <h2>The Java Multi-Cloud Toolkit</h2>
                        <p>Apache jclouds® is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are <strong>portable across clouds</strong> while giving you <strong>full control</strong> to use cloud-specific features.</p>
                        <p>
                            <a class="btn btn-primary btn-large" href="/start/">
                                <span class="glyphicon glyphicon-book"></span>
                                Learn
                            </a>
                            <a class="btn btn-success btn-large" href="/start/install/">
                                <span class="glyphicon glyphicon-download"></span>
                                Install
                            </a>
                            <a class="btn btn-warning btn-large" href="https://github.com/apache/jclouds">
                                <span class="glyphicon glyphicon-cog"></span>
                                Source
                            </a>
                            <a class="btn btn-warning btn-large" href="/community/">
                                <span class="glyphicon glyphicon-globe"></span>
                                Contribute
                            </a>
                        </p>
                    </div>
                </div>
            </div>

            <div id="releasenews" class="alert alert-info">
                <p>The <a href="/start/install/">latest version</a> is {{ site.latest_version }} released on {{ site.latest_version_date }}! Read the <a href="/releasenotes/{{ site.latest_version }}/">release notes</a>.</p>
            </div>

            {% capture news %}{% include news.md %}{% endcapture %}
            {{ news | markdownify }}

            <div class="section-divider">
                <span class="text">CLOUDS</span>
            </div>
            <br/>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/aws.jpg" alt="Amazon Web Services" title="Amazon Web Services"/></li>
                <li><img class="img-list" src="img/logos/cloudsigma.png" alt="CloudSigma" title="CloudSigma"/></li>
                <li><img class="img-list" src="img/logos/cloudstack.png" alt="CloudStack" title="CloudStack"/></li>
                <li><img class="img-list" src="img/logos/digitalocean.png" alt="DigitalOcean" title="DigitalOcean"/></li>
            </ul>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/docker.png" alt="Docker" title="Docker"/></li>
                <li><img class="img-list" src="img/logos/gcp.png" alt="Google Cloud Platform" title="Google Cloud Platform"/></li>
                <li><img class="img-list" src="img/logos/ms-azure.png" alt="Microsoft Azure" title="Microsoft Azure"/></li>
            </ul>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/openstack.png" alt="OpensStack" title="OpenStack"/></li>
                <li><img class="img-list" src="img/logos/packet.png" alt="Packet" title="Packet"/></li>
                <li><img class="img-list" src="img/logos/profitbricks.png" alt="ProfitBricks" title="ProfitBricks"/></li>
                <li><img class="img-list" src="img/logos/rackspace.png" alt="Rackspace" title="Rackspace"/></li>
            </ul>
            <p class="lead text-center text-primary"><strong><a href="/reference/providers/">...and many more!</a></strong></p>

            <div class="section-divider">
                <span class="text">CODE</span>
            </div>
            <br/>
            <div class="row clearfix">
                <div class="col-md-6 column">
                    <div class="panel panel-primary">
                        <div class="panel-heading">
                            <h3 class="panel-title">Compute</h3>
                        </div>
                        <div class="panel-body">
{% highlight java %}
ComputeService compute = ContextBuilder.newBuilder("aws-ec2")
    .credentials("identity", "credential")
    .buildView(ComputeServiceContext.class)
    .getComputeService();

Template template = compute.templateBuilder()
    .osFamily(OsFamily.UBUNTU)
    .minRam(2048)
    .options(inboundPorts(22, 80))
    .build();

compute.createNodesInGroup("jclouds", 1, template);
{% endhighlight %}
                        </div>
                    </div>
                </div>
                <div class="col-md-6 column">
                    <div class="panel panel-primary">
                        <div class="panel-heading">
                            <h3 class="panel-title">BlobStore</h3>
                        </div>
                        <div class="panel-body">
{% highlight java %}
BlobStore blobStore = ContextBuilder.newBuilder("aws-s3")
    .credentials("identity", "credential")
    .buildView(BlobStoreContext.class)
    .getBlobStore();
blobStore.createContainerInLocation(location, "container-name");

ByteSource payload = ByteSource.wrap(new byte[] {1, 2, 3, 4});
Blob blob = blobStore.blobBuilder("blob-name")
    .payload(payload)
    .contentLength(payload.size())
    .build();
blobStore.putBlob("container-name", blob);
{% endhighlight %}
                        </div>
                    </div>
                </div>
            </div>
            <div class="row clearfix">
                <div class="col-md-3 column">
                    <h3 class="text-primary"><span class="glyphicon glyphicon-cog"></span>&nbsp;Compute</h3>
                    <p>The portable Compute interface allows users to provision their infrastructure in any cloud provider. With Apache jclouds&reg; users are in control of the entire process: deployment configuration, provisioning and bootstrap.</p>
                </div>
                <div class="col-md-3 column">
                    <h3 class="text-primary"><span class="glyphicon glyphicon-hdd"></span>&nbsp;BlobStore</h3>
                    <p>Using the BlobStore interface, users can easily store objects in a wide range of blob store providers, regardless of how big the objects to manage are, or how many files are there.</p>
                </div>
                <div class="col-md-3 column">
                    <h3 class="text-primary"><span class="glyphicon glyphicon-stats"></span>&nbsp;Load Balancer</h3>
                    <p>The Load Balancer abstraction provides a common interface to configure the load balancers in any cloud that supports them. Just define the load balancer and the nodes that should join it, and it will be ready for the action.</p>
                </div>
                <div class="col-md-3 column">
                    <h3 class="text-primary"><span class="glyphicon glyphicon-fire"></span>&nbsp;Specific APIs</h3>
                    <p>Apache jclouds&reg; also provides DNS, firewall, storage, configuration management, image management, provider specific APIs, and much more. Make sure to check them out!</p>
                </div>
            </div>
            <br/>
            <div class="section-divider">
                <span class="text">USERS</span>
            </div>
            <br/>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/adobe.png" alt="Adobe" title="Adobe"/></li>
                <li><img class="img-list" src="img/logos/cloudsoft.png" alt="Cloudsoft" title="Cloudsoft"/></li>
                <li><img class="img-list" src="img/logos/jenkins.png" alt="Jenkins" title="Jenkins"/></li>
                <li><img class="img-list" src="img/logos/maginatics.png" alt="Maginatics" title="Maginatics"/></li>
                <li><img class="img-list" src="img/logos/neoload.png" alt="NeoTys NeoLoad" title="NeoTys NeoLoad"/></li>
            </ul>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/cloudify.png" alt="GigaSpaces Cloudify" title="GigaSpaces Cloudify"/></li>
                <li><img class="img-list" src="img/logos/pallet.png" alt="Pallet" title="Pallet"/></li>
                <li><img class="img-list" src="img/logos/redhat.png" alt="Red Hat" title="Red Hat"/></li>
                <li><img class="img-list" src="img/logos/seatyourself.gif" alt="SeatYourself" title="SeatYourself"/></li>
            </ul>
            <ul class="list-inline text-center">
                <li><img class="img-list" src="img/logos/mesosphere.png" alt="Mesosphere" title="Mesosphere"/></li>
            </ul>
            <p class="lead text-center text-primary"><strong><a href="/community/users/">...and many more!</a></strong></p>

            {% include footer.html %}
        </div>
    </body>
</html>
