Author: tomaz
Date: Sat Nov  5 02:02:53 2011
New Revision: 1197868

URL: http://svn.apache.org/viewvc?rev=1197868&view=rev
Log:
Add some examples.

Added:
    libcloud/site/trunk/content/docs/load-balancer-examples.mdtext
    libcloud/site/trunk/content/docs/storage-examples.mdtext
Modified:
    libcloud/site/trunk/templates/blocks/menu_docs.html

Added: libcloud/site/trunk/content/docs/load-balancer-examples.mdtext
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/content/docs/load-balancer-examples.mdtext?rev=1197868&view=auto
==============================================================================
--- libcloud/site/trunk/content/docs/load-balancer-examples.mdtext (added)
+++ libcloud/site/trunk/content/docs/load-balancer-examples.mdtext Sat Nov  5 
02:02:53 2011
@@ -0,0 +1,46 @@
+title: Load Balancer -> Examples
+
+## Examples
+
+* [Create a Load Balancer with two members and wait for it to become 
ready](#example-1-create-lb-and-wait-for-ready)
+
+<h3 id="example-1-create-lb-and-wait-for-ready">Create a Load Balancer with 
two members and
+wait for it to become ready</h3>
+
+    ::python
+    import time
+    from pprint import pprint
+
+    from libcloud.loadbalancer.base import Member, Algorithm
+    from libcloud.loadbalancer.types import State, Provider
+    from libcloud.loadbalancer.providers import get_driver
+
+
+    driver = get_driver(Provider.RACKSPACE_US)('username', 'api key')
+
+    name = 'test-lb'
+    members = (Member(None, '192.168.86.1', 8080),
+               Member(None, '192.168.86.2', 8080))
+
+    print 'Creating load balancer'
+    new_balancer = driver.create_balancer(name=name,
+                                          algorithm=Algorithm.ROUND_ROBIN,
+                                          port=80, protocol='http',
+                                          members=members)
+
+    print 'Waiting for load balancer to become ready...'
+    while True:
+        balancer = driver.get_balancer(balancer_id=new_balancer.id)
+
+        if balancer.state == State.RUNNING:
+            break
+
+        print 'Load balancer not ready yet, sleeping 20 seconds...'
+        time.sleep(20)
+
+    print 'Load balancer is ready'
+    pprint(balancer)
+
+    # fetch list of members
+    members = balancer.list_members()
+    pprint(members)

Added: libcloud/site/trunk/content/docs/storage-examples.mdtext
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/content/docs/storage-examples.mdtext?rev=1197868&view=auto
==============================================================================
--- libcloud/site/trunk/content/docs/storage-examples.mdtext (added)
+++ libcloud/site/trunk/content/docs/storage-examples.mdtext Sat Nov  5 
02:02:53 2011
@@ -0,0 +1,41 @@
+tityle: Storage -> Examples
+
+## Examples
+
+* [Create a backup of a directory and directly stream it to 
CloudFiles](#example-1-streaming-upload)
+
+<h3 id="example-1-streaming-upload">Create a backup of a directory and 
directly stream it to CloudFiles</h3>
+
+    ::python
+    import subprocess
+    from datetime import datetime
+
+    from libcloud.storage.types import Provider, ContainerDoesNotExistError
+    from libcloud.storage.providers import get_driver
+
+    driver = get_driver(Provider.CLOUDFILES_US)('username', 'api key')
+
+    directory = '/home/some/path'
+    cmd = 'tar cvzpf - %s' % (directory)
+
+    object_name = 'backup-%s.tar.gz' % (datetime.now().strftime('%Y-%m-%d'))
+    container_name = 'backups'
+
+    # Create a container if it doesn't already exist
+    try:
+        container = driver.get_container(container_name=container_name)
+    except ContainerDoesNotExistError:
+        container = driver.create_container(container_name=container_name)
+
+    pipe = subprocess.Popen(cmd, bufsize=0, shell=True, stdout=subprocess.PIPE)
+    return_code = pipe.poll()
+
+    print 'Uploading object...'
+
+    while return_code is None:
+        # Compress data in our directory and stream it directly to CF
+        obj = container.upload_object_via_stream(iterator=pipe.stdout,
+                                                object_name=object_name)
+        return_code = pipe.poll()
+
+    print 'Upload complete, transferred: %s KB' % ((obj.size / 1024))

Modified: libcloud/site/trunk/templates/blocks/menu_docs.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/templates/blocks/menu_docs.html?rev=1197868&r1=1197867&r2=1197868&view=diff
==============================================================================
--- libcloud/site/trunk/templates/blocks/menu_docs.html (original)
+++ libcloud/site/trunk/templates/blocks/menu_docs.html Sat Nov  5 02:02:53 2011
@@ -11,10 +11,14 @@
         </ul>
         <li class="title">Storage</li>
         <ul>
-            <li><a href="storage-overview.html">Storage</a></li>
+            <li><a href="storage-overview.html">Overview</a></li>
             <li><a href="storage-base-api.html">Base API</a></li>
+            <li><a href="storage-examples.html">Examples</a></li>
         </ul>
         <li class="title">Load Balancer</li>
+        <ul>
+            <li><a href="load-balancer-examples.html">Examples</a></li>
+        </ul>
     </ul>
     <li>Other</li>
     <ul>


Reply via email to