From: Tomas Sedovic <[email protected]>

---
 deltacloud.org/content/drivers.haml      |   25 +++++++++++++++++++++++-
 deltacloud.org/content/styles/dcloud.css |   30 ++++++++++++++++++++++++++++-
 deltacloud.org/lib/data.rb               |   31 ++++++++++++++++++++++++++++++
 docs/drivers.mdown                       |   10 +++-----
 4 files changed, 88 insertions(+), 8 deletions(-)
 create mode 100644 deltacloud.org/lib/data.rb

diff --git a/deltacloud.org/content/drivers.haml 
b/deltacloud.org/content/drivers.haml
index 02c5369..7e82c0a 100644
--- a/deltacloud.org/content/drivers.haml
+++ b/deltacloud.org/content/drivers.haml
@@ -9,4 +9,27 @@ filter:
 ---
 <toc numbering="off" toc_style="ul" toc_range="h2-h3" />
 
-= File.open('../docs/drivers.mdown').read
+- page = File.open('../docs/drivers.mdown').read
+- header, rest = page.split("<table providers />")
+
+= header
+
+%table#providers
+  %tr
+    %th Provider
+    %th List images
+    %th List hardware
+    %th List locations
+    %th Create instances
+    %th Control instances
+  - provider_support.each do |provider|
+    %tr
+      %td
+        = provider[:name]
+      = support_indicator(provider[:images])
+      = support_indicator(provider[:hardware])
+      = support_indicator(provider[:locations])
+      = support_indicator(provider[:create_instances])
+      = support_indicator(provider[:control_instances])
+
+= rest
diff --git a/deltacloud.org/content/styles/dcloud.css 
b/deltacloud.org/content/styles/dcloud.css
index f509f0b..0277448 100644
--- a/deltacloud.org/content/styles/dcloud.css
+++ b/deltacloud.org/content/styles/dcloud.css
@@ -303,4 +303,32 @@ head:first-child+body #projects dl {
     color: white;
     text-decoration: inherit;
     font-weight: bold;
-}
\ No newline at end of file
+}
+
+
+table#providers {
+    margin-bottom: 1em;
+    border-style: solid;
+    border-width: 1px;
+}
+
+table#providers th {
+    padding-left: 1em;
+    padding-right: 1em;
+}
+
+table#providers td {
+    padding-left: 0.5em;
+    padding-right: 1em;
+}
+
+table#providers td.not-supported {
+    text-align: center;
+    background: red;
+}
+
+table#providers td.supported {
+    text-align: center;
+    background: green;
+    color: white;
+}
diff --git a/deltacloud.org/lib/data.rb b/deltacloud.org/lib/data.rb
new file mode 100644
index 0000000..5e214fd
--- /dev/null
+++ b/deltacloud.org/lib/data.rb
@@ -0,0 +1,31 @@
+module DataHelper
+  def provider_support
+    [
+      {:name => "Amazon EC2", :images => true, :hardware => true, :locations 
=> true, :create_instances => true, :control_instances => true },
+      {:name => "Eucalyptus", :images => false, :hardware => false, :locations 
=> false, :create_instances => false, :control_instances => false },
+      {:name => "FlexiScale", :images => false, :hardware => false, :locations 
=> false, :create_instances => false, :control_instances => false },
+      {:name => "GoGrid", :images => false, :hardware => false, :locations => 
false, :create_instances => false, :control_instances => false },
+      {:name => "Hosting.com", :images => false, :hardware => false, 
:locations => false, :create_instances => false, :control_instances => false },
+      {:name => "Linode", :images => false, :hardware => false, :locations => 
false, :create_instances => false, :control_instances => false },
+      {:name => "OpenNebula", :images => true, :hardware => true, :locations 
=> true, :create_instances => true, :control_instances => true },
+      {:name => "RHEV-M", :images => true, :hardware => true, :locations => 
true, :create_instances => true, :control_instances => true },
+      {:name => "Rackspace", :images => true, :hardware => true, :locations => 
true, :create_instances => true, :control_instances => true },
+      {:name => "RimuHosting", :images => true, :hardware => true, :locations 
=> true, :create_instances => true, :control_instances => true },
+      {:name => "Slicehost", :images => false, :hardware => false, :locations 
=> false, :create_instances => false, :control_instances => false },
+      {:name => "SoftLayer", :images => false, :hardware => false, :locations 
=> false, :create_instances => false, :control_instances => false },
+      {:name => "Terremark", :images => false, :hardware => false, :locations 
=> false, :create_instances => false, :control_instances => false },
+      {:name => "vCloud", :images => false, :hardware => false, :locations => 
false, :create_instances => false, :control_instances => false },
+      {:name => "Voxel", :images => false, :hardware => false, :locations => 
false, :create_instances => false, :control_instances => false },
+      {:name => "VPS.net", :images => false, :hardware => false, :locations => 
false, :create_instances => false, :control_instances => false }
+    ]
+  end
+
+  def support_indicator(value)
+    text = value ? "yes" : "no"
+    cls = value ? "supported" : "not-supported"
+    "<td class=\"#{cls}\">#{text}</td>"
+  end
+
+end
+
+Webby::Helpers.register(DataHelper)
diff --git a/docs/drivers.mdown b/docs/drivers.mdown
index f75849e..eb84e26 100644
--- a/docs/drivers.mdown
+++ b/docs/drivers.mdown
@@ -1,13 +1,11 @@
 # Deltacloud Drivers
 
-The Deltacloud project current delivers two functional drivers, plus
+## Supported Providers
+
+The Deltacloud project currently delivers 5 functional drivers, plus
 a mock driver for testing without a cloud provider.
 
-- Amazon EC2
-- Red Hat Enterprise Virtualization Manager (RHEV-M)
-- Rackspace Cloud
-- RimuHosting Cloud
-- OpenNebula
+<table providers />
 
 ## Setting up the code
 
-- 
1.6.6.1

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to