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>