From: Tomas Sedovic <[email protected]>

---
 deltacloud.org/content/drivers.haml      |   53 +++++++++++++++++++++++++++++-
 deltacloud.org/content/styles/dcloud.css |   53 +++++++++++++++++++++++++++++-
 deltacloud.org/lib/data.rb               |   31 +++++++++++++++++
 docs/drivers.mdown                       |   13 +++----
 4 files changed, 141 insertions(+), 9 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..83935d8 100644
--- a/deltacloud.org/content/drivers.haml
+++ b/deltacloud.org/content/drivers.haml
@@ -9,4 +9,55 @@ 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.emptycell &nbsp;
+    %th
+      %strong Create
+      new instances
+    %th
+      %strong Start
+      stopped instances
+    %th
+      %strong Stop
+      running instances
+    %th
+      %strong Reboot
+      running instances
+    %th
+      %strong Destroy
+      instances
+    %th
+      List all/get details about
+      %strong hardware profiles
+    %th
+      List all/get details about
+      %strong realms
+    %th
+      List all/get details about
+      %strong images
+    %th
+      List all/get details about
+      %strong instances
+  - provider_support.each do |provider|
+    %tr
+      %td.provider
+        = provider[:name]
+        - if not provider[:driver]
+          %span coming soon
+      = support_indicator(provider[:instance][:create])
+      = support_indicator(provider[:instance][:start])
+      = support_indicator(provider[:instance][:stop])
+      = support_indicator(provider[:instance][:reboot])
+      = support_indicator(provider[:instance][:destroy])
+      = support_indicator(provider[:list][:hardware_profiles])
+      = support_indicator(provider[:list][:realms])
+      = support_indicator(provider[:list][:images])
+      = support_indicator(provider[:list][:instances])
+
+= rest
diff --git a/deltacloud.org/content/styles/dcloud.css 
b/deltacloud.org/content/styles/dcloud.css
index f509f0b..ca08de6 100644
--- a/deltacloud.org/content/styles/dcloud.css
+++ b/deltacloud.org/content/styles/dcloud.css
@@ -303,4 +303,55 @@ 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: 1px solid #efefef;
+   padding: 1em;
+   width: 100%;
+}
+
+table#providers th {
+   font-weight: normal;
+   padding: 0.5em;
+   vertical-align: top;
+   color: #242829;
+   background: #E4EBEF;
+}
+
+table#providers th.emptycell {
+   background: #FFF;
+}
+
+table#providers td {
+   padding: 0.5em;
+   width: 10%;
+   height: 3em;
+   background: #E4EBEF;
+}
+
+table#providers td.provider  {
+   font-weight: bold;
+   color: #242829;
+   padding: 0 0.5em;
+}
+
+table#providers td.provider span {
+   color: #738389;
+   font-style: italic;
+   font-weight: normal;
+   font-size: .95em;
+}
+
+table#providers td.not-supported {
+   text-align: center;
+   background: #E4EBEF;
+   color: #738389;
+}
+
+table#providers td.supported {
+   text-align: center;
+   background: #a4c3d4;
+   color: #242829;
+}
diff --git a/deltacloud.org/lib/data.rb b/deltacloud.org/lib/data.rb
new file mode 100644
index 0000000..f3e7f0f
--- /dev/null
+++ b/deltacloud.org/lib/data.rb
@@ -0,0 +1,31 @@
+module DataHelper
+  def provider_support
+    [
+      {:name => "Amazon EC2", :driver => true, :instance => { :create => true, 
:start => false, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "GoGrid", :driver => false, :instance => { :create => true, 
:start => false, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "OpenNebula", :driver => true, :instance => { :create => true, 
:start => true, :stop => true, :reboot => false, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "Rackspace", :driver => true, :instance => { :create => true, 
:start => false, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "RHEV-M", :driver => true, :instance => { :create => true, 
:start => true, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "RimuHosting", :driver => true, :instance => { :create => 
true, :start => true, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "Terremark", :driver => false, :instance => { :create => true, 
:start => true, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+      {:name => "vCloud", :driver => false, :instance => { :create => true, 
:start => true, :stop => true, :reboot => true, :destroy => true },
+        :list => { :hardware_profiles => true, :realms => true, :images => 
true, :instances => true} },
+    ]
+  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 4296b21..e579a5e 100644
--- a/docs/drivers.mdown
+++ b/docs/drivers.mdown
@@ -1,13 +1,12 @@
 # Deltacloud Drivers
 
-The Deltacloud project current delivers two 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
+Deltacloud provides drivers for a growing number of popular clouds. All drivers
+can handle a set of standard operations, some of them also support a number of
+optional operations to expose the features of specific clouds more closely. The
+drivers and their capabilities are:
+
+<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