You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/03/26 18:57:47 UTC

[01/30] Client: Complete rewrite of deltacloud-client

Updated Branches:
  refs/heads/master 95e86624c -> e107d206e


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/instance_state.rb
----------------------------------------------------------------------
diff --git a/client/lib/instance_state.rb b/client/lib/instance_state.rb
deleted file mode 100644
index 6a64f57..0000000
--- a/client/lib/instance_state.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-module DeltaCloud
-  module InstanceState
-
-    class State
-      attr_reader :name
-      attr_reader :transitions
-
-      def initialize(name)
-        @name, @transitions = name, []
-      end
-    end
-
-    class Transition
-      attr_reader :to
-      attr_reader :action
-
-      def initialize(to, action)
-        @to = to
-        @action = action
-      end
-
-      def auto?
-        @action.nil?
-      end
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/string.rb
----------------------------------------------------------------------
diff --git a/client/lib/string.rb b/client/lib/string.rb
deleted file mode 100644
index fb90564..0000000
--- a/client/lib/string.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-class String
-
-  unless method_defined?(:classify)
-    # Create a class name from string
-    def classify
-      self.singularize.camelize
-    end
-  end
-
-  unless method_defined?(:camelize)
-    # Camelize converts strings to UpperCamelCase
-    def camelize
-      self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
-    end
-  end
-
-  unless method_defined?(:singularize)
-    # Strip 's' character from end of string
-    def singularize
-      self.gsub(/s$/, '')
-    end
-  end
-
-  unless method_defined?(:pluralize)
-    def pluralize
-      return self + 'es' if self =~ /ess$/
-      return self[0, self.length-1] + "ies" if self =~ /ty$/
-      return self if self =~ /data$/
-      self + "s"
-    end
-  end
-
-  # Convert string to float if string value seems like Float
-  def convert
-    return self.to_f if self.strip =~ /^([\d\.]+$)/
-    self
-  end
-
-  # Simply converts whitespaces and - symbols to '_' which is safe for Ruby
-  def sanitize
-    self.strip.gsub(/(\W+)/, '_')
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/support/method_test_template.erb
----------------------------------------------------------------------
diff --git a/client/support/method_test_template.erb b/client/support/method_test_template.erb
new file mode 100644
index 0000000..89831fb
--- /dev/null
+++ b/client/support/method_test_template.erb
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::<%=name.to_s.camelize%> do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #<%=name.to_s.pluralize%>' do
+    @client.must_respond_to :<%=name.to_s.pluralize%>
+    @client.<%=name.to_s.pluralize%>.must_be_kind_of Array
+    @client.<%=name.to_s.pluralize%>.each { |r| r.must_be_instance_of Deltacloud::Client::<%=name.to_s.camelize%> }
+  end
+
+  it 'supports filtering #<%=name.to_s.pluralize%> by :id param' do
+    result = @client.<%=name.to_s.pluralize%>(:id => 'XXX')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::<%=name.to_s.camelize%>
+    result = @client.<%=name.to_s.pluralize%>(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #<%=name.to_s%>' do
+    @client.must_respond_to :<%=name%>
+    result = @client.<%=name%>('XXX')
+    result.must_be_instance_of Deltacloud::Client::<%=name.to_s.camelize%>
+    lambda { @client.<%=name%>(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.<%=name%>('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/support/methods_template.erb
----------------------------------------------------------------------
diff --git a/client/support/methods_template.erb b/client/support/methods_template.erb
new file mode 100644
index 0000000..b64b1eb
--- /dev/null
+++ b/client/support/methods_template.erb
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module <%=name.to_s.camelize%>
+
+      # Retrieve list of all <%=name%> entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def <%=name.to_s.pluralize%>(filter_opts={})
+        from_collection :<%=name.to_s.pluralize%>,
+        connection.get(api_uri('<%=name.to_s.pluralize%>'), filter_opts)
+      end
+
+      # Retrieve the single <%=name%> entity
+      #
+      # - <%=name%>_id -> <%=name.to_s.camelize%> entity to retrieve
+      #
+      def <%=name%>(<%=name%>_id)
+        from_resource :<%=name%>,
+          connection.get(api_uri("<%=name.to_s.pluralize%>/#{<%=name%>_id}"))
+      end
+
+      # Create a new <%=name%>
+      #
+      # - create_opts
+      #
+      # def create_<%=name%>(create_opts={})
+      #   must_support! :<%=name.to_s.pluralize%>
+      #    response = connection.post(api_uri('<%=name.to_s.pluralize%>')) do |request|
+      #     request.params = create_opts
+      #   end
+      #   model(:<%=name%>).convert(self, response.body)
+      # end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/support/model_template.erb
----------------------------------------------------------------------
diff --git a/client/support/model_template.erb b/client/support/model_template.erb
new file mode 100644
index 0000000..0def783
--- /dev/null
+++ b/client/support/model_template.erb
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class <%=name.to_s.camelize%> < Base
+
+    include Deltacloud::Client::Methods::<%=name.to_s.camelize%>
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    # attr_reader :state
+    # attr_reader :realm_id
+
+    # <%=name.to_s.camelize%> model methods
+    #
+    # def reboot!
+    #   <%=name%>_reboot(_id)
+    # end
+
+    # Parse the <%=name.to_s.camelize %> entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the <%=name%>
+    #
+    def self.parse(xml_body)
+      {
+        # :state => xml_body.text_at(:state),
+        # :realm_id => xml_body.attr_at('realm', :id)
+      }
+    end
+  end
+end


[24/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/Realm.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/Realm.html b/client/doc/DeltaCloud/API/Realm.html
deleted file mode 100644
index 01a49fc..0000000
--- a/client/doc/DeltaCloud/API/Realm.html
+++ /dev/null
@@ -1,779 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::Realm</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (R)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">Realm</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::Realm
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::Realm</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#limit-instance_method" title="#limit (instance method)">- (String) <strong>limit</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of limit.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#limit%3D-instance_method" title="#limit= (instance method)">- (String) <strong>limit</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of limit=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name%3D-instance_method" title="#name= (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state-instance_method" title="#state (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state%3D-instance_method" title="#state= (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1354
-1355
-1356</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1354</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1347
-1348
-1349</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1347</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="limit-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>limit</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of limit</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of limit</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1340
-1341
-1342</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1340</span>
-
-<span class='def def kw'>def</span> <span class='limit identifier id'>limit</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="limit=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>limit=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of limit=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of limit=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1361
-1362
-1363</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1361</span>
-
-<span class='def def kw'>def</span> <span class='limit= identifier id'>limit=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1375
-1376
-1377</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1375</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1333
-1334
-1335</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1333</span>
-
-<span class='def def kw'>def</span> <span class='name= identifier id'>name=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1368
-1369
-1370</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1368</span>
-
-<span class='def def kw'>def</span> <span class='state identifier id'>state</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1382
-1383
-1384</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1382</span>
-
-<span class='def def kw'>def</span> <span class='state= identifier id'>state=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1326
-1327
-1328</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1326</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:30 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/StorageSnapshot.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/StorageSnapshot.html b/client/doc/DeltaCloud/API/StorageSnapshot.html
deleted file mode 100644
index d535473..0000000
--- a/client/doc/DeltaCloud/API/StorageSnapshot.html
+++ /dev/null
@@ -1,705 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::StorageSnapshot</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (S)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">StorageSnapshot</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::StorageSnapshot
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::StorageSnapshot</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#created-instance_method" title="#created (instance method)">- (String) <strong>created</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of created.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#created%3D-instance_method" title="#created= (instance method)">- (String) <strong>created</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of created=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state-instance_method" title="#state (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state%3D-instance_method" title="#state= (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage_volume-instance_method" title="#storage_volume (instance method)">- (String) <strong>storage_volume</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of storage_volume.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-922
-923
-924</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 922</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="created-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>created</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of created</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of created</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-929
-930
-931</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 929</span>
-
-<span class='def def kw'>def</span> <span class='created identifier id'>created</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="created=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>created=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of created=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of created=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-943
-944
-945</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 943</span>
-
-<span class='def def kw'>def</span> <span class='created= identifier id'>created=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-915
-916
-917</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 915</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-936
-937
-938</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 936</span>
-
-<span class='def def kw'>def</span> <span class='state identifier id'>state</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-950
-951
-952</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 950</span>
-
-<span class='def def kw'>def</span> <span class='state= identifier id'>state=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="storage_volume-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>storage_volume</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of storage_volume</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of storage_volume</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-908
-909
-910</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 908</span>
-
-<span class='def def kw'>def</span> <span class='storage_volume identifier id'>storage_volume</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-901
-902
-903</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 901</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:31 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/StorageVolume.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/StorageVolume.html b/client/doc/DeltaCloud/API/StorageVolume.html
deleted file mode 100644
index 4870d9d..0000000
--- a/client/doc/DeltaCloud/API/StorageVolume.html
+++ /dev/null
@@ -1,853 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::StorageVolume</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (S)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">StorageVolume</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::StorageVolume
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::StorageVolume</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#capacity-instance_method" title="#capacity (instance method)">- (String) <strong>capacity</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of capacity.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#capacity%3D-instance_method" title="#capacity= (instance method)">- (String) <strong>capacity</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of capacity=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#created-instance_method" title="#created (instance method)">- (String) <strong>created</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of created.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#created%3D-instance_method" title="#created= (instance method)">- (String) <strong>created</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of created=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#device-instance_method" title="#device (instance method)">- (String) <strong>device</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of device.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#device%3D-instance_method" title="#device= (instance method)">- (String) <strong>device</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of device=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#instance-instance_method" title="#instance (instance method)">- (String) <strong>instance</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of instance.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="capacity-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>capacity</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of capacity</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of capacity</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-211
-212
-213</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 211</span>
-
-<span class='def def kw'>def</span> <span class='capacity identifier id'>capacity</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="capacity=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>capacity=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of capacity=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of capacity=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-176
-177
-178</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 176</span>
-
-<span class='def def kw'>def</span> <span class='capacity= identifier id'>capacity=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-169
-170
-171</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 169</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="created-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>created</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of created</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of created</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-197
-198
-199</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 197</span>
-
-<span class='def def kw'>def</span> <span class='created identifier id'>created</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="created=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>created=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of created=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of created=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-204
-205
-206</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 204</span>
-
-<span class='def def kw'>def</span> <span class='created= identifier id'>created=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="device-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>device</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of device</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of device</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-155
-156
-157</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 155</span>
-
-<span class='def def kw'>def</span> <span class='device identifier id'>device</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="device=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>device=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of device=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of device=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-183
-184
-185</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 183</span>
-
-<span class='def def kw'>def</span> <span class='device= identifier id'>device=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-162
-163
-164</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 162</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="instance-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>instance</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of instance</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of instance</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-190
-191
-192</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 190</span>
-
-<span class='def def kw'>def</span> <span class='instance identifier id'>instance</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-148
-149
-150</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 148</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:25 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/Documentation.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/Documentation.html b/client/doc/DeltaCloud/Documentation.html
deleted file mode 100644
index 4d47312..0000000
--- a/client/doc/DeltaCloud/Documentation.html
+++ /dev/null
@@ -1,323 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::Documentation</title>
-<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../_index.html">Index (D)</a> &raquo; 
-    <span class='title'><a href="../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span>
-     &raquo; 
-    <span class="title">Documentation</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::Documentation
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::Documentation</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="Documentation/OperationParameter.html" title="DeltaCloud::Documentation::OperationParameter (class)">OperationParameter</a>
-    
-  
-</p>
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#description-instance_method" title="#description (instance method)">- (Object) <strong>description</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute description.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#params-instance_method" title="#params (instance method)">- (Object) <strong>params</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute params.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (Documentation) <strong>initialize</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of Documentation.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::Documentation (class)">Documentation</a></tt>) <strong>initialize</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of Documentation</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-387
-388
-389
-390
-391</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 387</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
-  <span class='@description ivar id'>@description</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:description</span><span class='rbrack token'>]</span>
-  <span class='@params ivar id'>@params</span> <span class='assign token'>=</span> <span class='parse_parameters identifier id'>parse_parameters</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:params</span><span class='rbrack token'>]</span><span class='rparen token'>)</span> <span class='if if_mod kw'>if</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:params</span><span class='rbrack token'>]</span>
-  <span class='self self kw'>self</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="description-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="description-instance_method">
-  
-    - (<tt>Object</tt>) <strong>description</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute description</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-384
-385
-386</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 384</span>
-
-<span class='def def kw'>def</span> <span class='description identifier id'>description</span>
-  <span class='@description ivar id'>@description</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="params-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="params-instance_method">
-  
-    - (<tt>Object</tt>) <strong>params</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute params</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-385
-386
-387</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 385</span>
-
-<span class='def def kw'>def</span> <span class='params identifier id'>params</span>
-  <span class='@params ivar id'>@params</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:26 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/Documentation/OperationParameter.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/Documentation/OperationParameter.html b/client/doc/DeltaCloud/Documentation/OperationParameter.html
deleted file mode 100644
index 328b7ea..0000000
--- a/client/doc/DeltaCloud/Documentation/OperationParameter.html
+++ /dev/null
@@ -1,493 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::Documentation::OperationParameter</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (O)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../Documentation.html" title="DeltaCloud::Documentation (class)">Documentation</a></span>
-     &raquo; 
-    <span class="title">OperationParameter</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::Documentation::OperationParameter
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::Documentation::OperationParameter</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#description-instance_method" title="#description (instance method)">- (Object) <strong>description</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute description.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (Object) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute name.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#required-instance_method" title="#required (instance method)">- (Object) <strong>required</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute required.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#type-instance_method" title="#type (instance method)">- (Object) <strong>type</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute type.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (OperationParameter) <strong>initialize</strong>(data) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of OperationParameter.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#to_comment-instance_method" title="#to_comment (instance method)">- (Object) <strong>to_comment</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::Documentation::OperationParameter (class)">OperationParameter</a></tt>) <strong>initialize</strong>(data) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of OperationParameter</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-399
-400
-401</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 399</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='data identifier id'>data</span><span class='rparen token'>)</span>
-  <span class='@name ivar id'>@name</span><span class='comma token'>,</span> <span class='@type ivar id'>@type</span><span class='comma token'>,</span> <span class='@required ivar id'>@required</span><span class='comma token'>,</span> <span class='@description ivar id'>@description</span> <span class='assign token'>=</span> <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:name</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:type</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:required</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:desc
 ription</span><span class='rbrack token'>]</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="description-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="description-instance_method">
-  
-    - (<tt>Object</tt>) <strong>description</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute description</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-397
-398
-399</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 397</span>
-
-<span class='def def kw'>def</span> <span class='description identifier id'>description</span>
-  <span class='@description ivar id'>@description</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="name-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt>Object</tt>) <strong>name</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute name</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-394
-395
-396</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 394</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='@name ivar id'>@name</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="required-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="required-instance_method">
-  
-    - (<tt>Object</tt>) <strong>required</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute required</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-396
-397
-398</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 396</span>
-
-<span class='def def kw'>def</span> <span class='required identifier id'>required</span>
-  <span class='@required ivar id'>@required</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="type-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="type-instance_method">
-  
-    - (<tt>Object</tt>) <strong>type</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute type</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-395
-396
-397</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 395</span>
-
-<span class='def def kw'>def</span> <span class='type identifier id'>type</span>
-  <span class='@type ivar id'>@type</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="to_comment-instance_method">
-  
-    - (<tt>Object</tt>) <strong>to_comment</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-403
-404
-405</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 403</span>
-
-<span class='def def kw'>def</span> <span class='to_comment identifier id'>to_comment</span>
-  <span class='dstring node'>&quot;   # @param [#{@type}, #{@name}] #{@description}&quot;</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/HWP.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/HWP.html b/client/doc/DeltaCloud/HWP.html
deleted file mode 100644
index 33118bf..0000000
--- a/client/doc/DeltaCloud/HWP.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Module: DeltaCloud::HWP</title>
-<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../_index.html">Index (H)</a> &raquo; 
-    <span class='title'><a href="../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span>
-     &raquo; 
-    <span class="title">HWP</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Module: DeltaCloud::HWP
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r1 last">Defined in:</dt>
-    <dd class="r1 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="HWP/FloatProperty.html" title="DeltaCloud::HWP::FloatProperty (class)">FloatProperty</a>, <a href="HWP/Property.html" title="DeltaCloud::HWP::Property (class)">Property</a>
-    
-  
-</p>
-
-
-
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/HWP/FloatProperty.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/HWP/FloatProperty.html b/client/doc/DeltaCloud/HWP/FloatProperty.html
deleted file mode 100644
index a185ce2..0000000
--- a/client/doc/DeltaCloud/HWP/FloatProperty.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::HWP::FloatProperty</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (F)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../HWP.html" title="DeltaCloud::HWP (module)">HWP</a></span>
-     &raquo; 
-    <span class="title">FloatProperty</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::HWP::FloatProperty
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Property.html" title="DeltaCloud::HWP::Property (class)">Property</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Property.html" title="DeltaCloud::HWP::Property (class)">Property</a></li>
-          
-            <li class="next">DeltaCloud::HWP::FloatProperty</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Overview</h2><div class="docstring">
-  <div class="discussion">
-    <p>FloatProperty is like Property but return value is Float instead of String.</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div>
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (FloatProperty) <strong>initialize</strong>(xml, name) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of FloatProperty.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Property.html" title="DeltaCloud::HWP::Property (class)">Property</a></h3>
-  <p class="inherited"><a href="Property.html#present%3F-instance_method" title="DeltaCloud::HWP::Property#present? (method)">#present?</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::HWP::FloatProperty (class)">FloatProperty</a></tt>) <strong>initialize</strong>(xml, name) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of FloatProperty</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-479
-480
-481
-482</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 479</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='comma token'>,</span> <span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='super super kw'>super</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='comma token'>,</span> <span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='@value ivar id'>@value</span> <span class='assign token'>=</span> <span class='@value ivar id'>@value</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span> <span class='if if_mod kw'>if</span> <span class='@value ivar id'>@value</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file


[30/30] git commit: Client: Method documentation fixes

Posted by mf...@apache.org.
Client: Method documentation fixes


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/e107d206
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/e107d206
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/e107d206

Branch: refs/heads/master
Commit: e107d206e2a245bf25a8dac5b5848fbf134f6455
Parents: 66a46b0
Author: Joe VLcek <jv...@redhat.com>
Authored: Thu Mar 21 13:23:50 2013 -0400
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 18:57:26 2013 +0100

----------------------------------------------------------------------
 client/lib/deltacloud/client.rb                    |    2 +-
 client/lib/deltacloud/client/base_error.rb         |    6 +---
 client/lib/deltacloud/client/connection.rb         |   26 +++++++-------
 client/lib/deltacloud/client/methods.rb            |   14 ++++---
 client/lib/deltacloud/client/methods/address.rb    |    3 +-
 client/lib/deltacloud/client/methods/blob.rb       |    2 +-
 client/lib/deltacloud/client/methods/bucket.rb     |    7 ++--
 client/lib/deltacloud/client/methods/driver.rb     |    7 ++--
 client/lib/deltacloud/client/methods/firewall.rb   |    7 ++--
 .../deltacloud/client/methods/hardware_profile.rb  |    7 ++--
 client/lib/deltacloud/client/methods/image.rb      |    9 ++---
 client/lib/deltacloud/client/methods/instance.rb   |   12 +++---
 client/lib/deltacloud/client/methods/key.rb        |    5 +--
 client/lib/deltacloud/client/methods/realm.rb      |    7 ++--
 .../deltacloud/client/methods/storage_snapshot.rb  |    9 ++---
 .../deltacloud/client/methods/storage_volume.rb    |    7 ++--
 client/lib/deltacloud/client/models.rb             |   12 +++---
 client/lib/deltacloud/client/models/base.rb        |    8 ++--
 client/lib/deltacloud/client/models/bucket.rb      |    4 +-
 client/lib/deltacloud/client/models/firewall.rb    |    6 ---
 client/lib/deltacloud/core_ext.rb                  |    2 +-
 client/lib/deltacloud/error_response.rb            |   13 ++++---
 client/tests/models/image_test.rb                  |    2 +-
 23 files changed, 81 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client.rb b/client/lib/deltacloud/client.rb
index 36200ad..c7048dd 100644
--- a/client/lib/deltacloud/client.rb
+++ b/client/lib/deltacloud/client.rb
@@ -39,7 +39,7 @@ module Deltacloud
     require_relative './client/methods/backward_compatiblity'
 
     # Extend Client module with methods that existed in old client
-    # and we want to keep them.
+    # that need to be kept.
     # Deprecation warnings should be provided to users if they use something
     # from these modules.
     #

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/base_error.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/base_error.rb b/client/lib/deltacloud/client/base_error.rb
index 544aa90..7f8e169 100644
--- a/client/lib/deltacloud/client/base_error.rb
+++ b/client/lib/deltacloud/client/base_error.rb
@@ -24,6 +24,7 @@ module Deltacloud::Client
     attr_reader :driver
     attr_reader :provider
     attr_reader :status
+    attr_reader :original_error
 
     def initialize(opts={})
       if opts.is_a? Hash
@@ -38,11 +39,6 @@ module Deltacloud::Client
       end
     end
 
-    # Return the original XML error message received from Deltacloud API
-    def original_error
-      @original_error
-    end
-
     # If the Deltacloud API server error response contain backtrace from
     # server,then make this backtrace available as part of this exception
     # backtrace

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/connection.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/connection.rb b/client/lib/deltacloud/client/connection.rb
index ad91cb0..4505cd9 100644
--- a/client/lib/deltacloud/client/connection.rb
+++ b/client/lib/deltacloud/client/connection.rb
@@ -23,26 +23,24 @@ module Deltacloud::Client
 
     include Deltacloud::Client::Helpers::Model
 
-    include Deltacloud::Client::Methods::Common
+    include Deltacloud::Client::Methods::Address
     include Deltacloud::Client::Methods::Api
     include Deltacloud::Client::Methods::BackwardCompatibility
+    include Deltacloud::Client::Methods::Blob
+    include Deltacloud::Client::Methods::Bucket
+    include Deltacloud::Client::Methods::Common
     include Deltacloud::Client::Methods::Driver
-    include Deltacloud::Client::Methods::Realm
+    include Deltacloud::Client::Methods::Firewall
     include Deltacloud::Client::Methods::HardwareProfile
     include Deltacloud::Client::Methods::Image
     include Deltacloud::Client::Methods::Instance
     include Deltacloud::Client::Methods::InstanceState
     include Deltacloud::Client::Methods::Key
-    include Deltacloud::Client::Methods::StorageVolume
+    include Deltacloud::Client::Methods::Realm
     include Deltacloud::Client::Methods::StorageSnapshot
-    include Deltacloud::Client::Methods::Address
-    include Deltacloud::Client::Methods::Bucket
-    include Deltacloud::Client::Methods::Blob
-    include Deltacloud::Client::Methods::Firewall
+    include Deltacloud::Client::Methods::StorageVolume
 
     def initialize(opts={})
-      @request_driver = opts[:driver]
-      @request_provider = opts[:provider]
       @connection = Faraday.new(:url => opts[:url]) do |f|
         # NOTE: The order of this is somehow important for VCR
         #       recording.
@@ -53,8 +51,8 @@ module Deltacloud::Client
         f.adapter :net_http
       end
       cache_entrypoint!
-      @request_driver ||= current_driver
-      @request_provider ||= current_provider
+      @request_driver = opts[:driver] ||= current_driver
+      @request_provider = opts[:provider] ||= current_provider
     end
 
     # Change the current driver and return copy of the client
@@ -126,8 +124,10 @@ module Deltacloud::Client
     def deltacloud_request_headers
       headers = {}
       headers['Accept'] = 'application/xml'
-      headers['X-Deltacloud-Driver'] = @request_driver.to_s if @request_driver
-      headers['X-Deltacloud-Provider'] = @request_provider.to_s if @request_provider
+      headers['X-Deltacloud-Driver'] = @request_driver.to_s \
+        if @request_driver
+      headers['X-Deltacloud-Provider'] = @request_provider.to_s \
+        if @request_provider
       headers
     end
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods.rb b/client/lib/deltacloud/client/methods.rb
index 0897866..9c81ae3 100644
--- a/client/lib/deltacloud/client/methods.rb
+++ b/client/lib/deltacloud/client/methods.rb
@@ -13,17 +13,19 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+require_relative './methods/address'
+require_relative './methods/api'
+require_relative './methods/backward_compatiblity'
+require_relative './methods/blob'
+require_relative './methods/bucket'
 require_relative './methods/common'
 require_relative './methods/driver'
-require_relative './methods/realm'
+require_relative './methods/firewall'
 require_relative './methods/hardware_profile'
 require_relative './methods/image'
 require_relative './methods/instance'
 require_relative './methods/instance_state'
+require_relative './methods/key'
+require_relative './methods/realm'
 require_relative './methods/storage_volume'
 require_relative './methods/storage_snapshot'
-require_relative './methods/key'
-require_relative './methods/address'
-require_relative './methods/bucket'
-require_relative './methods/blob'
-require_relative './methods/firewall'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/address.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/address.rb b/client/lib/deltacloud/client/methods/address.rb
index 21da5f6..c4f3b63 100644
--- a/client/lib/deltacloud/client/methods/address.rb
+++ b/client/lib/deltacloud/client/methods/address.rb
@@ -19,8 +19,7 @@ module Deltacloud::Client
 
       # Retrieve list of all address entities
       #
-      # Filter options:
-      #
+      # filter_opts:
       # - :id -> Filter entities using 'id' attribute
       #
       def addresses(filter_opts={})

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/blob.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/blob.rb b/client/lib/deltacloud/client/methods/blob.rb
index 80a3945..4be4353 100644
--- a/client/lib/deltacloud/client/methods/blob.rb
+++ b/client/lib/deltacloud/client/methods/blob.rb
@@ -17,7 +17,7 @@ module Deltacloud::Client
   module Methods
     module Blob
 
-      # Retrieve list of all blob entities from given bucket
+      # Retrieve a list of all blob entities from given bucket
       #
       def blobs(bucket_id=nil)
         raise error.new("The :bucket_id cannot be nil.") if bucket_id.nil?

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/bucket.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/bucket.rb b/client/lib/deltacloud/client/methods/bucket.rb
index b68cb05..c8086e4 100644
--- a/client/lib/deltacloud/client/methods/bucket.rb
+++ b/client/lib/deltacloud/client/methods/bucket.rb
@@ -19,9 +19,8 @@ module Deltacloud::Client
 
       # Retrieve list of all bucket entities
       #
-      # Filter options:
-      #
-      # - :id -> Filter entities using 'id' attribute
+      # - filter_opts:
+      #   - :id -> Filter entities using 'id' attribute
       #
       def buckets(filter_opts={})
         from_collection :buckets,
@@ -39,7 +38,7 @@ module Deltacloud::Client
 
       # Create a new bucket
       #
-      # - create_opts
+      # - name: Bucket name
       #
       def create_bucket(name)
         create_resource :bucket, :name => name

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/driver.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/driver.rb b/client/lib/deltacloud/client/methods/driver.rb
index 107bcc3..579bcaf0 100644
--- a/client/lib/deltacloud/client/methods/driver.rb
+++ b/client/lib/deltacloud/client/methods/driver.rb
@@ -19,10 +19,9 @@ module Deltacloud::Client
 
       # Retrieve list of all drivers
       #
-      # Filter options:
-      #
-      # - :id -> Filter drivers using their 'id'
-      # - :state -> Filter drivers  by their 'state'
+      # - filter_opt:
+      #   - :id -> Filter drivers using their 'id'
+      #   - :state -> Filter drivers  by their 'state'
       #
       def drivers(filter_opts={})
         from_collection(

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/firewall.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/firewall.rb b/client/lib/deltacloud/client/methods/firewall.rb
index 547dfc5..c33e8bb 100644
--- a/client/lib/deltacloud/client/methods/firewall.rb
+++ b/client/lib/deltacloud/client/methods/firewall.rb
@@ -19,9 +19,8 @@ module Deltacloud::Client
 
       # Retrieve list of all firewall entities
       #
-      # Filter options:
-      #
-      # - :id -> Filter entities using 'id' attribute
+      # - filter_opts:
+      #   - :id -> Filter entities using 'id' attribute
       #
       def firewalls(filter_opts={})
         from_collection :firewalls,
@@ -39,7 +38,9 @@ module Deltacloud::Client
 
       # Create a new firewall
       #
+      # - name - Name to associate with new firewall
       # - create_opts
+      #   :name -> Name of firewall
       #
       def create_firewall(name, create_opts={})
         create_resource :firewall, { :name => name }.merge(create_opts)

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/hardware_profile.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/hardware_profile.rb b/client/lib/deltacloud/client/methods/hardware_profile.rb
index 0cf744c..95c5de4 100644
--- a/client/lib/deltacloud/client/methods/hardware_profile.rb
+++ b/client/lib/deltacloud/client/methods/hardware_profile.rb
@@ -19,9 +19,8 @@ module Deltacloud::Client
 
       # Retrieve list of all hardware_profiles
       #
-      # Filter options:
-      #
-      # - :id -> Filter hardware_profiles using their 'id'
+      # - filter_opts:
+      #   - :id -> Filter hardware_profiles using their 'id'
       #
       def hardware_profiles(filter_opts={})
         from_collection :hardware_profiles,
@@ -30,7 +29,7 @@ module Deltacloud::Client
 
       # Retrieve the given hardware_profile
       #
-      # - hardware_profile_id -> hardware_profile to retrieve
+      # - hwp_id -> hardware_profile to retrieve
       #
       def hardware_profile(hwp_id)
         from_resource :hardware_profile,

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/image.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/image.rb b/client/lib/deltacloud/client/methods/image.rb
index 8e3765b..f61879c 100644
--- a/client/lib/deltacloud/client/methods/image.rb
+++ b/client/lib/deltacloud/client/methods/image.rb
@@ -19,11 +19,10 @@ module Deltacloud::Client
 
       # Retrieve list of all images
       #
-      # Filter options:
-      #
-      # - :id -> Filter images using their 'id'
-      # - :state -> Filter images  by their 'state'
-      # - :architecture -> Filter images  by their 'architecture'
+      # - filter_opts:
+      #   - :id -> Filter images using their 'id'
+      #   - :state -> Filter images  by their 'state'
+      #   - :architecture -> Filter images  by their 'architecture'
       #
       def images(filter_opts={})
         from_collection :images,

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/instance.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/instance.rb b/client/lib/deltacloud/client/methods/instance.rb
index 4749d82..506c338 100644
--- a/client/lib/deltacloud/client/methods/instance.rb
+++ b/client/lib/deltacloud/client/methods/instance.rb
@@ -19,11 +19,10 @@ module Deltacloud::Client
 
       # Retrieve list of all instances
       #
-      # Filter options:
-      #
-      # - :id -> Filter instances using their 'id'
-      # - :state -> Filter instances by their 'state'
-      # - :realm_id -> Filter instances based on their 'realm_id'
+      # - filter_opts:
+      #   - :id -> Filter instances using their 'id'
+      #   - :state -> Filter instances by their 'state'
+      #   - :realm_id -> Filter instances based on their 'realm_id'
       #
       def instances(filter_opts={})
         from_collection(
@@ -45,7 +44,8 @@ module Deltacloud::Client
 
       # Create a new instance
       #
-      # - image_id ->    Image to use for instance creation (img1, ami-12345, etc...)
+      # - image_id ->    Image to use for instance creation
+      #                  (img1, ami-12345, etc...)
       # - create_opts -> Various options that DC support for the current
       #                  provider.
       #

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/key.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/key.rb b/client/lib/deltacloud/client/methods/key.rb
index 8984f23..3e7f48b 100644
--- a/client/lib/deltacloud/client/methods/key.rb
+++ b/client/lib/deltacloud/client/methods/key.rb
@@ -19,9 +19,8 @@ module Deltacloud::Client
 
       # Retrieve list of all key entities
       #
-      # Filter options:
-      #
-      # - :id -> Filter entities using 'id' attribute
+      # - filter_opts:
+      #   - :id -> Filter entities using 'id' attribute
       #
       def keys(filter_opts={})
         from_collection :keys,

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/realm.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/realm.rb b/client/lib/deltacloud/client/methods/realm.rb
index 41807f0..50d382d 100644
--- a/client/lib/deltacloud/client/methods/realm.rb
+++ b/client/lib/deltacloud/client/methods/realm.rb
@@ -19,10 +19,9 @@ module Deltacloud::Client
 
       # Retrieve list of all realms
       #
-      # Filter options:
-      #
-      # - :id -> Filter realms using their 'id'
-      # - :state -> Filter realms  by their 'state'
+      # - filter_opts:
+      #   - :id -> Filter realms using their 'id'
+      #   - :state -> Filter realms  by their 'state'
       #
       def realms(filter_opts={})
         from_collection :realms,

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/storage_snapshot.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/storage_snapshot.rb b/client/lib/deltacloud/client/methods/storage_snapshot.rb
index 33c1696..e8c5a6d 100644
--- a/client/lib/deltacloud/client/methods/storage_snapshot.rb
+++ b/client/lib/deltacloud/client/methods/storage_snapshot.rb
@@ -19,9 +19,8 @@ module Deltacloud::Client
 
       # Retrieve list of all storage_snapshot entities
       #
-      # Filter options:
-      #
-      # - :id -> Filter entities using 'id' attribute
+      # - filter_options:
+      #   - :id -> Filter entities using 'id' attribute
       #
       def storage_snapshots(filter_opts={})
         from_collection :storage_snapshots,
@@ -41,8 +40,8 @@ module Deltacloud::Client
       #
       # - volume_id -> ID of the +StorageVolume+ to create snapshot from
       # - create_opts ->
-      #   :name -> Name of the StorageSnapshot
-      #   :description -> Description of the StorageSnapshot
+      #   - :name -> Name of the StorageSnapshot
+      #   - :description -> Description of the StorageSnapshot
       #
       def create_storage_snapshot(volume_id, create_opts={})
         create_resource :storage_snapshot, create_opts.merge(:volume_id => volume_id)

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/methods/storage_volume.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/storage_volume.rb b/client/lib/deltacloud/client/methods/storage_volume.rb
index be6c4ca..994ffba 100644
--- a/client/lib/deltacloud/client/methods/storage_volume.rb
+++ b/client/lib/deltacloud/client/methods/storage_volume.rb
@@ -19,10 +19,9 @@ module Deltacloud::Client
 
       # Retrieve list of all storage_volumes
       #
-      # Filter options:
-      #
-      # - :id -> Filter storage_volumes using their 'id'
-      # - :state -> Filter storage_volumes  by their 'state'
+      # - filter_opts:
+      #   - :id -> Filter storage_volumes using their 'id'
+      #   - :state -> Filter storage_volumes  by their 'state'
       #
       def storage_volumes(filter_opts={})
         from_collection :storage_volumes,

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/models.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models.rb b/client/lib/deltacloud/client/models.rb
index 63b5a24..0f08ec3 100644
--- a/client/lib/deltacloud/client/models.rb
+++ b/client/lib/deltacloud/client/models.rb
@@ -14,17 +14,17 @@
 # under the License.
 
 require_relative './models/base'
+require_relative './models/address'
+require_relative './models/blob'
+require_relative './models/bucket'
 require_relative './models/driver'
-require_relative './models/realm'
+require_relative './models/firewall'
 require_relative './models/hardware_profile'
 require_relative './models/image'
 require_relative './models/instance_address'
 require_relative './models/instance'
 require_relative './models/instance_state'
+require_relative './models/key'
+require_relative './models/realm'
 require_relative './models/storage_volume'
 require_relative './models/storage_snapshot'
-require_relative './models/key'
-require_relative './models/address'
-require_relative './models/bucket'
-require_relative './models/blob'
-require_relative './models/firewall'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/models/base.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/base.rb b/client/lib/deltacloud/client/models/base.rb
index 9f51fb0..dbf34f7 100644
--- a/client/lib/deltacloud/client/models/base.rb
+++ b/client/lib/deltacloud/client/models/base.rb
@@ -31,7 +31,7 @@ module Deltacloud::Client
     attr_reader :description
 
     # The Base class that other models should inherit from
-    # To initialize, you need to suply these mandatory params:
+    # To initialize, you need to supply these mandatory params:
     #
     # - :_client -> Reference to Client instance
     # - :_id     -> The 'id' of resource. The '_' is there to avoid conflicts
@@ -49,7 +49,7 @@ module Deltacloud::Client
     alias_method :_id, :obj_id
 
     # Populate instance variables in model
-    # This method could be also used to update the variables for already
+    # This method could also be used to update the variables for already
     # initialized models. Look at +Instance#reload!+ method.
     #
     def update_instance_variables!(opts={})
@@ -92,11 +92,11 @@ module Deltacloud::Client
       @original_body
     end
 
-    # The model#id is the old way how to get the Deltacloud API resource
+    # The model#id is the old way for getting the Deltacloud API resource
     # 'id'. However this collide with the Ruby Object#id.
     #
     def id
-      warn '[DEPRECATION] `id` is deprecated because of possible conflict with Object#id. Use `_id` instead.'
+      warn '[DEPRECATION] `id` is deprecated because of a possible conflict with Object#id. Use `_id` instead.'
       _id
     end
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/models/bucket.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/bucket.rb b/client/lib/deltacloud/client/models/bucket.rb
index 9a8a856..3a689bf 100644
--- a/client/lib/deltacloud/client/models/bucket.rb
+++ b/client/lib/deltacloud/client/models/bucket.rb
@@ -38,14 +38,14 @@ module Deltacloud::Client
     end
 
     # Add a new blob to the bucket.
-    # See: +create_blob+
+    # See: methods/blob.rb +create_blob+
     #
     def add_blob(blob_name, blob_data, blob_create_opts={})
       create_blob(_id, blob_name, blob_data, create_opts)
     end
 
     # Remove a blob from the bucket
-    # See: +destroy_blob+
+    # See: methods/blob.rb +destroy_blob+
     #
     def remove_blob(blob_id)
       destroy_blob(_id, blob_id)

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/client/models/firewall.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/firewall.rb b/client/lib/deltacloud/client/models/firewall.rb
index 9bbe0f2..4443100 100644
--- a/client/lib/deltacloud/client/models/firewall.rb
+++ b/client/lib/deltacloud/client/models/firewall.rb
@@ -26,12 +26,6 @@ module Deltacloud::Client
     attr_reader :owner_id
     attr_reader :rules
 
-    # Firewall model methods
-    #
-    # def reboot!
-    #   firewall_reboot(_id)
-    # end
-
     # Parse the Firewall entity from XML body
     #
     # - xml_body -> Deltacloud API XML representation of the firewall

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/core_ext.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext.rb b/client/lib/deltacloud/core_ext.rb
index e85cdba..e8c5247 100644
--- a/client/lib/deltacloud/core_ext.rb
+++ b/client/lib/deltacloud/core_ext.rb
@@ -14,6 +14,6 @@
 # under the License.
 
 require_relative './core_ext/element'
-require_relative './core_ext/string'
 require_relative './core_ext/fixnum'
+require_relative './core_ext/nil'
 require_relative './core_ext/string'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/lib/deltacloud/error_response.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/error_response.rb b/client/lib/deltacloud/error_response.rb
index 428b5ec..af663cf 100644
--- a/client/lib/deltacloud/error_response.rb
+++ b/client/lib/deltacloud/error_response.rb
@@ -22,19 +22,19 @@ module Deltacloud
     # In case there is no error returned in body, it will try to use
     # the generic error reporting.
     #
-    # - klass -> Deltacloud::Client::+Class+
+    # - name    -> Deltacloud::Client::+Class+
+    # - error   -> Deltacloud XML error representation
     # - message -> Exception message (overiden by error body message if
     #              present)
-    # - error -> Deltacloud XML error representation
     #
     def client_error(name, error, message=nil)
       args = {
         :message => message,
         :status => error ? error[:status] : '500'
       }
-      # If Deltacloud API send error in response body, parse it.
-      # Otherwise, when DC API send just plain text error, use
-      # it as exception message.
+      # If Deltacloud API sends an error in the response body, parse it.
+      # Otherwise, when DC API sends just plain text error, use
+      # it as the exception message.
       # If DC API does not send anything back, then fallback to
       # the 'message' attribute.
       #
@@ -52,7 +52,8 @@ module Deltacloud
       @app.call(env).on_complete do |e|
         case e[:status].to_s
         when '401'
-          raise client_error(:authentication_error, e, 'Invalid :api_user or :api_password')
+          raise client_error(:authentication_error, e,
+            'Invalid :api_user or :api_password')
         when '405'
           raise client_error(
             :invalid_state, e, 'Resource state does not permit this action'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e107d206/client/tests/models/image_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/image_test.rb b/client/tests/models/image_test.rb
index 0879b35..6c32d06 100644
--- a/client/tests/models/image_test.rb
+++ b/client/tests/models/image_test.rb
@@ -57,7 +57,7 @@ describe Deltacloud::Client::Image do
 
   it 'supports #id' do
     img = @client.image('img1')
-    lambda { img.id.must_equal 'img1' }.must_output nil, "[DEPRECATION] `id` is deprecated because of possible conflict with Object#id. Use `_id` instead.\n"
+    lambda { img.id.must_equal 'img1' }.must_output nil, "[DEPRECATION] `id` is deprecated because of a possible conflict with Object#id. Use `_id` instead.\n"
   end
 
 end


[23/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/HWP/Property.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/HWP/Property.html b/client/doc/DeltaCloud/HWP/Property.html
deleted file mode 100644
index 2144883..0000000
--- a/client/doc/DeltaCloud/HWP/Property.html
+++ /dev/null
@@ -1,522 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::HWP::Property</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (P)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../HWP.html" title="DeltaCloud::HWP (module)">HWP</a></span>
-     &raquo; 
-    <span class="title">Property</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::HWP::Property
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::HWP::Property</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<div id="subclasses">
-  <h2>Direct Known Subclasses</h2>
-  <p class="children"><a href="FloatProperty.html" title="DeltaCloud::HWP::FloatProperty (class)">FloatProperty</a></p>
-</div>
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#kind-instance_method" title="#kind (instance method)">- (Object) <strong>kind</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute kind.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (Object) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute name.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#unit-instance_method" title="#unit (instance method)">- (Object) <strong>unit</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute unit.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#value-instance_method" title="#value (instance method)">- (Object) <strong>value</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute value.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (Property) <strong>initialize</strong>(xml, name) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of Property.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#present%3F-instance_method" title="#present? (instance method)">- (Boolean) <strong>present?</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::HWP::Property (class)">Property</a></tt>) <strong>initialize</strong>(xml, name) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of Property</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-448
-449
-450
-451
-452</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 448</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='comma token'>,</span> <span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='@name ivar id'>@name</span><span class='comma token'>,</span> <span class='@kind ivar id'>@kind</span><span class='comma token'>,</span> <span class='@value ivar id'>@value</span><span class='comma token'>,</span> <span class='@unit ivar id'>@unit</span> <span class='assign token'>=</span> <span class='xml identifier id'>xml</span><span class='lbrack token'>[</span><span class='string val'>'name'</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='xml identifier id'>xml</span><span class='lbrack token'>[</span><span class='string val'>'kind'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='comma token'>,</span> <span class='xml identifier id'>xml</span><span class='lbrack token'>[</span><span class='string val'>'value'</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='xml identifier id'>xml</span><span class='
 lbrack token'>[</span><span class='string val'>'unit'</span><span class='rbrack token'>]</span>
-  <span class='declare_ranges identifier id'>declare_ranges</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='rparen token'>)</span>
-  <span class='self self kw'>self</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="kind-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="kind-instance_method">
-  
-    - (<tt>Object</tt>) <strong>kind</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute kind</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-446
-447
-448</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 446</span>
-
-<span class='def def kw'>def</span> <span class='kind identifier id'>kind</span>
-  <span class='@kind ivar id'>@kind</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="name-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt>Object</tt>) <strong>name</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute name</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-446
-447
-448</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 446</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='@name ivar id'>@name</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="unit-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="unit-instance_method">
-  
-    - (<tt>Object</tt>) <strong>unit</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute unit</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-446
-447
-448</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 446</span>
-
-<span class='def def kw'>def</span> <span class='unit identifier id'>unit</span>
-  <span class='@unit ivar id'>@unit</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="value-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="value-instance_method">
-  
-    - (<tt>Object</tt>) <strong>value</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute value</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-446
-447
-448</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 446</span>
-
-<span class='def def kw'>def</span> <span class='value identifier id'>value</span>
-  <span class='@value ivar id'>@value</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="present?-instance_method">
-  
-    - (<tt>Boolean</tt>) <strong>present?</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Boolean</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-454
-455
-456</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 454</span>
-
-<span class='def def kw'>def</span> <span class='present? fid id'>present?</span>
-  <span class='notop op'>!</span> <span class='@value ivar id'>@value</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:29 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/InstanceState.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/InstanceState.html b/client/doc/DeltaCloud/InstanceState.html
deleted file mode 100644
index ff8f45b..0000000
--- a/client/doc/DeltaCloud/InstanceState.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Module: DeltaCloud::InstanceState</title>
-<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../_index.html">Index (I)</a> &raquo; 
-    <span class='title'><a href="../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span>
-     &raquo; 
-    <span class="title">InstanceState</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Module: DeltaCloud::InstanceState
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r1 last">Defined in:</dt>
-    <dd class="r1 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="InstanceState/State.html" title="DeltaCloud::InstanceState::State (class)">State</a>, <a href="InstanceState/Transition.html" title="DeltaCloud::InstanceState::Transition (class)">Transition</a>
-    
-  
-</p>
-
-
-
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:26 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/InstanceState/State.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/InstanceState/State.html b/client/doc/DeltaCloud/InstanceState/State.html
deleted file mode 100644
index 08e4aec..0000000
--- a/client/doc/DeltaCloud/InstanceState/State.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::InstanceState::State</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (S)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a></span>
-     &raquo; 
-    <span class="title">State</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::InstanceState::State
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::InstanceState::State</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (Object) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute name.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#transitions-instance_method" title="#transitions (instance method)">- (Object) <strong>transitions</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute transitions.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (State) <strong>initialize</strong>(name) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of State.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::InstanceState::State (class)">State</a></tt>) <strong>initialize</strong>(name) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of State</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-423
-424
-425</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 423</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='@name ivar id'>@name</span><span class='comma token'>,</span> <span class='@transitions ivar id'>@transitions</span> <span class='assign token'>=</span> <span class='name identifier id'>name</span><span class='comma token'>,</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="name-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="name-instance_method">
-  
-    - (<tt>Object</tt>) <strong>name</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute name</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-420
-421
-422</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 420</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='@name ivar id'>@name</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="transitions-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="transitions-instance_method">
-  
-    - (<tt>Object</tt>) <strong>transitions</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute transitions</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-421
-422
-423</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 421</span>
-
-<span class='def def kw'>def</span> <span class='transitions identifier id'>transitions</span>
-  <span class='@transitions ivar id'>@transitions</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/InstanceState/Transition.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/InstanceState/Transition.html b/client/doc/DeltaCloud/InstanceState/Transition.html
deleted file mode 100644
index 8686085..0000000
--- a/client/doc/DeltaCloud/InstanceState/Transition.html
+++ /dev/null
@@ -1,388 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::InstanceState::Transition</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (T)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a></span>
-     &raquo; 
-    <span class="title">Transition</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::InstanceState::Transition
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::InstanceState::Transition</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#action-instance_method" title="#action (instance method)">- (Object) <strong>action</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute action.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#to-instance_method" title="#to (instance method)">- (Object) <strong>to</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute to.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#auto%3F-instance_method" title="#auto? (instance method)">- (Boolean) <strong>auto?</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (Transition) <strong>initialize</strong>(to, action) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of Transition.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::InstanceState::Transition (class)">Transition</a></tt>) <strong>initialize</strong>(to, action) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of Transition</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-432
-433
-434
-435</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 432</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='to identifier id'>to</span><span class='comma token'>,</span> <span class='action identifier id'>action</span><span class='rparen token'>)</span>
-  <span class='@to ivar id'>@to</span> <span class='assign token'>=</span> <span class='to identifier id'>to</span>
-  <span class='@action ivar id'>@action</span> <span class='assign token'>=</span> <span class='action identifier id'>action</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="action-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="action-instance_method">
-  
-    - (<tt>Object</tt>) <strong>action</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute action</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-430
-431
-432</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 430</span>
-
-<span class='def def kw'>def</span> <span class='action identifier id'>action</span>
-  <span class='@action ivar id'>@action</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="to-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="to-instance_method">
-  
-    - (<tt>Object</tt>) <strong>to</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute to</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-429
-430
-431</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 429</span>
-
-<span class='def def kw'>def</span> <span class='to identifier id'>to</span>
-  <span class='@to ivar id'>@to</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="auto?-instance_method">
-  
-    - (<tt>Boolean</tt>) <strong>auto?</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Boolean</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-437
-438
-439</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 437</span>
-
-<span class='def def kw'>def</span> <span class='auto? fid id'>auto?</span>
-  <span class='@action ivar id'>@action</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter.html b/client/doc/DeltaCloud/PlainFormatter.html
deleted file mode 100644
index f3835a4..0000000
--- a/client/doc/DeltaCloud/PlainFormatter.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Module: DeltaCloud::PlainFormatter</title>
-<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../_index.html">Index (P)</a> &raquo; 
-    <span class='title'><a href="../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span>
-     &raquo; 
-    <span class="title">PlainFormatter</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Module: DeltaCloud::PlainFormatter
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r1 last">Defined in:</dt>
-    <dd class="r1 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-      <strong class="modules">Modules:</strong> <a href="PlainFormatter/FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a>
-    
-   
-    
-  
-</p>
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong>(obj) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong>(obj) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-79
-80
-81
-82
-83</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 79</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span><span class='lparen token'>(</span><span class='obj identifier id'>obj</span><span class='rparen token'>)</span>
-  <span class='object_name identifier id'>object_name</span> <span class='assign token'>=</span> <span class='obj identifier id'>obj</span><span class='dot token'>.</span><span class='class identifier id'>class</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='dot token'>.</span><span class='classify identifier id'>classify</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/^DeltaCloud::/</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span>
-  <span class='format_class identifier id'>format_class</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='colon2 op'>::</span><span class='PlainFormatter constant id'>PlainFormatter</span><span class='colon2 op'>::</span><span class='FormatObject constant id'>FormatObject</span><span class='dot token'>.</span><span class='const_get identifier id'>const_get</span><span class='lparen token'>(</span><span class='object_name identifier id'>object_name</span><span class='rparen token'>)</span>
-  <span class='format_class identifier id'>format_class</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='obj identifier id'>obj</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='format identifier id'>format</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:29 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject.html
deleted file mode 100644
index 80d1dad..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Module: DeltaCloud::PlainFormatter::FormatObject</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (F)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span>
-     &raquo; 
-    <span class="title">FormatObject</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Module: DeltaCloud::PlainFormatter::FormatObject
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r1 last">Defined in:</dt>
-    <dd class="r1 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="FormatObject/Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a>, <a href="FormatObject/HardwareProfile.html" title="DeltaCloud::PlainFormatter::FormatObject::HardwareProfile (class)">HardwareProfile</a>, <a href="FormatObject/Image.html" title="DeltaCloud::PlainFormatter::FormatObject::Image (class)">Image</a>, <a href="FormatObject/Instance.html" title="DeltaCloud::PlainFormatter::FormatObject::Instance (class)">Instance</a>, <a href="FormatObject/Realm.html" title="DeltaCloud::PlainFormatter::FormatObject::Realm (class)">Realm</a>, <a href="FormatObject/StorageSnapshot.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot (class)">StorageSnapshot</a>, <a href="FormatObject/StorageVolume.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageVolume (class)">StorageVolume</a>
-    
-  
-</p>
-
-
-
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:26 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/Base.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Base.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/Base.html
deleted file mode 100644
index 625f035..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Base.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::Base</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (B)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">Base</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::Base
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::Base</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<div id="subclasses">
-  <h2>Direct Known Subclasses</h2>
-  <p class="children"><a href="HardwareProfile.html" title="DeltaCloud::PlainFormatter::FormatObject::HardwareProfile (class)">HardwareProfile</a>, <a href="Image.html" title="DeltaCloud::PlainFormatter::FormatObject::Image (class)">Image</a>, <a href="Instance.html" title="DeltaCloud::PlainFormatter::FormatObject::Instance (class)">Instance</a>, <a href="Realm.html" title="DeltaCloud::PlainFormatter::FormatObject::Realm (class)">Realm</a>, <a href="StorageSnapshot.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot (class)">StorageSnapshot</a>, <a href="StorageVolume.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageVolume (class)">StorageVolume</a></p>
-</div>
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (Base) <strong>initialize</strong>(obj) </a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of Base.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></tt>) <strong>initialize</strong>(obj) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of Base</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-6
-7
-8</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 6</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='obj identifier id'>obj</span><span class='rparen token'>)</span>
-  <span class='@obj ivar id'>@obj</span> <span class='assign token'>=</span> <span class='obj identifier id'>obj</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:29 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html
deleted file mode 100644
index 7c63e03..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::HardwareProfile</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (H)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">HardwareProfile</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::HardwareProfile
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::HardwareProfile</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-35
-36
-37
-38</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 35</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-15s | %-6s | %10s | %10s &quot;</span><span class='comma token'>,</span> <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='integer val'>15</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='architecture identifier id'>architecture</span><span class='dot token'>.</span><span class='value identifier id'>value</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>6</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='memory identifier id'>memory</span><span class='dot token'>.</span><span class='value identifier id'>value</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='storage identif
 ier id'>storage</span><span class='dot token'>.</span><span class='value identifier id'>value</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:23 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/Image.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Image.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/Image.html
deleted file mode 100644
index 78ef8d5..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Image.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::Image</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (I)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">Image</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::Image
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::Image</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-12
-13
-14
-15
-16
-17
-18
-19
-20</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 12</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-10s | %-20s | %-6s | %-20s | %15s&quot;</span><span class='comma token'>,</span>
-      <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-      <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='name identifier id'>name</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='integer val'>20</span><span class='rbrack token'>]</span><span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-      <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='architecture identifier id'>architecture</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>6</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-      <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='description identifier id'>description</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>20</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-      <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='owner_id identifier id'>owner_id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span>
-  <span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:28 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/Instance.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Instance.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/Instance.html
deleted file mode 100644
index ecd48db..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Instance.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::Instance</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (I)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">Instance</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::Instance
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::Instance</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 42</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-15s | %-15s | %-15s | %10s | %32s | %32s&quot;</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'-'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='name identifier id'>name</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='dot token'>.</span><span class='name identifier id'>name</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='public_addresses identifier id'>public_addresses</span><span class='dot token'>.</span><span class='join identifier id'>join</span><span class='lparen token'>(</span><span class='string val'>','</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>32</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='private_addresses identifier id'>private_addresses</span><span class='dot token'>.</span><span class='join identifier id'>join</span><span class='lparen token'>(</span><span class='string val'>','</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>32</span><span class='rbrack token'>]</span>
-  <span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:28 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/Realm.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Realm.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/Realm.html
deleted file mode 100644
index 4611109..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/Realm.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::Realm</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (R)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">Realm</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::Realm
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::Realm</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-24
-25
-26
-27
-28
-29
-30
-31</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 24</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-10s | %-15s | %-5s | %10s GB&quot;</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='integer val'>10</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='integer val'>15</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>5</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='limit identifier id'>limit</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span>
-  <span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html
deleted file mode 100644
index b68debb..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (S)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">StorageSnapshot</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-67
-68
-69
-70
-71
-72
-73
-74</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 67</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-10s | %-15s | %-6s | %15s&quot;</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='storage_volume identifier id'>storage_volume</span><span class='dot token'>.</span><span class='respond_to? fid id'>respond_to?</span><span class='lparen token'>(</span><span class='string val'>'name'</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='storage_volume identifier id'>storage_volume</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='created identifier id'>created</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='created identifier id'>created</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>19</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span>
-  <span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:24 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file


[06/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_supports_current_provider.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_supports_current_provider.yml b/client/tests/fixtures/test_0005_supports_current_provider.yml
new file mode 100644
index 0000000..5ca0267
--- /dev/null
+++ b/client/tests/fixtures/test_0005_supports_current_provider.yml
@@ -0,0 +1,134 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      X-Deltacloud-Provider:
+      - eu-west-1
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-deltacloud-provider:
+      - eu-west-1
+      content-length:
+      - '2171'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d5610ad0b0162d71058b2e143286d363
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' provider='eu-west-1' version='1.1.1'>\n  <link
+        href='http://localhost:3001/api/instance_states' rel='instance_states'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/metrics' rel='metrics'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/instances' rel='instances'>\n
+        \   <feature name='metrics' rel='create'>\n      <param name='metrics' />\n
+        \   </feature>\n    <feature name='user_data' rel='create'>\n      <param
+        name='user_data' />\n    </feature>\n    <feature name='firewalls' rel='create'>\n
+        \     <param name='firewalls' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n    <feature
+        name='instance_count' rel='create'>\n      <param name='instance_count' />\n
+        \   </feature>\n    <feature name='attach_snapshot' rel='create'>\n      <param
+        name='snapshot_id' />\n      <param name='device_name' />\n    </feature>\n
+        \ </link>\n  <link href='http://localhost:3001/api/realms' rel='realms'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \   <feature name='owner_id' rel='index'>\n      <param name='owner_id' />\n
+        \   </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_supports_id.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_supports_id.yml b/client/tests/fixtures/test_0005_supports_id.yml
new file mode 100644
index 0000000..ffd6266
--- /dev/null
+++ b/client/tests/fixtures/test_0005_supports_id.yml
@@ -0,0 +1,116 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:24:49 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:24:49 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0018804073333740234'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:24:49 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:24:49 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_supports_switching_drivers_per_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_supports_switching_drivers_per_instance.yml b/client/tests/fixtures/test_0005_supports_switching_drivers_per_instance.yml
new file mode 100644
index 0000000..2e54e84
--- /dev/null
+++ b/client/tests/fixtures/test_0005_supports_switching_drivers_per_instance.yml
@@ -0,0 +1,129 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_supports_use_driver.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_supports_use_driver.yml b/client/tests/fixtures/test_0005_supports_use_driver.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0005_supports_use_driver.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0006_support_create_instance_with_realm_id.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0006_support_create_instance_with_realm_id.yml b/client/tests/fixtures/test_0006_support_create_instance_with_realm_id.yml
new file mode 100644
index 0000000..da00b68
--- /dev/null
+++ b/client/tests/fixtures/test_0006_support_create_instance_with_realm_id.yml
@@ -0,0 +1,115 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?realm_id=eu&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst13
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 352e679cd4d73dec0ac913bd824a482d
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst13'
+        id='inst13'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/eu' id='eu'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst13/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst13/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0006_supports_discovered_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0006_supports_discovered_.yml b/client/tests/fixtures/test_0006_supports_discovered_.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0006_supports_discovered_.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0006_supports_supported_collections.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0006_supports_supported_collections.yml b/client/tests/fixtures/test_0006_supports_supported_collections.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0006_supports_supported_collections.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0006_supports_switching_providers_per_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0006_supports_switching_providers_per_instance.yml b/client/tests/fixtures/test_0006_supports_switching_providers_per_instance.yml
new file mode 100644
index 0000000..dcc6b49
--- /dev/null
+++ b/client/tests/fixtures/test_0006_supports_switching_providers_per_instance.yml
@@ -0,0 +1,208 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      X-Deltacloud-Provider:
+      - eu-west-1
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-deltacloud-provider:
+      - eu-west-1
+      content-length:
+      - '2171'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d5610ad0b0162d71058b2e143286d363
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' provider='eu-west-1' version='1.1.1'>\n  <link
+        href='http://localhost:3001/api/instance_states' rel='instance_states'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/metrics' rel='metrics'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/instances' rel='instances'>\n
+        \   <feature name='metrics' rel='create'>\n      <param name='metrics' />\n
+        \   </feature>\n    <feature name='user_data' rel='create'>\n      <param
+        name='user_data' />\n    </feature>\n    <feature name='firewalls' rel='create'>\n
+        \     <param name='firewalls' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n    <feature
+        name='instance_count' rel='create'>\n      <param name='instance_count' />\n
+        \   </feature>\n    <feature name='attach_snapshot' rel='create'>\n      <param
+        name='snapshot_id' />\n      <param name='device_name' />\n    </feature>\n
+        \ </link>\n  <link href='http://localhost:3001/api/realms' rel='realms'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \   <feature name='owner_id' rel='index'>\n      <param name='owner_id' />\n
+        \   </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      X-Deltacloud-Provider:
+      - us-east-1
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-deltacloud-provider:
+      - us-east-1
+      content-length:
+      - '2171'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 9311d5c5238b234792a45d5aba470628
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' provider='us-east-1' version='1.1.1'>\n  <link
+        href='http://localhost:3001/api/instance_states' rel='instance_states'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/metrics' rel='metrics'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/instances' rel='instances'>\n
+        \   <feature name='metrics' rel='create'>\n      <param name='metrics' />\n
+        \   </feature>\n    <feature name='user_data' rel='create'>\n      <param
+        name='user_data' />\n    </feature>\n    <feature name='firewalls' rel='create'>\n
+        \     <param name='firewalls' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n    <feature
+        name='instance_count' rel='create'>\n      <param name='instance_count' />\n
+        \   </feature>\n    <feature name='attach_snapshot' rel='create'>\n      <param
+        name='snapshot_id' />\n      <param name='device_name' />\n    </feature>\n
+        \ </link>\n  <link href='http://localhost:3001/api/realms' rel='realms'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \   <feature name='owner_id' rel='index'>\n      <param name='owner_id' />\n
+        \   </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0007_support_create_instance_with_name.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0007_support_create_instance_with_name.yml b/client/tests/fixtures/test_0007_support_create_instance_with_name.yml
new file mode 100644
index 0000000..191326d
--- /dev/null
+++ b/client/tests/fixtures/test_0007_support_create_instance_with_name.yml
@@ -0,0 +1,115 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?realm_id=eu&name=test_instance&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst14
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1176'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - ae4fea5dc3db250cf11946ce2db46135
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>test_instance</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/eu' id='eu'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0007_support_switching_provider_without_credentials.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0007_support_switching_provider_without_credentials.yml b/client/tests/fixtures/test_0007_support_switching_provider_without_credentials.yml
new file mode 100644
index 0000000..dcc6b49
--- /dev/null
+++ b/client/tests/fixtures/test_0007_support_switching_provider_without_credentials.yml
@@ -0,0 +1,208 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      X-Deltacloud-Provider:
+      - eu-west-1
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-deltacloud-provider:
+      - eu-west-1
+      content-length:
+      - '2171'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d5610ad0b0162d71058b2e143286d363
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' provider='eu-west-1' version='1.1.1'>\n  <link
+        href='http://localhost:3001/api/instance_states' rel='instance_states'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/metrics' rel='metrics'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/instances' rel='instances'>\n
+        \   <feature name='metrics' rel='create'>\n      <param name='metrics' />\n
+        \   </feature>\n    <feature name='user_data' rel='create'>\n      <param
+        name='user_data' />\n    </feature>\n    <feature name='firewalls' rel='create'>\n
+        \     <param name='firewalls' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n    <feature
+        name='instance_count' rel='create'>\n      <param name='instance_count' />\n
+        \   </feature>\n    <feature name='attach_snapshot' rel='create'>\n      <param
+        name='snapshot_id' />\n      <param name='device_name' />\n    </feature>\n
+        \ </link>\n  <link href='http://localhost:3001/api/realms' rel='realms'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \   <feature name='owner_id' rel='index'>\n      <param name='owner_id' />\n
+        \   </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      X-Deltacloud-Provider:
+      - us-east-1
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-deltacloud-provider:
+      - us-east-1
+      content-length:
+      - '2171'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 9311d5c5238b234792a45d5aba470628
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' provider='us-east-1' version='1.1.1'>\n  <link
+        href='http://localhost:3001/api/instance_states' rel='instance_states'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/metrics' rel='metrics'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/instances' rel='instances'>\n
+        \   <feature name='metrics' rel='create'>\n      <param name='metrics' />\n
+        \   </feature>\n    <feature name='user_data' rel='create'>\n      <param
+        name='user_data' />\n    </feature>\n    <feature name='firewalls' rel='create'>\n
+        \     <param name='firewalls' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n    <feature
+        name='instance_count' rel='create'>\n      <param name='instance_count' />\n
+        \   </feature>\n    <feature name='attach_snapshot' rel='create'>\n      <param
+        name='snapshot_id' />\n      <param name='device_name' />\n    </feature>\n
+        \ </link>\n  <link href='http://localhost:3001/api/realms' rel='realms'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \   <feature name='owner_id' rel='index'>\n      <param name='owner_id' />\n
+        \   </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0007_supports_support_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0007_supports_support_.yml b/client/tests/fixtures/test_0007_supports_support_.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0007_supports_support_.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0007_supports_valid_credentials_on_class.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0007_supports_valid_credentials_on_class.yml b/client/tests/fixtures/test_0007_supports_valid_credentials_on_class.yml
new file mode 100644
index 0000000..22e2721
--- /dev/null
+++ b/client/tests/fixtures/test_0007_supports_valid_credentials_on_class.yml
@@ -0,0 +1,370 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api?force_auth=true
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOm1vY2twYXNzd29yZA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api?force_auth=true
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOm1vY2twYXNzd29yZA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 401
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '21'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: Authentication failed
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api?force_auth=true
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 401
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '21'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: Authentication failed
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0008_support_stop_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0008_support_stop_instance.yml b/client/tests/fixtures/test_0008_support_stop_instance.yml
new file mode 100644
index 0000000..f22369f
--- /dev/null
+++ b/client/tests/fixtures/test_0008_support_stop_instance.yml
@@ -0,0 +1,166 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst13
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 06fe166651791f8a0a31bdb4ff286da1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst13'
+        id='inst13'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst13/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst13/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst13/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0018229484558105469'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst13'
+        id='inst13'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst13/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst13'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0008_supports_must_support_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0008_supports_must_support_.yml b/client/tests/fixtures/test_0008_supports_must_support_.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0008_supports_must_support_.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0


[03/30] git commit: Client: Complete rewrite of deltacloud-client

Posted by mf...@apache.org.
Client: Complete rewrite of deltacloud-client

- Now use Faraday HTTP lib
- Superb error reporting (based on Faraday middleware)
- Documentation
- Easy to read/fix bugs/add features
- Compatible with jRuby/MRI 2.0.0


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/b6d3365c
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/b6d3365c
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/b6d3365c

Branch: refs/heads/master
Commit: b6d3365c1e594a5a898d40d262db80882ceb963d
Parents: 95e8662
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:51:26 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:34 2013 +0100

----------------------------------------------------------------------
 client/.gitignore                                  |   21 +-
 client/Gemfile                                     |   12 +
 client/README                                      |  127 ----
 client/README.md                                   |   73 +++
 client/Rakefile                                    |   92 +++-
 client/deltacloud-client.gemspec                   |   13 +-
 client/lib/base_object.rb                          |  386 ------------
 client/lib/client_bucket_methods.rb                |   69 --
 client/lib/deltacloud.rb                           |  486 ---------------
 client/lib/deltacloud/client.rb                    |   78 +++
 client/lib/deltacloud/client/base_error.rb         |   84 +++
 client/lib/deltacloud/client/connection.rb         |  135 ++++
 .../lib/deltacloud/client/helpers/model_helper.rb  |   69 ++
 .../deltacloud/client/helpers/property_helper.rb   |  103 +++
 client/lib/deltacloud/client/helpers/xml_helper.rb |   33 +
 client/lib/deltacloud/client/methods.rb            |   29 +
 client/lib/deltacloud/client/methods/address.rb    |   68 ++
 client/lib/deltacloud/client/methods/api.rb        |   96 +++
 .../client/methods/backward_compatiblity.rb        |   72 +++
 client/lib/deltacloud/client/methods/blob.rb       |   91 +++
 client/lib/deltacloud/client/methods/bucket.rb     |   56 ++
 client/lib/deltacloud/client/methods/common.rb     |   46 ++
 client/lib/deltacloud/client/methods/driver.rb     |   54 ++
 client/lib/deltacloud/client/methods/firewall.rb   |   66 ++
 .../deltacloud/client/methods/hardware_profile.rb  |   42 ++
 client/lib/deltacloud/client/methods/image.rb      |   62 ++
 client/lib/deltacloud/client/methods/instance.rb   |  140 +++++
 .../deltacloud/client/methods/instance_state.rb    |   41 ++
 client/lib/deltacloud/client/methods/key.rb        |   59 ++
 client/lib/deltacloud/client/methods/realm.rb      |   43 ++
 .../deltacloud/client/methods/storage_snapshot.rb  |   62 ++
 .../deltacloud/client/methods/storage_volume.rb    |   95 +++
 client/lib/deltacloud/client/models.rb             |   30 +
 client/lib/deltacloud/client/models/address.rb     |   57 ++
 client/lib/deltacloud/client/models/base.rb        |  151 +++++
 client/lib/deltacloud/client/models/blob.rb        |   56 ++
 client/lib/deltacloud/client/models/bucket.rb      |   65 ++
 client/lib/deltacloud/client/models/driver.rb      |   87 +++
 client/lib/deltacloud/client/models/firewall.rb    |   70 ++
 .../deltacloud/client/models/hardware_profile.rb   |   68 ++
 client/lib/deltacloud/client/models/image.rb       |   60 ++
 client/lib/deltacloud/client/models/instance.rb    |  122 ++++
 .../deltacloud/client/models/instance_address.rb   |   35 +
 .../lib/deltacloud/client/models/instance_state.rb |   52 ++
 client/lib/deltacloud/client/models/key.rb         |   52 ++
 client/lib/deltacloud/client/models/realm.rb       |   29 +
 .../deltacloud/client/models/storage_snapshot.rb   |   54 ++
 .../lib/deltacloud/client/models/storage_volume.rb |   96 +++
 client/lib/deltacloud/core_ext.rb                  |   19 +
 client/lib/deltacloud/core_ext/element.rb          |   32 +
 client/lib/deltacloud/core_ext/fixnum.rb           |   30 +
 client/lib/deltacloud/core_ext/nil.rb              |   22 +
 client/lib/deltacloud/core_ext/string.rb           |   49 ++
 client/lib/deltacloud/error_response.rb            |   92 +++
 client/lib/documentation.rb                        |   59 --
 client/lib/errors.rb                               |  140 -----
 client/lib/hwp_properties.rb                       |   61 --
 client/lib/instance_state.rb                       |   44 --
 client/lib/string.rb                               |   59 --
 client/support/method_test_template.erb            |   53 ++
 client/support/methods_template.erb                |   54 ++
 client/support/model_template.erb                  |   45 ++
 62 files changed, 3304 insertions(+), 1442 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/.gitignore
----------------------------------------------------------------------
diff --git a/client/.gitignore b/client/.gitignore
index b4b07a3..3a0a93e 100644
--- a/client/.gitignore
+++ b/client/.gitignore
@@ -1,4 +1,19 @@
-spec_report.html
-*.swp
-tmp/
 *.gem
+*.rbc
+.bundle
+.config
+coverage
+InstalledFiles
+lib/bundler/man
+pkg
+rdoc
+spec/reports
+test/tmp
+test/version_tmp
+tmp
+*.lock
+
+# YARD artifacts
+.yardoc
+_yardoc
+doc/

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/Gemfile
----------------------------------------------------------------------
diff --git a/client/Gemfile b/client/Gemfile
new file mode 100644
index 0000000..4c6d274
--- /dev/null
+++ b/client/Gemfile
@@ -0,0 +1,12 @@
+source 'https://rubygems.org'
+
+gem 'faraday'
+gem 'nokogiri'
+
+group :development do
+  gem 'rake'
+  gem 'minitest'
+  gem 'vcr'
+  gem 'pry'
+  gem 'simplecov', :require => false
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/README
----------------------------------------------------------------------
diff --git a/client/README b/client/README
deleted file mode 100644
index 5324062..0000000
--- a/client/README
+++ /dev/null
@@ -1,127 +0,0 @@
-# Deltacloud Client (Ruby)
-
-The Deltacloud project includes a Ruby client.  Other language-bindings
-are possible and will be supported soon.  The client aims to insulate
-users from having to deal with HTTP and REST directly.
-
-Each resource type has an associated model to ease usage.  Where
-resource reference other resources, natural navigation across the
-object model is possible.
-
-For example
-
-    puts instance.image.name
-    puts instance.hardware_profile.architecture
-
-## Basics
-
-To use the client, you must require `deltacloud`.
-
-    require 'deltacloud'
-
-## Connecting to a Deltacloud provider
-
-    require 'deltacloud'
-
-    api_url      = 'http://localhost:3001/api'
-    api_name     = 'mockuser'
-    api_password = 'mockpassword'
-
-    client = DeltaCloud.new( api_name, api_password, api_url )
-
-    # work with client here
-
-In addition to creating a client, operations may occur within a block
-included on the initialization
-
-    DeltaCloud.new( api_name, api_password, api_url ) do |client|
-      # work with client here
-    end
-
-In the event of a failure, any underlying HTTP transport exceptions
-will be thrown all the way out to the caller.
-
-## Listing realms
-
-You may retrieve a complete list of realms available to you
-
-    realms = client.realms
-
-You may retrieve a specific realm by its identifier
-
-    realm = client.realm( 'us' )
-
-## Listing hardware profiles
-
-You may retrieve a complete list of hardware profiles available for launching
-machines
-
-    hwp = client.hardware_profiles
-
-You may filter hardware profiles by architecture
-
-    flavors = client.hardware_profiles( :architecture=>'x86_64' )
-
-You may retrieve a specific hardware profile by its identifier
-
-    flavor = client.hardware_profile( 'm1-small' )
-
-## Listing images
-
-You may retrieve a complete list of images
-
-    images = client.images
-
-You may retrieve a list of images owned by the currently authenticated
-user
-
-    images = client.images( :owner_id=>:self )
-
-You may retrieve a list of images visible to you but owned by a specific
-user
-
-    images = client.images( :owner_id=>'daryll' )
-
-You may retrieve a specific image by its identifier
-
-    image = client.image( 'ami-8675309' )
-
-## Listing instances
-
-You may retrieve a list of all instances visible to you
-
-    instances = client.instances
-
-You may retrieve a specific instance by its identifier
-
-    instance = client.instance( 'i-90125' )
-
-## Launching instances
-
-An instance may be launched using just an image identifier
-
-    image = client.image( 'ami-8675309' )
-    instance = client.create_instance( image.id )
-
-Optionally, a flavor or realm may be specified
-
-    instance = client.create_instance( image.id, :flavor=>'m1-small', :realm=>'us' )
-
-## Manipulating instances
-
-Given an instance, depending on its state, various actions _may_ be available.
-
-To determine what's available, the `instance#actions` method may be used.
-
-    instance.actions # [ 'reboot', 'stop' ]
-
-For a valid action, the method matching the action with an exclamation point may be called.
-
-    instance.reboot!
-
-Upon invoking an action, the instance will refresh its contents, in case the state has changed.
-To determine later if the state has changed again, the instance must be refetched using
-the `client.instance(...)` method.
-
-
-

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/README.md
----------------------------------------------------------------------
diff --git a/client/README.md b/client/README.md
new file mode 100644
index 0000000..fcd7595
--- /dev/null
+++ b/client/README.md
@@ -0,0 +1,73 @@
+# deltacloud-client
+
+The Deltacloud project includes a Ruby client.  Other language-bindings
+are possible and will be supported soon.  The client aims to insulate
+users from having to deal with HTTP and REST directly.
+
+Each resource type has an associated model to ease usage.  Where
+resource reference other resources, natural navigation across the
+object model is possible.
+
+This is a Ruby client library for the [Deltacloud API](http://deltacloud.apache.org).
+
+## Usage
+
+```ruby
+require 'deltacloud/client'
+
+API_URL = "http://localhost:3001/api" # Deltacloud API endpoint
+
+# Simple use-cases
+client = Deltacloud::Client(API_URL, 'mockuser', 'mockpassword')
+
+pp client.instances           # List all instances
+pp client.instance('i-12345') # Get one instance
+
+inst = client.create_instance 'ami-1234', :hwp_id => 'm1.small' # Create instance
+
+inst.reboot!  # Reboot instance
+
+# Advanced usage
+
+# Deltacloud API supports changing driver per-request:
+
+client.use(:ec2, 'API_KEY', 'API_SECRET').instances # List EC2 instances
+client.use(:openstack, 'admin@tenant', 'password', KEYSTONE_URL).instances # List Openstack instances
+
+```
+# Want help?
+
+## Adding new Deltacloud collection to client
+
+```
+$ rake generate[YOUR_COLLECTION] # eg. 'storage_snapshot'
+# Hit Enter 2x
+```
+
+- Edit `lib/deltacloud/client/methods/YOUR_COLLECTION.rb` and add all
+  methods for manipulating your collection. The list/show methods
+  should already be generated for you, but double-check them.
+
+- Edit `lib/deltacloud/client/model/YOUR_COLLECTION.rb` and add model
+  methods. Model methods should really be just a syntax sugar and exercise
+  the *Deltacloud::Client::Methods* methods.
+  The purpose of *model* class life is to deserialize XML body received
+  from Deltacloud API to a Ruby class.
+
+## Debugging a nasty bug?
+
+- You can easily debug deltacloud-client using powerful **pry**.
+
+  - `gem install deltacloud-core`
+  - optional: `rbenv rehash` ;-)
+  - `deltacloudd -i mock -p 3002`
+  - `rake console`
+
+Console require **pry** gem installed. If you are not using this awesome
+gem, you can fix it by `gem install pry`.
+
+# License
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/Rakefile
----------------------------------------------------------------------
diff --git a/client/Rakefile b/client/Rakefile
index 4248ca5..17d0cdd 100644
--- a/client/Rakefile
+++ b/client/Rakefile
@@ -1,4 +1,3 @@
-#
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.  The
@@ -14,10 +13,12 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+require 'rubygems'
 require 'rubygems/package_task'
+require 'rake'
 require 'rake/testtask'
 
-load 'deltacloud-client.gemspec'
+require 'pry' rescue LoadError
 
 spec = Gem::Specification.load('deltacloud-client.gemspec')
 
@@ -25,15 +26,98 @@ Gem::PackageTask.new(spec) do |pkg|
   pkg.need_tar = true
 end
 
-desc "Re-install the deltacloud-client gem"
+desc "Re-install the deltacloud-client gem (used for development)"
 task :reinstall do
   puts %x{gem uninstall deltacloud-client --all -I -x}
   puts %x{gem build deltacloud-client.gemspec}
   puts %x{gem install deltacloud-client-*.gem --local}
 end
 
+desc 'Generate model/methods files for collection.'
+task :generate, :name do |t, args|
+  require 'erb'
+  require_relative './lib/deltacloud/core_ext'
+  model_tpl = ERB.new(File.read('support/model_template.erb'))
+  methods_tpl = ERB.new(File.read('support/methods_template.erb'))
+  name = args[:name]
+  model_file = "lib/deltacloud/client/models/#{name}.rb"
+  methods_file = "lib/deltacloud/client/methods/#{name}.rb"
+  puts model_body = model_tpl.result(binding)
+  print "Save model to '#{model_file}'? [Y/n]"
+  answer = $stdin.gets.chomp
+  if answer.empty? or answer == 'Y'
+    File.open(model_file, 'w') { |f|
+      f.write(model_body)
+    }
+    File.open('lib/deltacloud/client/models.rb', 'a') { |f|
+      f.puts "require_relative './models/#{name}'"
+    }
+  end
+  puts methods_body = methods_tpl.result(binding)
+  print "Save methods to '#{methods_file}'? [Y/n]"
+  answer = $stdin.gets.chomp
+  if answer.empty? or answer == 'Y'
+    File.open(methods_file, 'w') { |f|
+      f.write(methods_body)
+    }
+    File.open('lib/deltacloud/client/methods.rb', 'a') { |f|
+      f.puts "require_relative './methods/#{name}'"
+    }
+  end
+  puts
+  puts "Don't forget to add this line to 'lib/deltacloud/client/connection.rb':"
+  puts
+  puts "include Deltacloud::Client::Methods::#{name.to_s.camelize}"
+  puts
+end
+
+desc 'Generate method test file'
+task :test_generate, :name do |t, args|
+  require 'erb'
+  require_relative './lib/deltacloud/core_ext'
+  method_tpl = ERB.new(File.read('support/method_test_template.erb'))
+  name = args[:name]
+  methods_file = "tests/methods/#{name}_test.rb"
+  puts method_body = method_tpl.result(binding)
+  print "Save method test to '#{methods_file}'? [Y/n]"
+  answer = $stdin.gets.chomp
+  if answer.empty? or answer == 'Y'
+    File.open(methods_file, 'w') { |f|
+      f.write(method_body)
+    }
+  end
+end
+
+
+desc "Open console with client connected to #{ENV['API_URL'] || 'localhost:3002/api'}"
+task :console do
+  unless binding.respond_to? :pry
+    puts 'To open a console, you need to have "pry" installed (gem install pry)'
+    exit(1)
+  end
+  require_relative './lib/deltacloud/client'
+  client = Deltacloud::Client(
+    ENV['API_URL'] || 'http://localhost:3002/api',
+    ENV['API_USER'] || 'mockuser',
+    ENV['API_PASSWORD'] || 'mockpassword'
+  )
+  binding.pry
+end
+
 Rake::TestTask.new(:test) do |t|
   t.test_files = FileList[
-    'tests/*test.rb',                     # EC2 frontend internal API tests
+    'tests/*/*_test.rb'
   ]
 end
+
+desc "Execute test against live Deltacloud API"
+task :test_live do
+  ENV['NO_VCR'] = 'true'
+  Rake::Task[:test].invoke
+end
+
+desc "Generate test coverage report"
+task :coverage do
+  ENV['COVERAGE'] = 'true'
+  Rake::Task[:test].invoke
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/deltacloud-client.gemspec
----------------------------------------------------------------------
diff --git a/client/deltacloud-client.gemspec b/client/deltacloud-client.gemspec
index 1b14f43..874e2f0 100644
--- a/client/deltacloud-client.gemspec
+++ b/client/deltacloud-client.gemspec
@@ -20,14 +20,19 @@ Gem::Specification.new do |s|
   s.homepage = "http://www.deltacloud.org"
   s.email = 'dev@deltacloud.apache.org'
   s.name = 'deltacloud-client'
-  s.description = %q{Deltacloud REST Client for API}
+  s.description = %q{A REST client for the Deltacloud API}
   s.version = Deltacloud::API_VERSION
   s.summary = %q{Deltacloud REST Client}
   s.files = Dir['Rakefile', 'lib/**/*.rb']
   s.test_files= Dir.glob("tests/**/**")
-  s.extra_rdoc_files = Dir["LICENSE", "NOTICE", "DISCLAIMER"]
+  s.extra_rdoc_files = Dir["LICENSE", "NOTICE", "README.md"]
 
-  s.add_dependency('rest-client', '>= 1.6.1')
+  s.add_dependency('faraday', '>=0.8.6')
   s.add_dependency('nokogiri', '>= 1.4.3')
-  s.add_development_dependency('rspec', '>= 2.0.0')
+
+  s.add_development_dependency('minitest')
+  s.add_development_dependency('simplecov')
+  s.add_development_dependency('vcr')
+  s.add_development_dependency('rake')
+  s.add_development_dependency('pry')
 end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/base_object.rb
----------------------------------------------------------------------
diff --git a/client/lib/base_object.rb b/client/lib/base_object.rb
deleted file mode 100644
index 6a28d5a..0000000
--- a/client/lib/base_object.rb
+++ /dev/null
@@ -1,386 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require_relative './string.rb'
-
-module DeltaCloud
-
-    class BaseObjectParamError < Exception; end
-    class NoHandlerForMethod < Exception; end
-
-    # BaseObject model basically provide the basic operation around
-    # REST model, like defining a links between different objects,
-    # element with text values, or collection of these elements
-    class BaseObject
-      attr_reader :id, :url, :client, :base_name
-      attr_reader :objects
-
-      alias :uri :url
-
-      # For initializing new object you require to set
-      # id, url, client and name attribute.
-      def initialize(opts={}, &block)
-        @id, @url, @client, @base_name = opts[:id], opts[:url], opts[:client], opts[:name]
-        @objects = []
-        raise BaseObjectParamError if @id.nil? or @url.nil? or @client.nil? or @base_name.nil?
-        yield self if block_given?
-      end
-
-      # This method add link to another object in REST model
-      # XML syntax: <link rel="destroy" href="http://localhost/api/resource" method="post"/>
-      def add_link!(object_name, id)
-        @objects << {
-          :type => :link,
-          :method_name => object_name.sanitize,
-          :id => id
-        }
-        @objects << {
-          :type => :text,
-          :method_name => "#{object_name.sanitize}_id",
-          :value => id
-        }
-      end
-
-      # Method add property for hardware profile
-      def add_hwp_property!(name, property, type)
-        hwp_property=case type
-          when :float then DeltaCloud::HWP::FloatProperty.new(property, name)
-          when :integer then DeltaCloud::HWP::Property.new(property, name)
-        end
-        @objects << {
-          :type => :property,
-          :method_name => name.sanitize,
-          :property => hwp_property
-        }
-      end
-
-      # This method define text object in REST model
-      # XML syntax: <name>Instance 1</name>
-      def add_text!(object_name, value)
-        @objects << {
-          :type => :text,
-          :method_name => object_name.sanitize,
-          :value => value
-        }
-      end
-
-      def add_authentication!(auth_type, values=[])
-        value = { :key => (values/'login/keyname').text.strip } if auth_type == 'key'
-        if auth_type == 'password'
-          value = {
-            :username => (values/'login/username').text.strip,
-            :username => (values/'login/password').text.strip
-          }
-        end
-        @objects << {
-          :type => :collection,
-          :method_name => 'authentication',
-          :values => value
-        }
-      end
-
-      def add_provider!(provider_id, entrypoints)
-        @providers ||= []
-        @providers << {
-          provider_id.intern => entrypoints.map { |e| { :kind => e[:kind], :url => e.text } }
-        }
-        @objects << {
-          :type => :collection,
-          :method_name => 'providers',
-          :values => @providers
-        }
-      end
-
-
-      # This method define collection of text elements inside REST model
-      # XML syntax: <addresses>
-      #               <address>127.0.0.1</address>
-      #               <address>127.0.0.2</address>
-      #             </addresses>
-      def add_addresses!(collection_name, values=[])
-        @objects << {
-          :type => :collection,
-          :method_name => collection_name.sanitize,
-          :values => values.collect { |v| { :address => v.text.strip, :type => v[:type] }}
-        }
-      end
-
-      # This method define collection of text elements inside REST model
-      # XML syntax: <addresses>
-      #               <address>127.0.0.1</address>
-      #               <address>127.0.0.2</address>
-      #             </addresses>
-      def add_collection!(collection_name, values=[])
-        @objects << {
-          :type => :collection,
-          :method_name => collection_name.sanitize,
-          :values => values
-        }
-      end
-
-      # Basic method hander. This define a way how value from property
-      # will be returned
-      def method_handler(m, args=[])
-        case m[:type]
-          when :link then return @client.send(m[:method_name].singularize, m[:id])
-          when :text then return m[:value]
-          when :property then return m[:property]
-          when :collection then return m[:values]
-          when :list then return m[:value].join(", ")
-          else raise NoHandlerForMethod
-        end
-      end
-
-      def method_missing(method_name, *args)
-        # First of all search throught array for method name
-        m = search_for_method(method_name)
-        if m.nil?
-          if method_name == :"valid_provider?"
-            return providers.any? { |p| p.keys.include? args.first.to_sym }
-          end
-          if method_name == :"valid_provider_url?"
-            return providers.any? { |p| !p.find { |k, v| v.find { |u| u[:url] == args.first } }.nil? }
-          end
-          super
-        else
-          # Call appropriate handler for method
-          method_handler(m, args)
-        end
-      end
-
-      # This method adds blobs to the blob_list property
-      # of a bucket
-      def add_blob!(blob_name)
-        if @blob_list.nil?
-          @blob_list = [blob_name]
-          @objects << {
-            :type => :list,
-            :method_name => "blob_list",
-            :value => @blob_list
-          }
-        else
-          @blob_list << blob_name
-          current = search_for_method('blob_list')
-          current[:value] = @blob_list
-        end
-      end
-
-      private
-
-      def search_for_method(name)
-        @objects.detect { |o| o[:method_name] == "#{name}" }
-      end
-
-    end
-
-    class ActionObject < BaseObject
-
-      def initialize(opts={}, &block)
-        super(opts)
-        @action_urls = opts[:action_urls] || []
-        @actions = []
-      end
-
-      # This trigger is called right after action.
-      # This method does nothing inside ActionObject
-      # but it can be redifined and used in meta-programming
-      def action_trigger(action)
-      end
-
-      def add_action_link!(id, link)
-        m = {
-          :type => :action_link,
-          :method_name => "#{link['rel'].sanitize}!",
-          :id => id,
-          :href => link['href'],
-          :rel => link['rel'].sanitize,
-          :method => link['method'].sanitize
-        }
-        @objects << m
-        @actions << [m[:rel], m[:href]]
-        @action_urls << m[:href]
-      end
-
-      def actions
-        @objects.inject([]) do |result, item|
-          result << [item[:rel], item[:href]] if item[:type].eql?(:action_link)
-          result
-        end
-      end
-
-      def action_urls
-        actions.collect { |a| a.last }
-      end
-
-      alias :base_method_handler :method_handler
-
-      # First call BaseObject method handler,
-      # then, if not method found try ActionObject handler
-      def method_handler(m, args=[])
-        begin
-          base_method_handler(m, args)
-        rescue NoHandlerForMethod
-          case m[:type]
-            when :action_link then do_action(m, args)
-            else raise NoHandlerForMethod
-          end
-        end
-      end
-
-      alias :original_method_missing :method_missing
-
-      def method_missing(name, *args)
-        if name.to_s =~ /^has_(\w+)\?$/
-          return actions.any? { |a| a[0] == $1 }
-        end
-        original_method_missing(name, args)
-      end
-
-      private
-
-      def do_action(m, args)
-        args = args.first || {}
-        method = m[:method].to_sym
-        @client.request(method,
-                        m[:href],
-                        method == :get ? args : {},
-                        method == :get ? {} : args)
-        action_trigger(m[:rel])
-      end
-
-    end
-
-    class StatefulObject < ActionObject
-      attr_reader :state
-
-      def initialize(opts={}, &block)
-        super(opts)
-        @state = opts[:initial_state] || ''
-        add_default_states!
-      end
-
-      def add_default_states!
-        @objects << {
-          :method_name => 'stopped?',
-          :type => :state,
-          :state => 'STOPPED'
-        }
-        @objects << {
-          :method_name => 'running?',
-          :type => :state,
-          :state => 'RUNNING'
-        }
-        @objects << {
-          :method_name => 'pending?',
-          :type => :state,
-          :state => 'PENDING'
-        }
-        @objects << {
-          :method_name => 'shutting_down?',
-          :type => :state,
-          :state => 'SHUTTING_DOWN'
-        }
-      end
-
-      def action_trigger(action)
-        # Refresh object state after action unless the object was destroyed
-        return if action.to_s == "destroy"
-        @new_state_object = @client.send(self.base_name, self.id)
-        @state = @new_state_object.state
-        self.update_actions!
-      end
-
-      def add_run_action!(id, link)
-        @objects << {
-          :method_name => 'run',
-          :type => :run,
-          :url => link,
-        }
-      end
-
-      alias :action_method_handler :method_handler
-
-      def method_handler(m, args=[])
-        begin
-          action_method_handler(m, args)
-        rescue NoHandlerForMethod
-          case m[:type]
-            when :state then evaluate_state(m[:state], @state)
-            when :run then run_command(m[:url][:href], args)
-            else raise NoHandlerForMethod
-          end
-        end
-      end
-
-#      private
-
-      def run_command(instance_url, args)
-        credentials = args[1]
-        params = {
-          :cmd => args[0],
-          :private_key => credentials[:pem] ? File.read(credentials[:pem]) : nil,
-        }
-        params.merge!({
-          :username => credentials[:username],
-          :password => credentials[:password]
-        }) if credentials[:username] and credentials[:password]
-        @client.request(:post, instance_url, {}, params) do |response|
-          output = Nokogiri::XML(response)
-          (output/'/instance/output').first.text
-        end
-      end
-
-      def evaluate_state(method_state, current_state)
-        method_state.eql?(current_state)
-      end
-
-      def action_objects
-        @objects.select { |o| o[:type] == :action_link }
-      end
-
-      def update_actions!
-        new_actions = @new_state_object.action_objects
-        @objects.reject! { |o| o[:type] == :action_link }
-        @objects = (@objects + new_actions)
-      end
-
-    end
-
-    def self.add_class(name, parent=:base)
-      parent = parent.to_s
-      parent_class = "#{parent.classify}Object"
-      @defined_classes ||= []
-      class_name = "#{parent.classify}::#{name.classify}"
-      unless @defined_classes.include?(class_name)
-        DeltaCloud::API.class_eval("class #{class_name} < DeltaCloud::#{parent_class}; end")
-        @defined_classes << class_name
-      end
-
-      DeltaCloud::API.const_get(parent.classify).const_get(name.classify)
-    end
-
-    def self.guess_model_type(response)
-      response = Nokogiri::XML(response.to_s)
-      return :action if ((response/'//actions').length >= 1) and ((response/'//state').length == 0)
-      return :stateful if ((response/'//actions').length >= 1) and ((response/'//state').length >= 1)
-      return :base
-    end
-
-    class API
-      class Action; end
-      class Base; end
-      class Stateful; end
-    end
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/client_bucket_methods.rb
----------------------------------------------------------------------
diff --git a/client/lib/client_bucket_methods.rb b/client/lib/client_bucket_methods.rb
deleted file mode 100644
index a3dfda0..0000000
--- a/client/lib/client_bucket_methods.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-module ClientBucketMethods
-
-  def create_bucket(params)
-    obj = nil
-    request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'],:location=>params['bucket_location'] }) do |response|
-      handle_backend_error(response) if response.code!=201
-      obj = base_object(:bucket, response)
-    end
-  end
-
-  def destroy_bucket(params)
-    #actually response here is 204 - no content - so nothing returned to client?
-    request(:delete, "#{api_uri.to_s}/buckets/#{params['id']}") do |response|
-      handle_backend_error(response) if response.code!=204
-      nil if response.code == 204
-    end
-  end
-
-  def create_blob(params)
-    blob = nil
-    resource = RestClient::Resource.new("#{api_uri.to_s}/buckets/#{params['bucket']}", :open_timeout => 10, :timeout => 45)
-    headers = default_headers.merge(extended_headers)
-    unless params['metadata'].nil?
-      metadata_headers = {}
-      params['metadata'].each   do |k,v|
-        metadata_headers["X-Deltacloud-Blobmeta-#{k}"] = v
-      end
-      headers = headers.merge(metadata_headers)
-    end
-    resource.send(:post, {:blob_data => File.new(params['file_path'], 'rb'), :blob_id => params[:id]}, headers) do |response, request, block|
-      handle_backend_error(response) if response.code.eql?(500)
-      blob = base_object(:blob, response)
-      yield blob if block_given?
-    end
-    return blob
-  end
-
-  def destroy_blob(params)
-    request(:delete, "#{api_uri.to_s}/buckets/#{params['bucket']}/#{params[:id]}") do |response|
-      handle_backend_error(response) if response.code!=204
-      nil if response.code == 204
-    end
-  end
-
-  #RestClient doesn't do streaming 'get' yet - we already opened a pull request on this see
-  #https://github.com/archiloque/rest-client/issues/closed#issue/62 - apparently its going to
-  #be in the next version - unknown when. For now get full response. FIXME
-  def blob_data(params)
-    request(:get, "#{api_uri.to_s}/buckets/#{params['bucket']}/#{params[:id]}/content") do |response|
-      response
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud.rb b/client/lib/deltacloud.rb
deleted file mode 100644
index a58c280..0000000
--- a/client/lib/deltacloud.rb
+++ /dev/null
@@ -1,486 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'nokogiri'
-require 'rest_client'
-require 'base64'
-require 'logger'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require_relative './hwp_properties.rb'
-require_relative './instance_state.rb'
-require_relative './documentation.rb'
-require_relative './base_object.rb'
-require_relative './errors.rb'
-require_relative './client_bucket_methods.rb'
-
-module DeltaCloud
-
-  # Get a new API client instance
-  #
-  # @param [String, user_name] API user name
-  # @param [String, password] API password
-  # @param [String, url] API URL (eg. http://localhost:3001/api)
-  # @return [DeltaCloud::API]
-  #def self.new(user_name, password, api_url, opts={}, &block)
-  #  opts ||= {}
-  #  API.new(user_name, password, api_url, opts, &block)
-  #end
-
-  def self.new(user_name, password, api_url, &block)
-    API.new(user_name, password, api_url, &block)
-  end
-
-  # Check given credentials if their are valid against
-  # backend cloud provider
-  #
-  # @param [String, user_name] API user name
-  # @param [String, password] API password
-  # @param [String, user_name] API URL (eg. http://localhost:3001/api)
-  # @return [true|false]
-  def self.valid_credentials?(user_name, password, api_url, opts={})
-    api=API.new(user_name, password, api_url, opts)
-    result = false
-    api.request(:get, '', :force_auth => '1') do |response|
-      result = true if response.code.eql?(200)
-    end
-    return result
-  end
-
-  # Return a API driver for specified URL
-  #
-  # @param [String, url] API URL (eg. http://localhost:3001/api)
-  def self.driver_name(url)
-    API.new(nil, nil, url).driver_name
-  end
-
-  class API
-    attr_reader :api_uri, :driver_name, :api_version, :features, :entry_points
-    attr_reader :api_driver, :api_provider
-
-    def initialize(user_name, password, api_url, opts={}, &block)
-      opts[:version] = true
-      @api_driver, @api_provider = opts[:driver], opts[:provider]
-      @username, @password = opts[:username] || user_name, opts[:password] || password
-      @api_uri = URI.parse(api_url)
-      @features, @entry_points = {}, {}
-      @verbose = opts[:verbose] || false
-      discover_entry_points
-      if entry_points.include?(:buckets)
-        extend(ClientBucketMethods)
-      end
-      yield self if block_given?
-    end
-
-    # This method can be used to switch back-end cloud
-    # for API instance using HTTP headers.
-    # Options must include:
-    # {
-    #   :driver => 'rhevm|ec2|gogrid|...',
-    #   :username => 'API key for backend',
-    #   :password => 'API secret key for backend',
-    # }
-    # Optionally you can pass also :provider option to change
-    # provider entry-point
-    #
-    # Example usage:
-    # client = Deltacloud::new('url', 'username', 'password')
-    # ...
-    # client.with_config(:driver => 'ec2', :username => '', :password => '') do |ec2|
-    #   ec2.realms
-    # end
-    #
-    # Note: After this block finish client instance will be set back to default
-    # state
-    #
-    # @param [Hash, opts] New provider configuration
-    def with_config(opts, &block)
-      api_instance = self.dup
-      api_instance.use_driver(opts[:driver],
-                             :username => opts[:username],
-                             :password => opts[:password],
-                             :provider => opts[:provider])
-      yield api_instance if block_given?
-      api_instance
-    end
-
-    def connect(&block)
-      yield self
-    end
-
-    # Return API hostname
-    def api_host; @api_uri.host ; end
-
-    # Return API port
-    def api_port; @api_uri.port ; end
-
-    # Return API path
-    def api_path; @api_uri.path ; end
-
-    # Define methods based on 'rel' attribute in entry point
-    # Two methods are declared: 'images' and 'image'
-    def declare_entry_points_methods(entry_points)
-      API.instance_eval do
-        entry_points.keys.select {|k| [:instance_states].include?(k)==false }.each do |model|
-
-          define_method model do |*args|
-            request(:get, entry_points[model], args.first) do |response|
-              base_object_collection(model, response)
-            end
-          end
-
-          define_method :"#{model.to_s.singularize}" do |*args|
-            request(:get, "#{entry_points[model]}/#{args[0]}") do |response|
-              base_object(model, response)
-            end
-          end
-
-          define_method :"fetch_#{model.to_s.singularize}" do |url|
-            url =~ /\/#{model}\/(.*)$/
-            self.send(model.to_s.singularize.to_sym, $1)
-          end
-
-      end
-
-      #define methods for blobs:
-      if(entry_points.include?(:buckets))
-        define_method :"blob" do |*args|
-            bucket = args[0]["bucket"]
-            blob = args[0][:id]
-            request(:get, "#{entry_points[:buckets]}/#{bucket}/#{blob}") do |response|
-              base_object("blob", response)
-            end
-        end
-      end
-
-      end
-    end
-
-    def base_object_collection(model, response)
-      Nokogiri::XML(response).xpath("#{model}/#{model.to_s.singularize}").collect do |item|
-        base_object(model, item.to_s)
-      end
-    end
-
-    # Add default attributes [id and href] to class
-    def base_object(model, response)
-      c = DeltaCloud.add_class("#{model}", DeltaCloud::guess_model_type(response))
-      xml_to_class(c, Nokogiri::XML(response).xpath("#{model.to_s.singularize}").first)
-    end
-
-    # Convert XML response to defined Ruby Class
-    def xml_to_class(base_object, item)
-
-      return nil unless item
-
-      params = {
-          :id => item['id'],
-          :url => item['href'],
-          :name => item.name,
-          :client => self
-      }
-      params.merge!({ :initial_state => (item/'state').text.sanitize }) if (item/'state').length > 0
-
-      obj = base_object.new(params)
-      # Traverse across XML document and deal with elements
-      item.xpath('./*').each do |attribute|
-        # Do a link for elements which are links to other REST models
-        if self.entry_points.keys.include?(:"#{attribute.name}s")
-          obj.add_link!(attribute.name, attribute['id']) && next unless (attribute.name == 'bucket' && item.name == 'blob')
-        end
-
-        # Do a HWP property for hardware profile properties
-        if attribute.name == 'property'
-          if attribute['value'] =~ /^(\d+)\.(\d+)$/
-            obj.add_hwp_property!(attribute['name'], attribute, :float) && next
-          else
-            obj.add_hwp_property!(attribute['name'], attribute, :integer) && next
-          end
-        end
-
-        # If there are actions, add they to ActionObject/StateFullObject
-        if attribute.name == 'actions'
-          (attribute/'link').each do |link|
-            (obj.add_run_action!(item['id'], link) && next) if link[:rel] == 'run'
-            obj.add_action_link!(item['id'], link)
-          end && next
-        end
-
-        if attribute.name == 'mount'
-          obj.add_link!("instance", (attribute/"./instance/@id").first.value)
-          obj.add_text!("device", (attribute/"./device/@name").first.value)
-          next
-        end
-
-        #deal with blob metadata
-        if (attribute.name == 'user_metadata')
-          meta = {}
-          attribute.children.select {|x| x.name=="entry" }.each  do |element|
-            value = element.content.gsub!(/(\n) +/,'')
-            meta[element['key']] = value
-          end
-          obj.add_collection!(attribute.name, meta.inspect) && next
-        end
-
-        if (['public_addresses', 'private_addresses'].include? attribute.name)
-          obj.add_addresses!(attribute.name, (attribute/'*')) && next
-        end
-
-        if ('authentication'.include? attribute.name)
-          obj.add_authentication!(attribute[:type], (attribute/'*')) && next
-        end
-
-        #deal with providers
-        if(attribute.name == 'provider')
-          obj.add_provider!(attribute.attributes['id'].value, (attribute/'entrypoint')) && next
-        end
-
-        # Deal with collections like public-addresses, private-addresses
-        if (attribute/'./*').length > 0
-          obj.add_collection!(attribute.name, (attribute/'*').collect { |value| value.text }) && next
-        end
-
-        #deal with blobs for buckets
-        if(attribute.name == 'blob')
-          obj.add_blob!(attribute.attributes['id'].value) && next
-        end
-
-        # Anything else is treaten as text object
-        obj.add_text!(attribute.name, attribute.text.convert)
-      end
-      return obj
-    end
-
-    # Get /api and parse entry points
-    def discover_entry_points
-      return if discovered?
-      request(:get, @api_uri.to_s) do |response|
-        if response.code == 301
-          @api_uri = response.headers[:location]
-          return discover_entry_points
-        end
-        api_xml = Nokogiri::XML(response)
-        @driver_name = api_xml.xpath('/api').first[:driver]
-        @api_version = api_xml.xpath('/api').first[:version]
-
-        api_xml.css("api > link").each do |entry_point|
-          rel, href = entry_point['rel'].to_sym, entry_point['href']
-          @entry_points.store(rel, href)
-
-          entry_point.css("feature").each do |feature|
-            @features[rel] ||= []
-            @features[rel] << feature['name'].to_sym
-
-          end
-        end
-      end
-      declare_entry_points_methods(@entry_points)
-    end
-
-    # Generate create_* methods dynamically
-    #
-    def method_missing(name, *args)
-      if name.to_s =~ /^([\w_]+)_ids$/
-        return self.send(:"#{$1.pluralize}").map { |o| o.id }
-      end
-      if name.to_s =~ /^create_(\w+)/
-        params = args[0] if args[0] and args[0].class.eql?(Hash)
-        params ||= args[1] if args[1] and args[1].class.eql?(Hash)
-        params ||= {}
-
-        # FIXME: This fixes are related to Instance model and should be
-        # replaced by 'native' parameter names
-
-        params[:realm_id] ||= params[:realm] if params[:realm]
-        params[:keyname] ||= params[:key_name] if params[:key_name]
-        params[:user_data] = Base64::encode64(params[:user_data]) if params[:user_data]
-
-        if params[:hardware_profile] and params[:hardware_profile].class.eql?(Hash)
-          params[:hardware_profile].each do |k,v|
-            params[:"hwp_#{k}"] ||= v
-          end
-        else
-          params[:hwp_id] ||= params[:hardware_profile]
-        end
-
-        params[:image_id] ||= params[:image_id] || args[0] if args[0].class!=Hash
-
-        obj = nil
-
-        request(:post, entry_points[:"#{$1}s"], {}, params) do |response|
-          obj = base_object(:"#{$1}", response)
-          response_error(response) unless response_successful?(response.code)
-          yield obj if block_given?
-        end
-        return obj
-      end
-      raise NoMethodError
-    end
-
-    def use_driver(driver, opts={})
-      if driver
-        @api_driver = driver
-        @driver_name = driver
-        @api_provider = opts[:provider] if opts[:provider]
-        @features, @entry_points = {}, {}
-        discover_entry_points
-      end
-      @username = opts[:username] if opts[:username]
-      @password = opts[:password] if opts[:password]
-      @api_provider = opts[:provider] if opts[:provider]
-      return self
-    end
-
-    def use_config!(opts={})
-      @api_uri = URI.parse(opts[:url]) if opts[:url]
-      use_driver(opts[:driver], opts)
-    end
-
-    def extended_headers
-      headers = {}
-      headers["X-Deltacloud-Driver"] = @api_driver.to_s if @api_driver
-      headers["X-Deltacloud-Provider"] = @api_provider.to_s if @api_provider
-      headers
-    end
-
-    def response_successful?(code)
-      return true if code.to_s =~ /^2(\d{2})$/
-      return true if code.to_s =~ /^3(\d{2})$/
-      return false
-    end
-
-    def response_error(response)
-      xml = Nokogiri::XML(response.to_s)
-      if (xml/'message').empty? and response.code.to_s =~ /4(\d{2})/
-        DeltaCloud::HTTPError.client_error(response.code)
-      else
-        opts = {
-          :params => (xml/'request/param').inject({}) { |r,p| r[:"#{p[:name]}"] = p.text; r }
-        }
-        if backend_node = xml.at_xpath('/error/backend')
-          opts[:driver]   = backend_node[:driver]
-          opts[:provider] = backend_node[:provider]
-        end
-        backtrace = (xml/'backtrace').empty? ? nil : (xml/'backtrace').first.text.split("\n")[1..10].map { |l| l.strip }
-        DeltaCloud::HTTPError.server_error(xml.root[:status] || response.code,
-                                           (xml/'message').first.text, opts, backtrace)
-      end
-    end
-
-    # Basic request method
-    #
-    def request(*args, &block)
-      conf = {
-        :method => (args[0] || 'get').to_sym,
-        :path => (args[1]=~/^http/) ? args[1] : "#{api_uri.to_s}#{args[1]}",
-        :query_args => args[2] || {},
-        :form_data => args[3] || {},
-        :timeout => args[4] || 45,
-        :open_timeout => args[5] || 10
-      }
-      if conf[:query_args] != {}
-        conf[:path] += '?' + URI.escape(conf[:query_args].collect{ |key, value| "#{key}=#{value}" }.join('&')).to_s
-      end
-
-      if conf[:method].eql?(:post)
-        resource = RestClient::Resource.new(conf[:path], :open_timeout => conf[:open_timeout], :timeout => conf[:timeout])
-        resource.send(:post, conf[:form_data], default_headers.merge(extended_headers)) do |response, request, block|
-          response_error(response) unless response_successful? response.code
-          yield response.to_s if block_given?
-        end
-      else
-        resource = RestClient::Resource.new(conf[:path], :open_timeout => conf[:open_timeout], :timeout => conf[:timeout])
-        resource.send(conf[:method], default_headers.merge(extended_headers)) do |response, request, block|
-          response_error(response) unless response_successful? response.code
-          yield response.to_s if block_given?
-        end
-      end
-    end
-
-
-    # Check if specified collection have wanted feature
-    def feature?(collection, name)
-      @features.has_key?(collection) && @features[collection].include?(name)
-    end
-
-    # List available instance states and transitions between them
-    def instance_states
-      states = []
-      request(:get, entry_points[:instance_states]) do |response|
-        Nokogiri::XML(response).xpath('states/state').each do |state_el|
-          state = DeltaCloud::InstanceState::State.new(state_el['name'])
-          state_el.xpath('transition').each do |transition_el|
-            state.transitions << DeltaCloud::InstanceState::Transition.new(
-              transition_el['to'],
-              transition_el['action']
-            )
-          end
-          states << state
-        end
-      end
-      states
-    end
-
-    # Select instance state specified by name
-    def instance_state(name)
-      instance_states.select { |s| s.name.to_s.eql?(name.to_s) }.first
-    end
-
-    # Skip parsing /api when we already got entry points
-    def discovered?
-      true if @entry_points!={}
-    end
-
-    # This method will retrieve API documentation for given collection
-    def documentation(collection, operation=nil)
-      data = {}
-      request(:get, "/docs/#{collection}") do |body|
-        document = Nokogiri::XML(body)
-        if operation
-          data[:operation] = operation
-          data[:description] = document.xpath('/docs/collection/operations/operation[@name = "'+operation+'"]/description').first.text.strip
-          return false unless data[:description]
-          data[:params] = []
-          (document/"/docs/collection/operations/operation[@name='#{operation}']/parameter").each do |param|
-            data[:params] << {
-              :name => param['name'],
-              :required => param['type'] == 'optional',
-              :type => (param/'class').text
-            }
-          end
-        else
-          data[:description] = (document/'/docs/collection/description').text
-          data[:collection] = collection
-          data[:operations] = (document/"/docs/collection/operations/operation").collect{ |o| o['name'] }
-        end
-      end
-      return Documentation.new(self, data)
-    end
-
-    private
-
-    def default_headers
-      # The linebreaks inserted every 60 characters in the Base64
-      # encoded header cause problems under JRuby
-      auth_header = "Basic "+Base64.encode64("#{@username}:#{@password}")
-      auth_header.gsub!("\n", "")
-      {
-        :authorization => auth_header,
-        :accept => "application/xml"
-      }
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client.rb b/client/lib/deltacloud/client.rb
new file mode 100644
index 0000000..36200ad
--- /dev/null
+++ b/client/lib/deltacloud/client.rb
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud
+  module Client
+    require 'require_relative' if RUBY_VERSION < '1.9'
+    require 'ostruct'
+    require 'nokogiri'
+    require 'faraday'
+
+    # Core extensions
+    require_relative './core_ext'
+
+    # Errors && Helpers
+    require_relative './client/helpers/model_helper'
+    require_relative './client/helpers/xml_helper'
+    require_relative './client/helpers/property_helper'
+
+    # Exceptions goes here
+    require_relative './client/base_error'
+
+    # Faraday Middleware for Deltacloud errors
+    require_relative './error_response'
+
+    # Deltacloud API methods
+    require_relative './client/methods/api'
+    require_relative './client/methods/backward_compatiblity'
+
+    # Extend Client module with methods that existed in old client
+    # and we want to keep them.
+    # Deprecation warnings should be provided to users if they use something
+    # from these modules.
+    #
+    extend Deltacloud::Client::Methods::BackwardCompatibility::ClassMethods
+
+    # Deltacloud methods
+    require_relative './client/methods'
+
+    # Deltacloud models
+    require_relative './client/models'
+
+    require_relative './client/connection'
+
+    VERSION = '1.1.2'
+
+    # Check if the connection to Deltacloud API is valid
+    def self.valid_connection?(api_url)
+      begin
+        Deltacloud::Client(api_url, '', '') && true
+      rescue Faraday::Error::ConnectionFailed
+        false
+      rescue Deltacloud::Client::AuthenticationError
+        false
+      end
+    end
+
+  end
+
+  def self.Client(url, api_user, api_password, opts={})
+    Client::Connection.new({
+      :url => url,
+      :api_user => api_user,
+      :api_password => api_password
+    }.merge(opts))
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/base_error.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/base_error.rb b/client/lib/deltacloud/client/base_error.rb
new file mode 100644
index 0000000..544aa90
--- /dev/null
+++ b/client/lib/deltacloud/client/base_error.rb
@@ -0,0 +1,84 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+
+  # Reporting internal client errors
+  #
+  class Error < StandardError; end
+
+  class BaseError < Error
+    attr_reader :server_backtrace
+    attr_reader :driver
+    attr_reader :provider
+    attr_reader :status
+
+    def initialize(opts={})
+      if opts.is_a? Hash
+        @server_backtrace = opts[:server_backtrace]
+        @driver = opts[:driver]
+        @provider = opts[:provider]
+        @status = opts[:status]
+        @original_error = opts[:original_error]
+        super(opts[:message])
+      else
+        super(opts)
+      end
+    end
+
+    # Return the original XML error message received from Deltacloud API
+    def original_error
+      @original_error
+    end
+
+    # If the Deltacloud API server error response contain backtrace from
+    # server,then make this backtrace available as part of this exception
+    # backtrace
+    #
+    def set_backtrace(backtrace)
+      return super(backtrace) if @server_backtrace.nil?
+      super([
+        backtrace[0..3],
+        "-------Deltacloud API backtrace-------",
+        @server_backtrace.split[0..10],
+      ].flatten)
+    end
+
+  end
+
+  # Report 401 errors
+  class AuthenticationError < BaseError; end
+
+  # Report 502 errors (back-end cloud provider encounter error)
+  class BackendError < BaseError; end
+
+  # Report 5xx errors (error on Deltacloud API server)
+  class ServerError < BaseError; end
+
+  # Report 501 errors (collection or operation is not supported)
+  class NotSupported < ServerError; end
+
+  # Report 4xx failures (client failures)
+  class ClientFailure < BaseError; end
+
+  # Report 404 error (object not found)
+  class NotFound < BaseError; end
+
+  # Report 405 failures (resource state does not permit the requested operation)
+  class InvalidState < ClientFailure; end
+
+  # Report this when client do Image#launch using incompatible HWP
+  class IncompatibleHardwareProfile < ClientFailure; end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/connection.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/connection.rb b/client/lib/deltacloud/client/connection.rb
new file mode 100644
index 0000000..ad91cb0
--- /dev/null
+++ b/client/lib/deltacloud/client/connection.rb
@@ -0,0 +1,135 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Connection
+
+    attr_accessor :connection
+    attr_reader :request_driver
+    attr_reader :request_provider
+    attr_reader :entrypoint
+
+    include Deltacloud::Client::Helpers::Model
+
+    include Deltacloud::Client::Methods::Common
+    include Deltacloud::Client::Methods::Api
+    include Deltacloud::Client::Methods::BackwardCompatibility
+    include Deltacloud::Client::Methods::Driver
+    include Deltacloud::Client::Methods::Realm
+    include Deltacloud::Client::Methods::HardwareProfile
+    include Deltacloud::Client::Methods::Image
+    include Deltacloud::Client::Methods::Instance
+    include Deltacloud::Client::Methods::InstanceState
+    include Deltacloud::Client::Methods::Key
+    include Deltacloud::Client::Methods::StorageVolume
+    include Deltacloud::Client::Methods::StorageSnapshot
+    include Deltacloud::Client::Methods::Address
+    include Deltacloud::Client::Methods::Bucket
+    include Deltacloud::Client::Methods::Blob
+    include Deltacloud::Client::Methods::Firewall
+
+    def initialize(opts={})
+      @request_driver = opts[:driver]
+      @request_provider = opts[:provider]
+      @connection = Faraday.new(:url => opts[:url]) do |f|
+        # NOTE: The order of this is somehow important for VCR
+        #       recording.
+        f.request :url_encoded
+        f.headers = deltacloud_request_headers
+        f.basic_auth opts[:api_user], opts[:api_password]
+        f.use Deltacloud::ErrorResponse
+        f.adapter :net_http
+      end
+      cache_entrypoint!
+      @request_driver ||= current_driver
+      @request_provider ||= current_provider
+    end
+
+    # Change the current driver and return copy of the client
+    # This allows chained calls like: client.driver(:ec2).instances
+    #
+    # - driver_id -> The new driver id (:mock, :ec2, :rhevm, ...)
+    # - api_user -> API user name
+    # - api_password -> API password
+    # - api_provider -> API provider (aka API_PROVIDER string)
+    #
+    def use(driver_id, api_user, api_password, api_provider=nil, &block)
+      new_client = self.class.new(
+        :url => @connection.url_prefix.to_s,
+        :api_user => api_user,
+        :api_password => api_password,
+        :provider => api_provider,
+        :driver => driver_id
+      )
+      new_client.cache_entrypoint!
+      yield new_client if block_given?
+      new_client
+    end
+
+    # Change the API provider but keep the current client credentials.
+    # This allows to change the EC2 region and list instances in that
+    # region without need to supply credentials.
+    #
+    # client.use_provider('eu-west-1') { |p| p.instances }
+    #
+    # - provider_id -> API provider (aka API_PROVIDER)
+    #
+    def use_provider(provider_id, &block)
+      new_client = self.clone
+      new_connection = @connection.clone
+      new_connection.headers['X-Deltacloud-Provider'] = provider_id
+      new_client.connection = new_connection
+      new_client.cache_entrypoint!(true)
+      yield new_client if block_given?
+      new_client
+    end
+
+    # Cache the API entrypoint (/api) for the current connection,
+    # so we don't need to query /api everytime we ask if certain
+    # collection/operation is supported
+    #
+    # - force -> If 'true' force to refresh stored cached entrypoint
+    #
+    def cache_entrypoint!(force=false)
+      @entrypoint = nil if force
+      @entrypoint ||= connection.get(path).body
+    end
+
+    # Check if the credentials used are valid for the current @connection
+    #
+    def valid_credentials?
+      begin
+        r = connection.get(path, { :force_auth => 'true' })
+        r.status == 200
+      rescue error(:authentication_error)
+        false
+      end
+    end
+
+    private
+
+    # Default Deltacloud HTTP headers. Common for *all* requests
+    # to Deltacloud API
+    #
+    def deltacloud_request_headers
+      headers = {}
+      headers['Accept'] = 'application/xml'
+      headers['X-Deltacloud-Driver'] = @request_driver.to_s if @request_driver
+      headers['X-Deltacloud-Provider'] = @request_provider.to_s if @request_provider
+      headers
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/helpers/model_helper.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/helpers/model_helper.rb b/client/lib/deltacloud/client/helpers/model_helper.rb
new file mode 100644
index 0000000..2224d0d
--- /dev/null
+++ b/client/lib/deltacloud/client/helpers/model_helper.rb
@@ -0,0 +1,69 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Helpers
+    module Model
+
+      # Retrieve the class straight from
+      # Deltacloud::Client model.
+      #
+      # -name -> A class name in underscore form (:storage_volume)
+      #
+      def model(name)
+        if name.nil? or (!name.nil? and name.empty?)
+          raise error.new("The model name can't be blank")
+        end
+        Deltacloud::Client.const_get(name.to_s.camelize)
+      end
+
+      # Syntax sugar method for retrieving various Client
+      # exception classes.
+      #
+      # - name -> Exception class name in underscore
+      #
+      # NOTE: If name is 'nil' the default Error exception
+      #       will be returned
+      #
+      def error(name=nil)
+        model(name || :error)
+      end
+
+      # Checks if current @connection support +model_name+
+      # and then convert HTTP response to a Ruby model
+      #
+      # - model_name -> A class name in underscore form
+      # - collection_body -> HTTP body of collection
+      #
+      def from_collection(model_name, collection_body)
+        must_support!(model_name)
+        model(model_name.to_s.singularize).from_collection(
+          self,
+          collection_body
+        )
+      end
+
+      # Check if the collection for given model is supported
+      # in current @connection and then parse/convert
+      # resource XML to a Ruby class
+      #
+      def from_resource(model_name, resource_body)
+        must_support!(model_name.to_s.pluralize)
+        model(model_name).convert(self, resource_body)
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/helpers/property_helper.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/helpers/property_helper.rb b/client/lib/deltacloud/client/helpers/property_helper.rb
new file mode 100644
index 0000000..a30ab9a
--- /dev/null
+++ b/client/lib/deltacloud/client/helpers/property_helper.rb
@@ -0,0 +1,103 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Helpers
+    module Property
+
+      class Property
+        attr_reader :name, :unit, :default
+
+        def initialize(name, unit, default=nil)
+          @name = name
+          @unit = unit
+          @default = default
+        end
+
+        def value
+          @default || 'opaque'
+        end
+
+        def self.parse(body)
+          Property.new(body['name'], body['unit'], body['value'])
+        end
+
+        def kind
+          self.class.name.split('::').last.downcase.to_sym
+        end
+
+      end
+
+      class Range < Property
+
+        attr_reader :first, :last
+
+        def initialize(name, unit, first, last, default=nil)
+          @first, @last = first, last
+          super(name, unit, default)
+        end
+
+        def value
+          ::Range.new(@first.to_i, @last.to_i)
+        end
+
+        def self.parse(body)
+          base = super
+          new(base.name, base.unit, body.at('range')['first'], body.at('range')['last'], base.default)
+        end
+
+      end
+
+      class Enum < Property
+        include Enumerable
+        attr_reader :values
+
+        def initialize(name, unit, values, default=nil)
+          @values = values
+          super(name, unit, default)
+        end
+
+        def value
+          @values
+        end
+
+        def each
+          value.each
+        end
+
+        def self.parse(body)
+          base = super
+          new(base.name, base.unit, body.xpath('enum/entry').map { |e| e['value'] }, base.default)
+        end
+      end
+
+      class Fixed < Property
+        attr_reader :value
+
+        def initialize(name, unit, value)
+          @value = value
+          super(name, unit, @value)
+        end
+
+        def self.parse(body)
+          base = super
+          new(base.name, base.unit, body['value'])
+        end
+
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/helpers/xml_helper.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/helpers/xml_helper.rb b/client/lib/deltacloud/client/helpers/xml_helper.rb
new file mode 100644
index 0000000..5874c00
--- /dev/null
+++ b/client/lib/deltacloud/client/helpers/xml_helper.rb
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Helpers
+    module XmlHelper
+
+      # Extract XML string from the various objects
+      #
+      def extract_xml_body(obj)
+        case obj
+        when Faraday::Response then obj.body
+        when Nokogiri::XML::Element then obj.to_s
+        when Nokogiri::XML::Document then obj.to_s
+        else obj
+        end
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods.rb b/client/lib/deltacloud/client/methods.rb
new file mode 100644
index 0000000..0897866
--- /dev/null
+++ b/client/lib/deltacloud/client/methods.rb
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative './methods/common'
+require_relative './methods/driver'
+require_relative './methods/realm'
+require_relative './methods/hardware_profile'
+require_relative './methods/image'
+require_relative './methods/instance'
+require_relative './methods/instance_state'
+require_relative './methods/storage_volume'
+require_relative './methods/storage_snapshot'
+require_relative './methods/key'
+require_relative './methods/address'
+require_relative './methods/bucket'
+require_relative './methods/blob'
+require_relative './methods/firewall'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/address.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/address.rb b/client/lib/deltacloud/client/methods/address.rb
new file mode 100644
index 0000000..21da5f6
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/address.rb
@@ -0,0 +1,68 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Address
+
+      # Retrieve list of all address entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def addresses(filter_opts={})
+        from_collection :addresses,
+        connection.get(api_uri('addresses'), filter_opts)
+      end
+
+      # Retrieve the single address entity
+      #
+      # - address_id -> Address entity to retrieve
+      #
+      def address(address_id)
+        from_resource :address,
+          connection.get(api_uri("addresses/#{address_id}"))
+      end
+
+      # Create a new address
+      #
+      def create_address
+        create_resource :address, {}
+      end
+
+      def destroy_address(address_id)
+        destroy_resource :address, address_id
+      end
+
+      def associate_address(address_id, instance_id)
+        result = connection.post(
+          api_uri("/addresses/#{address_id}/associate")
+        ) do |request|
+          request.params = { :instance_id => instance_id }
+        end
+        result.status == 202
+      end
+
+      def disassociate_address(address_id)
+        result = connection.post(
+          api_uri("/addresses/#{address_id}/disassociate")
+        )
+        result.status == 202
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/api.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/api.rb b/client/lib/deltacloud/client/methods/api.rb
new file mode 100644
index 0000000..32bd048
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/api.rb
@@ -0,0 +1,96 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Api
+
+      def path
+        connection.url_prefix.path
+      end
+
+      def api_uri(uri)
+        URI.parse([path, uri.gsub(/^(\/+)/,'')].join('/'))
+      end
+
+      # The current version of Deltacloud API
+      #
+      def version
+        entrypoint.to_xml.root['version']
+      end
+
+      alias_method :api_version, :version
+
+      # The current driver the @connection is using
+      #
+      def current_driver
+        entrypoint.to_xml.root['driver']
+      end
+
+      alias_method :api_driver,   :current_driver
+      alias_method :driver_name,  :current_driver
+
+      # The current provider the @connection is using
+      #
+      def current_provider
+        entrypoint.to_xml.root['provider']
+      end
+
+      # List of the currently supported collections by @connection
+      #
+      def supported_collections
+        entrypoint.to_xml.root.xpath('link').map { |l| l['rel'] }
+      end
+
+      alias_method :entrypoints, :supported_collections
+
+      # Syntax sugar for +supported_collections+
+      # Return 'true' if the collection is supported by current API entrypoint
+      #
+      def support?(collection)
+        supported_collections.include? collection.to_s
+      end
+
+      # Syntax sugar for Method modules, where you can 'require' the support
+      # for the given collection before you execute API call
+      #
+      # Raise +NotSupported+ exception if the given +collection+ is not
+      # supported
+      #
+      def must_support!(collection)
+        unless support?(collection)
+          raise error(:not_supported).new("Collection '#{collection}' not supported by current API endpoint.")
+        end
+      end
+
+      # +Hash+ of all features supported by current connection
+      #
+      def features
+        entrypoint.to_xml.root.xpath('link/feature').inject(Hash.new(Array.new)) do |result, feature|
+          result[feature.parent['rel']] += [feature['name']]
+          result
+        end
+      end
+
+      # Check if the current collection support given feature for given
+      # collection
+      #
+      def feature?(collection_name, feature_name)
+        features[collection_name.to_s].include?(feature_name.to_s)
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/backward_compatiblity.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/backward_compatiblity.rb b/client/lib/deltacloud/client/methods/backward_compatiblity.rb
new file mode 100644
index 0000000..8718836
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/backward_compatiblity.rb
@@ -0,0 +1,72 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module BackwardCompatibility
+
+      # Backward compatibility methods provides fallback for the
+      # old deltacloud-client gem.
+      #
+      #
+      def api_host
+        connection.url_prefix.host
+      end
+
+      def api_port
+        connection.url_prefix.port
+      end
+
+      def connect(&block)
+        yield self.clone
+      end
+
+      def with_config(opts, &block)
+        yield inst = use(
+          opts[:driver],
+          opts[:username],
+          opts[:password],
+          opts[:provider]
+        ) if block_given?
+        inst
+      end
+
+      def use_driver(new_driver, opts={})
+        with_config(opts.merge(:driver => new_driver))
+      end
+
+      alias_method :"use_config!", :use_driver
+
+      def discovered?
+        true unless entrypoint.nil?
+      end
+
+      module ClassMethods
+
+        def valid_credentials?(api_user, api_password, api_url, opts={})
+          args = {
+            :api_user => api_user,
+            :api_password => api_password,
+            :url => api_url
+          }
+          args.merge!(:providers => opts[:provider]) if opts[:provider]
+          Deltacloud::Client::Connection.new(args).valid_credentials?
+        end
+
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/blob.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/blob.rb b/client/lib/deltacloud/client/methods/blob.rb
new file mode 100644
index 0000000..80a3945
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/blob.rb
@@ -0,0 +1,91 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Blob
+
+      # Retrieve list of all blob entities from given bucket
+      #
+      def blobs(bucket_id=nil)
+        raise error.new("The :bucket_id cannot be nil.") if bucket_id.nil?
+        bucket(bucket_id).blob_ids.map { |blob_id| blob(bucket_id, blob_id) }
+      end
+
+      # Retrieve the single blob entity
+      #
+      # - blob_id -> Blob entity to retrieve
+      #
+      def blob(bucket_id, blob_id)
+        model(:blob).convert(
+          self,
+          connection.get(api_uri("buckets/#{bucket_id}/#{blob_id}"))
+        )
+      end
+
+      # Create a new blob
+      #
+      # - bucket_id -> A bucket ID that new blob should belong to
+      # - blob_name -> A name for new blob
+      # - blob_data -> Data stored in this blob
+      # - create_opts
+      #   - :user_metadata -> A Ruby +Hash+ with key => value metadata
+      #
+      def create_blob(bucket_id, blob_name, blob_data, create_opts={})
+        must_support! :buckets
+        create_opts.merge!(convert_meta_params(create_opts.delete(:user_metadata)))
+        response = connection.post(api_uri("buckets/#{bucket_id}")) do |request|
+          request.params = create_opts.merge(
+            :blob_id => blob_name,
+            :blob_data => blob_data
+        )
+        end
+        model(:blob).convert(self, response.body)
+      end
+
+      # Destroy given bucket blob
+      #
+      def destroy_blob(bucket_id, blob_id)
+        must_support! :buckets
+        r = connection.delete(api_uri("buckets/#{bucket_id}/#{blob_id}"))
+        r.status == 204
+      end
+
+      private
+
+      # Convert the user_metadata into POST params compatible with
+      # blob creation
+      #
+      # - params -> Simple Ruby +Hash+
+      #
+      # @return { :meta_params => COUNTER, :meta_name1 => '', :meta_value1 => ''}
+      #
+      def convert_meta_params(params)
+        meta_params = {}
+        counter = 0
+        (params || {}).each do |key, value|
+          counter += 1
+          meta_params["meta_name#{counter}"] = key
+          meta_params["meta_value#{counter}"] = value
+        end
+        if counter >= 1
+          meta_params.merge!(:meta_params => counter.to_s)
+        end
+        meta_params
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/bucket.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/bucket.rb b/client/lib/deltacloud/client/methods/bucket.rb
new file mode 100644
index 0000000..b68cb05
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/bucket.rb
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Bucket
+
+      # Retrieve list of all bucket entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def buckets(filter_opts={})
+        from_collection :buckets,
+          connection.get(api_uri('buckets'), filter_opts)
+      end
+
+      # Retrieve the single bucket entity
+      #
+      # - bucket_id -> Bucket entity to retrieve
+      #
+      def bucket(bucket_id)
+        from_resource :bucket,
+          connection.get(api_uri("buckets/#{bucket_id}"))
+      end
+
+      # Create a new bucket
+      #
+      # - create_opts
+      #
+      def create_bucket(name)
+        create_resource :bucket, :name => name
+      end
+
+      # Destroy given bucket
+      #
+      def destroy_bucket(bucket_id)
+        destroy_resource :bucket, bucket_id
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/common.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/common.rb b/client/lib/deltacloud/client/methods/common.rb
new file mode 100644
index 0000000..250e3a4
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/common.rb
@@ -0,0 +1,46 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Common
+
+      # A generic method for creating a new resources
+      #
+      # - resource_name -> A resource name to create (eg. :image)
+      # - create_opts -> HTTP options to pass into the create operation
+      #
+      def create_resource(resource_name, create_opts={})
+        no_convert_model = create_opts.delete(:no_convert_model)
+        must_support! resource_name.to_s.pluralize
+        response = connection.post(api_uri(resource_name.to_s.pluralize)) do |request|
+          request.params = create_opts
+        end
+        no_convert_model ? response : model(resource_name).convert(self, response.body)
+      end
+
+      # A generic method for destroying resources
+      #
+      def destroy_resource(resource_name, resource_id)
+        must_support! resource_name.to_s.pluralize
+        result = connection.delete(
+          api_uri([resource_name.to_s.pluralize, resource_id].join('/'))
+        )
+        result.status.is_no_content?
+      end
+
+    end
+  end
+end


[10/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_is_compatible_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_is_compatible_.yml b/client/tests/fixtures/test_0003_supports_is_compatible_.yml
new file mode 100644
index 0000000..487e3e9
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_is_compatible_.yml
@@ -0,0 +1,116 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009527206420898438'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_lunch_image.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_lunch_image.yml b/client/tests/fixtures/test_0003_supports_lunch_image.yml
new file mode 100644
index 0000000..6a6e8c5
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_lunch_image.yml
@@ -0,0 +1,367 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:42:58 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:42:58 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0024356842041015625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:42:58 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:42:58 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?hwp_id=m1-small&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst15
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8cfbaf2fd6d466bfe5be41cce441762a
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:42:58 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362584578</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst15/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:42:58 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?hwp_id=m1-large&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst16
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6a9fe22a574be85642b96bdd8078ec5c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:43:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362584616</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst16/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:43:36 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst16/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0018336772918701172'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:43:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362584616</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst16'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:43:36 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst16
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006284713745117188'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ccad18508a532bd1a6e394587564dfc
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:43:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362584616</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst16'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:43:36 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst16
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.0002753734588623047'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:43:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:43:36 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_providers.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_providers.yml b/client/tests/fixtures/test_0003_supports_providers.yml
new file mode 100644
index 0000000..bd2d561
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_providers.yml
@@ -0,0 +1,102 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/mock
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '95'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 2568f57f6d525b872587e395508183e8
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/mock' id='mock'>\n
+        \ <name>Mock</name>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_version.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_version.yml b/client/tests/fixtures/test_0003_supports_version.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_version.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_architecture.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_architecture.yml b/client/tests/fixtures/test_0004_support_architecture.yml
new file mode 100644
index 0000000..1d21e65
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_architecture.yml
@@ -0,0 +1,444 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010967254638671875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00014019012451171875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00012612342834472656'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.295608520507812e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00015091896057128906'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '4.3392181396484375e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00015473365783691406'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010776519775390625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:53 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_address.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_address.yml b/client/tests/fixtures/test_0004_support_create_address.yml
new file mode 100644
index 0000000..a681a3f
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_address.yml
@@ -0,0 +1,197 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 09:31:55 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 09:31:55 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/addresses
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/addresses/192.168.0.5
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '373'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - cb628d46a8c01d4f11ab6f3894dc6ead
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 09:31:55 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <address href=''http://localhost:3001/api/addresses/192.168.0.5'' id=''192.168.0.5''>
+
+        <ip>192.168.0.5</ip>
+
+        <actions>
+
+        <link href=''http://localhost:3001/api/addresses/192.168.0.5'' method=''delete''
+        rel=''destroy'' />
+
+        <link href=''http://localhost:3001/api/addresses/192.168.0.5/associate'' method=''post''
+        rel=''associate'' />
+
+        </actions>
+
+        </address>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 09:31:55 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/addresses/192.168.0.5
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:05:09 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:05:09 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses/192.168.0.5
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.017974853515625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '436'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:05:31 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/addresses/192.168.0.5'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"192.168.0.5\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"192.168.0.5\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:05:31 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_blob_and_destroy_blob_with_meta_params.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_blob_and_destroy_blob_with_meta_params.yml b/client/tests/fixtures/test_0004_support_create_blob_and_destroy_blob_with_meta_params.yml
new file mode 100644
index 0000000..e7b8827
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_blob_and_destroy_blob_with_meta_params.yml
@@ -0,0 +1,139 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:24:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:24:36 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/buckets/bucket1?meta_name1=key&meta_value1=value&meta_params=1&blob_id=fooblob123&blob_data=content
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '489'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 386f59c79c42516df9274b16c65cbaf0
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:24:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/fooblob123'
+        id='fooblob123'>\n  <bucket>bucket1</bucket>\n  <content_length>7</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2013-03-06 16:24:36
+        +0100</last_modified>\n  <user_metadata>\n    <entry key='key'><![CDATA[value]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/fooblob123/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:24:36 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/buckets/bucket1/fooblob123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:24:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:24:36 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_bucket.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_bucket.yml b/client/tests/fixtures/test_0004_support_create_bucket.yml
new file mode 100644
index 0000000..442b4ff
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_bucket.yml
@@ -0,0 +1,180 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:09:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:09:50 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/buckets?name=foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/buckets/foo123
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '158'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - eaa74cef080d27aef7517cde4dd5a63f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:09:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/foo123'
+        id='foo123'>\n  <name>foo123</name>\n  <size>0</size>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:09:50 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/buckets/foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:09:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:09:50 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0021820068359375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '419'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:09:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/buckets/foo123'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo123\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo123\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:09:50 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_bucket_and_destroy_bucket.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_bucket_and_destroy_bucket.yml b/client/tests/fixtures/test_0004_support_create_bucket_and_destroy_bucket.yml
new file mode 100644
index 0000000..4a2f9a3
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_bucket_and_destroy_bucket.yml
@@ -0,0 +1,180 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:12:24 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:12:24 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/buckets?name=foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/buckets/foo123
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '158'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - eaa74cef080d27aef7517cde4dd5a63f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:12:24 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/foo123'
+        id='foo123'>\n  <name>foo123</name>\n  <size>0</size>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:12:24 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/buckets/foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:12:24 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:12:24 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/foo123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0020792484283447266'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '419'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:12:24 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/buckets/foo123'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo123\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo123\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:12:24 GMT
+recorded_with: VCR 2.4.0


[15/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_storage_volumes.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_storage_volumes.yml b/client/tests/fixtures/test_0001_supports_storage_volumes.yml
new file mode 100644
index 0000000..dd124e3
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_storage_volumes.yml
@@ -0,0 +1,176 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002794027328491211'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1285'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 3e473ad9ed7a3ed2b3d22f364cb65629
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volumes>\n  <storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol3' id='vol3'>\n    <created>Thu
+        Jul 30 14:35:11 UTC 2009</created>\n    <capacity unit='GB'>1</capacity>\n
+        \   <name>vol3</name>\n    <device>/dev/sda1</device>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>IN-USE</state>\n
+        \   <mount>\n      <instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'></instance>\n      <device name='/dev/sda1'></device>\n    </mount>\n
+        \ </storage_volume>\n  <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n    <created>Thu Jul 30 14:35:11 UTC 2009</created>\n    <capacity
+        unit='GB'>1</capacity>\n    <name>vol1</name>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>AVAILABLE</state>\n
+        \ </storage_volume>\n  <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n    <created>Thu Jul 30 14:35:11 UTC 2009</created>\n    <capacity
+        unit='GB'>1</capacity>\n    <name>vol2</name>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>AVAILABLE</state>\n
+        \ </storage_volume>\n</storage_volumes>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0017066001892089844'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1285'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 3e473ad9ed7a3ed2b3d22f364cb65629
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volumes>\n  <storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol3' id='vol3'>\n    <created>Thu
+        Jul 30 14:35:11 UTC 2009</created>\n    <capacity unit='GB'>1</capacity>\n
+        \   <name>vol3</name>\n    <device>/dev/sda1</device>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>IN-USE</state>\n
+        \   <mount>\n      <instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'></instance>\n      <device name='/dev/sda1'></device>\n    </mount>\n
+        \ </storage_volume>\n  <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n    <created>Thu Jul 30 14:35:11 UTC 2009</created>\n    <capacity
+        unit='GB'>1</capacity>\n    <name>vol1</name>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>AVAILABLE</state>\n
+        \ </storage_volume>\n  <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n    <created>Thu Jul 30 14:35:11 UTC 2009</created>\n    <capacity
+        unit='GB'>1</capacity>\n    <name>vol2</name>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>AVAILABLE</state>\n
+        \ </storage_volume>\n</storage_volumes>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_to_get_providers.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_to_get_providers.yml b/client/tests/fixtures/test_0001_supports_to_get_providers.yml
new file mode 100644
index 0000000..b90a6be
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_to_get_providers.yml
@@ -0,0 +1,410 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:37:26 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:37:26 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:37:26 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:37:27 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:37:27 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:37:27 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:38:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:38:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:38:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:38:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:38:38 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:38:38 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_support_blob.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_support_blob.yml b/client/tests/fixtures/test_0002_support_blob.yml
new file mode 100644
index 0000000..208c097
--- /dev/null
+++ b/client/tests/fixtures/test_0002_support_blob.yml
@@ -0,0 +1,148 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/buckets/bucket1/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"bucket1\",
+        \"foo\"]]]></param>\n    <param name='id'><![CDATA[\"bucket1\"]]></param>\n
+        \   <param name='blob_id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_support_instance_state.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_support_instance_state.yml b/client/tests/fixtures/test_0002_support_instance_state.yml
new file mode 100644
index 0000000..464dd0e
--- /dev/null
+++ b/client/tests/fixtures/test_0002_support_instance_state.yml
@@ -0,0 +1,204 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instance_states
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '543'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa9267298fdf7b936d9635aa5ce29640
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<states>\n  <state name='start'>\n    <transition action='create'
+        to='pending'></transition>\n  </state>\n  <state name='pending'>\n    <transition
+        auto='true' to='running'></transition>\n  </state>\n  <state name='running'>\n
+        \   <transition action='reboot' to='running'></transition>\n    <transition
+        action='stop' to='stopped'></transition>\n  </state>\n  <state name='stopped'>\n
+        \   <transition action='start' to='running'></transition>\n    <transition
+        action='destroy' to='finish'></transition>\n  </state>\n  <state name='finish'>\n
+        \ </state>\n</states>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instance_states
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '543'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa9267298fdf7b936d9635aa5ce29640
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<states>\n  <state name='start'>\n    <transition action='create'
+        to='pending'></transition>\n  </state>\n  <state name='pending'>\n    <transition
+        auto='true' to='running'></transition>\n  </state>\n  <state name='running'>\n
+        \   <transition action='reboot' to='running'></transition>\n    <transition
+        action='stop' to='stopped'></transition>\n  </state>\n  <state name='stopped'>\n
+        \   <transition action='start' to='running'></transition>\n    <transition
+        action='destroy' to='finish'></transition>\n  </state>\n  <state name='finish'>\n
+        \ </state>\n</states>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instance_states
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '543'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa9267298fdf7b936d9635aa5ce29640
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<states>\n  <state name='start'>\n    <transition action='create'
+        to='pending'></transition>\n  </state>\n  <state name='pending'>\n    <transition
+        auto='true' to='running'></transition>\n  </state>\n  <state name='running'>\n
+        \   <transition action='reboot' to='running'></transition>\n    <transition
+        action='stop' to='stopped'></transition>\n  </state>\n  <state name='stopped'>\n
+        \   <transition action='start' to='running'></transition>\n    <transition
+        action='destroy' to='finish'></transition>\n  </state>\n  <state name='finish'>\n
+        \ </state>\n</states>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_support_memory.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_support_memory.yml b/client/tests/fixtures/test_0002_support_memory.yml
new file mode 100644
index 0000000..a5264a7
--- /dev/null
+++ b/client/tests/fixtures/test_0002_support_memory.yml
@@ -0,0 +1,444 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.009506225585938e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '8.153915405273438e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00016379356384277344'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00017213821411132812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00012111663818359375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.53131103515625e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '6.389617919921875e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.888938903808594e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_support_on_Provider.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_support_on_Provider.yml b/client/tests/fixtures/test_0002_support_on_Provider.yml
new file mode 100644
index 0000000..3a17e59
--- /dev/null
+++ b/client/tests/fixtures/test_0002_support_on_Provider.yml
@@ -0,0 +1,130 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:54:59 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:54:59 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:54:59 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:54:59 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_api_port.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_api_port.yml b/client/tests/fixtures/test_0002_supports_api_port.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_api_port.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_api_uri.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_api_uri.yml b/client/tests/fixtures/test_0002_supports_api_uri.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_api_uri.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_driver.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_driver.yml b/client/tests/fixtures/test_0002_supports_driver.yml
new file mode 100644
index 0000000..f122d5a
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_driver.yml
@@ -0,0 +1,219 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/ec2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2820'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e46ed1894e2830dc783dca7a7d242352
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \ <name>EC2</name>\n  <provider id='us-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-west-2'>\n    <entrypoint kind='s3'><![CDATA[s3-us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-west-2.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-west-2.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-southeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-southeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='ap-northeast-1'>\n    <entrypoint kind='s3'><![CDATA[s3-ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.ap-northeast-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='eu-west-1'>\n    <entrypoint kind='s3'><![CDATA[s3-eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.eu-west-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='us-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.us-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.us-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n  <provider id='sa-east-1'>\n    <entrypoint kind='s3'><![CDATA[s3-sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='elb'><![CDATA[elasticloadbalancing.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='ec2'><![CDATA[ec2.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \   <entrypoint kind='mon'><![CDATA[monitoring.sa-east-1.amazonaws.com]]></entrypoint>\n
+        \ </provider>\n</driver>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '448'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/drivers/' do\n  \"Hello World\"\nend</pre>\n
+        \ </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '0'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_extract_xml_body_using_faraday_connection.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_extract_xml_body_using_faraday_connection.yml b/client/tests/fixtures/test_0002_supports_extract_xml_body_using_faraday_connection.yml
new file mode 100644
index 0000000..0b93677
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_extract_xml_body_using_faraday_connection.yml
@@ -0,0 +1,117 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0


[18/30] git commit: Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
Client: Added VCR fixtures for testing


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/0439fc75
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/0439fc75
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/0439fc75

Branch: refs/heads/master
Commit: 0439fc75c5de05c8f768db025046c9f0472ad171
Parents: 3d86594
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:53:39 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:35 2013 +0100

----------------------------------------------------------------------
 client/tests/fixtures/instances_cleanup.yml        |  681 +++++++
 .../test_0001_connects_to_Deltacloud_API.yml       |   60 +
 client/tests/fixtures/test_0001_support_cpu.yml    |  444 +++++
 .../fixtures/test_0001_support_original_body.yml   |  116 ++
 .../fixtures/test_0001_supports_addresses.yml      |  178 ++
 .../tests/fixtures/test_0001_supports_api_host.yml |   60 +
 .../fixtures/test_0001_supports_attached_.yml      |  282 +++
 client/tests/fixtures/test_0001_supports_blobs.yml |  475 +++++
 .../tests/fixtures/test_0001_supports_bucket.yml   |  200 ++
 .../tests/fixtures/test_0001_supports_buckets.yml  |  160 ++
 .../tests/fixtures/test_0001_supports_drivers.yml  |  202 ++
 .../fixtures/test_0001_supports_firewalls.yml      |  399 ++++
 .../test_0001_supports_hardware_profiles.yml       |  262 +++
 .../tests/fixtures/test_0001_supports_images.yml   |  224 +++
 .../test_0001_supports_instance_states.yml         |  156 ++
 .../fixtures/test_0001_supports_instances.yml      |  486 +++++
 client/tests/fixtures/test_0001_supports_keys.yml  |  198 ++
 client/tests/fixtures/test_0001_supports_path.yml  |   60 +
 .../tests/fixtures/test_0001_supports_realms.yml   |  152 ++
 .../test_0001_supports_storage_snapshots.yml       |  164 ++
 .../test_0001_supports_storage_volumes.yml         |  176 ++
 .../test_0001_supports_to_get_providers.yml        |  410 ++++
 client/tests/fixtures/test_0002_support_blob.yml   |  148 ++
 .../fixtures/test_0002_support_instance_state.yml  |  204 ++
 client/tests/fixtures/test_0002_support_memory.yml |  444 +++++
 .../fixtures/test_0002_support_on_Provider.yml     |  130 ++
 .../tests/fixtures/test_0002_supports_api_port.yml |   60 +
 .../tests/fixtures/test_0002_supports_api_uri.yml  |   60 +
 .../tests/fixtures/test_0002_supports_driver.yml   |  219 +++
 ...s_extract_xml_body_using_faraday_connection.yml |  117 ++
 ...02_supports_filtering_addresses_by_id_param.yml |  156 ++
 ...0002_supports_filtering_buckets_by_id_param.yml |  156 ++
 ...02_supports_filtering_firewalls_by_id_param.yml |  207 ++
 ...rts_filtering_hardware_profiles_by_id_param.yml |  158 ++
 ..._0002_supports_filtering_images_by_id_param.yml |  165 ++
 ...02_supports_filtering_instances_by_id_param.yml |  164 ++
 ...st_0002_supports_filtering_keys_by_id_param.yml |  178 ++
 .../test_0002_supports_filtering_realms_by_id.yml  |  104 +
 ...rts_filtering_storage_snapshots_by_id_param.yml |  155 ++
 ...ports_filtering_storage_volumes_by_id_param.yml |  157 ++
 .../test_0002_supports_hardware_profiles.yml       |  262 +++
 .../fixtures/test_0002_supports_is_compatible_.yml |  116 ++
 .../fixtures/test_0002_supports_snapshot_.yml      |  202 ++
 .../tests/fixtures/test_0002_supports_version.yml  |   60 +
 .../test_0003_caches_the_API_entrypoint.yml        |   60 +
 .../tests/fixtures/test_0003_support_address.yml   |  197 ++
 client/tests/fixtures/test_0003_support_bucket.yml |  198 ++
 .../fixtures/test_0003_support_create_blob.yml     |  105 +
 ...t_0003_support_create_blob_and_destroy_blob.yml |  138 ++
 .../tests/fixtures/test_0003_support_firewall.yml  |  768 ++++++++
 .../test_0003_support_hardware_profile.yml         |  199 ++
 client/tests/fixtures/test_0003_support_image.yml  |  207 ++
 .../tests/fixtures/test_0003_support_instance.yml  |  206 ++
 client/tests/fixtures/test_0003_support_key.yml    |  220 +++
 client/tests/fixtures/test_0003_support_realm.yml  |  195 ++
 .../tests/fixtures/test_0003_support_storage.yml   |  444 +++++
 .../test_0003_support_storage_snapshot.yml         |  196 ++
 .../fixtures/test_0003_support_storage_volume.yml  |  197 ++
 ...t_0003_support_to_change_driver_with_Client.yml |   72 +
 .../tests/fixtures/test_0003_supports_connect.yml  |   60 +
 ...ts_extract_xml_body_using_nokogiri_document.yml |  117 ++
 .../tests/fixtures/test_0003_supports_instance.yml |  396 ++++
 .../fixtures/test_0003_supports_is_compatible_.yml |  116 ++
 .../fixtures/test_0003_supports_lunch_image.yml    |  367 ++++
 .../fixtures/test_0003_supports_providers.yml      |  102 +
 .../tests/fixtures/test_0003_supports_version.yml  |   60 +
 .../fixtures/test_0004_support_architecture.yml    |  444 +++++
 .../fixtures/test_0004_support_create_address.yml  |  197 ++
 ...eate_blob_and_destroy_blob_with_meta_params.yml |  139 ++
 .../fixtures/test_0004_support_create_bucket.yml   |  180 ++
 ...04_support_create_bucket_and_destroy_bucket.yml |  180 ++
 ...upport_create_firewall_and_destroy_firewall.yml |  496 +++++
 ...0004_support_create_image_and_destroy_image.yml | 1527 +++++++++++++++
 .../fixtures/test_0004_support_create_instance.yml |  115 ++
 ...est_0004_support_create_key_and_destroy_key.yml |  206 ++
 .../fixtures/test_0004_support_create_volume.yml   |  105 +
 ...04_support_create_volume_and_destroy_volume.yml |  181 ++
 ...0004_support_to_test_of_valid_DC_connection.yml |   60 +
 .../fixtures/test_0004_supports_current_driver.yml |   60 +
 ...rts_extract_xml_body_using_nokogiri_element.yml |  117 ++
 .../fixtures/test_0004_supports_lunch_image.yml    |  312 +++
 .../test_0004_supports_valid_credentials_.yml      |  215 ++
 .../fixtures/test_0004_supports_with_config.yml    |  129 ++
 .../test_0005_support_attach_storage_volume.yml    |  102 +
 ...ch_storage_volume_and_detach_storage_volume.yml |  142 ++
 ...st_0005_support_create_instance_with_hwp_id.yml |  115 ++
 .../tests/fixtures/test_0005_support_opaque_.yml   |  152 ++
 .../test_0005_supports_current_provider.yml        |  134 ++
 client/tests/fixtures/test_0005_supports_id.yml    |  116 ++
 ...005_supports_switching_drivers_per_instance.yml |  129 ++
 .../fixtures/test_0005_supports_use_driver.yml     |   60 +
 ..._0006_support_create_instance_with_realm_id.yml |  115 ++
 .../fixtures/test_0006_supports_discovered_.yml    |   60 +
 .../test_0006_supports_supported_collections.yml   |   60 +
 ...6_supports_switching_providers_per_instance.yml |  208 ++
 ...test_0007_support_create_instance_with_name.yml |  115 ++
 ...port_switching_provider_without_credentials.yml |  208 ++
 .../tests/fixtures/test_0007_supports_support_.yml |   60 +
 ...st_0007_supports_valid_credentials_on_class.yml |  370 ++++
 .../fixtures/test_0008_support_stop_instance.yml   |  166 ++
 .../fixtures/test_0008_supports_must_support_.yml  |   60 +
 .../fixtures/test_0009_support_start_instance.yml  |  217 ++
 .../tests/fixtures/test_0009_supports_features.yml |   60 +
 .../fixtures/test_0010_support_reboot_instance.yml |  166 ++
 .../tests/fixtures/test_0010_supports_feature_.yml |   60 +
 105 files changed, 21325 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/instances_cleanup.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/instances_cleanup.yml b/client/tests/fixtures/instances_cleanup.yml
new file mode 100644
index 0000000..297ee55
--- /dev/null
+++ b/client/tests/fixtures/instances_cleanup.yml
@@ -0,0 +1,681 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0015072822570800781'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 45aa1a1069561afacf53bfa0617937c2
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst12/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002788543701171875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst12'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0014603137969970703'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - cfc0f8b702e021b8e93e29504c3c401c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst12'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst12
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.0002741813659667969'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst13
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006051063537597656'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ec7c01758e348e28df8260a21e38f23
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst13'
+        id='inst13'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst13/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst13'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst13
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.00011873245239257812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006017684936523438'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 846e96034593a904f856ed5c0ef1ba97
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst14/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0015385150909423828'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst14'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008783340454101562'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 54d0a41fbd97cc4f1148c50786e26996
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst14'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst14
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.0003466606140136719'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0005993843078613281'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - a5154912c43a70a5f96dc590a26784d4
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst15/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst15/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002899169921875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst15'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008769035339355469'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e26f940538d1f016eca99e233ada5800
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst15'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst15
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.00020003318786621094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml b/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0001_connects_to_Deltacloud_API.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_support_cpu.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_support_cpu.yml b/client/tests/fixtures/test_0001_support_cpu.yml
new file mode 100644
index 0000000..cebeab1
--- /dev/null
+++ b/client/tests/fixtures/test_0001_support_cpu.yml
@@ -0,0 +1,444 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:02 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:02 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00015807151794433594'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:02 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:02 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00011610984802246094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010704994201660156'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.1021575927734375e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.343292236328125e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '9.5367431640625e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.000141143798828125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.033348083496094e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:46:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:46:12 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_support_original_body.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_support_original_body.yml b/client/tests/fixtures/test_0001_support_original_body.yml
new file mode 100644
index 0000000..f8113b2
--- /dev/null
+++ b/client/tests/fixtures/test_0001_support_original_body.yml
@@ -0,0 +1,116 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009098052978515625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_addresses.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_addresses.yml b/client/tests/fixtures/test_0001_supports_addresses.yml
new file mode 100644
index 0000000..5fa9a6a
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_addresses.yml
@@ -0,0 +1,178 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001703500747680664'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1509'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f169cf604834db45a1c473d3038a6c00
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<addresses>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.3' id='192.168.0.3'>\n
+        \   <ip>192.168.0.3</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.3'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.3/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.1' id='192.168.0.1'>\n
+        \   <ip>192.168.0.1</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.2' id='192.168.0.2'>\n
+        \   <ip>192.168.0.2</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.2'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.2/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.4' id='192.168.0.4'>\n
+        \   <ip>192.168.0.4</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.4'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.4/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n</addresses>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002438783645629883'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1509'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f169cf604834db45a1c473d3038a6c00
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<addresses>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.3' id='192.168.0.3'>\n
+        \   <ip>192.168.0.3</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.3'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.3/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.1' id='192.168.0.1'>\n
+        \   <ip>192.168.0.1</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.2' id='192.168.0.2'>\n
+        \   <ip>192.168.0.2</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.2'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.2/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.4' id='192.168.0.4'>\n
+        \   <ip>192.168.0.4</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.4'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.4/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n</addresses>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_api_host.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_api_host.yml b/client/tests/fixtures/test_0001_supports_api_host.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_api_host.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_attached_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_attached_.yml b/client/tests/fixtures/test_0001_supports_attached_.yml
new file mode 100644
index 0000000..c764d11
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_attached_.yml
@@ -0,0 +1,282 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:50:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:50:34 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0030679702758789062'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 46e0acb37615405bfaa1b17970ed4734
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:50:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:50:34 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/attach?instance_id=inst1&device
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:51:37 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:51:37 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.003017902374267578'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b576329100e8a3062f48d6f7e86c3935
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:51:37 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:51:37 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/detach
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0027980804443359375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 46e0acb37615405bfaa1b17970ed4734
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+recorded_with: VCR 2.4.0


[12/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_firewall.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_firewall.yml b/client/tests/fixtures/test_0003_support_firewall.yml
new file mode 100644
index 0000000..ac73fd1
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_firewall.yml
@@ -0,0 +1,768 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:06 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:06 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '31274'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:30:06 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/firewalls/img1'>\n
+        \ <backend driver='ec2' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[InvalidGroup.NotFound: The security group 'img1' does
+        not exist\n  REQUEST=ec2.us-east-1.amazonaws.com:443/?AWSAccessKeyId=AKIAJYOQYLLOIWN5LQ3A&Action=DescribeSecurityGroups&GroupName.1=img1&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-03-06T15%3A30%3A06.000Z&Version=2010-08-31&Signature=qSDonnuQ7hu3jj5ZrTIe0HdsL7nbrSEbEUoTiREwVc4%3D
+        \n  REQUEST ID=16e34d19-0de4-43fe-9e44-f263c4e0a304]]></message>\n  <backtrace>/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:575:in
+        `request_info_impl'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:177:in
+        `request_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:589:in
+        `request_cache_or_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:843:in
+        `describe_security_groups'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:780:in
+        `block in firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `call'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `safely'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:778:in
+        `firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/base_driver.rb:254:in
+        `firewall'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:89:in
+        `block in show'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/benchmark.rb:280:in
+        `measure'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:88:in
+        `show'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/rabbit_helper.rb:29:in
+        `block (2 levels) in standard_show_operation'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `instance_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `block in control'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `block in compile!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `[]'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (3 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:876:in
+        `route_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (2 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:897:in
+        `block in process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:859:in
+        `block in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_driver_select.rb:45:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_etag.rb:41:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_date.rb:31:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_logger.rb:87:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1499:in
+        `synchronize'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_matrix_params.rb:104:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:81:in
+        `block in pre_process'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `catch'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `pre_process'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `block in spawn_threadpool'</backtrace>\n  <request>\n    <param name='splat'><![CDATA[[]]]></param>\n
+        \   <param name='captures'><![CDATA[[#<Deltacloud::Exceptions::ObjectNotFound:
+        Deltacloud::Exceptions::ObjectNotFound>]]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:06 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls/mfojtik
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6379110813140869'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '474'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 399a9aadb0fe4d5568a7439a1469865c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n  <actions>\n    <link href='http://localhost:3001/api/firewalls/mfojtik'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/firewalls/rules'
+        method='post' rel='update' />\n  </actions>\n  <name><![CDATA[mfojtik]]></name>\n
+        \ <description><![CDATA[test1]]></description>\n  <owner_id>293787749884</owner_id>\n
+        \ <rules>\n  </rules>\n</firewall>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:50 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '450'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 15:30:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/firewalls/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:50 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '31277'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:30:51 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/firewalls/foo'>\n
+        \ <backend driver='ec2' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[InvalidGroup.NotFound: The security group 'foo' does not
+        exist\n  REQUEST=ec2.us-east-1.amazonaws.com:443/?AWSAccessKeyId=AKIAJYOQYLLOIWN5LQ3A&Action=DescribeSecurityGroups&GroupName.1=foo&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-03-06T15%3A30%3A50.000Z&Version=2010-08-31&Signature=xuXZVpG4%2BRdAXkYXgilSWf%2BmZeSMvN1JTv6VgV%2Fuxg8%3D
+        \n  REQUEST ID=efb91337-6667-4116-abcb-99672f26a1b0]]></message>\n  <backtrace>/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:575:in
+        `request_info_impl'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:177:in
+        `request_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:589:in
+        `request_cache_or_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:843:in
+        `describe_security_groups'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:780:in
+        `block in firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `call'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `safely'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:778:in
+        `firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/base_driver.rb:254:in
+        `firewall'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:89:in
+        `block in show'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/benchmark.rb:280:in
+        `measure'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:88:in
+        `show'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/rabbit_helper.rb:29:in
+        `block (2 levels) in standard_show_operation'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `instance_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `block in control'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `block in compile!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `[]'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (3 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:876:in
+        `route_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (2 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:897:in
+        `block in process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:859:in
+        `block in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_driver_select.rb:45:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_etag.rb:41:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_date.rb:31:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_logger.rb:87:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1499:in
+        `synchronize'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_matrix_params.rb:104:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:81:in
+        `block in pre_process'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `catch'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `pre_process'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `block in spawn_threadpool'</backtrace>\n  <request>\n    <param name='splat'><![CDATA[[]]]></param>\n
+        \   <param name='captures'><![CDATA[[#<Deltacloud::Exceptions::ObjectNotFound:
+        Deltacloud::Exceptions::ObjectNotFound>]]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:51 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_hardware_profile.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_hardware_profile.yml b/client/tests/fixtures/test_0003_support_hardware_profile.yml
new file mode 100644
index 0000000..7d41393
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_hardware_profile.yml
@@ -0,0 +1,199 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.078315734863281e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '458'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/hardware_profiles/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00020384788513183594'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '420'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/hardware_profiles/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0


[28/30] Client: Complete revamp of deltacloud-client unit tests

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/key_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/key_test.rb b/client/tests/methods/key_test.rb
new file mode 100644
index 0000000..4376336
--- /dev/null
+++ b/client/tests/methods/key_test.rb
@@ -0,0 +1,63 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Key do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #keys' do
+    @client.must_respond_to :keys
+    @client.keys.must_be_kind_of Array
+    @client.keys.each { |r| r.must_be_instance_of Deltacloud::Client::Key }
+  end
+
+  it 'supports filtering #keys by :id param' do
+    result = @client.keys(:id => 'test-key')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Key
+    result = @client.keys(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #key' do
+    @client.must_respond_to :key
+    result = @client.key('test-key')
+    result.must_be_instance_of Deltacloud::Client::Key
+    lambda { @client.key(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.key('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_key and #destroy_key' do
+    @client.must_respond_to :create_key
+    result = @client.create_key('foo')
+    result.must_be_instance_of Deltacloud::Client::Key
+    result.name.must_equal 'foo'
+    result.public_key.wont_be_nil
+    @client.must_respond_to :destroy_key
+    @client.destroy_key(result._id)
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/realm_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/realm_test.rb b/client/tests/methods/realm_test.rb
new file mode 100644
index 0000000..f95ecd3
--- /dev/null
+++ b/client/tests/methods/realm_test.rb
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Realm do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #realms' do
+    @client.must_respond_to :realms
+    @client.realms.must_be_kind_of Array
+    @client.realms.each { |r| r.must_be_instance_of Deltacloud::Client::Realm }
+  end
+
+  it 'supports filtering #realms by :id' do
+    result = @client.realms(:id => 'eu')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Realm
+  end
+
+  it 'support #realm' do
+    @client.must_respond_to :realm
+    result = @client.realm('eu')
+    result.must_be_instance_of Deltacloud::Client::Realm
+    lambda { @client.realm(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.realm('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/storage_snapshot_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/storage_snapshot_test.rb b/client/tests/methods/storage_snapshot_test.rb
new file mode 100644
index 0000000..8fd8f1a
--- /dev/null
+++ b/client/tests/methods/storage_snapshot_test.rb
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::StorageSnapshot do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #storage_snapshots' do
+    @client.must_respond_to :storage_snapshots
+    @client.storage_snapshots.must_be_kind_of Array
+    @client.storage_snapshots.each { |r| r.must_be_instance_of Deltacloud::Client::StorageSnapshot }
+  end
+
+  it 'supports filtering #storage_snapshots by :id param' do
+    result = @client.storage_snapshots(:id => 'snap1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::StorageSnapshot
+    result = @client.storage_snapshots(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #storage_snapshot' do
+    @client.must_respond_to :storage_snapshot
+    result = @client.storage_snapshot('snap1')
+    result.must_be_instance_of Deltacloud::Client::StorageSnapshot
+    lambda { @client.storage_snapshot(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.storage_snapshot('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/storage_volume_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/storage_volume_test.rb b/client/tests/methods/storage_volume_test.rb
new file mode 100644
index 0000000..c5186b8
--- /dev/null
+++ b/client/tests/methods/storage_volume_test.rb
@@ -0,0 +1,81 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::StorageVolume do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #storage_volumes' do
+    @client.must_respond_to :storage_volumes
+    @client.storage_volumes.must_be_kind_of Array
+    @client.storage_volumes.each { |r| r.must_be_instance_of Deltacloud::Client::StorageVolume }
+  end
+
+  it 'supports filtering #storage_volumes by :id param' do
+    result = @client.storage_volumes(:id => 'vol1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::StorageVolume
+    result = @client.storage_volumes(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #storage_volume' do
+    @client.must_respond_to :storage_volume
+    result = @client.storage_volume('vol1')
+    result.must_be_instance_of Deltacloud::Client::StorageVolume
+    lambda { @client.storage_volume(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.storage_volume('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_volume and #destroy_volume' do
+    @client.must_respond_to :create_storage_volume
+    result = @client.create_storage_volume(:snapshot_id => 'snap1', :name => 'foo123', :capacity => '10')
+    result.must_be_instance_of Deltacloud::Client::StorageVolume
+    result.name.must_equal 'foo123'
+    result.capacity.must_equal '10'
+    @client.must_respond_to :destroy_storage_volume
+    @client.destroy_storage_volume(result._id).must_equal true
+    lambda { @client.storage_volume(result._id) }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #attach_storage_volume and #detach_storage_volume' do
+    @client.must_respond_to :attach_storage_volume
+    result = @client.attach_storage_volume('vol1', 'inst1', '/dev/sdc')
+    result.must_be_instance_of Deltacloud::Client::StorageVolume
+    result.name.must_equal 'vol1'
+    result.state.must_equal 'IN-USE'
+    result.device.must_equal '/dev/sdc'
+    result.mount[:instance].must_equal 'inst1'
+    @client.must_respond_to :detach_storage_volume
+    result = @client.detach_storage_volume('vol1')
+    result.must_be_instance_of Deltacloud::Client::StorageVolume
+    result.name.must_equal 'vol1'
+    result.state.must_equal 'AVAILABLE'
+    result.device.must_be_nil
+    result.mount[:instance].must_be_nil
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/blob_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/blob_test.rb b/client/tests/models/blob_test.rb
new file mode 100644
index 0000000..5e838a1
--- /dev/null
+++ b/client/tests/models/blob_test.rb
@@ -0,0 +1,40 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Blob do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #bucket' do
+    blob = @client.blob('bucket1', 'blob1')
+    blob.bucket.must_be_instance_of Deltacloud::Client::Bucket
+    blob.bucket._id.must_equal 'bucket1'
+  end
+
+  it 'support #[] on Provider' do
+    drv = @client.driver(:ec2)
+    drv['eu-west-1']['s3'].wont_be_empty
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/bucket_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/bucket_test.rb b/client/tests/models/bucket_test.rb
new file mode 100644
index 0000000..2f8dcf1
--- /dev/null
+++ b/client/tests/models/bucket_test.rb
@@ -0,0 +1,37 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::StorageVolume do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #blobs' do
+    b = @client.bucket('bucket1')
+    b.must_respond_to :blobs
+    b.blobs.wont_be_empty
+    b.blobs.first.must_be_instance_of Deltacloud::Client::Blob
+  end
+
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/driver_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/driver_test.rb b/client/tests/models/driver_test.rb
new file mode 100644
index 0000000..e9aa543
--- /dev/null
+++ b/client/tests/models/driver_test.rb
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Driver do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #[] to get providers' do
+    @client.driver(:ec2).must_respond_to '[]'
+    @client.driver(:ec2)['eu-west-1'].wont_be_nil
+    @client.driver(:ec2)['eu-west-1'].must_be_instance_of Deltacloud::Client::Driver::Provider
+    @client.driver(:ec2)['eu-west-1'].entrypoints.wont_be_empty
+    @client.driver(:ec2)['foo'].must_be_nil
+  end
+
+  it 'support #[] on Provider' do
+    drv = @client.driver(:ec2)
+    drv['eu-west-1']['s3'].wont_be_empty
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/hardware_profile_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/hardware_profile_test.rb b/client/tests/models/hardware_profile_test.rb
new file mode 100644
index 0000000..0a72208
--- /dev/null
+++ b/client/tests/models/hardware_profile_test.rb
@@ -0,0 +1,80 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::HardwareProfile do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'support #cpu' do
+    @client.hardware_profile('m1-small').must_respond_to :cpu
+    @client.hardware_profile('m1-small').cpu.wont_be_nil
+    @client.hardware_profile('m1-small').cpu.must_respond_to :default
+    @client.hardware_profile('m1-small').cpu.default.wont_be_empty
+    @client.hardware_profile('m1-small').cpu.must_respond_to :kind
+    @client.hardware_profile('m1-small').cpu.kind.wont_be_empty
+    @client.hardware_profile('m1-small').cpu.must_respond_to :unit
+    @client.hardware_profile('m1-small').cpu.unit.wont_be_empty
+  end
+
+  it 'support #memory' do
+    @client.hardware_profile('m1-small').must_respond_to :memory
+    @client.hardware_profile('m1-small').memory.wont_be_nil
+    @client.hardware_profile('m1-small').memory.must_respond_to :default
+    @client.hardware_profile('m1-small').memory.default.wont_be_empty
+    @client.hardware_profile('m1-small').memory.must_respond_to :kind
+    @client.hardware_profile('m1-small').memory.kind.wont_be_empty
+    @client.hardware_profile('m1-small').memory.must_respond_to :unit
+    @client.hardware_profile('m1-small').memory.unit.wont_be_empty
+  end
+
+  it 'support #storage' do
+    @client.hardware_profile('m1-small').must_respond_to :storage
+    @client.hardware_profile('m1-small').storage.wont_be_nil
+    @client.hardware_profile('m1-small').storage.must_respond_to :default
+    @client.hardware_profile('m1-small').storage.default.wont_be_empty
+    @client.hardware_profile('m1-small').storage.must_respond_to :kind
+    @client.hardware_profile('m1-small').storage.kind.wont_be_empty
+    @client.hardware_profile('m1-small').storage.must_respond_to :unit
+    @client.hardware_profile('m1-small').storage.unit.wont_be_empty
+  end
+
+  it 'support #architecture' do
+    @client.hardware_profile('m1-small').must_respond_to :architecture
+    @client.hardware_profile('m1-small').architecture.wont_be_nil
+    @client.hardware_profile('m1-small').architecture.must_respond_to :default
+    @client.hardware_profile('m1-small').architecture.default.wont_be_empty
+    @client.hardware_profile('m1-small').architecture.must_respond_to :kind
+    @client.hardware_profile('m1-small').architecture.kind.wont_be_empty
+    @client.hardware_profile('m1-small').architecture.must_respond_to :unit
+    @client.hardware_profile('m1-small').architecture.unit.wont_be_empty
+  end
+
+  it 'support #opaque?' do
+    @client.hardware_profile('opaque').opaque?.must_equal true
+    @client.hardware_profile('m1-small').opaque?.must_equal false
+  end
+
+
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/image_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/image_test.rb b/client/tests/models/image_test.rb
new file mode 100644
index 0000000..0879b35
--- /dev/null
+++ b/client/tests/models/image_test.rb
@@ -0,0 +1,63 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Image do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'support #original_body' do
+    img = @client.image('img1')
+    img.original_body.must_be_instance_of Faraday::Response
+  end
+
+  it 'supports #hardware_profiles' do
+    img = @client.image('img1')
+    img.must_respond_to :hardware_profiles
+    img.hardware_profiles.wont_be_empty
+    img.hardware_profiles.first.must_be_instance_of Deltacloud::Client::HardwareProfile
+  end
+
+  it 'supports #is_compatible?' do
+    img = @client.image('img1')
+    img.must_respond_to 'is_compatible?'
+    img.is_compatible?('m1-small').must_equal true
+    img.is_compatible?('m1-large').must_equal true
+  end
+
+  it 'supports #lunch_image' do
+    img = @client.image('img1')
+    img.must_respond_to :launch
+    inst = img.launch(:hwp_id => 'm1-large')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst.hardware_profile_id.must_equal 'm1-large'
+    inst.stop!
+    inst.destroy!
+  end
+
+  it 'supports #id' do
+    img = @client.image('img1')
+    lambda { img.id.must_equal 'img1' }.must_output nil, "[DEPRECATION] `id` is deprecated because of possible conflict with Object#id. Use `_id` instead.\n"
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/models/storage_volume_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/models/storage_volume_test.rb b/client/tests/models/storage_volume_test.rb
new file mode 100644
index 0000000..2108684
--- /dev/null
+++ b/client/tests/models/storage_volume_test.rb
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::StorageVolume do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #attached?' do
+    vol = @client.storage_volume('vol1')
+    vol.attached?.must_equal false
+    vol.attach('inst1')
+    vol.attached?.must_equal true
+    vol.detach!
+  end
+
+  it 'supports #snapshot!' do
+    vol = @client.storage_volume('vol1')
+    vol.snapshot!.must_be_instance_of Deltacloud::Client::StorageSnapshot
+  end
+
+  it 'supports #instance' do
+    vol = @client.storage_volume('vol2')
+    vol.attached?.must_equal false
+    vol.attach('inst1')
+    vol.attached?.must_equal true
+    vol.instance.must_be_instance_of Deltacloud::Client::Instance
+    vol.instance._id.must_equal 'inst1'
+    vol.detach!
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/realms_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/realms_test.rb b/client/tests/realms_test.rb
deleted file mode 100644
index 0017325..0000000
--- a/client/tests/realms_test.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Realms" do
-
-  before do
-    @client = DeltaCloud.new(API_NAME, API_PASSWORD, API_URL)
-  end
-
-  it "should allow retrieval of all realms" do
-    realms = @client.realms
-    realms.wont_be_empty
-    realms.each do |realm|
-      realm.uri.wont_be_nil
-      realm.uri.must_be_kind_of String
-      realm.id.wont_be_nil
-      realm.id.must_be_kind_of String
-      realm.name.wont_be_nil
-      realm.name.must_be_kind_of String
-    end
-  end
-
-
-  it "should allow fetching a realm by id" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      realm = client.realm( 'us' )
-      realm.wont_be_nil
-      realm.id.must_equal 'us'
-      realm.name.must_equal 'United States'
-      realm.state.must_equal 'AVAILABLE'
-      realm = client.realm( 'eu' )
-      realm.wont_be_nil
-      realm.id.must_equal 'eu'
-      realm.name.must_equal 'Europe'
-      realm.state.must_equal 'AVAILABLE'
-    end
-  end
-
-  it "should allow fetching a realm by URI" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      realm = client.fetch_realm( API_URL + '/realms/us' )
-      realm.wont_be_nil
-      realm.id.must_equal 'us'
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/storage_snapshot_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/storage_snapshot_test.rb b/client/tests/storage_snapshot_test.rb
deleted file mode 100644
index aefe9a5..0000000
--- a/client/tests/storage_snapshot_test.rb
+++ /dev/null
@@ -1,76 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Storage Snapshot" do
-
-  it "allow retrieval of all storage volumes owned by the current user" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_snapshots = c.storage_snapshots
-      storage_snapshots.wont_be_nil
-      storage_snapshots.wont_be_empty
-      ids = storage_snapshots.collect{|e| e.id}
-      ids.size.must_equal 3
-      ids.must_include 'snap2'
-      ids.must_include 'snap3'
-    end
-  end
-
-  it "should allow fetching of storage volume by id" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_snapshot = c.storage_snapshot( 'snap2' )
-      storage_snapshot.wont_be_nil
-      storage_snapshot.id.must_equal 'snap2'
-      storage_snapshot.storage_volume.capacity.must_equal 1.0
-      storage_snapshot.storage_volume.id.must_equal 'vol2'
-    end
-  end
-
-  it "should allow fetching of storage volume by URI"  do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_snapshot = c.fetch_storage_snapshot( API_URL + '/storage_snapshots/snap2' )
-      storage_snapshot.wont_be_nil
-      storage_snapshot.id.must_equal 'snap2'
-      storage_snapshot.storage_volume.capacity.must_equal 1.0
-      storage_snapshot.storage_volume.id.must_equal 'vol2'
-    end
-  end
-
-  it "should return nil for unknown storage volume by ID" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    lambda {
-      client.connect do |c|
-        c.storage_snapshot( "bogus" )
-      end
-    }.must_raise DeltaCloud::HTTPError::NotFound
-  end
-
-  it "should return nil for unknown storage volume by URI" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    lambda {
-      client.connect do |c|
-        c.fetch_storage_snapshot( API_URL + '/storage_snapshots/bogus' )
-      end
-    }.must_raise DeltaCloud::HTTPError::NotFound
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/storage_volume_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/storage_volume_test.rb b/client/tests/storage_volume_test.rb
deleted file mode 100644
index 95c6d18..0000000
--- a/client/tests/storage_volume_test.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Storage Volumes" do
-
-  it "allow retrieval of all storage volumes owned by the current user" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_volumes = c.storage_volumes
-      storage_volumes.wont_be_nil
-      storage_volumes.wont_be_nil
-      ids = storage_volumes.collect{|e| e.id}
-      ids.size.must_equal 3
-      ids.must_include 'vol1'
-      ids.must_include 'vol3'
-    end
-  end
-
-  it "should allow fetching of storage volume by id" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_volume = c.storage_volume( 'vol3' )
-      storage_volume.id.must_equal 'vol3'
-      storage_volume.uri.must_equal API_URL + '/storage_volumes/vol3'
-      storage_volume.capacity.must_equal 1.0
-      storage_volume.device.must_equal '/dev/sda1'
-      storage_volume.instance.wont_be_nil
-      storage_volume.instance.id.must_equal 'inst1'
-      ip = storage_volume.instance
-      ip.hardware_profile.architecture.value.must_equal 'i386'
-    end
-  end
-
-  it "should allow fetching of storage volume by URI" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.connect do |c|
-      storage_volume = c.fetch_storage_volume( API_URL + '/storage_volumes/vol3' )
-      storage_volume.wont_be_nil
-      storage_volume.id.must_equal 'vol3'
-      storage_volume.uri.must_equal API_URL + '/storage_volumes/vol3'
-      storage_volume.capacity.must_equal 1.0
-      storage_volume.device.must_equal '/dev/sda1'
-      storage_volume.instance.wont_be_nil
-      storage_volume.instance.id.must_equal 'inst1'
-      ip = storage_volume.instance
-      ip.hardware_profile.architecture.value.must_equal 'i386'
-    end
-  end
-
-  it "should raise exception for unknown storage volume by ID" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    lambda {
-      client.connect do |c|
-        c.storage_volume( 'bogus' )
-      end
-    }.must_raise DeltaCloud::HTTPError::NotFound
-  end
-
-  it "should raise exception for unknown storage volume by URI" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    lambda {
-      client.connect do |c|
-        client.fetch_storage_volume( API_URL + '/storage_volumes/bogus' )
-      end
-    }.must_raise DeltaCloud::HTTPError::NotFound
-  end
-
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/test_helper.rb
----------------------------------------------------------------------
diff --git a/client/tests/test_helper.rb b/client/tests/test_helper.rb
index 9419b4a..a238a73 100644
--- a/client/tests/test_helper.rb
+++ b/client/tests/test_helper.rb
@@ -1,16 +1,64 @@
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'minitest/autorun'
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require 'bundler'
+
+Bundler.setup(:default, :development)
+Bundler.require(:default, :development)
 
-require_relative '../lib/deltacloud.rb'
+require 'require_relative' if RUBY_VERSION < '1.9'
+
+if ENV['COVERAGE']
+  require 'simplecov'
+  SimpleCov.command_name 'tests:units'
+  SimpleCov.start do
+    add_group "Models", "lib/deltacloud/client/models"
+    add_group "Methods", "lib/deltacloud/client/methods"
+    add_group "Helpers", "lib/deltacloud/client/helpers"
+    add_group "Extensions", "lib/deltacloud/core_ext"
+    add_filter "tests/"
+  end
+end
+
+require 'minitest/autorun'
+#
+# Change this at will
+#
+DELTACLOUD_URL = ENV['API_URL'] || 'http://localhost:3001/api'
+DELTACLOUD_USER = 'mockuser'
+DELTACLOUD_PASSWORD = 'mockpassword'
 
-# Configuration:
+def new_client
+  Deltacloud::Client(DELTACLOUD_URL, DELTACLOUD_USER, DELTACLOUD_PASSWORD)
+end
 
-API_HOST = 'localhost'
-API_PORT = '3001'
-API_PATH = '/api'
+unless ENV['NO_VCR']
+  require 'vcr'
+  VCR.configure do |c|
+    c.hook_into :faraday
+    c.cassette_library_dir = File.join(File.dirname(__FILE__), 'fixtures')
+    c.default_cassette_options = { :record => :new_episodes }
+  end
+end
 
-API_NAME = 'mockuser'
-API_PASSWORD = 'mockpassword'
+require_relative './../lib/deltacloud/client'
 
-API_URL = "http://#{API_HOST}:#{API_PORT}#{API_PATH}"
+def cleanup_instances(inst_arr)
+  inst_arr.each do |i|
+    i.reload!
+    i.stop! unless i.is_stopped?
+    i.destroy!
+  end
+end


[16/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_images.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_images.yml b/client/tests/fixtures/test_0001_supports_images.yml
new file mode 100644
index 0000000..77872e7
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_images.yml
@@ -0,0 +1,224 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0017576217651367188'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '3625'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fb76b11edef9b2b39a729fe308f606d8
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<images>\n  <image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n    <name>img1</name>\n    <description>Fedora 10</description>\n
+        \   <owner_id>fedoraproject</owner_id>\n    <architecture>x86_64</architecture>\n
+        \   <state>AVAILABLE</state>\n    <creation_time>Thu Oct 25 14:27:53 CEST
+        2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \   </hardware_profiles>\n    <root_type>transient</root_type>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n  <image
+        href='http://localhost:3001/api/images/img2' id='img2'>\n    <name>img2</name>\n
+        \   <description>Fedora 10</description>\n    <owner_id>fedoraproject</owner_id>\n
+        \   <architecture>i386</architecture>\n    <state>AVAILABLE</state>\n    <creation_time>Thu
+        Oct 25 14:27:53 CEST 2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-xlarge' id='m1-xlarge'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/opaque'
+        id='opaque' rel='hardware_profile'></hardware_profile>\n    </hardware_profiles>\n
+        \   <root_type>transient</root_type>\n    <actions>\n      <link href='http://localhost:3001/api/instances;image_id=img2'
+        method='post' rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img2'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n  <image
+        href='http://localhost:3001/api/images/img3' id='img3'>\n    <name>img3</name>\n
+        \   <description>JBoss</description>\n    <owner_id>mockuser</owner_id>\n
+        \   <architecture>i386</architecture>\n    <state>AVAILABLE</state>\n    <creation_time>Thu
+        Oct 25 14:27:53 CEST 2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-xlarge' id='m1-xlarge'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/opaque'
+        id='opaque' rel='hardware_profile'></hardware_profile>\n    </hardware_profiles>\n
+        \   <root_type>transient</root_type>\n    <actions>\n      <link href='http://localhost:3001/api/instances;image_id=img3'
+        method='post' rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img3'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n</images>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0018177032470703125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '3625'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fb76b11edef9b2b39a729fe308f606d8
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<images>\n  <image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n    <name>img1</name>\n    <description>Fedora 10</description>\n
+        \   <owner_id>fedoraproject</owner_id>\n    <architecture>x86_64</architecture>\n
+        \   <state>AVAILABLE</state>\n    <creation_time>Thu Oct 25 14:27:53 CEST
+        2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \   </hardware_profiles>\n    <root_type>transient</root_type>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n  <image
+        href='http://localhost:3001/api/images/img2' id='img2'>\n    <name>img2</name>\n
+        \   <description>Fedora 10</description>\n    <owner_id>fedoraproject</owner_id>\n
+        \   <architecture>i386</architecture>\n    <state>AVAILABLE</state>\n    <creation_time>Thu
+        Oct 25 14:27:53 CEST 2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-xlarge' id='m1-xlarge'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/opaque'
+        id='opaque' rel='hardware_profile'></hardware_profile>\n    </hardware_profiles>\n
+        \   <root_type>transient</root_type>\n    <actions>\n      <link href='http://localhost:3001/api/instances;image_id=img2'
+        method='post' rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img2'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n  <image
+        href='http://localhost:3001/api/images/img3' id='img3'>\n    <name>img3</name>\n
+        \   <description>JBoss</description>\n    <owner_id>mockuser</owner_id>\n
+        \   <architecture>i386</architecture>\n    <state>AVAILABLE</state>\n    <creation_time>Thu
+        Oct 25 14:27:53 CEST 2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-xlarge' id='m1-xlarge'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/opaque'
+        id='opaque' rel='hardware_profile'></hardware_profile>\n    </hardware_profiles>\n
+        \   <root_type>transient</root_type>\n    <actions>\n      <link href='http://localhost:3001/api/instances;image_id=img3'
+        method='post' rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img3'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n</images>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_instance_states.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_instance_states.yml b/client/tests/fixtures/test_0001_supports_instance_states.yml
new file mode 100644
index 0000000..e793dc8
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_instance_states.yml
@@ -0,0 +1,156 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instance_states
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '543'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa9267298fdf7b936d9635aa5ce29640
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<states>\n  <state name='start'>\n    <transition action='create'
+        to='pending'></transition>\n  </state>\n  <state name='pending'>\n    <transition
+        auto='true' to='running'></transition>\n  </state>\n  <state name='running'>\n
+        \   <transition action='reboot' to='running'></transition>\n    <transition
+        action='stop' to='stopped'></transition>\n  </state>\n  <state name='stopped'>\n
+        \   <transition action='start' to='running'></transition>\n    <transition
+        action='destroy' to='finish'></transition>\n  </state>\n  <state name='finish'>\n
+        \ </state>\n</states>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instance_states
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '543'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa9267298fdf7b936d9635aa5ce29640
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<states>\n  <state name='start'>\n    <transition action='create'
+        to='pending'></transition>\n  </state>\n  <state name='pending'>\n    <transition
+        auto='true' to='running'></transition>\n  </state>\n  <state name='running'>\n
+        \   <transition action='reboot' to='running'></transition>\n    <transition
+        action='stop' to='stopped'></transition>\n  </state>\n  <state name='stopped'>\n
+        \   <transition action='start' to='running'></transition>\n    <transition
+        action='destroy' to='finish'></transition>\n  </state>\n  <state name='finish'>\n
+        \ </state>\n</states>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_instances.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_instances.yml b/client/tests/fixtures/test_0001_supports_instances.yml
new file mode 100644
index 0000000..0414cc5
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_instances.yml
@@ -0,0 +1,486 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.005411386489868164'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '16539'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f155d58829533df9216e29d06b3e73b3
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instances>\n  <instance
+        href='http://localhost:3001/api/instances/inst6' id='inst6'>\n    <name>i-1362499468</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>STOPPED</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst6/start'
+        method='post' rel='start' />\n      <link href='http://localhost:3001/api/instances/inst6'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/instances/inst6/run;id=inst6'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst6'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst6.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst6.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst9' id='inst9'>\n    <name>i-1362560139</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst9/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst9/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst9/run;id=inst9'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst9'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst9.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst9.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst7' id='inst7'>\n    <name>i-1362499468</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst7/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst7/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst7/run;id=inst7'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst7'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst7.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst7.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst1' id='inst1'>\n    <name>MockUserInstance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img3'
+        id='img3'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst4' id='inst4'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst4/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst4/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst4/run;id=inst4'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst4'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst4.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst4.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst0' id='inst0'>\n    <name>Mock
+        Instance With Profile Change</name>\n    <owner_id>mockuser</owner_id>\n    <image
+        href='http://localhost:3001/api/images/img1' id='img1'></image>\n    <realm
+        href='http://localhost:3001/api/realms/us' id='us'></realm>\n    <state>RUNNING</state>\n
+        \   <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n      <property kind='fixed' name='memory' unit='MB' value='12288'></property>\n
+        \   </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst0/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst0/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst0/run;id=inst0'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst0'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst0.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst0.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst3' id='inst3'>\n    <name>i-1362499363</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst3/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst3/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst3/run;id=inst3'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst3'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst3.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst3.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst8' id='inst8'>\n    <name>i-1362499469</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst8/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst8/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst8/run;id=inst8'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst8'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst8.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst8.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst11' id='inst11'>\n    <name>i-1362560140</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst11/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst11/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst11/run;id=inst11'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst11'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst11.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst11.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst12' id='inst12'>\n    <name>i-1362560177</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst5' id='inst5'>\n    <name>i-1362499364</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst5/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst5/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst5/run;id=inst5'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst5'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst5.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst5.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst10' id='inst10'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst10/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst10/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst10/run;id=inst10'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst10'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst10.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst10.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst14' id='inst14'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst13' id='inst13'>\n    <name>i-1362560178</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst13/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst13/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n</instances>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.015678882598876953'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '16539'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f155d58829533df9216e29d06b3e73b3
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instances>\n  <instance
+        href='http://localhost:3001/api/instances/inst6' id='inst6'>\n    <name>i-1362499468</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>STOPPED</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst6/start'
+        method='post' rel='start' />\n      <link href='http://localhost:3001/api/instances/inst6'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/instances/inst6/run;id=inst6'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst6'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst6.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst6.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst9' id='inst9'>\n    <name>i-1362560139</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst9/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst9/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst9/run;id=inst9'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst9'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst9.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst9.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst7' id='inst7'>\n    <name>i-1362499468</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst7/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst7/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst7/run;id=inst7'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst7'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst7.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst7.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst1' id='inst1'>\n    <name>MockUserInstance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img3'
+        id='img3'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst4' id='inst4'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst4/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst4/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst4/run;id=inst4'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst4'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst4.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst4.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst0' id='inst0'>\n    <name>Mock
+        Instance With Profile Change</name>\n    <owner_id>mockuser</owner_id>\n    <image
+        href='http://localhost:3001/api/images/img1' id='img1'></image>\n    <realm
+        href='http://localhost:3001/api/realms/us' id='us'></realm>\n    <state>RUNNING</state>\n
+        \   <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n      <property kind='fixed' name='memory' unit='MB' value='12288'></property>\n
+        \   </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst0/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst0/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst0/run;id=inst0'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst0'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst0.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst0.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst3' id='inst3'>\n    <name>i-1362499363</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst3/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst3/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst3/run;id=inst3'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst3'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst3.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst3.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst8' id='inst8'>\n    <name>i-1362499469</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst8/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst8/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst8/run;id=inst8'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst8'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst8.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst8.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst11' id='inst11'>\n    <name>i-1362560140</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst11/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst11/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst11/run;id=inst11'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst11'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst11.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst11.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst12' id='inst12'>\n    <name>i-1362560177</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst5' id='inst5'>\n    <name>i-1362499364</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst5/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst5/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst5/run;id=inst5'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst5'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst5.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst5.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst10' id='inst10'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst10/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst10/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst10/run;id=inst10'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst10'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst10.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst10.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst14' id='inst14'>\n    <name>test_instance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n  <instance
+        href='http://localhost:3001/api/instances/inst13' id='inst13'>\n    <name>i-1362560178</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img1'
+        id='img1'></image>\n    <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst13/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst13/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst13/run;id=inst13'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst13'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst13.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst13.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n</instances>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_keys.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_keys.yml b/client/tests/fixtures/test_0001_supports_keys.yml
new file mode 100644
index 0000000..e789ef1
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_keys.yml
@@ -0,0 +1,198 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0026090145111083984'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2299'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b5777985297c503ddf06535a89966e7c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<keys>\n  <key href='http://localhost:3001/api/keys/test-key'
+        id='test-key' type='key'>\n    <name>test-key</name>\n    <actions>\n      <link
+        href='http://localhost:3001/api/keys/test-key' method='delete' rel='destroy'
+        />\n    </actions>\n    <fingerprint>5e:ce:b6:dc:59:3b:5c:93:f8:2e:9d:20:ce:60:ca:f5:0b:8a:66:93</fingerprint>\n
+        \   <pem>\n      <![CDATA[-----BEGIN RSA PRIVATE KEY-----\n      P9mRXOY7p2SmMzTGA6dwKxUp1NB8LNCIJ7sMGgAljsf=ToAi9qn9myx0EQJkE8FZ8FigUIMHS/T\n
+        \     8EwP7Ayjztb8dczbC6sb/Ep2UWcegNUVHimyHstaEaO/3dCaFwLJ/kw=laAfLQAVj4sIr8EHDTg\n
+        \     /BFkgmwTAYlS/ybkEfO9J7AJlY6/agwYzDWp+VGAD9rMsl2EkkbkWdoTX4Aob9RqyHaFi2m1AAw\n
+        \     2nhhqYpa1W4H=PJvyBcsXT3JynowSI8rTvo41oVwgSzv7YofGP0yV7BePm5pXZUUP2ZMByxbAUv\n
+        \     jvYRN/cMHbC6RW1ezR3uehCKdKFRXLTkoivoGj4ugrKgOwQP0HWI2orx/NW+6vYBxyCKiTJPZcK\n
+        \     x4BlRrlgvPST/7eaFv7/5Pqc3jWcp+bRC0qyYqQT9iq3gGNoc4ABFTI7zCeZ3p9tK8oje5fWo5m\n
+        \     54P32hVGeBjfqT/MrEYbY5gbJU6LejCj7x6Ozlp4iHQtrYNhiZ0iP0W3nRhVFQHamKx9aoBXyeg\n
+        \     LLGxBOr+TfaeeBXRkXiaMuWoyPSzUQwWmaJhm0sjHf7e/iKiUggZkOHQ/eF9MWI4M+4wvyepfS0\n
+        \     5vl2Ql/2rXv+Mx+c4cx1fjBhRrMPcGKmHGjNMjPyamTrlqueFRJYP45AYABP2U2AsNxoPfEG0qu\n
+        \     ki3DJOeC5x/03nODd=hQLzfdiQ3Yyt0GMw1EQN96cPaRtnjr3U4/ngxt0Fi6o7Z8E2+Uh5t4n8D\n
+        \     h0exXCOlOi9BDsJJz677mga/=5Sin/4Cw8=D8O1FHrWoA4ZQbWFE71F=/29PM90RHJf2bjgk2WF\n
+        \     piltKwVfGAxPOTcpmf=J+V3NHgT/EawMPHuEmwgNvx6smDBUgJaw0QYX/XG5xuiQ7HTkffJN6Cm\n
+        \     6D4WCJPZUvO1r+v=T9v7Qu4j9ue/l2WwVZuvQsVD67jpzq2R72EHna6rcwwyMcdAlwikP9nzJIL\n
+        \     Ale7hQAWHIEeAvAxtwxEMSfTkuLQcD=i0ORysmInDxdORw4ue2YThj2Id/jmUy6IiEqMYeVpiRq\n
+        \     6spq2ukt=+HHn6aBcYWbsD=e8/wOk0X0=ixZ0HF+xqYgsiiAk==rA4QEgrf+5djbIRZk1wegeIO\n
+        \     po/HZdF4qk32cKBjrrel2AzxfZeGxWNX7ObAE4HACXi3eSdcnm1fIHsoSC+1eDqFkfAIve3Dj/a\n
+        \     afZxrda6zzp3g6IPcHAqleCn7XNcS0v5tk4Fag8Wr5Wq7IipRfixAs+GESGiyugeRvZWN2mtDOL\n
+        \     CGHGGAbpvplw2vjdryVyj7P6bVcwLNgl0t1ufZBaGRBpyontJ1/UQQMew7e2lW=EZr/GxHke8HN\n
+        \     X5vIw9ssx8=LL00fxAuX9SRdcrtVyTYGXORXe9NnldXjBXmLPgwqJAjoBTjTBQxzrQOtdla=/yw\n
+        \     MsDlFWumPz1HAFw7R5zS2VCHrwkLDm=h7k3y+fUvYOx6IYf+MmevANuJT+2qY6s/ilTBNDYq6jJ\n
+        \     8LYpsBo4XpQm1ZleFCIyRldHfmaC5EMxkVQVqCV7X9I6JgzDEetUre25LQTpDa31M=ucVHNWlT+\n
+        \     6rjiLETNeMTWGcuIkLPe/PElmp4llKeFi6g2=E2AKeSDzNycr5eXHEnBuKfEnENXXo6n-----END
+        RSA PRIVATE KEY-----]]>\n    </pem>\n    <state></state>\n  </key>\n</keys>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0010156631469726562'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2299'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b5777985297c503ddf06535a89966e7c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<keys>\n  <key href='http://localhost:3001/api/keys/test-key'
+        id='test-key' type='key'>\n    <name>test-key</name>\n    <actions>\n      <link
+        href='http://localhost:3001/api/keys/test-key' method='delete' rel='destroy'
+        />\n    </actions>\n    <fingerprint>5e:ce:b6:dc:59:3b:5c:93:f8:2e:9d:20:ce:60:ca:f5:0b:8a:66:93</fingerprint>\n
+        \   <pem>\n      <![CDATA[-----BEGIN RSA PRIVATE KEY-----\n      P9mRXOY7p2SmMzTGA6dwKxUp1NB8LNCIJ7sMGgAljsf=ToAi9qn9myx0EQJkE8FZ8FigUIMHS/T\n
+        \     8EwP7Ayjztb8dczbC6sb/Ep2UWcegNUVHimyHstaEaO/3dCaFwLJ/kw=laAfLQAVj4sIr8EHDTg\n
+        \     /BFkgmwTAYlS/ybkEfO9J7AJlY6/agwYzDWp+VGAD9rMsl2EkkbkWdoTX4Aob9RqyHaFi2m1AAw\n
+        \     2nhhqYpa1W4H=PJvyBcsXT3JynowSI8rTvo41oVwgSzv7YofGP0yV7BePm5pXZUUP2ZMByxbAUv\n
+        \     jvYRN/cMHbC6RW1ezR3uehCKdKFRXLTkoivoGj4ugrKgOwQP0HWI2orx/NW+6vYBxyCKiTJPZcK\n
+        \     x4BlRrlgvPST/7eaFv7/5Pqc3jWcp+bRC0qyYqQT9iq3gGNoc4ABFTI7zCeZ3p9tK8oje5fWo5m\n
+        \     54P32hVGeBjfqT/MrEYbY5gbJU6LejCj7x6Ozlp4iHQtrYNhiZ0iP0W3nRhVFQHamKx9aoBXyeg\n
+        \     LLGxBOr+TfaeeBXRkXiaMuWoyPSzUQwWmaJhm0sjHf7e/iKiUggZkOHQ/eF9MWI4M+4wvyepfS0\n
+        \     5vl2Ql/2rXv+Mx+c4cx1fjBhRrMPcGKmHGjNMjPyamTrlqueFRJYP45AYABP2U2AsNxoPfEG0qu\n
+        \     ki3DJOeC5x/03nODd=hQLzfdiQ3Yyt0GMw1EQN96cPaRtnjr3U4/ngxt0Fi6o7Z8E2+Uh5t4n8D\n
+        \     h0exXCOlOi9BDsJJz677mga/=5Sin/4Cw8=D8O1FHrWoA4ZQbWFE71F=/29PM90RHJf2bjgk2WF\n
+        \     piltKwVfGAxPOTcpmf=J+V3NHgT/EawMPHuEmwgNvx6smDBUgJaw0QYX/XG5xuiQ7HTkffJN6Cm\n
+        \     6D4WCJPZUvO1r+v=T9v7Qu4j9ue/l2WwVZuvQsVD67jpzq2R72EHna6rcwwyMcdAlwikP9nzJIL\n
+        \     Ale7hQAWHIEeAvAxtwxEMSfTkuLQcD=i0ORysmInDxdORw4ue2YThj2Id/jmUy6IiEqMYeVpiRq\n
+        \     6spq2ukt=+HHn6aBcYWbsD=e8/wOk0X0=ixZ0HF+xqYgsiiAk==rA4QEgrf+5djbIRZk1wegeIO\n
+        \     po/HZdF4qk32cKBjrrel2AzxfZeGxWNX7ObAE4HACXi3eSdcnm1fIHsoSC+1eDqFkfAIve3Dj/a\n
+        \     afZxrda6zzp3g6IPcHAqleCn7XNcS0v5tk4Fag8Wr5Wq7IipRfixAs+GESGiyugeRvZWN2mtDOL\n
+        \     CGHGGAbpvplw2vjdryVyj7P6bVcwLNgl0t1ufZBaGRBpyontJ1/UQQMew7e2lW=EZr/GxHke8HN\n
+        \     X5vIw9ssx8=LL00fxAuX9SRdcrtVyTYGXORXe9NnldXjBXmLPgwqJAjoBTjTBQxzrQOtdla=/yw\n
+        \     MsDlFWumPz1HAFw7R5zS2VCHrwkLDm=h7k3y+fUvYOx6IYf+MmevANuJT+2qY6s/ilTBNDYq6jJ\n
+        \     8LYpsBo4XpQm1ZleFCIyRldHfmaC5EMxkVQVqCV7X9I6JgzDEetUre25LQTpDa31M=ucVHNWlT+\n
+        \     6rjiLETNeMTWGcuIkLPe/PElmp4llKeFi6g2=E2AKeSDzNycr5eXHEnBuKfEnENXXo6n-----END
+        RSA PRIVATE KEY-----]]>\n    </pem>\n    <state></state>\n  </key>\n</keys>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_path.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_path.yml b/client/tests/fixtures/test_0001_supports_path.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_path.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_realms.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_realms.yml b/client/tests/fixtures/test_0001_supports_realms.yml
new file mode 100644
index 0000000..6cfcd81
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_realms.yml
@@ -0,0 +1,152 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010395050048828125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '316'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 2cecd42932362c2e0125c0d5c20c51f1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<realms>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'>\n    <name>United States</name>\n    <state>AVAILABLE</state>\n  </realm>\n
+        \ <realm href='http://localhost:3001/api/realms/eu' id='eu'>\n    <name>Europe</name>\n
+        \   <state>AVAILABLE</state>\n  </realm>\n</realms>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0002758502960205078'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '316'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 2cecd42932362c2e0125c0d5c20c51f1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<realms>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'>\n    <name>United States</name>\n    <state>AVAILABLE</state>\n  </realm>\n
+        \ <realm href='http://localhost:3001/api/realms/eu' id='eu'>\n    <name>Europe</name>\n
+        \   <state>AVAILABLE</state>\n  </realm>\n</realms>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_storage_snapshots.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_storage_snapshots.yml b/client/tests/fixtures/test_0001_supports_storage_snapshots.yml
new file mode 100644
index 0000000..3b6a53e
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_storage_snapshots.yml
@@ -0,0 +1,164 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0007281303405761719'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '945'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f1f01c62af39f845059f14e32919f68b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_snapshots>\n  <storage_snapshot
+        href='http://localhost:3001/api/storage_snapshots/snap2' id='snap2'>\n    <name>snap2</name>\n
+        \   <created>Wed Jul 29 18:15:24 UTC 2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'></storage_volume>\n  </storage_snapshot>\n  <storage_snapshot href='http://localhost:3001/api/storage_snapshots/snap3'
+        id='snap3'>\n    <name>snap3</name>\n    <created>Wed Jul 29 18:15:24 UTC
+        2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'></storage_volume>\n  </storage_snapshot>\n  <storage_snapshot href='http://localhost:3001/api/storage_snapshots/snap1'
+        id='snap1'>\n    <name>snap1</name>\n    <created>Wed Jul 29 18:15:24 UTC
+        2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'></storage_volume>\n  </storage_snapshot>\n</storage_snapshots>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0007908344268798828'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '945'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f1f01c62af39f845059f14e32919f68b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_snapshots>\n  <storage_snapshot
+        href='http://localhost:3001/api/storage_snapshots/snap2' id='snap2'>\n    <name>snap2</name>\n
+        \   <created>Wed Jul 29 18:15:24 UTC 2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'></storage_volume>\n  </storage_snapshot>\n  <storage_snapshot href='http://localhost:3001/api/storage_snapshots/snap3'
+        id='snap3'>\n    <name>snap3</name>\n    <created>Wed Jul 29 18:15:24 UTC
+        2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'></storage_volume>\n  </storage_snapshot>\n  <storage_snapshot href='http://localhost:3001/api/storage_snapshots/snap1'
+        id='snap1'>\n    <name>snap1</name>\n    <created>Wed Jul 29 18:15:24 UTC
+        2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'></storage_volume>\n  </storage_snapshot>\n</storage_snapshots>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0


[14/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_addresses_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_addresses_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_addresses_by_id_param.yml
new file mode 100644
index 0000000..77df4a6
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_addresses_by_id_param.yml
@@ -0,0 +1,156 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses?id=192.168.0.1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001249551773071289'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '426'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 0ae027ade49ba4f6c7ef2e5eb326d8e1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<addresses>\n  <address
+        href='http://localhost:3001/api/addresses/192.168.0.1' id='192.168.0.1'>\n
+        \   <ip>192.168.0.1</ip>\n    <actions>\n      <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n    </actions>\n  </address>\n</addresses>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0033969879150390625'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '65'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 993a714b729498253d29896e4dc5b169
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <addresses>
+
+        </addresses>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_buckets_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_buckets_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_buckets_by_id_param.yml
new file mode 100644
index 0000000..60ddb43
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_buckets_by_id_param.yml
@@ -0,0 +1,156 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets?id=bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00551605224609375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '442'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b966836385592fbfa26afdc2c0f3cea4
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<buckets>\n  <bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n    <name>bucket1</name>\n    <size>3</size>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n  </bucket>\n</buckets>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0035152435302734375'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '61'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b557ea2ead06502f5680c925f4e7daf6
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <buckets>
+
+        </buckets>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_firewalls_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_firewalls_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_firewalls_by_id_param.yml
new file mode 100644
index 0000000..e4b939c
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_firewalls_by_id_param.yml
@@ -0,0 +1,207 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:05 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:05 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls?id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '306'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:30:06 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/firewalls'>\n
+        \ <backend driver='ec2' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='id'><![CDATA[\"img1\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:06 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls?id=mfojtik
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6615643501281738'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '557'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 01ae612b52f3f38e824cbe2d53e510b9
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:52 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/mfojtik' id='mfojtik'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/mfojtik' id='mfojtik'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:52 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '309'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:30:52 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/firewalls'>\n
+        \ <backend driver='ec2' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='id'><![CDATA[\"unknown\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:52 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_hardware_profiles_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_hardware_profiles_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_hardware_profiles_by_id_param.yml
new file mode 100644
index 0000000..9716c85
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_hardware_profiles_by_id_param.yml
@@ -0,0 +1,158 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles?id=m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '4.9114227294921875e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '522'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 68e59cdc72f08371aa2ca69c0bb9f5e6
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profiles>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'>\n
+        \   <id>m1-small</id>\n    <name>m1-small</name>\n    <property kind='fixed'
+        name='cpu' unit='count' value='1' />\n    <property kind='fixed' name='memory'
+        unit='MB' value='1740.8' />\n    <property kind='fixed' name='storage' unit='GB'
+        value='160' />\n    <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '5.412101745605469e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '81'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fcddeb7ee587784149d5f4fb2ac4e181
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <hardware_profiles>
+
+        </hardware_profiles>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_images_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_images_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_images_by_id_param.yml
new file mode 100644
index 0000000..69afddc
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_images_by_id_param.yml
@@ -0,0 +1,165 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images?id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009505748748779297'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1252'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fa7855e4aa71d9e28ceb79898c493a2e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<images>\n  <image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n    <name>img1</name>\n    <description>Fedora 10</description>\n
+        \   <owner_id>fedoraproject</owner_id>\n    <architecture>x86_64</architecture>\n
+        \   <state>AVAILABLE</state>\n    <creation_time>Thu Oct 25 14:27:53 CEST
+        2012</creation_time>\n    <hardware_profiles>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n      <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n      <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \   </hardware_profiles>\n    <root_type>transient</root_type>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n      <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n    </actions>\n  </image>\n</images>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0011391639709472656'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '59'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - a32eec58f93e47f2be847c70ed10b7c7
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <images>
+
+        </images>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_instances_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_instances_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_instances_by_id_param.yml
new file mode 100644
index 0000000..256ff00
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_instances_by_id_param.yml
@@ -0,0 +1,164 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances?id=inst1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.012407302856445312'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1235'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f3da80eb40f1d277dd5cdf5cf4a96964
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instances>\n  <instance
+        href='http://localhost:3001/api/instances/inst1' id='inst1'>\n    <name>MockUserInstance</name>\n
+        \   <owner_id>mockuser</owner_id>\n    <image href='http://localhost:3001/api/images/img3'
+        id='img3'></image>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <state>RUNNING</state>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n    </hardware_profile>\n    <actions>\n      <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n      <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n      <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n      <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n    </actions>\n    <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n    <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n    <storage_volumes></storage_volumes>\n
+        \   <authentication type='key'>\n    </authentication>\n  </instance>\n</instances>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.012986898422241211'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '65'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 570ed38a6c6833d613702672e262c5ed
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <instances>
+
+        </instances>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_keys_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_keys_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_keys_by_id_param.yml
new file mode 100644
index 0000000..23e5e4e
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_keys_by_id_param.yml
@@ -0,0 +1,178 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys?id=test-key
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009126663208007812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2299'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b5777985297c503ddf06535a89966e7c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<keys>\n  <key href='http://localhost:3001/api/keys/test-key'
+        id='test-key' type='key'>\n    <name>test-key</name>\n    <actions>\n      <link
+        href='http://localhost:3001/api/keys/test-key' method='delete' rel='destroy'
+        />\n    </actions>\n    <fingerprint>5e:ce:b6:dc:59:3b:5c:93:f8:2e:9d:20:ce:60:ca:f5:0b:8a:66:93</fingerprint>\n
+        \   <pem>\n      <![CDATA[-----BEGIN RSA PRIVATE KEY-----\n      P9mRXOY7p2SmMzTGA6dwKxUp1NB8LNCIJ7sMGgAljsf=ToAi9qn9myx0EQJkE8FZ8FigUIMHS/T\n
+        \     8EwP7Ayjztb8dczbC6sb/Ep2UWcegNUVHimyHstaEaO/3dCaFwLJ/kw=laAfLQAVj4sIr8EHDTg\n
+        \     /BFkgmwTAYlS/ybkEfO9J7AJlY6/agwYzDWp+VGAD9rMsl2EkkbkWdoTX4Aob9RqyHaFi2m1AAw\n
+        \     2nhhqYpa1W4H=PJvyBcsXT3JynowSI8rTvo41oVwgSzv7YofGP0yV7BePm5pXZUUP2ZMByxbAUv\n
+        \     jvYRN/cMHbC6RW1ezR3uehCKdKFRXLTkoivoGj4ugrKgOwQP0HWI2orx/NW+6vYBxyCKiTJPZcK\n
+        \     x4BlRrlgvPST/7eaFv7/5Pqc3jWcp+bRC0qyYqQT9iq3gGNoc4ABFTI7zCeZ3p9tK8oje5fWo5m\n
+        \     54P32hVGeBjfqT/MrEYbY5gbJU6LejCj7x6Ozlp4iHQtrYNhiZ0iP0W3nRhVFQHamKx9aoBXyeg\n
+        \     LLGxBOr+TfaeeBXRkXiaMuWoyPSzUQwWmaJhm0sjHf7e/iKiUggZkOHQ/eF9MWI4M+4wvyepfS0\n
+        \     5vl2Ql/2rXv+Mx+c4cx1fjBhRrMPcGKmHGjNMjPyamTrlqueFRJYP45AYABP2U2AsNxoPfEG0qu\n
+        \     ki3DJOeC5x/03nODd=hQLzfdiQ3Yyt0GMw1EQN96cPaRtnjr3U4/ngxt0Fi6o7Z8E2+Uh5t4n8D\n
+        \     h0exXCOlOi9BDsJJz677mga/=5Sin/4Cw8=D8O1FHrWoA4ZQbWFE71F=/29PM90RHJf2bjgk2WF\n
+        \     piltKwVfGAxPOTcpmf=J+V3NHgT/EawMPHuEmwgNvx6smDBUgJaw0QYX/XG5xuiQ7HTkffJN6Cm\n
+        \     6D4WCJPZUvO1r+v=T9v7Qu4j9ue/l2WwVZuvQsVD67jpzq2R72EHna6rcwwyMcdAlwikP9nzJIL\n
+        \     Ale7hQAWHIEeAvAxtwxEMSfTkuLQcD=i0ORysmInDxdORw4ue2YThj2Id/jmUy6IiEqMYeVpiRq\n
+        \     6spq2ukt=+HHn6aBcYWbsD=e8/wOk0X0=ixZ0HF+xqYgsiiAk==rA4QEgrf+5djbIRZk1wegeIO\n
+        \     po/HZdF4qk32cKBjrrel2AzxfZeGxWNX7ObAE4HACXi3eSdcnm1fIHsoSC+1eDqFkfAIve3Dj/a\n
+        \     afZxrda6zzp3g6IPcHAqleCn7XNcS0v5tk4Fag8Wr5Wq7IipRfixAs+GESGiyugeRvZWN2mtDOL\n
+        \     CGHGGAbpvplw2vjdryVyj7P6bVcwLNgl0t1ufZBaGRBpyontJ1/UQQMew7e2lW=EZr/GxHke8HN\n
+        \     X5vIw9ssx8=LL00fxAuX9SRdcrtVyTYGXORXe9NnldXjBXmLPgwqJAjoBTjTBQxzrQOtdla=/yw\n
+        \     MsDlFWumPz1HAFw7R5zS2VCHrwkLDm=h7k3y+fUvYOx6IYf+MmevANuJT+2qY6s/ilTBNDYq6jJ\n
+        \     8LYpsBo4XpQm1ZleFCIyRldHfmaC5EMxkVQVqCV7X9I6JgzDEetUre25LQTpDa31M=ucVHNWlT+\n
+        \     6rjiLETNeMTWGcuIkLPe/PElmp4llKeFi6g2=E2AKeSDzNycr5eXHEnBuKfEnENXXo6n-----END
+        RSA PRIVATE KEY-----]]>\n    </pem>\n    <state></state>\n  </key>\n</keys>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008585453033447266'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '55'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 2fb4eb7676058e511b73644ff4369884
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <keys>
+
+        </keys>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_realms_by_id.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_realms_by_id.yml b/client/tests/fixtures/test_0002_supports_filtering_realms_by_id.yml
new file mode 100644
index 0000000..018133c
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_realms_by_id.yml
@@ -0,0 +1,104 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms?id=eu
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010061264038085938'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '184'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d7b06f0f8d745d59818cf2259b19af63
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<realms>\n  <realm href='http://localhost:3001/api/realms/eu'
+        id='eu'>\n    <name>Europe</name>\n    <state>AVAILABLE</state>\n  </realm>\n</realms>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_storage_snapshots_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_storage_snapshots_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_storage_snapshots_by_id_param.yml
new file mode 100644
index 0000000..06d6a70
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_storage_snapshots_by_id_param.yml
@@ -0,0 +1,155 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots?id=snap1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009429454803466797'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '369'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 660ce0a308d333fd4971e02b01839878
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_snapshots>\n  <storage_snapshot
+        href='http://localhost:3001/api/storage_snapshots/snap1' id='snap1'>\n    <name>snap1</name>\n
+        \   <created>Wed Jul 29 18:15:24 UTC 2009</created>\n    <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'></storage_volume>\n  </storage_snapshot>\n</storage_snapshots>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0005507469177246094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '81'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 02d75d472b481145bcc36b841e69e89b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <storage_snapshots>
+
+        </storage_snapshots>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_filtering_storage_volumes_by_id_param.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_filtering_storage_volumes_by_id_param.yml b/client/tests/fixtures/test_0002_supports_filtering_storage_volumes_by_id_param.yml
new file mode 100644
index 0000000..1331a83
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_filtering_storage_volumes_by_id_param.yml
@@ -0,0 +1,157 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes?id=vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0027489662170410156'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '419'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c7cb59917b9fdfa7d780d37550def67b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volumes>\n  <storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol1' id='vol1'>\n    <created>Thu
+        Jul 30 14:35:11 UTC 2009</created>\n    <capacity unit='GB'>1</capacity>\n
+        \   <name>vol1</name>\n    <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n    <realm_id>us</realm_id>\n    <state>AVAILABLE</state>\n
+        \ </storage_volume>\n</storage_volumes>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes?id=unknown
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0023488998413085938'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '77'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - fddd6a94c1e06c66ffa70d87512f89d9
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <storage_volumes>
+
+        </storage_volumes>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_hardware_profiles.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_hardware_profiles.yml b/client/tests/fixtures/test_0002_supports_hardware_profiles.yml
new file mode 100644
index 0000000..fdb5d21
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_hardware_profiles.yml
@@ -0,0 +1,262 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0011546611785888672'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '3.7670135498046875e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profiles>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'>\n
+        \   <id>m1-small</id>\n    <name>m1-small</name>\n    <property kind='fixed'
+        name='cpu' unit='count' value='1' />\n    <property kind='fixed' name='memory'
+        unit='MB' value='1740.8' />\n    <property kind='fixed' name='storage' unit='GB'
+        value='160' />\n    <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n  </hardware_profile>\n  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '9.989738464355469e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profiles>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'>\n
+        \   <id>m1-small</id>\n    <name>m1-small</name>\n    <property kind='fixed'
+        name='cpu' unit='count' value='1' />\n    <property kind='fixed' name='memory'
+        unit='MB' value='1740.8' />\n    <property kind='fixed' name='storage' unit='GB'
+        value='160' />\n    <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n  </hardware_profile>\n  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_is_compatible_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_is_compatible_.yml b/client/tests/fixtures/test_0002_supports_is_compatible_.yml
new file mode 100644
index 0000000..db81d4b
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_is_compatible_.yml
@@ -0,0 +1,116 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:41:26 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:41:26 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0013775825500488281'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:41:26 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:41:26 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_snapshot_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_snapshot_.yml b/client/tests/fixtures/test_0002_supports_snapshot_.yml
new file mode 100644
index 0000000..06f08a7
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_snapshot_.yml
@@ -0,0 +1,202 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:53:21 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:53:21 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0019958019256591797'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b576329100e8a3062f48d6f7e86c3935
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:53:21 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:53:21 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_snapshots?volume_id=vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/storage_snapshots/store_snapshot_1362585215
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '375'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - cb03cabeb5ac2dc91cd15bef06c7d429
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:53:35 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_snapshot href='http://localhost:3001/api/storage_snapshots/store_snapshot_1362585215'
+        id='store_snapshot_1362585215'>\n  <name>store_snapshot_1362585215</name>\n
+        \ <created>2013-03-06 16:53:35 +0100</created>\n  <storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'></storage_volume>\n</storage_snapshot>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:53:35 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001626729965209961'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - b576329100e8a3062f48d6f7e86c3935
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:53:35 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:53:35 GMT
+recorded_with: VCR 2.4.0


[17/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_blobs.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_blobs.yml b/client/tests/fixtures/test_0001_supports_blobs.yml
new file mode 100644
index 0000000..b8332b2
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_blobs.yml
@@ -0,0 +1,475 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0054171085357666016'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1130db2fb1a271d67e7d69ac1bd604e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>3</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob3
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '428'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f5c6bcf8a055f57b9f69ac36ef07626f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-08-14 03:14:31
+        +0200</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob3/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '476'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c4aec8663f7a6df184a8253d5d13142a
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'>\n  <bucket>bucket1</bucket>\n  <content_length>56</content_length>\n
+        \ <content_type>text/html</content_type>\n  <last_modified>2010-09-23 17:55:05
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='VERSION'><![CDATA[1.2]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob2/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0033838748931884766'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1130db2fb1a271d67e7d69ac1bd604e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>3</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob3
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '428'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f5c6bcf8a055f57b9f69ac36ef07626f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-08-14 03:14:31
+        +0200</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob3/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '476'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c4aec8663f7a6df184a8253d5d13142a
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'>\n  <bucket>bucket1</bucket>\n  <content_length>56</content_length>\n
+        \ <content_type>text/html</content_type>\n  <last_modified>2010-09-23 17:55:05
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='VERSION'><![CDATA[1.2]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob2/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0020835399627685547'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:56:31 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:56:31 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_bucket.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_bucket.yml b/client/tests/fixtures/test_0001_supports_bucket.yml
new file mode 100644
index 0000000..ef04868
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_bucket.yml
@@ -0,0 +1,200 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:35:54 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:35:54 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1/blob1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '485'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6ffb9a8c697a593bc98fed727e98f855
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:35:54 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'>\n  <bucket>bucket1</bucket>\n  <content_length>17</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2010-09-23 17:44:54
+        +0200</last_modified>\n  <user_metadata>\n    <entry key='SOMENEWKEY'><![CDATA[NEWVALUE]]></entry>\n
+        \ </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/blob1/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:35:54 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0020079612731933594'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:36:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:36:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002672910690307617'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c3d2ba8fdf26ef08f573e94239a15b9e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:36:34 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>4</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:36:34 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_buckets.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_buckets.yml b/client/tests/fixtures/test_0001_supports_buckets.yml
new file mode 100644
index 0000000..a83d5b0
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_buckets.yml
@@ -0,0 +1,160 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0019044876098632812'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '739'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - db70c6b7bfca53f9b1396c30c62817c1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<buckets>\n  <bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n    <name>bucket1</name>\n    <size>3</size>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n  </bucket>\n  <bucket href='http://localhost:3001/api/buckets/bucket2'
+        id='bucket2'>\n    <name>bucket2</name>\n    <size>2</size>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob5'
+        id='blob5'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob4'
+        id='blob4'></blob>\n  </bucket>\n</buckets>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00443577766418457'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '739'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - db70c6b7bfca53f9b1396c30c62817c1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<buckets>\n  <bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n    <name>bucket1</name>\n    <size>3</size>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n  </bucket>\n  <bucket href='http://localhost:3001/api/buckets/bucket2'
+        id='bucket2'>\n    <name>bucket2</name>\n    <size>2</size>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob5'
+        id='blob5'></blob>\n    <blob href='http://localhost:3001/api/buckets/bucket2/blob4'
+        id='blob4'></blob>\n  </bucket>\n</buckets>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_drivers.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_drivers.yml b/client/tests/fixtures/test_0001_supports_drivers.yml
new file mode 100644
index 0000000..9c5905e
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_drivers.yml
@@ -0,0 +1,202 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2738'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 954c8a0c3eea53a66786347cb9e1a9c0
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<drivers>\n  <driver href='http://localhost:3001/api/drivers/arubacloud'
+        id='arubacloud'>\n    <name>Arubacloud</name>\n    <provider id='dc1'></provider>\n
+        \   <provider id='dc2'></provider>\n    <provider id='dc3'></provider>\n  </driver>\n
+        \ <driver href='http://localhost:3001/api/drivers/azure' id='azure'>\n    <name>Azure</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \   <name>EC2</name>\n    <provider id='us-west-1'></provider>\n    <provider
+        id='us-west-2'></provider>\n    <provider id='ap-southeast-1'></provider>\n
+        \   <provider id='ap-northeast-1'></provider>\n    <provider id='eu-west-1'></provider>\n
+        \   <provider id='us-east-1'></provider>\n    <provider id='sa-east-1'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/rackspace'
+        id='rackspace'>\n    <name>Rackspace</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/terremark'
+        id='terremark'>\n    <name>Terremark</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/openstack'
+        id='openstack'>\n    <name>Openstack</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/fgcp'
+        id='fgcp'>\n    <name>FGCP</name>\n    <provider id='jp-east'></provider>\n
+        \   <provider id='au'></provider>\n    <provider id='sg'></provider>\n    <provider
+        id='uk'></provider>\n    <provider id='us'></provider>\n    <provider id='de'></provider>\n
+        \   <provider id='jp-west'></provider>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/eucalyptus'
+        id='eucalyptus'>\n    <name>Eucalyptus</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/digitalocean'
+        id='digitalocean'>\n    <name>Digitalocean</name>\n  </driver>\n  <driver
+        href='http://localhost:3001/api/drivers/sbc' id='sbc'>\n    <name>SBC</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/mock' id='mock'>\n
+        \   <name>Mock</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/condor'
+        id='condor'>\n    <name>Condor</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rhevm'
+        id='rhevm'>\n    <name>RHEVM</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/google'
+        id='google'>\n    <name>Google</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/opennebula'
+        id='opennebula'>\n    <name>Opennebula</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/vsphere'
+        id='vsphere'>\n    <name>VSphere</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/gogrid' id='gogrid'>\n
+        \   <name>Gogrid</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rimuhosting'
+        id='rimuhosting'>\n    <name>RimuHosting</name>\n  </driver>\n</drivers>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/drivers
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2738'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 954c8a0c3eea53a66786347cb9e1a9c0
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<drivers>\n  <driver href='http://localhost:3001/api/drivers/arubacloud'
+        id='arubacloud'>\n    <name>Arubacloud</name>\n    <provider id='dc1'></provider>\n
+        \   <provider id='dc2'></provider>\n    <provider id='dc3'></provider>\n  </driver>\n
+        \ <driver href='http://localhost:3001/api/drivers/azure' id='azure'>\n    <name>Azure</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/ec2' id='ec2'>\n
+        \   <name>EC2</name>\n    <provider id='us-west-1'></provider>\n    <provider
+        id='us-west-2'></provider>\n    <provider id='ap-southeast-1'></provider>\n
+        \   <provider id='ap-northeast-1'></provider>\n    <provider id='eu-west-1'></provider>\n
+        \   <provider id='us-east-1'></provider>\n    <provider id='sa-east-1'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/rackspace'
+        id='rackspace'>\n    <name>Rackspace</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/terremark'
+        id='terremark'>\n    <name>Terremark</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/openstack'
+        id='openstack'>\n    <name>Openstack</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/fgcp'
+        id='fgcp'>\n    <name>FGCP</name>\n    <provider id='jp-east'></provider>\n
+        \   <provider id='au'></provider>\n    <provider id='sg'></provider>\n    <provider
+        id='uk'></provider>\n    <provider id='us'></provider>\n    <provider id='de'></provider>\n
+        \   <provider id='jp-west'></provider>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/eucalyptus'
+        id='eucalyptus'>\n    <name>Eucalyptus</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/digitalocean'
+        id='digitalocean'>\n    <name>Digitalocean</name>\n  </driver>\n  <driver
+        href='http://localhost:3001/api/drivers/sbc' id='sbc'>\n    <name>SBC</name>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/mock' id='mock'>\n
+        \   <name>Mock</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/condor'
+        id='condor'>\n    <name>Condor</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rhevm'
+        id='rhevm'>\n    <name>RHEVM</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/google'
+        id='google'>\n    <name>Google</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/opennebula'
+        id='opennebula'>\n    <name>Opennebula</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/vsphere'
+        id='vsphere'>\n    <name>VSphere</name>\n    <provider id='default'></provider>\n
+        \ </driver>\n  <driver href='http://localhost:3001/api/drivers/gogrid' id='gogrid'>\n
+        \   <name>Gogrid</name>\n  </driver>\n  <driver href='http://localhost:3001/api/drivers/rimuhosting'
+        id='rimuhosting'>\n    <name>RimuHosting</name>\n  </driver>\n</drivers>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_firewalls.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_firewalls.yml b/client/tests/fixtures/test_0001_supports_firewalls.yml
new file mode 100644
index 0000000..7c18757
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_firewalls.yml
@@ -0,0 +1,399 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:03 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:03 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '1.063826322555542'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6391136646270752'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.6027324199676514'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '6053'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8508f760dcc9cf541a1f75558ed9f5bd
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:30:05 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewalls>\n  <firewall
+        href='http://localhost:3001/api/firewalls/default' id='default'>\n    <actions>\n
+        \     <link href='http://localhost:3001/api/firewalls/default' id='default'
+        method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/default/rules'
+        id='default' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[default]]></name>\n
+        \   <description><![CDATA[default group]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~0~65535~@group,293787749884,default'
+        id='293787749884~tcp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~udp~0~65535~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~udp~0~65535~@group,293787749884,default'
+        id='293787749884~udp~0~65535~@group,293787749884,default' method='delete'
+        rel='destroy' />\n        </actions>\n        <allow_protocol>udp</allow_protocol>\n
+        \       <port_from>0</port_from>\n        <port_to>65535</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source name='default' owner='293787749884' type='group'></source>\n
+        \       </sources>\n      </rule>\n      <rule id='293787749884~icmp~-1~-1~@group,293787749884,default'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/default/293787749884~icmp~-1~-1~@group,293787749884,default'
+        id='293787749884~icmp~-1~-1~@group,293787749884,default' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>icmp</allow_protocol>\n        <port_from>-1</port_from>\n
+        \       <port_to>-1</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source name='default'
+        owner='293787749884' type='group'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \     <rule id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'>\n        <actions>\n
+        \         <link href='http://localhost:3001/api/firewalls/default/293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~8983~8983~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>8983</port_from>\n
+        \       <port_to>8983</port_to>\n        <direction>ingress</direction>\n
+        \       <rule_action></rule_action>\n        <log_rule></log_rule>\n        <sources>\n
+        \         <source address='0.0.0.0' family='ipv4' prefix='0' type='address'></source>\n
+        \       </sources>\n      </rule>\n    </rules>\n  </firewall>\n  <firewall
+        href='http://localhost:3001/api/firewalls/quicklaunch-1' id='quicklaunch-1'>\n
+        \   <actions>\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1'
+        id='quicklaunch-1' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/quicklaunch-1/rules'
+        id='quicklaunch-1' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[quicklaunch-1]]></name>\n
+        \   <description><![CDATA[quicklaunch-1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n      <rule id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'>\n
+        \       <actions>\n          <link href='http://localhost:3001/api/firewalls/quicklaunch-1/293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0'
+        id='293787749884~tcp~22~22~@address,ipv4,0.0.0.0,0' method='delete' rel='destroy'
+        />\n        </actions>\n        <allow_protocol>tcp</allow_protocol>\n        <port_from>22</port_from>\n
+        \       <port_to>22</port_to>\n        <direction>ingress</direction>\n        <rule_action></rule_action>\n
+        \       <log_rule></log_rule>\n        <sources>\n          <source address='0.0.0.0'
+        family='ipv4' prefix='0' type='address'></source>\n        </sources>\n      </rule>\n
+        \   </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/test123'
+        id='test123'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/test123'
+        id='test123' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/test123/rules'
+        id='test123' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[test123]]></name>\n
+        \   <description><![CDATA[sdsd]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n  <firewall href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik'>\n    <actions>\n      <link href='http://localhost:3001/api/firewalls/mfojtik'
+        id='mfojtik' method='delete' rel='destroy' />\n      <link href='http://localhost:3001/api/firewalls/mfojtik/rules'
+        id='mfojtik' method='post' rel='add_rule' />\n    </actions>\n    <name><![CDATA[mfojtik]]></name>\n
+        \   <description><![CDATA[test1]]></description>\n    <owner_id>293787749884</owner_id>\n
+        \   <rules>\n    </rules>\n  </firewall>\n</firewalls>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:30:05 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0001_supports_hardware_profiles.yml b/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
new file mode 100644
index 0000000..e933358
--- /dev/null
+++ b/client/tests/fixtures/test_0001_supports_hardware_profiles.yml
@@ -0,0 +1,262 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '9.846687316894531e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profiles>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'>\n
+        \   <id>m1-small</id>\n    <name>m1-small</name>\n    <property kind='fixed'
+        name='cpu' unit='count' value='1' />\n    <property kind='fixed' name='memory'
+        unit='MB' value='1740.8' />\n    <property kind='fixed' name='storage' unit='GB'
+        value='160' />\n    <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n  </hardware_profile>\n  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '4.506111145019531e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6fb008e6971780cc37ce300cb7ede981
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profiles>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-small' id='m1-small'>\n
+        \   <id>m1-small</id>\n    <name>m1-small</name>\n    <property kind='fixed'
+        name='cpu' unit='count' value='1' />\n    <property kind='fixed' name='memory'
+        unit='MB' value='1740.8' />\n    <property kind='fixed' name='storage' unit='GB'
+        value='160' />\n    <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n  </hardware_profile>\n  <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n    <id>m1-large</id>\n    <name>m1-large</name>\n    <property
+        kind='range' name='cpu' unit='count' value='1'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_cpu' operation='create' />\n      <range first='1'
+        last='6' />\n    </property>\n    <property kind='range' name='memory' unit='MB'
+        value='10240'>\n      <param href='http://localhost:3001/api/instances' method='post'
+        name='hwp_memory' operation='create' />\n      <range first='7680' last='15360'
+        />\n    </property>\n    <property kind='enum' name='storage' unit='GB' value='850'>\n
+        \     <param href='http://localhost:3001/api/instances' method='post' name='hwp_storage'
+        operation='create' />\n      <enum>\n        <entry value='850' />\n        <entry
+        value='1024' />\n      </enum>\n    </property>\n    <property kind='fixed'
+        name='architecture' unit='label' value='x86_64' />\n  </hardware_profile>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge'>\n    <id>m1-xlarge</id>\n    <name>m1-xlarge</name>\n    <property
+        kind='fixed' name='cpu' unit='count' value='4' />\n    <property kind='range'
+        name='memory' unit='MB' value='12288'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_memory' operation='create' />\n      <range first='12288'
+        last='32768' />\n    </property>\n    <property kind='enum' name='storage'
+        unit='GB' value='1024'>\n      <param href='http://localhost:3001/api/instances'
+        method='post' name='hwp_storage' operation='create' />\n      <enum>\n        <entry
+        value='1024' />\n        <entry value='2048' />\n        <entry value='4096'
+        />\n      </enum>\n    </property>\n    <property kind='fixed' name='architecture'
+        unit='label' value='x86_64' />\n  </hardware_profile>\n  <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque'>\n    <id>opaque</id>\n
+        \   <name>opaque</name>\n  </hardware_profile>\n</hardware_profiles>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009150505065917969'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:40:09 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:40:09 GMT
+recorded_with: VCR 2.4.0


[29/30] git commit: Client: Complete revamp of deltacloud-client unit tests

Posted by mf...@apache.org.
Client: Complete revamp of deltacloud-client unit tests

- Use minitest instead of rspec
- Use VCR by default for tests (rake test_live override this)
- Coverage >90%


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/3d865944
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/3d865944
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/3d865944

Branch: refs/heads/master
Commit: 3d865944ac1c8434c78e7b0efd62df57c2251ce3
Parents: 71afec5
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:47:37 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:35 2013 +0100

----------------------------------------------------------------------
 client/tests/buckets_test.rb                       |  141 ----------
 client/tests/client/client_test.rb                 |   51 ++++
 client/tests/client/connection_test.rb             |   77 ++++++
 client/tests/client_test.rb                        |   59 -----
 client/tests/content_negotiation_test.rb           |  127 ---------
 client/tests/core_ext/element_test.rb              |   40 +++
 client/tests/core_ext/fixnum_test.rb               |   35 +++
 client/tests/core_ext/nil.rb                       |   27 ++
 client/tests/core_ext/string_test.rb               |   47 ++++
 client/tests/errors_test.rb                        |   57 ----
 client/tests/hardware_profiles_test.rb             |   75 ------
 client/tests/helpers/model_test.rb                 |   33 +++
 client/tests/helpers/xml_test.rb                   |   56 ++++
 client/tests/images_test.rb                        |  102 --------
 client/tests/instance_states_test.rb               |   66 -----
 client/tests/instances_test.rb                     |  203 ---------------
 client/tests/keys_test.rb                          |   81 ------
 client/tests/methods/address_test.rb               |   64 +++++
 client/tests/methods/api_test.rb                   |   97 +++++++
 .../tests/methods/backward_compatibility_test.rb   |   87 ++++++
 client/tests/methods/blob_test.rb                  |   64 +++++
 client/tests/methods/bucket_test.rb                |   62 +++++
 client/tests/methods/driver_test.rb                |   48 ++++
 client/tests/methods/firewall_test.rb              |   84 ++++++
 client/tests/methods/hardware_profile_test.rb      |   53 ++++
 client/tests/methods/image_test.rb                 |   64 +++++
 client/tests/methods/instance_state_test.rb        |   43 +++
 client/tests/methods/instance_test.rb              |  120 +++++++++
 client/tests/methods/key_test.rb                   |   63 +++++
 client/tests/methods/realm_test.rb                 |   50 ++++
 client/tests/methods/storage_snapshot_test.rb      |   53 ++++
 client/tests/methods/storage_volume_test.rb        |   81 ++++++
 client/tests/models/blob_test.rb                   |   40 +++
 client/tests/models/bucket_test.rb                 |   37 +++
 client/tests/models/driver_test.rb                 |   42 +++
 client/tests/models/hardware_profile_test.rb       |   80 ++++++
 client/tests/models/image_test.rb                  |   63 +++++
 client/tests/models/storage_volume_test.rb         |   52 ++++
 client/tests/realms_test.rb                        |   64 -----
 client/tests/storage_snapshot_test.rb              |   76 ------
 client/tests/storage_volume_test.rb                |   86 ------
 client/tests/test_helper.rb                        |   70 +++++-
 42 files changed, 1772 insertions(+), 1148 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/buckets_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/buckets_test.rb b/client/tests/buckets_test.rb
deleted file mode 100644
index 5ef6969..0000000
--- a/client/tests/buckets_test.rb
+++ /dev/null
@@ -1,141 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Buckets" do
-
-  it "should allow retrieval of all buckets" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      buckets = client.buckets
-      buckets.wont_be_empty
-      buckets.each do |bucket|
-        bucket.uri.wont_be_nil
-        bucket.uri.must_be_kind_of String
-        bucket.name.wont_be_nil
-        bucket.name.must_be_kind_of String
-      end
-    end
-  end
-
-  it "should allow retrieval of a named bucket" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      bucket = client.bucket("bucket1")
-      bucket.wont_be_nil
-      bucket.uri.must_equal API_URL + "/buckets/bucket1"
-      bucket.size.must_equal 3.0
-      bucket.name.wont_be_nil
-      bucket.name.must_be_kind_of String
-      blob_list = bucket.blob_list.split(", ")
-      blob_list.size.must_equal bucket.size.to_i
-    end
-  end
-
-end
-
-describe "Operations on buckets" do
-
-  it "should allow creation of a new bucket" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      new_bucket = client.create_bucket({'id' => "my_new_bucket"})
-      new_bucket.wont_be_nil
-      new_bucket.uri.must_equal API_URL + "/buckets/my_new_bucket"
-      new_bucket.name.wont_be_nil
-      new_bucket.name.must_be_kind_of String
-      new_bucket.name.must_equal "my_new_bucket"
-    end
-  end
-
-  it "should allow deletion of an existing bucket" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      new_bucket = client.bucket("my_new_bucket")
-      new_bucket.wont_be_nil
-      new_bucket.name.must_equal "my_new_bucket"
-      client.destroy_bucket('id' => "my_new_bucket").must_be_nil
-    end
-  end
-
-  it "should throw error if you delete a non existing bucket" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda {
-      client.destroy_bucket({'id' => "i_dont_exist"}).must_be_nil
-      }.must_raise DeltaCloud::HTTPError::DeltacloudError
-    end
-  end
-
-end
-
-describe "Blobs" do
-
-  it "should allow retrieval of a bucket's blobs" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      bucket = client.bucket("bucket1")
-      bucket.wont_be_nil
-      blob_list = bucket.blob_list.split(", ")
-      blob_list.size.must_equal bucket.size.to_i
-      blob_list.each do |b_id|
-        blob = client.blob("bucket" => bucket.name, :id => b_id)
-        blob.bucket.wont_be_nil
-        blob.bucket.must_be_kind_of String
-        blob.bucket.must_equal bucket.name
-        blob.content_length.wont_be_nil
-        blob.content_length.must_be_kind_of Float
-        blob.content_length.must_be :'>=', 0
-        blob_data = client.blob_data("bucket" => bucket.name, :id => b_id)
-        blob_data.size.to_f.must_equal blob.content_length
-        blob.last_modified.wont_be_nil
-      end
-    end
-  end
-
-end
-
-describe "Operations on blobs" do
-
-  it "should successfully create a new blob" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      blob_data = File.new("./blob_data_file", "w+")
-      blob_data.write("this is some blob data \n")
-      blob_data.rewind
-      some_new_blob = client.create_blob(
-        :id => "some_new_blob",
-        'bucket' => "bucket1",
-        'file_path' => blob_data.path
-      )
-      some_new_blob.wont_be_nil
-      some_new_blob.content_length.wont_be_nil
-      some_new_blob.content_length.must_equal 24.0
-      File.delete(blob_data.path)
-    end
-  end
-
-  it "should allow deletion of an existing blob" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      client.destroy_blob(:id=>"some_new_blob", 'bucket'=>"bucket1").must_be_nil
-    end
-  end
-
-  it "should throw error if you delete a non existing blob" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda {
-        client.destroy_blob(:id=>"no_such_blob", 'bucket'=>"bucket1").must_be_nil
-      }.must_raise DeltaCloud::HTTPError::DeltacloudError
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/client/client_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/client/client_test.rb b/client/tests/client/client_test.rb
new file mode 100644
index 0000000..1502acc
--- /dev/null
+++ b/client/tests/client/client_test.rb
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client do
+
+  before do
+    VCR.insert_cassette(__name__)
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'support #VERSION' do
+    Deltacloud::Client::VERSION.wont_be_nil
+  end
+
+  it 'support #Client' do
+    Deltacloud.must_respond_to 'Client'
+  end
+
+  it 'support to change driver with #Client' do
+    client = Deltacloud::Client(
+      DELTACLOUD_URL, DELTACLOUD_USER, DELTACLOUD_PASSWORD,
+      :driver => :ec2
+    )
+    client.request_driver.must_equal :ec2
+    client.current_driver.must_equal 'ec2'
+  end
+
+  it 'support to test of valid DC connection' do
+    Deltacloud::Client.must_respond_to 'valid_connection?'
+    Deltacloud::Client.valid_connection?(DELTACLOUD_URL).must_equal true
+    Deltacloud::Client.valid_connection?('http://unknown:9999').must_equal false
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/client/connection_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/client/connection_test.rb b/client/tests/client/connection_test.rb
new file mode 100644
index 0000000..6833ed1
--- /dev/null
+++ b/client/tests/client/connection_test.rb
@@ -0,0 +1,77 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Connection do
+
+  before do
+    VCR.insert_cassette(__name__)
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'connects to Deltacloud API' do
+    client = new_client
+    client.connection.wont_be_nil
+    client.connection.must_be_kind_of Faraday::Connection
+    client.version.wont_be_nil
+  end
+
+  it 'supports #version' do
+    client = new_client
+    client.must_respond_to :version
+    client.version.wont_be_nil
+    client.version.wont_be_empty
+  end
+
+  it 'caches the API entrypoint' do
+    client = new_client
+    client.cache_entrypoint!.wont_be_nil
+  end
+
+  it 'supports #valid_credentials?' do
+    client = new_client
+    client.must_respond_to :"valid_credentials?"
+    client.valid_credentials?.must_equal true
+    client = Deltacloud::Client(DELTACLOUD_URL, 'foo', 'bar')
+    client.valid_credentials?.must_equal false
+  end
+
+  it 'supports switching drivers per instance' do
+    client = new_client
+    client.current_driver.must_equal 'mock'
+    ec2_client = client.use(:ec2, 'foo', 'bar')
+    ec2_client.current_driver.must_equal 'ec2'
+    client.current_driver.must_equal 'mock'
+  end
+
+  it 'supports switching providers per instance' do
+    client = new_client
+    ec2_client = client.use(:ec2, 'foo', 'bar', 'eu-west-1')
+    ec2_client.current_provider.must_equal 'eu-west-1'
+    ec2_client = client.use(:ec2, 'foo', 'bar', 'us-east-1')
+    ec2_client.current_provider.must_equal 'us-east-1'
+  end
+
+  it 'support switching provider without credentials' do
+    client = new_client.use(:ec2, 'foo', 'bar', 'eu-west-1')
+    new_provider = client.use_provider('us-east-1')
+    new_provider.current_provider.must_equal 'us-east-1'
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/client_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/client_test.rb b/client/tests/client_test.rb
deleted file mode 100644
index 59c39db..0000000
--- a/client/tests/client_test.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "initializing the client" do
-
-  it "should parse valid API URIs" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    client.api_host.must_equal API_HOST
-    client.api_port.must_equal API_PORT.to_i
-    client.api_path.must_equal API_PATH
-  end
-
-  it "should discover entry points upon connection" do
-    DeltaCloud.new( "name", "password", API_URL ) do |client|
-      client.entry_points[:hardware_profiles].must_equal "#{API_URL}/hardware_profiles"
-      client.entry_points[:images].must_equal "#{API_URL}/images"
-      client.entry_points[:instances].must_equal "#{API_URL}/instances"
-      client.entry_points[:storage_volumes].must_equal "#{API_URL}/storage_volumes"
-      client.entry_points[:storage_snapshots].must_equal "#{API_URL}/storage_snapshots"
-      client.entry_points[:buckets].must_equal "#{API_URL}/buckets"
-      client.entry_points[:keys].must_equal "#{API_URL}/keys"
-    end
-  end
-
-  it "should provide the current driver name via client" do
-    DeltaCloud.new( "name", "password", API_URL ) do |client|
-      client.driver_name.must_equal 'mock'
-    end
-  end
-
-  it "should provide the current driver name without client" do
-    DeltaCloud.driver_name( API_URL ).must_equal 'mock'
-  end
-
-  describe "without a block" do
-    it "should connect without a block" do
-      client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-      client.images.wont_be_nil
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/content_negotiation_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/content_negotiation_test.rb b/client/tests/content_negotiation_test.rb
deleted file mode 100644
index 60c90c0..0000000
--- a/client/tests/content_negotiation_test.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-def client; RestClient::Resource.new(API_URL); end
-
-def headers(header)
-  encoded_credentials = ["#{API_NAME}:#{API_PASSWORD}"].pack("m0").gsub(/\n/,'')
-  { :authorization => "Basic " + encoded_credentials }.merge(header)
-end
-
-describe "return JSON" do
-
-  it 'should return JSON when using application/json, */*' do
-    header_hash = {
-      # FIXME: There is a bug in rack-accept that cause to respond with HTML
-      # to the configuration below.
-      #
-      # 'Accept' => "application/json, */*"
-      'Accept' => "application/json"
-    }
-    client.get(header_hash) do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^application\/json/
-    end
-  end
-
-  it 'should return JSON when using just application/json' do
-    header_hash = {
-      'Accept' => "application/json"
-    }
-    client.get(header_hash) do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^application\/json/
-    end
-  end
-
-end
-
-describe "return HTML in different browsers" do
-
-  it "wants XML using format parameter" do
-    client.get(:params => { 'format' => 'xml' }, 'Accept' => 'application/xhtml+xml') do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^application\/xml/
-    end
-  end
-
-  it "raise 406 error on wrong accept" do
-    client['hardware_profiles'].get('Accept' => 'image/png;q=1') do |response, request, &block|
-      response.code.must_equal 406
-    end
-  end
-
-  it "wants HTML using format parameter and accept set to XML" do
-    client.get(:params => { 'format' => 'html'}, 'Accept' => 'application/xml') do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^text\/html/
-    end
-  end
-
-  it "doesn't have accept header" do
-    client.get('Accept' => '') do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^application\/xml/
-    end
-  end
-
-  it "can handle unknown formats" do
-    client.get('Accept' => 'format/unknown') do |response, request, &block|
-      response.code.must_equal 406
-    end
-  end
-
-  it "wants explicitly XML" do
-    client.get('Accept' => 'application/xml') do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^application\/xml/
-    end
-  end
-
-  it "Internet Explorer" do
-    header_hash = {
-      'Accept' => "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*",
-      'User-agent' => "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)"
-    }
-    client.get(header_hash) do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^text\/html/
-    end
-  end
-
-  it "Mozilla Firefox" do
-    client.get('Accept' => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^text\/html/
-    end
-  end
-
-  it "Opera" do
-    header_hash = { 
-      'Accept' => "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",
-      'User-agent' => "Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11"
-    }
-    client.get(header_hash) do |response, request, &block|
-      response.code.must_equal 200
-      response.headers[:content_type].must_match /^text\/html/
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/core_ext/element_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/core_ext/element_test.rb b/client/tests/core_ext/element_test.rb
new file mode 100644
index 0000000..b354d95
--- /dev/null
+++ b/client/tests/core_ext/element_test.rb
@@ -0,0 +1,40 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Nokogiri::XML::Element do
+
+  before do
+    mock_xml = Nokogiri::XML(
+      '<root><test id="1"><inner id="2">VALUE</inner><r></r></test></root>'
+    )
+    @mock_el = mock_xml.root
+  end
+
+  it 'support #text_at' do
+    @mock_el.text_at('test/inner').must_equal 'VALUE'
+    @mock_el.text_at('test/unknown').must_be_nil
+    @mock_el.text_at('test/r').must_equal ''
+  end
+
+  it 'support #attr_at' do
+    @mock_el.attr_at('test', :id).must_equal '1'
+    @mock_el.attr_at('test', 'id').must_equal '1'
+    @mock_el.attr_at('test/inner', 'id').must_equal '2'
+    @mock_el.attr_at('r', 'id').must_be_nil
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/core_ext/fixnum_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/core_ext/fixnum_test.rb b/client/tests/core_ext/fixnum_test.rb
new file mode 100644
index 0000000..baba10c
--- /dev/null
+++ b/client/tests/core_ext/fixnum_test.rb
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Fixnum do
+
+  it 'support #is_redirect?' do
+    300.must_respond_to :"is_redirect?"
+    300.is_redirect?.must_equal true
+    310.is_redirect?.must_equal true
+    399.is_redirect?.must_equal true
+    510.is_redirect?.must_equal false
+  end
+
+  it 'support #is_ok?' do
+    200.must_respond_to :"is_ok?"
+    200.is_ok?.must_equal true
+    210.is_ok?.must_equal true
+    299.is_ok?.must_equal true
+    510.is_ok?.must_equal false
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/core_ext/nil.rb
----------------------------------------------------------------------
diff --git a/client/tests/core_ext/nil.rb b/client/tests/core_ext/nil.rb
new file mode 100644
index 0000000..ad61dd7
--- /dev/null
+++ b/client/tests/core_ext/nil.rb
@@ -0,0 +1,27 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Nil do
+
+  it 'support #to_xml' do
+    nil.must_respond_to :to_xml
+    lambda {
+      nil.to_xml
+    }.must_raise Deltacloud::Client::InvalidXMLError
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/core_ext/string_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/core_ext/string_test.rb b/client/tests/core_ext/string_test.rb
new file mode 100644
index 0000000..3a55afc
--- /dev/null
+++ b/client/tests/core_ext/string_test.rb
@@ -0,0 +1,47 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe String do
+
+  it 'support #to_xml' do
+    "".must_respond_to :to_xml
+    "<root></root>".to_xml.must_be_kind_of Nokogiri::XML::Document
+    "<root></root>".to_xml.root.must_be_kind_of Nokogiri::XML::Element
+    "<root></root>".to_xml.root.name.must_equal 'root'
+  end
+
+  it 'support #camelize' do
+    "".must_respond_to :camelize
+    "test".camelize.must_equal 'Test'
+    "foo_bar".camelize.must_equal 'FooBar'
+  end
+
+  it 'support #pluralize' do
+    ''.must_respond_to :pluralize
+    "test".pluralize.must_equal 'tests'
+    "address".pluralize.must_equal 'addresses'
+    "entity".pluralize.must_equal 'entities'
+  end
+
+  it 'support #singularize' do
+    ''.must_respond_to :singularize
+    'tests'.singularize.must_equal 'test'
+    'addresses'.singularize.must_equal 'address'
+    'entity'.singularize.must_equal 'entity'
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/errors_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/errors_test.rb b/client/tests/errors_test.rb
deleted file mode 100644
index 7b8347b..0000000
--- a/client/tests/errors_test.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "server error handler" do
-
-  it 'should capture HTTP 500 error as DeltacloudError' do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda { client.realm('500') }.must_raise DeltaCloud::HTTPError::DeltacloudError
-    end
-  end
-
-  it 'should capture HTTP 502 error as ProviderError' do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda { client.realm('502') }.must_raise DeltaCloud::HTTPError::ProviderError
-    end
-  end
-
-  it 'should capture HTTP 501 error as NotImplemented' do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda { client.realm('501') }.must_raise DeltaCloud::HTTPError::NotImplemented
-    end
-  end
-
-  it 'should capture HTTP 504 error as ProviderTimeout' do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda { client.realm('504') }.must_raise DeltaCloud::HTTPError::ProviderTimeout
-    end
-  end
-
-end
-
-describe "client error handler" do
-
-  it 'should capture HTTP 404 error as NotFound' do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      lambda { client.realm('non-existing-realm') }.must_raise DeltaCloud::HTTPError::NotFound
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/hardware_profiles_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/hardware_profiles_test.rb b/client/tests/hardware_profiles_test.rb
deleted file mode 100644
index b0ae60e..0000000
--- a/client/tests/hardware_profiles_test.rb
+++ /dev/null
@@ -1,75 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-def prop_check(prop, value_class)
-  if prop.present?
-    prop.value.wont_be_nil
-    prop.value.must_be_kind_of value_class
-  end
-end
-
-describe "Hardware Profiles" do
-
-  it "should allow retrieval of all hardware profiles" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      hardware_profiles = client.hardware_profiles
-      hardware_profiles.wont_be_empty
-      hardware_profiles.each do |hwp|
-        hwp.uri.wont_be_nil
-        hwp.uri.must_be_kind_of String
-        prop_check(hwp.architecture, String) unless hwp.name.eql?("opaque")
-     end
-    end
-  end
-
-  it "should allow filtering of hardware_profiles by architecture" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      hardware_profiles = client.hardware_profiles( :architecture=>'i386' )
-      hardware_profiles.wont_be_empty
-      hardware_profiles.size.must_equal 1
-      hardware_profiles.first.architecture.value.must_equal 'i386'
-    end
-  end
-
-  it "should allow fetching a hardware_profile by id" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      hwp = client.hardware_profile( 'm1-small' )
-      hwp.wont_be_nil
-      hwp.id.must_equal 'm1-small'
-    end
-  end
-
-  it "should allow fetching different hardware_profiles" do
-    client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
-    hwp1 = client.hardware_profile( 'm1-small' )
-    hwp2 = client.hardware_profile( 'm1-large' )
-    hwp1.storage.value.wont_equal hwp2.storage.value
-    hwp1.memory.value.wont_equal hwp2.memory.value
-  end
-
-  it "should allow fetching a hardware_profile by URI" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      hwp = client.fetch_hardware_profile( API_URL + '/hardware_profiles/m1-small' )
-      hwp.wont_be_nil
-      hwp.id.must_equal 'm1-small'
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/helpers/model_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/helpers/model_test.rb b/client/tests/helpers/model_test.rb
new file mode 100644
index 0000000..fd42522
--- /dev/null
+++ b/client/tests/helpers/model_test.rb
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Helpers::Model do
+
+  include Deltacloud::Client::Helpers::Model
+
+  it 'supports #model' do
+    model(:error).must_equal Deltacloud::Client::Error
+    model('error').must_equal Deltacloud::Client::Error
+    lambda { model(nil) }.must_raise Deltacloud::Client::Error
+  end
+
+  it 'supports #error' do
+    error.must_equal Deltacloud::Client::Error
+    error(:not_supported).must_equal Deltacloud::Client::NotSupported
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/helpers/xml_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/helpers/xml_test.rb b/client/tests/helpers/xml_test.rb
new file mode 100644
index 0000000..6feb1fc
--- /dev/null
+++ b/client/tests/helpers/xml_test.rb
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Helpers::XmlHelper do
+
+  include Deltacloud::Client::Helpers::XmlHelper
+
+  before do
+    VCR.insert_cassette(__name__)
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #extract_xml_body using string' do
+    extract_xml_body("test").must_be_kind_of String
+  end
+
+  it 'supports #extract_xml_body using faraday connection' do
+    result = extract_xml_body(new_client.connection.get('/api'))
+    result.must_be_kind_of String
+    result.wont_be_empty
+  end
+
+  it 'supports #extract_xml_body using nokogiri::document' do
+    result = extract_xml_body(
+      Nokogiri::XML(new_client.connection.get('/api').body)
+    )
+    result.must_be_kind_of String
+    result.wont_be_empty
+  end
+
+  it 'supports #extract_xml_body using nokogiri::element' do
+    result = extract_xml_body(
+      Nokogiri::XML(new_client.connection.get('/api').body).root
+    )
+    result.must_be_kind_of String
+    result.wont_be_empty
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/images_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/images_test.rb b/client/tests/images_test.rb
deleted file mode 100644
index 91cc961..0000000
--- a/client/tests/images_test.rb
+++ /dev/null
@@ -1,102 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Images" do
-
-  it "should allow retrieval of all images" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      images = client.images
-      images.wont_be_empty
-      images.size.must_equal 3
-      images.each do |image|
-        image.uri.wont_be_nil
-        image.uri.must_be_kind_of String
-        image.description.wont_be_nil
-        image.description.must_be_kind_of String
-        image.architecture.wont_be_nil
-        image.architecture.must_be_kind_of String
-        image.owner_id.wont_be_nil
-        image.owner_id.must_be_kind_of String
-      end
-    end
-  end
-
-  it "should allow retrieval of my own images" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      images = client.images( :owner_id=>:self )
-      images.wont_be_empty
-      images.size.must_equal 1
-      images.each do |image|
-        image.uri.wont_be_nil
-        image.uri.must_be_kind_of String
-        image.description.wont_be_nil
-        image.description.must_be_kind_of String
-        image.architecture.wont_be_nil
-        image.architecture.must_be_kind_of String
-        image.owner_id.wont_be_nil
-        image.owner_id.must_be_kind_of String
-      end
-    end
-  end
-
-  it "should allow retrieval of a single image by ID" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      image = client.image( 'img1' )
-      image.wont_be_nil
-      image.uri.must_equal API_URL + '/images/img1'
-      image.id.must_equal 'img1'
-      image.architecture.must_equal 'x86_64'
-    end
-  end
-
-  it "should allow retrieval of a single image by URI" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      image = client.fetch_image( API_URL + '/images/img1' )
-      image.wont_be_nil
-      image.uri.must_equal API_URL + '/images/img1'
-      image.id.must_equal 'img1'
-      image.architecture.must_equal 'x86_64'
-    end
-  end
-
-  describe "filtering by architecture" do
-    it "return matching images" do
-      DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-        images = client.images( :architecture=>'x86_64' )
-        images.wont_be_empty
-        images.each do |image|
-          image.architecture.must_equal 'x86_64'
-        end
-        images = client.images( :architecture=>'i386' )
-        images.wont_be_empty
-        images.each do |image|
-          image.architecture.must_equal 'i386'
-        end
-      end
-    end
-
-    it "should return an empty array for no matches" do
-      DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-        images = client.images( :architecture=>'8088' )
-        images.must_be_empty
-      end
-    end
-  end
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/instance_states_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/instance_states_test.rb b/client/tests/instance_states_test.rb
deleted file mode 100644
index f665676..0000000
--- a/client/tests/instance_states_test.rb
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Instance States" do
-
-  it "should allow retrieval of instance-state information" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance_states = client.instance_states
-      instance_states.wont_be_nil
-      instance_states.wont_be_empty
-
-      instance_states[0].name.must_equal 'start'
-      instance_states[0].transitions.size.must_equal 1
-      instance_states[0].transitions[0].wont_equal :auto
-
-      instance_states[1].name.must_equal 'pending'
-      instance_states[1].transitions.size.must_equal 1
-      instance_states[1].transitions[0].wont_equal :auto
-
-      instance_states[2].name.must_equal 'running'
-      instance_states[2].transitions.size.must_equal 2
-      includes_transition( instance_states[2].transitions, :reboot, :running ).must_equal true
-      includes_transition( instance_states[2].transitions, :stop, :stopped ).must_equal true
-    end
-  end
-
-  it "should allow retrieval of a single instance-state blob" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance_state = client.instance_state( :pending )
-      instance_state.wont_be_nil
-      instance_state.name.must_equal 'pending'
-      instance_state.transitions.size.must_equal 1
-      instance_state.transitions[0].wont_equal :auto
-
-      instance_state = client.instance_state( :running )
-      instance_state.name.must_equal 'running'
-      instance_state.transitions.size.must_equal 2
-      includes_transition( instance_state.transitions, :reboot, :running ).must_equal true
-      includes_transition( instance_state.transitions, :stop, :stopped ).must_equal true
-    end
-  end
-
-  def includes_transition( transitions, action, to )
-    found = transitions.find{|e| e.action.to_s == action.to_s && e.to.to_s == to.to_s }
-    ! found.nil?
-  end
-
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/instances_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/instances_test.rb b/client/tests/instances_test.rb
deleted file mode 100644
index 0ad990b..0000000
--- a/client/tests/instances_test.rb
+++ /dev/null
@@ -1,203 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-describe "Instances" do
-
-  it "should allow retrieval of all instances" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instances = client.instances
-      instances.wont_be_empty
-      instances.each do |instance|
-        instance.uri.wont_be_nil
-        instance.uri.must_be_kind_of String
-        instance.owner_id.wont_be_nil
-        instance.owner_id.must_be_kind_of String
-        instance.image.wont_be_nil
-        instance.image.to_s.must_match /DeltaCloud::API::.*::Image/
-        instance.hardware_profile.wont_be_nil
-        instance.hardware_profile.must_be_kind_of DeltaCloud::API::Base::HardwareProfile
-        instance.state.wont_be_nil
-        instance.state.must_be_kind_of String
-        instance.public_addresses.wont_be_nil
-        instance.public_addresses.wont_be_empty
-        instance.public_addresses.must_be_kind_of Array
-        instance.private_addresses.wont_be_nil
-        instance.private_addresses.wont_be_empty
-        instance.private_addresses.must_be_kind_of Array
-      end
-    end
-  end
-
-  it "should allow navigation from instance to image" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instances = client.instances
-      instances.wont_be_empty
-      instance = instances.first
-      instance.image.wont_be_nil
-      instance.image.description.wont_be_nil
-      instance.image.description.must_be_kind_of String
-    end
-  end
-
-  it "should allow retrieval of a single instance" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.instance( "inst0" )
-      instance.wont_be_nil
-      instance.name.wont_be_nil
-      instance.name.must_equal 'Mock Instance With Profile Change'
-      instance.uri.wont_be_nil
-      instance.uri.must_be_kind_of String
-      instance.owner_id.must_equal "mockuser"
-      instance.public_addresses.first.class.must_equal Hash
-      instance.public_addresses.first[:type].must_equal 'hostname'
-      instance.public_addresses.first[:address].must_equal 'img1.inst0.public.com'
-      instance.image.wont_be_nil
-      instance.image.uri.must_equal API_URL + "/images/img1"
-      instance.hardware_profile.wont_be_nil
-      instance.hardware_profile.wont_be_nil
-      instance.hardware_profile.uri.must_equal API_URL + "/hardware_profiles/m1-large"
-      instance.hardware_profile.memory.value.must_equal '10240'
-      instance.hardware_profile.storage.value.must_equal '850'
-      instance.state.must_equal "RUNNING"
-      instance.actions.wont_be_nil
-    end
-  end
-
-  it "should allow creation of new instances with reasonable defaults" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.create_instance( 'img1', :name=>'TestInstance', :hardware_profile => 'm1-large' )
-      instance.wont_be_nil
-      instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
-      instance.id.must_match /inst[0-9]+/
-      instance.name.must_equal 'TestInstance'
-      instance.image.id.must_equal 'img1'
-      instance.hardware_profile.id.must_equal 'm1-large'
-      instance.realm.id.must_equal 'us'
-    end
-  end
-
-  it "should allow creation of new instances with specific realm" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.create_instance( 'img1', :realm=>'eu', :hardware_profile => 'm1-large' )
-      instance.wont_be_nil
-      instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
-      instance.id.must_match  /inst[0-9]+/
-      instance.image.id.must_equal 'img1'
-      instance.hardware_profile.id.must_equal 'm1-large'
-      instance.realm.id.must_equal 'eu'
-    end
-  end
-
-  it "should allow creation of new instances with specific hardware profile" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.create_instance( 'img1',
-                                         :hardware_profile=>'m1-xlarge' )
-      instance.wont_be_nil
-      instance.uri.must_match  %r{#{API_URL}/instances/inst[0-9]+}
-      instance.id.must_match  /inst[0-9]+/
-      instance.image.id.must_equal 'img1'
-      instance.hardware_profile.id.must_equal 'm1-xlarge'
-      instance.realm.id.must_equal 'us'
-    end
-  end
-
-  it "should allow creation of new instances with specific hardware profile overriding memory" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      hwp = { :id => 'm1-xlarge', :memory => 32768 }
-      instance = client.create_instance( 'img1', :hardware_profile=> hwp )
-      instance.wont_be_nil
-      instance.uri.must_match  %r{#{API_URL}/instances/inst[0-9]+}
-      instance.id.must_match  /inst[0-9]+/
-      instance.image.id.must_equal 'img1'
-      instance.hardware_profile.id.must_equal 'm1-xlarge'
-      instance.hardware_profile.memory.value.must_equal'12288'
-      instance.realm.id.must_equal 'us'
-    end
-  end
-
-  it "should allow creation of new instances with specific realm and hardware profile" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.create_instance( 'img1', :realm=>'eu',
-                                         :hardware_profile=>'m1-xlarge' )
-      instance.wont_be_nil
-      instance.uri.must_match  %r{#{API_URL}/instances/inst[0-9]+}
-      instance.id.must_match  /inst[0-9]+/
-      instance.image.id.must_equal 'img1'
-      instance.hardware_profile.id.must_equal 'm1-xlarge'
-      instance.realm.id.must_equal 'eu'
-    end
-  end
-
-  it "should allow fetching of instances by id" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.instance( 'inst1' )
-      instance.wont_be_nil
-      instance.uri.wont_be_nil
-      instance.uri.must_be_kind_of String
-    end
-  end
-
-  it "should allow fetching of instances by URI" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      instance = client.fetch_instance( API_URL + '/instances/inst1' )
-      instance.wont_be_nil
-      instance.uri.must_equal API_URL + '/instances/inst1'
-      instance.id.must_equal 'inst1'
-    end
-  end
-
-  describe "performing actions on instances" do
-    it "should allow actions that are valid" do
-      DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-        instance = client.instance( 'inst1' )
-        instance.wont_be_nil
-        instance.state.must_equal "RUNNING"
-        instance.uri.must_equal API_URL + '/instances/inst1'
-        instance.id.must_equal 'inst1'
-        instance.stop!
-        instance.state.must_equal "STOPPED"
-        instance.start!
-        instance.state.must_equal "RUNNING"
-      end
-    end
-
-    it "should not allow actions that are invalid" do
-      DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-        instance = client.instance( 'inst1' )
-        instance.wont_be_nil
-        unless instance.state.eql?("RUNNING")
-          instance.start!
-        end
-        instance.state.must_equal "RUNNING"
-        lambda{instance.start!}.must_raise NoMethodError
-      end
-    end
-
-    it "should not throw exception when destroying an instance" do
-      DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-        instance = client.create_instance( 'img1',
-                                           :name=>'TestDestroyInstance',
-                                           :hardware_profile => 'm1-xlarge' )
-        instance.stop!
-        instance.destroy!.must_be_nil
-      end
-    end
-  end
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/keys_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/keys_test.rb b/client/tests/keys_test.rb
deleted file mode 100644
index 2610fd4..0000000
--- a/client/tests/keys_test.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-require 'rubygems'
-require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-
-require_relative './test_helper.rb'
-
-def check_key(the_key, key_name = "")
-  the_key.wont_be_nil
-  the_key.id.must_be_kind_of String
-  the_key.id.must_equal key_name
-  the_key.actions.wont_be_nil
-  the_key.actions.size.must_equal 1
-  the_key.actions.first[0].must_equal "destroy"
-  the_key.actions.first[1].must_equal "#{API_URL}/keys/#{key_name}"
-  the_key.fingerprint.wont_be_nil
-  the_key.fingerprint.must_be_kind_of String
-  the_key.pem.wont_be_nil
-  the_key.pem.must_be_kind_of String
-end
-
-def create_key_if_necessary(client, key_name)
-  the_key = client.key(key_name)
-  unless the_key
-    client.create_key()
-  end
-end
-
-
-describe "Keys" do
-  it "should allow retrieval of all keys" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      client.keys.wont_be_empty
-    end
-  end
-end
-
-describe "Operations on Keys" do
-
-  it "should allow successful creation and destroy of a new key" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      new_key = client.create_key({:name => "my_new_key"})
-      check_key(new_key, "my_new_key")
-      the_key = client.key('my_new_key')
-      the_key.destroy!.must_be_nil
-    end
-  end
-
-  it "should allow retrieval of an existing named key" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      key_name = "test-key"
-      create_key_if_necessary(client, key_name)
-      the_key = client.key(key_name)
-      check_key(the_key, key_name)
-    end
-  end
-
-  it "should raise error if you create a key with the same name as an existing key" do
-    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
-      name = "test-key"
-      create_key_if_necessary(client, name)
-      lambda{
-              client.create_key({:name => name})
-            }.must_raise DeltaCloud::HTTPError::Forbidden
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/address_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/address_test.rb b/client/tests/methods/address_test.rb
new file mode 100644
index 0000000..90e4478
--- /dev/null
+++ b/client/tests/methods/address_test.rb
@@ -0,0 +1,64 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Address do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #addresses' do
+    @client.must_respond_to :addresses
+    @client.addresses.must_be_kind_of Array
+    @client.addresses.each { |r| r.must_be_instance_of Deltacloud::Client::Address }
+  end
+
+  it 'supports filtering #addresses by :id param' do
+    result = @client.addresses(:id => '192.168.0.1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Address
+    result = @client.addresses(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #address' do
+    @client.must_respond_to :address
+    result = @client.address('192.168.0.1')
+    result.must_be_instance_of Deltacloud::Client::Address
+    lambda { @client.address(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.address('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_address' do
+    @client.must_respond_to :create_address
+    result = @client.create_address
+    result.must_be_instance_of Deltacloud::Client::Address
+    result.ip.wont_be_empty
+    result.instance_id.must_be_nil
+    @client.must_respond_to :destroy_address
+    @client.destroy_address(result._id).must_equal true
+    lambda { @client.address(result._id) }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/api_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/api_test.rb b/client/tests/methods/api_test.rb
new file mode 100644
index 0000000..25e167e
--- /dev/null
+++ b/client/tests/methods/api_test.rb
@@ -0,0 +1,97 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Api do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #path' do
+    @client.must_respond_to :path
+    @client.path.must_be_kind_of String
+    @client.path.must_equal '/api'
+  end
+
+  it 'supports #api_uri' do
+    @client.must_respond_to :api_uri
+    @client.api_uri('/sample').must_be_kind_of URI::Generic
+    @client.api_uri('/sample').to_s.must_equal '/api/sample'
+  end
+
+  it 'supports #version' do
+    @client.must_respond_to :version
+    @client.version.must_equal '1.1.1'
+  end
+
+  it 'supports #current_driver' do
+    @client.must_respond_to :current_driver
+    @client.current_driver.must_equal 'mock'
+  end
+
+  it 'supports #current_provider' do
+    @client.must_respond_to :current_provider
+    @client.current_provider.must_be_nil
+    @client.use(:ec2, 'foo', 'bar', 'eu-west-1').current_provider.must_equal 'eu-west-1'
+  end
+
+  it 'supports #supported_collections' do
+    @client.must_respond_to :supported_collections
+    @client.supported_collections.must_be_kind_of Array
+    @client.supported_collections.wont_be_empty
+    @client.supported_collections.must_include 'realms'
+  end
+
+  it 'supports #support?' do
+    @client.must_respond_to :"support?"
+    @client.support?('realms').must_equal true
+    @client.support?(:realms).must_equal true
+    @client.support?('foo').must_equal false
+  end
+
+  it 'supports #must_support!' do
+    @client.must_respond_to :"must_support!"
+    @client.must_support!(:realms).must_be_nil
+    @client.must_support!('realms').must_be_nil
+    lambda { @client.must_support!(:foo) }.must_raise @client.error(:not_supported)
+  end
+
+  it 'supports #features' do
+    @client.must_respond_to :features
+    @client.features.must_be_kind_of Hash
+    @client.features['instances'].wont_be_nil
+    @client.features['instances'].must_be_kind_of Array
+    @client.features['instances'].wont_be_empty
+    @client.features['instances'].must_include 'user_name'
+    @client.features['instances'].wont_include nil
+  end
+
+  it 'supports #feature?' do
+    @client.must_respond_to :"feature?"
+    @client.feature?(:instances, 'user_name').must_equal true
+    @client.feature?('instances', :user_name).must_equal true
+    @client.feature?('instances', :foo).must_equal false
+    @client.feature?(:foo, :foo).must_equal false
+    @client.feature?(nil, nil).must_equal false
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/backward_compatibility_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/backward_compatibility_test.rb b/client/tests/methods/backward_compatibility_test.rb
new file mode 100644
index 0000000..6e71c3c
--- /dev/null
+++ b/client/tests/methods/backward_compatibility_test.rb
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::BackwardCompatibility do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #api_host' do
+    @client.must_respond_to :api_host
+    @client.api_host.must_equal 'localhost'
+  end
+
+  it 'supports #api_port' do
+    @client.must_respond_to :api_port
+    @client.api_port.must_equal 3001
+  end
+
+  it 'supports #connect' do
+    @client.must_respond_to :connect
+    @client.connect do |new_client|
+      new_client.must_be_instance_of Deltacloud::Client::Connection
+    end
+  end
+
+  it 'supports #with_config' do
+    @client.must_respond_to :with_config
+    @client.with_config(:driver => :ec2, :username => 'f', :password => 'b') do |c|
+      c.must_be_instance_of Deltacloud::Client::Connection
+      c.current_driver.must_equal 'ec2'
+      c.request_driver.must_equal :ec2
+    end
+  end
+
+  it 'supports #use_driver' do
+    @client.must_respond_to :use_driver
+    @client.use_driver(:ec2, :username => 'f', :password => 'b') do |c|
+      c.must_be_instance_of Deltacloud::Client::Connection
+      c.current_driver.must_equal 'ec2'
+      c.request_driver.must_equal :ec2
+    end
+  end
+
+  it 'supports #discovered?' do
+    @client.must_respond_to :"discovered?"
+    @client.discovered?.must_equal true
+  end
+
+  it 'supports #valid_credentials? on class' do
+    Deltacloud::Client.must_respond_to :"valid_credentials?"
+    r = Deltacloud::Client.valid_credentials? DELTACLOUD_USER,
+      DELTACLOUD_PASSWORD, DELTACLOUD_URL
+    r.must_equal true
+    r = Deltacloud::Client.valid_credentials? 'foo',
+      DELTACLOUD_PASSWORD, DELTACLOUD_URL
+    r.must_equal false
+    r = Deltacloud::Client.valid_credentials? 'foo',
+      'bar', DELTACLOUD_URL
+    r.must_equal false
+    lambda {
+      Deltacloud::Client.valid_credentials? 'foo',
+        'bar', 'http://unknown.local'
+    }.must_raise Faraday::Error::ConnectionFailed
+  end
+
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/blob_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/blob_test.rb b/client/tests/methods/blob_test.rb
new file mode 100644
index 0000000..7cb55be
--- /dev/null
+++ b/client/tests/methods/blob_test.rb
@@ -0,0 +1,64 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Blob do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #blobs' do
+    @client.must_respond_to :blobs
+    @client.blobs('bucket1').must_be_kind_of Array
+    @client.blobs('bucket1').each { |r| r.must_be_instance_of Deltacloud::Client::Blob }
+  end
+
+  it 'support #blob' do
+    @client.must_respond_to :blob
+    result = @client.blob('bucket1', 'blob1')
+    result.must_be_instance_of Deltacloud::Client::Blob
+    lambda { @client.blob('bucket1', 'foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_blob and #destroy_blob' do
+    @client.must_respond_to :create_blob
+    result = @client.create_blob('bucket1', 'fooblob123', 'content_of_blob')
+    result.must_be_instance_of Deltacloud::Client::Blob
+    result.bucket_id.must_equal 'bucket1'
+    result._id.must_equal 'fooblob123'
+    result.content_length.must_equal '15'
+    result.content_type.must_equal 'text/plain'
+    @client.must_respond_to :destroy_blob
+    @client.destroy_blob('bucket1', result._id).must_equal true
+  end
+
+  it 'support #create_blob and #destroy_blob with meta_params' do
+    @client.must_respond_to :create_blob
+    result = @client.create_blob('bucket1', 'fooblob123', 'content', :user_metadata => { :key => :value })
+    result.must_be_instance_of Deltacloud::Client::Blob
+    result.user_metadata.must_be_kind_of Hash
+    result.user_metadata['key'].must_equal 'value'
+    @client.must_respond_to :destroy_blob
+    @client.destroy_blob('bucket1', result._id).must_equal true
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/bucket_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/bucket_test.rb b/client/tests/methods/bucket_test.rb
new file mode 100644
index 0000000..6b6736d
--- /dev/null
+++ b/client/tests/methods/bucket_test.rb
@@ -0,0 +1,62 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Bucket do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #buckets' do
+    @client.must_respond_to :buckets
+    @client.buckets.must_be_kind_of Array
+    @client.buckets.each { |r| r.must_be_instance_of Deltacloud::Client::Bucket }
+  end
+
+  it 'supports filtering #buckets by :id param' do
+    result = @client.buckets(:id => 'bucket1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Bucket
+    result = @client.buckets(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #bucket' do
+    @client.must_respond_to :bucket
+    result = @client.bucket('bucket1')
+    result.must_be_instance_of Deltacloud::Client::Bucket
+    lambda { @client.bucket(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.bucket('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_bucket and #destroy_bucket' do
+    @client.must_respond_to :create_bucket
+    b = @client.create_bucket('foo123')
+    b.must_be_instance_of Deltacloud::Client::Bucket
+    b.name.must_equal 'foo123'
+    @client.destroy_bucket(b._id)
+    lambda { @client.bucket(b._id) }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/driver_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/driver_test.rb b/client/tests/methods/driver_test.rb
new file mode 100644
index 0000000..3872c85
--- /dev/null
+++ b/client/tests/methods/driver_test.rb
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Driver do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #drivers' do
+    @client.must_respond_to :drivers
+    @client.drivers.must_be_kind_of Array
+    @client.drivers.each { |r| r.must_be_instance_of Deltacloud::Client::Driver }
+  end
+
+  it 'supports #driver' do
+    @client.must_respond_to :driver
+    result = @client.driver('ec2')
+    result.must_be_instance_of Deltacloud::Client::Driver
+    lambda { @client.driver(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.driver('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'supports #providers' do
+    @client.must_respond_to :providers
+    @client.providers.must_be_empty
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/firewall_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/firewall_test.rb b/client/tests/methods/firewall_test.rb
new file mode 100644
index 0000000..967b535
--- /dev/null
+++ b/client/tests/methods/firewall_test.rb
@@ -0,0 +1,84 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Firewall do
+
+  def new_client
+    Deltacloud::Client(DELTACLOUD_URL, 'AKIAJYOQYLLOIWN5LQ3A', 'Ra2ViYaYgocAJqPAQHxMVU/l2sGGU2pifmWT4q3H', :driver => :ec2 )
+  end
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #firewalls' do
+    @client.must_respond_to :firewalls
+    begin
+      @client.firewalls.must_be_kind_of Array
+    rescue Deltacloud::Client::AuthenticationError
+      skip
+    end
+    @client.firewalls.each { |r| r.must_be_instance_of Deltacloud::Client::Firewall }
+  end
+
+  it 'supports filtering #firewalls by :id param' do
+    begin
+      result = @client.firewalls(:id => 'mfojtik')
+    rescue Deltacloud::Client::AuthenticationError
+      skip
+    end
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Firewall
+  end
+
+  it 'support #firewall' do
+    @client.must_respond_to :firewall
+    begin
+      result = @client.firewall('mfojtik')
+    rescue
+      skip
+    end
+    result.must_be_instance_of Deltacloud::Client::Firewall
+    lambda { @client.firewall(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.firewall('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_firewall and #destroy_firewall' do
+    @client.must_respond_to :create_firewall
+    @client.must_respond_to :destroy_firewall
+    begin
+      result = @client.create_firewall('foofirewall', :description => 'testing firewalls')
+      result.must_be_instance_of Deltacloud::Client::Firewall
+      result.name.must_equal 'foofirewall'
+      @client.destroy_firewall(result._id).must_equal true
+      lambda {
+        @client.create_firewall('foofirewall')
+      }.must_raise Deltacloud::Client::ClientFailure
+    rescue
+      skip
+    end
+  end
+
+
+  # FIXME: TBD, not supported by mock driver yet.
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/hardware_profile_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/hardware_profile_test.rb b/client/tests/methods/hardware_profile_test.rb
new file mode 100644
index 0000000..1e49c46
--- /dev/null
+++ b/client/tests/methods/hardware_profile_test.rb
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::HardwareProfile do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #hardware_profiles' do
+    @client.must_respond_to :hardware_profiles
+    @client.hardware_profiles.must_be_kind_of Array
+    @client.hardware_profiles.each { |r| r.must_be_instance_of Deltacloud::Client::HardwareProfile }
+  end
+
+  it 'supports filtering #hardware_profiles by :id param' do
+    result = @client.hardware_profiles(:id => 'm1-small')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::HardwareProfile
+    result = @client.hardware_profiles(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #hardware_profile' do
+    @client.must_respond_to :hardware_profile
+    result = @client.hardware_profile('m1-small')
+    result.must_be_instance_of Deltacloud::Client::HardwareProfile
+    lambda { @client.hardware_profile(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.hardware_profile('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/image_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/image_test.rb b/client/tests/methods/image_test.rb
new file mode 100644
index 0000000..6d505e1
--- /dev/null
+++ b/client/tests/methods/image_test.rb
@@ -0,0 +1,64 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Image do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #images' do
+    @client.must_respond_to :images
+    @client.images.must_be_kind_of Array
+    @client.images.each { |r| r.must_be_instance_of Deltacloud::Client::Image }
+  end
+
+  it 'supports filtering #images by :id param' do
+    result = @client.images(:id => 'img1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Image
+    result = @client.images(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #image' do
+    @client.must_respond_to :image
+    result = @client.image('img1')
+    result.must_be_instance_of Deltacloud::Client::Image
+    lambda { @client.image(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.image('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_image and #destroy_image' do
+    @client.must_respond_to :create_image
+    img = @client.create_image('inst1', :name => 'test')
+    img.must_be_instance_of Deltacloud::Client::Image
+    img.name.must_equal 'test'
+    @client.destroy_image(img._id)
+    lambda {
+      @client.create_image(nil, :name => 'test')
+    }.must_raise Deltacloud::Client::ServerError
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/instance_state_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/instance_state_test.rb b/client/tests/methods/instance_state_test.rb
new file mode 100644
index 0000000..bad6ae5
--- /dev/null
+++ b/client/tests/methods/instance_state_test.rb
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::InstanceState do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+  end
+
+  after do
+    VCR.eject_cassette
+  end
+
+  it 'supports #instance_states' do
+    @client.must_respond_to :instance_states
+    @client.instance_states.must_be_kind_of Array
+    @client.instance_states.each { |r| r.must_be_instance_of Deltacloud::Client::InstanceState::State }
+  end
+
+  it 'support #instance_state' do
+    @client.must_respond_to :instance_state
+    result = @client.instance_state('start')
+    result.must_be_instance_of Deltacloud::Client::InstanceState::State
+    @client.instance_state(nil).must_be_nil
+    @client.instance_state('foo').must_be_nil
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/3d865944/client/tests/methods/instance_test.rb
----------------------------------------------------------------------
diff --git a/client/tests/methods/instance_test.rb b/client/tests/methods/instance_test.rb
new file mode 100644
index 0000000..47b3934
--- /dev/null
+++ b/client/tests/methods/instance_test.rb
@@ -0,0 +1,120 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative '../test_helper'
+
+describe Deltacloud::Client::Methods::Instance do
+
+  before do
+    VCR.insert_cassette(__name__)
+    @client = new_client
+    @created_instances = []
+  end
+
+  after do
+    VCR.eject_cassette
+    VCR.use_cassette('instances_cleanup') do
+      cleanup_instances(@created_instances)
+    end
+  end
+
+  it 'supports #instances' do
+    @client.must_respond_to :instances
+    @client.instances.must_be_kind_of Array
+    @client.instances.each { |r| r.must_be_instance_of Deltacloud::Client::Instance }
+  end
+
+  it 'supports filtering #instances by :id param' do
+    result = @client.instances(:id => 'inst1')
+    result.must_be_kind_of Array
+    result.size.must_equal 1
+    result.first.must_be_instance_of Deltacloud::Client::Instance
+    result = @client.instances(:id => 'unknown')
+    result.must_be_kind_of Array
+    result.size.must_equal 0
+  end
+
+  it 'support #instance' do
+    @client.must_respond_to :instance
+    result = @client.instance('inst1')
+    result.must_be_instance_of Deltacloud::Client::Instance
+    lambda { @client.instance(nil) }.must_raise Deltacloud::Client::NotFound
+    lambda { @client.instance('foo') }.must_raise Deltacloud::Client::NotFound
+  end
+
+  it 'support #create_instance' do
+    @client.must_respond_to :create_instance
+    inst = @client.create_instance('img1')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst.image_id.must_equal 'img1'
+    @created_instances << inst
+  end
+
+  it 'support #create_instance with hwp_id' do
+    @client.must_respond_to :create_instance
+    inst = @client.create_instance('img1', :hwp_id => 'm1-large')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst.image_id.must_equal 'img1'
+    inst.hardware_profile_id.must_equal 'm1-large'
+    @created_instances << inst
+  end
+
+  it 'support #create_instance with realm_id' do
+    @client.must_respond_to :create_instance
+    inst = @client.create_instance('img1', :realm_id => 'eu')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst.realm_id.must_equal 'eu'
+    @created_instances << inst
+  end
+
+  it 'support #create_instance with name' do
+    @client.must_respond_to :create_instance
+    inst = @client.create_instance('img1', :realm_id => 'eu', :name => 'test_instance')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst.name.must_equal 'test_instance'
+    inst.realm_id.must_equal 'eu'
+    @created_instances << inst
+  end
+
+  it 'support #stop_instance' do
+    @client.must_respond_to :stop_instance
+    inst = @client.create_instance('img1')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst = @client.stop_instance(inst._id)
+    inst.state.must_equal 'STOPPED'
+    @created_instances << inst
+  end
+
+  it 'support #start_instance' do
+    @client.must_respond_to :start_instance
+    inst = @client.create_instance('img1')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst = @client.stop_instance(inst._id)
+    inst.state.must_equal 'STOPPED'
+    inst = inst.start_instance(inst._id)
+    inst.state.must_equal 'RUNNING'
+    @created_instances << inst
+  end
+
+  it 'support #reboot_instance' do
+    @client.must_respond_to :reboot_instance
+    inst = @client.create_instance('img1')
+    inst.must_be_instance_of Deltacloud::Client::Instance
+    inst = @client.reboot_instance(inst._id)
+    inst.state.must_equal 'RUNNING'
+    @created_instances << inst
+  end
+
+end


[04/30] git commit: Core: Updated travis to run deltacloud-client tests

Posted by mf...@apache.org.
Core: Updated travis to run deltacloud-client tests


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/66a46b0a
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/66a46b0a
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/66a46b0a

Branch: refs/heads/master
Commit: 66a46b0a3b0e783e593b5ec5d2e145df1f02df71
Parents: 0439fc7
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:53:55 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:35 2013 +0100

----------------------------------------------------------------------
 .travis.yml |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/66a46b0a/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index e1da6b5..9d1d2ce 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,7 +10,13 @@ install:
   - cd server
   - bundle install
   - bin/deltacloud-db-upgrade
+  - cd ../client
+  - bundle install
+  - cd ..
 script:
+  - cd server
+  - bundle exec rake test
+  - cd ../client
   - bundle exec rake test
 notifications:
   email:


[26/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API.html b/client/doc/DeltaCloud/API.html
deleted file mode 100644
index f70e061..0000000
--- a/client/doc/DeltaCloud/API.html
+++ /dev/null
@@ -1,3040 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API</title>
-<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../_index.html">Index (A)</a> &raquo; 
-    <span class='title'><a href="../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span>
-     &raquo; 
-    <span class="title">API</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb<span class="defines">,<br />
-  doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb</span>
-</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="API/HardwareProfile.html" title="DeltaCloud::API::HardwareProfile (class)">HardwareProfile</a>, <a href="API/Image.html" title="DeltaCloud::API::Image (class)">Image</a>, <a href="API/Instance.html" title="DeltaCloud::API::Instance (class)">Instance</a>, <a href="API/Realm.html" title="DeltaCloud::API::Realm (class)">Realm</a>, <a href="API/StorageSnapshot.html" title="DeltaCloud::API::StorageSnapshot (class)">StorageSnapshot</a>, <a href="API/StorageVolume.html" title="DeltaCloud::API::StorageVolume (class)">StorageVolume</a>
-    
-  
-</p>
-
-
-  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
-  <ul class="summary">
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#api_uri-instance_method" title="#api_uri (instance method)">- (Object) <strong>api_uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute api_uri.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#api_version-instance_method" title="#api_version (instance method)">- (Object) <strong>api_version</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute api_version.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#driver_name-instance_method" title="#driver_name (instance method)">- (Object) <strong>driver_name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute driver_name.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#entry_points-instance_method" title="#entry_points (instance method)">- (Object) <strong>entry_points</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute entry_points.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#features-instance_method" title="#features (instance method)">- (Object) <strong>features</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    <span class="note title readonly">readonly</span>
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute features.</p></div></span>
-  
-</li>
-
-    
-      <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#logger-instance_method" title="#logger (instance method)">- (Object) <strong>logger</strong> </a>
-    
-
-    
-  </span>
-  
-  
-    
-    
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Returns the value of attribute logger.</p></div></span>
-  
-</li>
-
-    
-  </ul>
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#api_host-instance_method" title="#api_host (instance method)">- (Object) <strong>api_host</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return API hostname.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#api_path-instance_method" title="#api_path (instance method)">- (Object) <strong>api_path</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return API path.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#api_port-instance_method" title="#api_port (instance method)">- (Object) <strong>api_port</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return API port.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#base_object-instance_method" title="#base_object (instance method)">- (Object) <strong>base_object</strong>(c, model, response) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Add default attributes <span>id and href</span> to class.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#base_object_collection-instance_method" title="#base_object_collection (instance method)">- (Object) <strong>base_object_collection</strong>(c, model, response) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#connect-instance_method" title="#connect (instance method)">- (Object) <strong>connect</strong> {|_self| ... }</a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#create_instance-instance_method" title="#create_instance (instance method)">- (Object) <strong>create_instance</strong>(image_id, opts = {}, &amp;block) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Create a new instance, using image +image_id+.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#declare_entry_points_methods-instance_method" title="#declare_entry_points_methods (instance method)">- (Object) <strong>declare_entry_points_methods</strong>(entry_points) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Define methods based on &#8216;rel&#8217; attribute in entry point Two methods are declared: &#8216;images&#8217; and &#8216;image&#8217;.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#discover_entry_points-instance_method" title="#discover_entry_points (instance method)">- (Object) <strong>discover_entry_points</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Get /api and parse entry points.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#discovered%3F-instance_method" title="#discovered? (instance method)">- (Boolean) <strong>discovered?</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Skip parsing /api when we already got entry points.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#documentation-instance_method" title="#documentation (instance method)">- (Object) <strong>documentation</strong>(collection, operation = nil) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#feature%3F-instance_method" title="#feature? (instance method)">- (Boolean) <strong>feature?</strong>(collection, name) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Check if specified collection have wanted feature.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#hardware_profile-instance_method" title="#hardware_profile (instance method)">- (HardwareProfile) <strong>hardware_profile</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A hardware profile represents a configuration of resources upon which a.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#hardware_profiles-instance_method" title="#hardware_profiles (instance method)">- (Array) <strong>hardware_profiles</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of HardwareProfile objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#image-instance_method" title="#image (instance method)">- (Image) <strong>image</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>An image is a platonic form of a machine.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#images-instance_method" title="#images (instance method)">- (Array) <strong>images</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of Image objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#initialize-instance_method" title="#initialize (instance method)">- (API) <strong>initialize</strong>(user_name, password, api_url, opts = {}) {|_self| ... }</a>
-    
-
-    
-  </span>
-  
-    <span class="note title constructor">constructor</span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>A new instance of API.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#instance-instance_method" title="#instance (instance method)">- (Instance) <strong>instance</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>An instance is a concrete machine realized from an image.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#instance_state-instance_method" title="#instance_state (instance method)">- (InstanceState) <strong>instance_state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>The possible states of an instance, and how to traverse between them.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#instance_states-instance_method" title="#instance_states (instance method)">- (Array) <strong>instance_states</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of InstanceState objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#instances-instance_method" title="#instances (instance method)">- (Array) <strong>instances</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of Instance objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#realm-instance_method" title="#realm (instance method)">- (Realm) <strong>realm</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Within a cloud provider a realm represents a boundary containing resources.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#realms-instance_method" title="#realms (instance method)">- (Array) <strong>realms</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of Realm objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#request-instance_method" title="#request (instance method)">- (Object) <strong>request</strong>(*args, &amp;block) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Basic request method.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage_snapshot-instance_method" title="#storage_snapshot (instance method)">- (StorageSnapshot) <strong>storage_snapshot</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Storage snapshots description here.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage_snapshots-instance_method" title="#storage_snapshots (instance method)">- (Array) <strong>storage_snapshots</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of StorageSnapshot objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage_volume-instance_method" title="#storage_volume (instance method)">- (StorageVolume) <strong>storage_volume</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Storage volumes description here.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage_volumes-instance_method" title="#storage_volumes (instance method)">- (Array) <strong>storage_volumes</strong>(opts = {}) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return collection of StorageVolume objects.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#xml_to_class-instance_method" title="#xml_to_class (instance method)">- (Object) <strong>xml_to_class</strong>(c, item) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Convert XML response to defined Ruby Class.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <div class="method_details first">
-  <p class="signature first" id="initialize-instance_method">
-  
-    - (<tt><a href="" title="DeltaCloud::API (class)">API</a></tt>) <strong>initialize</strong>(user_name, password, api_url, opts = {}) {|_self| ... }
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A new instance of API</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Yields:</h3>
-<ul class="yield">
-  
-    <li>
-      
-        <span class='type'>(<tt>_self</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-<h3>Yield Parameters:</h3>
-<ul class="yieldparam">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="" title="DeltaCloud::API (class)">DeltaCloud::API</a></tt>)</span>
-      
-      
-        <span class='name'>_self</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>the object that the method was called on</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 62</span>
-
-<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='user_name identifier id'>user_name</span><span class='comma token'>,</span> <span class='password identifier id'>password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span><span class='comma token'>,</span> <span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
-  <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:version</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='true true kw'>true</span>
-  <span class='@logger ivar id'>@logger</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:verbose</span><span class='rbrack token'>]</span> <span class='question op'>?</span> <span class='Logger constant id'>Logger</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='STDERR constant id'>STDERR</span><span class='rparen token'>)</span> <span class='colon op'>:</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-  <span class='@username ivar id'>@username</span><span class='comma token'>,</span> <span class='@password ivar id'>@password</span> <span class='assign token'>=</span> <span class='user_name identifier id'>user_name</span><span class='comma token'>,</span> <span class='password identifier id'>password</span>
-  <span class='@api_uri ivar id'>@api_uri</span> <span class='assign token'>=</span> <span class='URI constant id'>URI</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span><span class='lparen token'>(</span><span class='api_url identifier id'>api_url</span><span class='rparen token'>)</span>
-  <span class='@features ivar id'>@features</span><span class='comma token'>,</span> <span class='@entry_points ivar id'>@entry_points</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
-  <span class='@verbose ivar id'>@verbose</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:verbose</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='false false kw'>false</span>
-  <span class='discover_entry_points identifier id'>discover_entry_points</span>
-  <span class='yield yield kw'>yield</span> <span class='self self kw'>self</span> <span class='if if_mod kw'>if</span> <span class='block_given? fid id'>block_given?</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-  
-</div>
-
-  <div id="instance_attr_details" class="attr_details">
-    <h2>Instance Attribute Details</h2>
-    
-      
-      <span id=""></span>
-      <span id="api_uri-instance_method"></span>
-      <div class="method_details first">
-  <p class="signature first" id="api_uri-instance_method">
-  
-    - (<tt>Object</tt>) <strong>api_uri</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute api_uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-60
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 60</span>
-
-<span class='def def kw'>def</span> <span class='api_uri identifier id'>api_uri</span>
-  <span class='@api_uri ivar id'>@api_uri</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="api_version-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="api_version-instance_method">
-  
-    - (<tt>Object</tt>) <strong>api_version</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute api_version</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-60
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 60</span>
-
-<span class='def def kw'>def</span> <span class='api_version identifier id'>api_version</span>
-  <span class='@api_version ivar id'>@api_version</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="driver_name-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="driver_name-instance_method">
-  
-    - (<tt>Object</tt>) <strong>driver_name</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute driver_name</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-60
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 60</span>
-
-<span class='def def kw'>def</span> <span class='driver_name identifier id'>driver_name</span>
-  <span class='@driver_name ivar id'>@driver_name</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="entry_points-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="entry_points-instance_method">
-  
-    - (<tt>Object</tt>) <strong>entry_points</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute entry_points</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-60
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 60</span>
-
-<span class='def def kw'>def</span> <span class='entry_points identifier id'>entry_points</span>
-  <span class='@entry_points ivar id'>@entry_points</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id=""></span>
-      <span id="features-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="features-instance_method">
-  
-    - (<tt>Object</tt>) <strong>features</strong>  <span class="extras">(readonly)</span>
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute features</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-60
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 60</span>
-
-<span class='def def kw'>def</span> <span class='features identifier id'>features</span>
-  <span class='@features ivar id'>@features</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      
-      <span id="logger=-instance_method"></span>
-      <span id="logger-instance_method"></span>
-      <div class="method_details ">
-  <p class="signature " id="logger-instance_method">
-  
-    - (<tt>Object</tt>) <strong>logger</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Returns the value of attribute logger</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-59
-60
-61</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 59</span>
-
-<span class='def def kw'>def</span> <span class='logger identifier id'>logger</span>
-  <span class='@logger ivar id'>@logger</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="api_host-instance_method">
-  
-    - (<tt>Object</tt>) <strong>api_host</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return API hostname</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-78</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 78</span>
-
-<span class='def def kw'>def</span> <span class='api_host identifier id'>api_host</span><span class='semicolon token'>;</span> <span class='@api_uri ivar id'>@api_uri</span><span class='dot token'>.</span><span class='host identifier id'>host</span>  <span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="api_path-instance_method">
-  
-    - (<tt>Object</tt>) <strong>api_path</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return API path</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-84</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 84</span>
-
-<span class='def def kw'>def</span> <span class='api_path identifier id'>api_path</span><span class='semicolon token'>;</span> <span class='@api_uri ivar id'>@api_uri</span><span class='dot token'>.</span><span class='path identifier id'>path</span>  <span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="api_port-instance_method">
-  
-    - (<tt>Object</tt>) <strong>api_port</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return API port</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-81</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 81</span>
-
-<span class='def def kw'>def</span> <span class='api_port identifier id'>api_port</span><span class='semicolon token'>;</span> <span class='@api_uri ivar id'>@api_uri</span><span class='dot token'>.</span><span class='port identifier id'>port</span>  <span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="base_object-instance_method">
-  
-    - (<tt>Object</tt>) <strong>base_object</strong>(c, model, response) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Add default attributes <span>id and href</span> to class</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 131</span>
-
-<span class='def def kw'>def</span> <span class='base_object identifier id'>base_object</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='model identifier id'>model</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='rparen token'>)</span>
-  <span class='obj identifier id'>obj</span> <span class='assign token'>=</span> <span class='nil nil kw'>nil</span>
-  <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='response identifier id'>response</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='xpath identifier id'>xpath</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{model.to_s.singularize}&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='item identifier id'>item</span><span class='bitor op'>|</span>
-    <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='instance_eval identifier id'>instance_eval</span> <span class='do do kw'>do</span>
-      <span class='attr_accessor identifier id'>attr_accessor</span> <span class='symbol val'>:id</span>
-      <span class='attr_accessor identifier id'>attr_accessor</span> <span class='symbol val'>:uri</span>
-    <span class='end end kw'>end</span>
-    <span class='obj identifier id'>obj</span> <span class='assign token'>=</span> <span class='xml_to_class identifier id'>xml_to_class</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='item identifier id'>item</span><span class='rparen token'>)</span>
-  <span class='end end kw'>end</span>
-  <span class='return return kw'>return</span> <span class='obj identifier id'>obj</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="base_object_collection-instance_method">
-  
-    - (<tt>Object</tt>) <strong>base_object_collection</strong>(c, model, response) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 118</span>
-
-<span class='def def kw'>def</span> <span class='base_object_collection identifier id'>base_object_collection</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='model identifier id'>model</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='rparen token'>)</span>
-  <span class='collection identifier id'>collection</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-  <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='response identifier id'>response</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='xpath identifier id'>xpath</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{model}/#{model.to_s.singularize}&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='item identifier id'>item</span><span class='bitor op'>|</span>
-    <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='instance_eval identifier id'>instance_eval</span> <span class='do do kw'>do</span>
-      <span class='attr_accessor identifier id'>attr_accessor</span> <span class='symbol val'>:id</span>
-      <span class='attr_accessor identifier id'>attr_accessor</span> <span class='symbol val'>:uri</span>
-    <span class='end end kw'>end</span>
-    <span class='collection identifier id'>collection</span> <span class='lshft op'>&lt;&lt;</span> <span class='xml_to_class identifier id'>xml_to_class</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='item identifier id'>item</span><span class='rparen token'>)</span>
-  <span class='end end kw'>end</span>
-  <span class='return return kw'>return</span> <span class='collection identifier id'>collection</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="connect-instance_method">
-  
-    - (<tt>Object</tt>) <strong>connect</strong> {|_self| ... }
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Yields:</h3>
-<ul class="yield">
-  
-    <li>
-      
-        <span class='type'>(<tt>_self</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-<h3>Yield Parameters:</h3>
-<ul class="yieldparam">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="" title="DeltaCloud::API (class)">DeltaCloud::API</a></tt>)</span>
-      
-      
-        <span class='name'>_self</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>the object that the method was called on</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-73
-74
-75</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 73</span>
-
-<span class='def def kw'>def</span> <span class='connect identifier id'>connect</span><span class='lparen token'>(</span><span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
-  <span class='yield yield kw'>yield</span> <span class='self self kw'>self</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="create_instance-instance_method">
-  
-    - (<tt>Object</tt>) <strong>create_instance</strong>(image_id, opts = {}, &amp;block) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Create a new instance, using image +image_id+. Possible optiosn are</p>
-
-<p>name - a user-defined name for the instance realm - a specific realm for placement of the instance hardware_profile - either a string giving the name of the hardware profile or a hash. The hash must have an entry +id+, giving the id of the hardware profile, and may contain additional names of properties, e.g. &#8216;storage&#8217;, to override entries in the hardware profile</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 255</span>
-
-<span class='def def kw'>def</span> <span class='create_instance identifier id'>create_instance</span><span class='lparen token'>(</span><span class='image_id identifier id'>image_id</span><span class='comma token'>,</span> <span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
-  <span class='name identifier id'>name</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:name</span><span class='rbrack token'>]</span>
-  <span class='realm_id identifier id'>realm_id</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:realm</span><span class='rbrack token'>]</span>
-  <span class='user_data identifier id'>user_data</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:user_data</span><span class='rbrack token'>]</span>
-
-  <span class='params identifier id'>params</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
-  <span class='lparen token'>(</span> <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:realm_id</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='realm_id identifier id'>realm_id</span> <span class='rparen token'>)</span> <span class='if if_mod kw'>if</span> <span class='realm_id identifier id'>realm_id</span>
-  <span class='lparen token'>(</span> <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:name</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='name identifier id'>name</span> <span class='rparen token'>)</span> <span class='if if_mod kw'>if</span> <span class='name identifier id'>name</span>
-  <span class='lparen token'>(</span> <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:user_data</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='user_data identifier id'>user_data</span> <span class='rparen token'>)</span> <span class='if if_mod kw'>if</span> <span class='user_data identifier id'>user_data</span>
-
-  <span class='if if kw'>if</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:hardware_profile</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='String constant id'>String</span><span class='rparen token'>)</span>
-    <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:hwp_id</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:hardware_profile</span><span class='rbrack token'>]</span>
-  <span class='elsif elsif kw'>elsif</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:hardware_profile</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='Hash constant id'>Hash</span><span class='rparen token'>)</span>
-    <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:hardware_profile</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='k identifier id'>k</span><span class='comma token'>,</span><span class='v identifier id'>v</span><span class='bitor op'>|</span>
-      <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:&quot;hwp_#{k}&quot;</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='v identifier id'>v</span>
-    <span class='end end kw'>end</span>
-  <span class='end end kw'>end</span>
-
-  <span class='params identifier id'>params</span><span class='lbrack token'>[</span><span class='symbol val'>:image_id</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='image_id identifier id'>image_id</span>
-  <span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='nil nil kw'>nil</span>
-
-  <span class='request identifier id'>request</span><span class='lparen token'>(</span><span class='symbol val'>:post</span><span class='comma token'>,</span> <span class='entry_points identifier id'>entry_points</span><span class='lbrack token'>[</span><span class='symbol val'>:instances</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='params identifier id'>params</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='response identifier id'>response</span><span class='bitor op'>|</span>
-    <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='define_class identifier id'>define_class</span><span class='lparen token'>(</span><span class='string val'>&quot;Instance&quot;</span><span class='rparen token'>)</span>
-    <span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='base_object identifier id'>base_object</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='symbol val'>:instance</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='rparen token'>)</span>
-    <span class='yield yield kw'>yield</span> <span class='instance identifier id'>instance</span> <span class='if if_mod kw'>if</span> <span class='block_given? fid id'>block_given?</span>
-  <span class='end end kw'>end</span>
-
-  <span class='return return kw'>return</span> <span class='instance identifier id'>instance</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="declare_entry_points_methods-instance_method">
-  
-    - (<tt>Object</tt>) <strong>declare_entry_points_methods</strong>(entry_points) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Define methods based on &#8216;rel&#8217; attribute in entry point Two methods are declared: &#8216;images&#8217; and &#8216;image&#8217;</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 88</span>
-
-<span class='def def kw'>def</span> <span class='declare_entry_points_methods identifier id'>declare_entry_points_methods</span><span class='lparen token'>(</span><span class='entry_points identifier id'>entry_points</span><span class='rparen token'>)</span>
-  <span class='logger identifier id'>logger</span> <span class='assign token'>=</span> <span class='@logger ivar id'>@logger</span>
-  <span class='API constant id'>API</span><span class='dot token'>.</span><span class='instance_eval identifier id'>instance_eval</span> <span class='do do kw'>do</span>
-    <span class='entry_points identifier id'>entry_points</span><span class='dot token'>.</span><span class='keys identifier id'>keys</span><span class='dot token'>.</span><span class='select identifier id'>select</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='k identifier id'>k</span><span class='bitor op'>|</span> <span class='lbrack token'>[</span><span class='symbol val'>:instance_states</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='k identifier id'>k</span><span class='rparen token'>)</span><span class='eq op'>==</span><span class='false false kw'>false</span> <span class='rbrace token'>}</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='model identifier id'>model</span><span class='bitor op'>|</span>
-      <span class='define_method identifier id'>define_method</span> <span class='model identifier id'>model</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='mult op'>*</span><span class='args identifier id'>args</span><span class='bitor op'>|</span>
-        <span class='request identifier id'>request</span><span class='lparen token'>(</span><span class='symbol val'>:get</span><span class='comma token'>,</span> <span class='dstring node'>&quot;/#{model}&quot;</span><span class='comma token'>,</span> <span class='args identifier id'>args</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='response identifier id'>response</span><span class='bitor op'>|</span>
-          <span class='comment val'># Define a new class based on model name</span>
-          <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='define_class identifier id'>define_class</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{model.to_s.classify}&quot;</span><span class='rparen token'>)</span>
-          <span class='comment val'># Create collection from index operation</span>
-          <span class='base_object_collection identifier id'>base_object_collection</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='model identifier id'>model</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='rparen token'>)</span>
-        <span class='end end kw'>end</span>
-      <span class='end end kw'>end</span>
-      <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Added method #{model}\n&quot;</span>
-      <span class='define_method identifier id'>define_method</span> <span class='symbol val'>:&quot;#{model.to_s.singularize}&quot;</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='mult op'>*</span><span class='args identifier id'>args</span><span class='bitor op'>|</span>
-        <span class='request identifier id'>request</span><span class='lparen token'>(</span><span class='symbol val'>:get</span><span class='comma token'>,</span> <span class='dstring node'>&quot;/#{model}/#{args[0]}&quot;</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='response identifier id'>response</span><span class='bitor op'>|</span>
-          <span class='comment val'># Define a new class based on model name</span>
-          <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='define_class identifier id'>define_class</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{model.to_s.classify}&quot;</span><span class='rparen token'>)</span>
-          <span class='comment val'># Build class for returned object</span>
-          <span class='base_object identifier id'>base_object</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='model identifier id'>model</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='rparen token'>)</span>
-        <span class='end end kw'>end</span>
-      <span class='end end kw'>end</span>
-      <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Added method #{model.to_s.singularize}\n&quot;</span>
-      <span class='define_method identifier id'>define_method</span> <span class='symbol val'>:&quot;fetch_#{model.to_s.singularize}&quot;</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='url identifier id'>url</span><span class='bitor op'>|</span>
-        <span class='id identifier id'>id</span> <span class='assign token'>=</span> <span class='url identifier id'>url</span><span class='dot token'>.</span><span class='grep identifier id'>grep</span><span class='lparen token'>(</span><span class='dregexp node'>/\/#{model}\/(.*)$/</span><span class='rparen token'>)</span>
-        <span class='self self kw'>self</span><span class='dot token'>.</span><span class='send identifier id'>send</span><span class='lparen token'>(</span><span class='model identifier id'>model</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='singularize identifier id'>singularize</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='comma token'>,</span> <span class='$1 nth_ref id'>$1</span><span class='rparen token'>)</span>
-      <span class='end end kw'>end</span>
-    <span class='end end kw'>end</span>
-  <span class='end end kw'>end</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="discover_entry_points-instance_method">
-  
-    - (<tt>Object</tt>) <strong>discover_entry_points</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Get /api and parse entry points</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 223</span>
-
-<span class='def def kw'>def</span> <span class='discover_entry_points identifier id'>discover_entry_points</span>
-  <span class='return return kw'>return</span> <span class='if if_mod kw'>if</span> <span class='discovered? fid id'>discovered?</span>
-  <span class='request identifier id'>request</span><span class='lparen token'>(</span><span class='symbol val'>:get</span><span class='comma token'>,</span> <span class='@api_uri ivar id'>@api_uri</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='response identifier id'>response</span><span class='bitor op'>|</span>
-    <span class='api_xml identifier id'>api_xml</span> <span class='assign token'>=</span> <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='response identifier id'>response</span><span class='rparen token'>)</span>
-    <span class='@driver_name ivar id'>@driver_name</span> <span class='assign token'>=</span> <span class='api_xml identifier id'>api_xml</span><span class='dot token'>.</span><span class='xpath identifier id'>xpath</span><span class='lparen token'>(</span><span class='string val'>'/api'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='lbrack token'>[</span><span class='string val'>'driver'</span><span class='rbrack token'>]</span>
-    <span class='@api_version ivar id'>@api_version</span> <span class='assign token'>=</span> <span class='api_xml identifier id'>api_xml</span><span class='dot token'>.</span><span class='xpath identifier id'>xpath</span><span class='lparen token'>(</span><span class='string val'>'/api'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='lbrack token'>[</span><span class='string val'>'version'</span><span class='rbrack token'>]</span>
-    <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Version #{@api_version}\n&quot;</span>
-    <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Driver #{@driver_name}\n&quot;</span>
-    <span class='api_xml identifier id'>api_xml</span><span class='dot token'>.</span><span class='css identifier id'>css</span><span class='lparen token'>(</span><span class='string val'>&quot;api &gt; link&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='entry_point identifier id'>entry_point</span><span class='bitor op'>|</span>
-      <span class='rel identifier id'>rel</span><span class='comma token'>,</span> <span class='href identifier id'>href</span> <span class='assign token'>=</span> <span class='entry_point identifier id'>entry_point</span><span class='lbrack token'>[</span><span class='string val'>'rel'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='comma token'>,</span> <span class='entry_point identifier id'>entry_point</span><span class='lbrack token'>[</span><span class='string val'>'href'</span><span class='rbrack token'>]</span>
-      <span class='@entry_points ivar id'>@entry_points</span><span class='dot token'>.</span><span class='store identifier id'>store</span><span class='lparen token'>(</span><span class='rel identifier id'>rel</span><span class='comma token'>,</span> <span class='href identifier id'>href</span><span class='rparen token'>)</span>
-      <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Entry point '#{rel}' added\n&quot;</span>
-      <span class='entry_point identifier id'>entry_point</span><span class='dot token'>.</span><span class='css identifier id'>css</span><span class='lparen token'>(</span><span class='string val'>&quot;feature&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='feature identifier id'>feature</span><span class='bitor op'>|</span>
-        <span class='@features ivar id'>@features</span><span class='lbrack token'>[</span><span class='rel identifier id'>rel</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-        <span class='@features ivar id'>@features</span><span class='lbrack token'>[</span><span class='rel identifier id'>rel</span><span class='rbrack token'>]</span> <span class='lshft op'>&lt;&lt;</span> <span class='feature identifier id'>feature</span><span class='lbrack token'>[</span><span class='string val'>'name'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span>
-        <span class='logger identifier id'>logger</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;[API] Feature #{feature['name']} added to #{rel}\n&quot;</span>
-      <span class='end end kw'>end</span>
-    <span class='end end kw'>end</span>
-  <span class='end end kw'>end</span>
-  <span class='declare_entry_points_methods identifier id'>declare_entry_points_methods</span><span class='lparen token'>(</span><span class='@entry_points ivar id'>@entry_points</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="discovered?-instance_method">
-  
-    - (<tt>Boolean</tt>) <strong>discovered?</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Skip parsing /api when we already got entry points</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Boolean</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-346
-347
-348</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 346</span>
-
-<span class='def def kw'>def</span> <span class='discovered? fid id'>discovered?</span>
-  <span class='true true kw'>true</span> <span class='if if_mod kw'>if</span> <span class='@entry_points! ivar id'>@entry_points!</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="documentation-instance_method">
-  
-    - (<tt>Object</tt>) <strong>documentation</strong>(collection, operation = nil) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-350
-351
-352
-353
-354
-355
-356
-357
-358
-359
-360
-361
-362
-363
-364
-365
-366
-367
-368
-369
-370</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 350</span>
-
-<span class='def def kw'>def</span> <span class='documentation identifier id'>documentation</span><span class='lparen token'>(</span><span class='collection identifier id'>collection</span><span class='comma token'>,</span> <span class='operation identifier id'>operation</span><span class='assign token'>=</span><span class='nil nil kw'>nil</span><span class='rparen token'>)</span>
-  <span class='data identifier id'>data</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
-  <span class='request identifier id'>request</span><span class='lparen token'>(</span><span class='symbol val'>:get</span><span class='comma token'>,</span> <span class='dstring node'>&quot;/docs/#{collection}&quot;</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='body identifier id'>body</span><span class='bitor op'>|</span>
-    <span class='document identifier id'>document</span> <span class='assign token'>=</span> <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='body identifier id'>body</span><span class='rparen token'>)</span>
-    <span class='if if kw'>if</span> <span class='operation identifier id'>operation</span>
-      <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:description</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='document identifier id'>document</span><span class='dot token'>.</span><span class='xpath identifier id'>xpath</span><span class='lparen token'>(</span><span class='string val'>'/docs/collection/operations/operation[@name = &quot;'</span><span class='plus op'>+</span><span class='operation identifier id'>operation</span><span class='plus op'>+</span><span class='string val'>'&quot;]/description'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='first identifier id'>first</span>
-      <span class='return return kw'>return</span> <span class='false false kw'>false</span> <span class='unless unless_mod kw'>unless</span> <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:description</span><span class='rbrack token'>]</span>
-      <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:params</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-      <span class='lparen token'>(</span><span class='document identifier id'>document</span><span class='div op'>/</span><span class='dstring node'>&quot;/docs/collection/operations/operation[@name='#{operation}']/parameter&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='param identifier id'>param</span><span class='bitor op'>|</span>
-        <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:params</span><span class='rbrack token'>]</span> <span class='lshft op'>&lt;&lt;</span> <span class='lbrace token'>{</span>
-          <span class='symbol val'>:name</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='param identifier id'>param</span><span class='lbrack token'>[</span><span class='string val'>'name'</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-          <span class='symbol val'>:required</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='param identifier id'>param</span><span class='lbrack token'>[</span><span class='string val'>'type'</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>'optional'</span><span class='comma token'>,</span>
-          <span class='symbol val'>:type</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='lparen token'>(</span><span class='param identifier id'>param</span><span class='div op'>/</span><span class='string val'>'class'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span>
-        <span class='rbrace token'>}</span>
-      <span class='end end kw'>end</span>
-    <span class='else else kw'>else</span>
-      <span class='data identifier id'>data</span><span class='lbrack token'>[</span><span class='symbol val'>:description</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='lparen token'>(</span><span class='document identifier id'>document</span><span class='div op'>/</span><span class='string val'>'/docs/collection/description'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span>
-    <span class='end end kw'>end</span>
-  <span class='end end kw'>end</span>
-  <span class='return return kw'>return</span> <span class='Documentation constant id'>Documentation</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='data identifier id'>data</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="feature?-instance_method">
-  
-    - (<tt>Boolean</tt>) <strong>feature?</strong>(collection, name) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Check if specified collection have wanted feature</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Boolean</tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-318
-319
-320</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 318</span>
-
-<span class='def def kw'>def</span> <span class='feature? fid id'>feature?</span><span class='lparen token'>(</span><span class='collection identifier id'>collection</span><span class='comma token'>,</span> <span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='@feature ivar id'>@feature</span><span class='dot token'>.</span><span class='has_key? fid id'>has_key?</span><span class='lparen token'>(</span><span class='collection identifier id'>collection</span><span class='rparen token'>)</span> <span class='andop op'>&amp;&amp;</span> <span class='@feature ivar id'>@feature</span><span class='lbrack token'>[</span><span class='collection identifier id'>collection</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="hardware_profile-instance_method">
-  
-    - (<tt><a href="API/HardwareProfile.html" title="DeltaCloud::API::HardwareProfile (class)">HardwareProfile</a></tt>) <strong>hardware_profile</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>A hardware profile represents a configuration of resources upon which a machine may be deployed. It defines aspects such as local disk storage, available RAM, and architecture. Each provider is free to define as many (or as few) hardware profiles as desired.</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="API/HardwareProfile.html" title="DeltaCloud::API::HardwareProfile (class)">HardwareProfile</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-61
-62</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 61</span>
-
-<span class='def def kw'>def</span> <span class='hardware_profile identifier id'>hardware_profile</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="hardware_profiles-instance_method">
-  
-    - (<tt>Array</tt>) <strong>hardware_profiles</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return collection of HardwareProfile objects</p>
-
-<pre class="code">   <span class='A constant id'>A</span> <span class='hardware identifier id'>hardware</span> <span class='profile identifier id'>profile</span> <span class='represents identifier id'>represents</span> <span class='a identifier id'>a</span> <span class='configuration identifier id'>configuration</span> <span class='of identifier id'>of</span> <span class='resources identifier id'>resources</span> <span class='upon identifier id'>upon</span> <span class='which identifier id'>which</span> <span class='a identifier id'>a</span>
-   <span class='machine identifier id'>machine</span> <span class='may identifier id'>may</span> <span class='be identifier id'>be</span> <span class='deployed identifier id'>deployed</span><span class='dot token'>.</span> <span class='It constant id'>It</span> <span class='defines identifier id'>defines</span> <span class='aspects identifier id'>aspects</span> <span class='such identifier id'>such</span> <span class='as identifier id'>as</span> <span class='local identifier id'>local</span> <span class='disk identifier id'>disk</span> <span class='storage identifier id'>storage</span><span class='comma token'>,</span>
-   <span class='available identifier id'>available</span> <span class='RAM constant id'>RAM</span><span class='comma token'>,</span> <span class='and and kw'>and</span> <span class='architecture identifier id'>architecture</span><span class='dot token'>.</span> <span class='Each constant id'>Each</span> <span class='provider identifier id'>provider</span> <span class='is identifier id'>is</span> <span class='free identifier id'>free</span> <span class='to identifier id'>to</span> <span class='define identifier id'>define</span> <span class='as identifier id'>as</span> <span class='many identifier id'>many</span>
-   <span class='lparen token'>(</span><span class='or or kw'>or</span> <span class='as identifier id'>as</span> <span class='few identifier id'>few</span><span class='rparen token'>)</span> <span class='hardware identifier id'>hardware</span> <span class='profiles identifier id'>profiles</span> <span class='as identifier id'>as</span> <span class='desired identifier id'>desired</span><span class='dot token'>.</span>
-</pre>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>architecture</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>id</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Array</tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p><span>HardwareProfile</span></p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-74
-75</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 74</span>
-
-<span class='def def kw'>def</span> <span class='hardware_profiles identifier id'>hardware_profiles</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="image-instance_method">
-  
-    - (<tt><a href="API/Image.html" title="DeltaCloud::API::Image (class)">Image</a></tt>) <strong>image</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>An image is a platonic form of a machine. Images are not directly executable, but are a template for creating actual instances of machines.&#8221;</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="API/Image.html" title="DeltaCloud::API::Image (class)">Image</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-98
-99</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 98</span>
-
-<span class='def def kw'>def</span> <span class='image identifier id'>image</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="images-instance_method">
-  
-    - (<tt>Array</tt>) <strong>images</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return collection of Image objects</p>
-
-<pre class="code">    <span class='An constant id'>An</span> <span class='image identifier id'>image</span> <span class='is identifier id'>is</span> <span class='a identifier id'>a</span> <span class='platonic identifier id'>platonic</span> <span class='form identifier id'>form</span> <span class='of identifier id'>of</span> <span class='a identifier id'>a</span> <span class='machine identifier id'>machine</span><span class='dot token'>.</span> <span class='Images constant id'>Images</span> <span class='are identifier id'>are</span> <span class='not not kw'>not</span> <span class='directly identifier id'>directly</span> <span class='executable identifier id'>executable</span><span class='comma token'>,</span>
-    <span class='but identifier id'>but</span> <span class='are identifier id'>are</span> <span class='a identifier id'>a</span> <span class='template identifier id'>template</span> <span class='for for kw'>for</span> <span class='creating identifier id'>creating</span> <span class='actual identifier id'>actual</span> <span class='instances identifier id'>instances</span> <span class='of identifier id'>of</span> <span class='machines identifier id'>machines</span><span class='dot token'>.</span><span class='string val'>&quot;
-</span></pre>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>architecture</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>owner_id</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>id</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Array</tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p><span>Image</span></p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-110
-111</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 110</span>
-
-<span class='def def kw'>def</span> <span class='images identifier id'>images</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="instance-instance_method">
-  
-    - (<tt><a href="API/Instance.html" title="DeltaCloud::API::Instance (class)">Instance</a></tt>) <strong>instance</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>An instance is a concrete machine realized from an image. The images collection may be obtained by following the link from the primary entry-point.&#8221;</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="API/Instance.html" title="DeltaCloud::API::Instance (class)">Instance</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-38
-39</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 38</span>
-
-<span class='def def kw'>def</span> <span class='instance identifier id'>instance</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="instance_state-instance_method">
-  
-    - (<tt><a href="InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a></tt>) <strong>instance_state</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>The possible states of an instance, and how to traverse between them</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-341
-342</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 341</span>
-
-<span class='def def kw'>def</span> <span class='instance_state identifier id'>instance_state</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="instance_states-instance_method">
-  
-    - (<tt>Array</tt>) <strong>instance_states</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return collection of InstanceState objects</p>
-
-<p>The possible states of an instance, and how to traverse between them</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Array</tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p><span>InstanceState</span></p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-323
-324</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 323</span>
-
-<span class='def def kw'>def</span> <span class='instance_states identifier id'>instance_states</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="instances-instance_method">
-  
-    - (<tt>Array</tt>) <strong>instances</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return collection of Instance objects</p>
-
-<pre class="code">    <span class='An constant id'>An</span> <span class='instance identifier id'>instance</span> <span class='is identifier id'>is</span> <span class='a identifier id'>a</span> <span class='concrete identifier id'>concrete</span> <span class='machine identifier id'>machine</span> <span class='realized identifier id'>realized</span> <span class='from identifier id'>from</span> <span class='an identifier id'>an</span> <span class='image identifier id'>image</span><span class='dot token'>.</span>
-    <span class='The constant id'>The</span> <span class='images identifier id'>images</span> <span class='collection identifier id'>collection</span> <span class='may identifier id'>may</span> <span class='be identifier id'>be</span> <span class='obtained identifier id'>obtained</span> <span class='by identifier id'>by</span> <span class='following identifier id'>following</span> <span class='the identifier id'>the</span> <span class='link identifier id'>link</span> <span class='from identifier id'>from</span> <span class='the identifier id'>the</span> <span class='primary identifier id'>primary</span> <span class='entry identifier id'>entry</span><span class='minus op'>-</span><span class='point identifier id'>point</span><span class='dot token'>.</span><span class='string val'>&quot;
-</span></pre>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>state</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt>string</tt>, <tt>id</tt>)</span>
-      
-      
-        <span class='name'></span>
-      
-      
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt>Array</tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p><span>Instance</span></p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-49
-50</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 49</span>
-
-<span class='def def kw'>def</span> <span class='instances identifier id'>instances</span><span class='lparen token'>(</span><span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="realm-instance_method">
-  
-    - (<tt><a href="API/Realm.html" title="DeltaCloud::API::Realm (class)">Realm</a></tt>) <strong>realm</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Within a cloud provider a realm represents a boundary containing resources. The exact definition of a realm is left to the cloud provider. In some cases, a realm may represent different datacenters, different continents, or different pools of resources within a single datacenter. A cloud provider may insist that resources must all exist within a single realm in order to cooperate. For instance, storage volumes may only be allowed to be mounted to instances within the same realm.</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="API/Realm.html" title="DeltaCloud::API::Realm (class)">Realm</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-125
-126</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 125</span>
-
-<span class='def def kw'>def</span> <span class='realm identifier id'>realm</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="realms-instance_method">
-  
-    - (<tt>Array</tt>) <strong>realms</strong>(opts = {}) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return collection of Realm objects</p>
-
-<pre class="code">    <span class='Within constant id'>Within</span> <span class='a identifier id'>a</span> <span class='cloud identifier id'>cloud</span> <span class='provider identifier id'>provider</span> <span class='a identifier id'>a</span> <span class='realm identifier id'>realm</span> <span class='represents identifier id'>represents</span> <span class='a identifier id'>a</span> <span class='boundary identifier id'>boundary</span> <span class='containing identifier id'>containing</span> <span class='resources identifier id'>resources</span><span class='dot token'>.</span>
-    <span class='The constant id'>The</span> <span class='exact identifier id'>exact</span> <span class='definition identifier id'>definition</span> <span class='of identifier id'>of</span> <span class='a identifier id'>a</span> <span class='realm identifier id'>realm</span> <span class='is identifier id'>is</span> <span class='left identifier id'>left</span> <span class='to identifier id'>to</span> <span class='the identifier id'>the</span> <span class='cloud identifier id'>cloud</span> <span class='provider identifier id'>provider</span><span class='dot token'>.</span>
-    <span class='In constant id'>In</span> <span class='some identifier id'>some</span> <span class='cases identifier id'>cases</span><span class='comma token'>,</span> <span class='a identifier id'>a</span> <span class='realm identifier id'>realm</span> <span class='may identifier id'>may</span> <span class='represent identifier id'>represent</span> <span class='different identifier id'>different</span> <span class='datacenters identifier id'>datacenters</span><span class='comma token'>,</span> <span class='different identifier id'>different</span> <span class='continents identifier id'>continents</span><span class='comma token'>,</span>
-    <span class='or or kw'>or</span> <span class='different identifier id'>different</span> <span class='pools identifier id'>pools</span> <span class='of identifier id'>of</span> <span class='resources identifier id'>resources</span> <span class='within identifier id'>within</span> <span class='a identifier id'>a</span> <span class='single identifier id'>single</span> <span class='datacenter identifier id'>datacenter</span><span class='dot token'>.</span>
-    <span class='A constant id'>A</span> <span class='cloud identifier id'>cloud</span> <span class='provider identifier id'>provider</span> <span class='may identifier id'>may</span> <span class='insist identifier id'>insist</span> <span class='that identifier id'>that</span> <span class='resources identifier id'>resources</span> <span class='must identifier id'>must</span> <span class='all identifier id'>all</span> <span class='exist identifier id'>exist</span> <span class='within identifier id'>within</span> <span class='a identifier id'>a</span> <span class='single identifier id'>single</span> <span class='realm identifier id'>realm</span> <span class='in in kw'>in</span>
-    <span class

<TRUNCATED>

[13/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0002_supports_version.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0002_supports_version.yml b/client/tests/fixtures/test_0002_supports_version.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0002_supports_version.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_caches_the_API_entrypoint.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_caches_the_API_entrypoint.yml b/client/tests/fixtures/test_0003_caches_the_API_entrypoint.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0003_caches_the_API_entrypoint.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_address.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_address.yml b/client/tests/fixtures/test_0003_support_address.yml
new file mode 100644
index 0000000..7fca4bb
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_address.yml
@@ -0,0 +1,197 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses/192.168.0.1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.014615535736083984'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '387'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1cf52496466fe893a6c760e6e049089
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<address href='http://localhost:3001/api/addresses/192.168.0.1'
+        id='192.168.0.1'>\n  <ip>192.168.0.1</ip>\n  <actions>\n    <link href='http://localhost:3001/api/addresses/192.168.0.1'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/addresses/192.168.0.1/associate'
+        method='post' rel='associate' />\n  </actions>\n</address>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '450'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/addresses/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/addresses/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0013897418975830078'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '412'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/addresses/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_bucket.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_bucket.yml b/client/tests/fixtures/test_0003_support_bucket.yml
new file mode 100644
index 0000000..5dc9363
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_bucket.yml
@@ -0,0 +1,198 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/bucket1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.005996227264404297'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d1130db2fb1a271d67e7d69ac1bd604e
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<bucket href='http://localhost:3001/api/buckets/bucket1'
+        id='bucket1'>\n  <name>bucket1</name>\n  <size>3</size>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob1'
+        id='blob1'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob3'
+        id='blob3'></blob>\n  <blob href='http://localhost:3001/api/buckets/bucket1/blob2'
+        id='blob2'></blob>\n</bucket>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '448'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/buckets/' do\n  \"Hello World\"\nend</pre>\n
+        \ </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/buckets/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.005069255828857422'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '410'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/buckets/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_create_blob.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_create_blob.yml b/client/tests/fixtures/test_0003_support_create_blob.yml
new file mode 100644
index 0000000..50dbd7e
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_create_blob.yml
@@ -0,0 +1,105 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:21:23 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:21:23 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/buckets/bucket1?blob_id=fooblob123&blob_data=content_of_blob
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '443'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6574f5c03aec17cf002144843bd14c8b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:21:23 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/fooblob123'
+        id='fooblob123'>\n  <bucket>bucket1</bucket>\n  <content_length>15</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2013-03-06 16:21:23
+        +0100</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/fooblob123/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:21:23 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_create_blob_and_destroy_blob.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_create_blob_and_destroy_blob.yml b/client/tests/fixtures/test_0003_support_create_blob_and_destroy_blob.yml
new file mode 100644
index 0000000..6a7c16a
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_create_blob_and_destroy_blob.yml
@@ -0,0 +1,138 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:23:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:23:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/buckets/bucket1?blob_id=fooblob123&blob_data=content_of_blob
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '443'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - f6ce5721c6b30c23096aff986d739005
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:23:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<blob href='http://localhost:3001/api/buckets/bucket1/fooblob123'
+        id='fooblob123'>\n  <bucket>bucket1</bucket>\n  <content_length>15</content_length>\n
+        \ <content_type>text/plain</content_type>\n  <last_modified>2013-03-06 16:23:18
+        +0100</last_modified>\n  <user_metadata>\n  </user_metadata>\n  <content href='http://localhost:3001/api/buckets/bucket1/fooblob123/content'
+        rel='blob_content'></content>\n</blob>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:23:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/buckets/bucket1/fooblob123
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:23:31 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:23:31 GMT
+recorded_with: VCR 2.4.0


[08/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_image_and_destroy_image.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_image_and_destroy_image.yml b/client/tests/fixtures/test_0004_support_create_image_and_destroy_image.yml
new file mode 100644
index 0000000..527fbbd
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_image_and_destroy_image.yml
@@ -0,0 +1,1527 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/images?name=test&instance_id=inst1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/images/test
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '513'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c391550ee53af23a602c6b76617c040b
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/test'
+        id='test'>\n  <name>test</name>\n  <description></description>\n  <owner_id>root</owner_id>\n
+        \ <architecture>i386</architecture>\n  <state>AVAILABLE</state>\n  <root_type>transient</root_type>\n
+        \ <actions>\n    <link href='http://localhost:3001/api/instances;image_id=test'
+        method='post' rel='create_instance' />\n    <link href='http://localhost:3001/api/images/test'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/images/test
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/images?name=test&instance_id
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 500
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '77265'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='500' url='/api/images'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>500</code>\n
+        \ <message><![CDATA[CreateImageNotSupported]]></message>\n  <backtrace>/home/mfojtik/code/core/server/lib/deltacloud/drivers/mock/mock_driver.rb:148:in
+        `block in create_image'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `call'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `safely'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/mock/mock_driver.rb:147:in
+        `create_image'\n/home/mfojtik/code/core/server/lib/deltacloud/collections/images.rb:44:in
+        `block (3 levels) in <class:Images>'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `instance_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `block in control'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `block in compile!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `[]'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (3 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:876:in
+        `route_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (2 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:897:in
+        `block in process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:859:in
+        `block in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_driver_select.rb:45:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_etag.rb:41:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_date.rb:31:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_logger.rb:87:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1499:in
+        `synchronize'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_matrix_params.rb:104:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:81:in
+        `block in pre_process'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `catch'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `pre_process'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `block in spawn_threadpool'</backtrace>\n  <request>\n    <param name='name'><![CDATA[\"test\"]]></param>\n
+        \   <param name='instance_id'><![CDATA[nil]]></param>\n    <param name='sp

<TRUNCATED>

[02/30] Client: Complete rewrite of deltacloud-client

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/driver.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/driver.rb b/client/lib/deltacloud/client/methods/driver.rb
new file mode 100644
index 0000000..107bcc3
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/driver.rb
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Driver
+
+      # Retrieve list of all drivers
+      #
+      # Filter options:
+      #
+      # - :id -> Filter drivers using their 'id'
+      # - :state -> Filter drivers  by their 'state'
+      #
+      def drivers(filter_opts={})
+        from_collection(
+          :drivers,
+          connection.get(api_uri('drivers'), filter_opts)
+        )
+      end
+
+      # Retrieve the given driver
+      #
+      # - driver_id -> Driver to retrieve
+      #
+      def driver(driver_id)
+        from_resource(
+          :driver,
+          connection.get(api_uri("drivers/#{driver_id}"))
+        )
+      end
+
+      # List of the current driver providers
+      #
+      def providers
+        driver(current_driver).providers
+      end
+
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/firewall.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/firewall.rb b/client/lib/deltacloud/client/methods/firewall.rb
new file mode 100644
index 0000000..547dfc5
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/firewall.rb
@@ -0,0 +1,66 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Firewall
+
+      # Retrieve list of all firewall entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def firewalls(filter_opts={})
+        from_collection :firewalls,
+        connection.get(api_uri('firewalls'), filter_opts)
+      end
+
+      # Retrieve the single firewall entity
+      #
+      # - firewall_id -> Firewall entity to retrieve
+      #
+      def firewall(firewall_id)
+        from_resource :firewall,
+          connection.get(api_uri("firewalls/#{firewall_id}"))
+      end
+
+      # Create a new firewall
+      #
+      # - create_opts
+      #
+      def create_firewall(name, create_opts={})
+        create_resource :firewall, { :name => name }.merge(create_opts)
+      end
+
+      def destroy_firewall(firewall_id)
+        destroy_resource :firewall, firewall_id
+      end
+
+      def add_firewall_rule(firewall_id, protocol, port_from, port_to, opts={})
+        r = connection.post(api_uri("firewalls/#{firewall_id}/rules")) do |request|
+          request.params = {
+            :protocol => protocol,
+            :port_from => port_from,
+            :port_to => port_to
+          }
+          # TODO: Add support for sources
+        end
+        model(:firewall).convert(self, r.body)
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/hardware_profile.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/hardware_profile.rb b/client/lib/deltacloud/client/methods/hardware_profile.rb
new file mode 100644
index 0000000..0cf744c
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/hardware_profile.rb
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module HardwareProfile
+
+      # Retrieve list of all hardware_profiles
+      #
+      # Filter options:
+      #
+      # - :id -> Filter hardware_profiles using their 'id'
+      #
+      def hardware_profiles(filter_opts={})
+        from_collection :hardware_profiles,
+          connection.get(api_uri('hardware_profiles'), filter_opts)
+      end
+
+      # Retrieve the given hardware_profile
+      #
+      # - hardware_profile_id -> hardware_profile to retrieve
+      #
+      def hardware_profile(hwp_id)
+        from_resource :hardware_profile,
+          connection.get(api_uri("hardware_profiles/#{hwp_id}"))
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/image.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/image.rb b/client/lib/deltacloud/client/methods/image.rb
new file mode 100644
index 0000000..8e3765b
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/image.rb
@@ -0,0 +1,62 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Image
+
+      # Retrieve list of all images
+      #
+      # Filter options:
+      #
+      # - :id -> Filter images using their 'id'
+      # - :state -> Filter images  by their 'state'
+      # - :architecture -> Filter images  by their 'architecture'
+      #
+      def images(filter_opts={})
+        from_collection :images,
+          connection.get(api_uri('images'), filter_opts)
+      end
+
+      # Retrieve the given image
+      #
+      # - image_id -> Image to retrieve
+      #
+      def image(image_id)
+        from_resource :image,
+          connection.get(api_uri("images/#{image_id}"))
+      end
+
+      # Create a new image from instance
+      #
+      # - instance_id -> The stopped instance used for creation
+      # - create_opts
+      #   - :name     -> Name of the new image
+      #   - :description -> Description of the new image
+      #
+      def create_image(instance_id, create_opts={})
+        create_resource :image, { :instance_id => instance_id }.merge(create_opts)
+      end
+
+      # Destroy given image
+      # NOTE: This operation might not be supported for all drivers.
+      #
+      def destroy_image(image_id)
+        destroy_resource :image, image_id
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/instance.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/instance.rb b/client/lib/deltacloud/client/methods/instance.rb
new file mode 100644
index 0000000..4749d82
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/instance.rb
@@ -0,0 +1,140 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Instance
+
+      # Retrieve list of all instances
+      #
+      # Filter options:
+      #
+      # - :id -> Filter instances using their 'id'
+      # - :state -> Filter instances by their 'state'
+      # - :realm_id -> Filter instances based on their 'realm_id'
+      #
+      def instances(filter_opts={})
+        from_collection(
+          :instances,
+          connection.get(api_uri('/instances'), filter_opts)
+        )
+      end
+
+      # Retrieve the given instance
+      #
+      # - instance_id -> Instance to retrieve
+      #
+      def instance(instance_id)
+        from_resource(
+          :instance,
+          connection.get(api_uri("instances/#{instance_id}"))
+        )
+      end
+
+      # Create a new instance
+      #
+      # - image_id ->    Image to use for instance creation (img1, ami-12345, etc...)
+      # - create_opts -> Various options that DC support for the current
+      #                  provider.
+      #
+      # Returns created instance, or list of created instances or all instances.
+      #
+      def create_instance(image_id, create_opts={})
+        r = create_resource :instance, create_opts.merge(
+          :image_id => image_id,
+          :no_convert_model => true
+        )
+        parse_create_instance(r)
+      end
+
+      # Destroy the current +Instance+
+      # Returns 'true' if the response was 204 No Content
+      #
+      # - instance_id -> The 'id' of the Instance to destroy
+      #
+      def destroy_instance(instance_id)
+        destroy_resource :instance, instance_id
+      end
+
+      # Attempt to change the +Instance+ state to STOPPED
+      #
+      # - instance_id -> The 'id' of the Instance to stop
+      #
+      def stop_instance(instance_id)
+        instance_action :stop, instance_id
+      end
+
+      # Attempt to change the +Instance+ state to STARTED
+      #
+      # - instance_id -> The 'id' of the Instance to start
+      #
+      def start_instance(instance_id)
+        instance_action :start, instance_id
+      end
+
+      # Attempt to reboot the +Instance+
+      #
+      # - instance_id -> The 'id' of the Instance to reboot
+      #
+      def reboot_instance(instance_id)
+        instance_action :reboot, instance_id
+      end
+
+      private
+
+      # Avoid codu duplication ;-)
+      #
+      def instance_action(action, instance_id)
+        result = connection.post(
+          api_uri("/instances/#{instance_id}/#{action}")
+        )
+        if result.status.is_ok?
+          from_resource(:instance, result)
+        else
+          instance(instance_id)
+        end
+      end
+
+      # Handles parsing of +create_instance+ method
+      #
+      # - response -> +create_instance+ HTTP response body
+      #
+      def parse_create_instance(response)
+        # If Deltacloud API return only Location (30x), follow it and
+        # retrieve created instance from there.
+        #
+        if response.status.is_redirect?
+          # If Deltacloud API redirect to list of instances
+          # then return list of **all** instances, otherwise
+          # grab the instance_id from Location header
+          #
+          redirect_instance = response.headers['Location'].split('/').last
+          if redirect_instance == 'instances'
+            instances
+          else
+            instance(redirect_instance)
+          end
+        elsif response.body.to_xml.root.name == 'instances'
+          # If more than 1 instance was created, return list
+          #
+          from_collection(:instances, response.body)
+        else
+          from_resource(:instance, response)
+        end
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/instance_state.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/instance_state.rb b/client/lib/deltacloud/client/methods/instance_state.rb
new file mode 100644
index 0000000..3c853d0
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/instance_state.rb
@@ -0,0 +1,41 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module InstanceState
+
+      # Representation of the current driver state machine
+      #
+      def instance_states
+        r = connection.get(api_uri("instance_states"))
+        r.body.to_xml.root.xpath('state').map do |se|
+          state = model(:instance_state).new_state(se['name'])
+          se.xpath('transition').each do |te|
+            state.transitions << model(:instance_state).new_transition(
+              te['to'], te['action']
+            )
+          end
+          state
+        end
+      end
+
+      def instance_state(name)
+        instance_states.find { |s| s.name.to_s.eql?(name.to_s) }
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/key.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/key.rb b/client/lib/deltacloud/client/methods/key.rb
new file mode 100644
index 0000000..8984f23
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/key.rb
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Key
+
+      # Retrieve list of all key entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def keys(filter_opts={})
+        from_collection :keys,
+          connection.get(api_uri('keys'), filter_opts)
+      end
+
+      # Retrieve the single key entity
+      #
+      # - key_id -> Key entity to retrieve
+      #
+      def key(key_id)
+        from_resource :key,
+          connection.get(api_uri("keys/#{key_id}"))
+      end
+
+      # Create a new credentials to use with authentication
+      # to an +Instance+
+      #
+      # - key_name -> The name of the key
+      # - create_opts
+      #   : public_key -> Your SSH public key (eg. ~/.ssh/id_rsa.pub)
+      #
+      def create_key(key_name, create_opts={})
+        create_resource :key, create_opts.merge(:name => key_name)
+      end
+
+      # Destroy the SSH key
+      #
+      def destroy_key(key_id)
+        destroy_resource :key, key_id
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/realm.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/realm.rb b/client/lib/deltacloud/client/methods/realm.rb
new file mode 100644
index 0000000..41807f0
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/realm.rb
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module Realm
+
+      # Retrieve list of all realms
+      #
+      # Filter options:
+      #
+      # - :id -> Filter realms using their 'id'
+      # - :state -> Filter realms  by their 'state'
+      #
+      def realms(filter_opts={})
+        from_collection :realms,
+          connection.get(api_uri("realms"), filter_opts)
+      end
+
+      # Retrieve the given realm
+      #
+      # - realm_id -> Instance to retrieve
+      #
+      def realm(realm_id)
+        from_resource :realm,
+          connection.get(api_uri("realms/#{realm_id}"))
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/storage_snapshot.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/storage_snapshot.rb b/client/lib/deltacloud/client/methods/storage_snapshot.rb
new file mode 100644
index 0000000..33c1696
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/storage_snapshot.rb
@@ -0,0 +1,62 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module StorageSnapshot
+
+      # Retrieve list of all storage_snapshot entities
+      #
+      # Filter options:
+      #
+      # - :id -> Filter entities using 'id' attribute
+      #
+      def storage_snapshots(filter_opts={})
+        from_collection :storage_snapshots,
+          connection.get(api_uri('storage_snapshots'), filter_opts)
+      end
+
+      # Retrieve the single storage_snapshot entity
+      #
+      # - storage_snapshot_id -> StorageSnapshot entity to retrieve
+      #
+      def storage_snapshot(storage_snapshot_id)
+        from_resource :storage_snapshot,
+          connection.get(api_uri("storage_snapshots/#{storage_snapshot_id}"))
+      end
+
+      # Create a new StorageSnapshot based on +volume_id+
+      #
+      # - volume_id -> ID of the +StorageVolume+ to create snapshot from
+      # - create_opts ->
+      #   :name -> Name of the StorageSnapshot
+      #   :description -> Description of the StorageSnapshot
+      #
+      def create_storage_snapshot(volume_id, create_opts={})
+        create_resource :storage_snapshot, create_opts.merge(:volume_id => volume_id)
+      end
+
+      # Destroy the current +StorageSnapshot+
+      # Returns 'true' if the response was 204 No Content
+      #
+      # - snapshot_id -> The 'id' of the snapshot to destroy
+      #
+      def destroy_storage_snapshot(snapshot_id)
+        destroy_resource :storage_snapshot, snapshot_id
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/methods/storage_volume.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/methods/storage_volume.rb b/client/lib/deltacloud/client/methods/storage_volume.rb
new file mode 100644
index 0000000..be6c4ca
--- /dev/null
+++ b/client/lib/deltacloud/client/methods/storage_volume.rb
@@ -0,0 +1,95 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  module Methods
+    module StorageVolume
+
+      # Retrieve list of all storage_volumes
+      #
+      # Filter options:
+      #
+      # - :id -> Filter storage_volumes using their 'id'
+      # - :state -> Filter storage_volumes  by their 'state'
+      #
+      def storage_volumes(filter_opts={})
+        from_collection :storage_volumes,
+          connection.get(api_uri("storage_volumes"), filter_opts)
+      end
+
+      # Retrieve the given storage_volume
+      #
+      # - storage_volume_id -> Instance to retrieve
+      #
+      def storage_volume(storage_volume_id)
+        from_resource :storage_volume,
+          connection.get(api_uri("storage_volumes/#{storage_volume_id}"))
+      end
+
+      # Create new storage volume
+      #
+      # - :snapshot_id -> Snapshot to use for creating a new volume
+      # - :capacity    -> Initial Volume capacity
+      # - :realm_id    -> Create volume in this realm
+      # - :name        -> Volume name
+      # - :description -> Volume description
+      #
+      # NOTE: Some create options might not be supported by backend cloud
+      #
+      def create_storage_volume(create_opts={})
+        create_resource :storage_volume, create_opts
+      end
+
+      # Destroy the current +StorageVolume+
+      # Returns 'true' if the response was 204 No Content
+      #
+      # - volume_id -> The 'id' of the volume to destroy
+      #
+      def destroy_storage_volume(volume_id)
+        destroy_resource :storage_volume, volume_id
+      end
+
+      # Attach the Storage Volume to the Instance
+      # The +device+ parameter could be used if supported.
+      #
+      # - volume_id -> Volume ID (eg. 'vol1')
+      # - instance_id -> Target Instance ID (eg. 'inst1')
+      # - device -> Target device in Instance (eg. '/dev/sda2')
+      #
+      def attach_storage_volume(volume_id, instance_id, device=nil)
+        must_support! :storage_volumes
+        result = connection.post(api_uri("/storage_volumes/#{volume_id}/attach")) do |r|
+          r.params = { :instance_id => instance_id, :device => device }
+        end
+        if result.status.is_ok?
+          from_resource(:storage_volume, result)
+        end
+      end
+
+      # Detach the Storage Volume from the Instance
+      #
+      # -volume_id -> Volume to detach
+      #
+      def detach_storage_volume(volume_id)
+        must_support! :storage_volumes
+        result = connection.post(api_uri("/storage_volumes/#{volume_id}/detach"))
+        if result.status.is_ok?
+          from_resource(:storage_volume, result)
+        end
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models.rb b/client/lib/deltacloud/client/models.rb
new file mode 100644
index 0000000..63b5a24
--- /dev/null
+++ b/client/lib/deltacloud/client/models.rb
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative './models/base'
+require_relative './models/driver'
+require_relative './models/realm'
+require_relative './models/hardware_profile'
+require_relative './models/image'
+require_relative './models/instance_address'
+require_relative './models/instance'
+require_relative './models/instance_state'
+require_relative './models/storage_volume'
+require_relative './models/storage_snapshot'
+require_relative './models/key'
+require_relative './models/address'
+require_relative './models/bucket'
+require_relative './models/blob'
+require_relative './models/firewall'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/address.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/address.rb b/client/lib/deltacloud/client/models/address.rb
new file mode 100644
index 0000000..d39d80b
--- /dev/null
+++ b/client/lib/deltacloud/client/models/address.rb
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Address < Base
+    include Deltacloud::Client::Methods::Address
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :ip
+    attr_reader :instance_id
+
+    # Address model methods
+    #
+
+    # Associate the IP address to the +Instance+
+    #
+    def associate(instance_id)
+      associate_address(_id, instance_id)
+    end
+
+    # Disassociate the IP address from +Instance+
+    #
+    def disassociate
+      disassociate_address(_id)
+    end
+
+    def destroy!
+      destroy_address(_id)
+    end
+
+    # Parse the Address entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the address
+    #
+    def self.parse(xml_body)
+      {
+        :ip => xml_body.text_at(:ip),
+        :instance_id => xml_body.attr_at('instance', :id)
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/base.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/base.rb b/client/lib/deltacloud/client/models/base.rb
new file mode 100644
index 0000000..9f51fb0
--- /dev/null
+++ b/client/lib/deltacloud/client/models/base.rb
@@ -0,0 +1,151 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+
+  class Base
+
+    extend Helpers::XmlHelper
+
+    include Deltacloud::Client::Helpers::Model
+    include Deltacloud::Client::Methods::Api
+
+    # These attributes are common for all models
+    #
+    # - obj_id -> The :id of Deltacloud API model (eg. instance ID)
+    #
+    attr_reader :obj_id
+    attr_reader :name
+    attr_reader :description
+
+    # The Base class that other models should inherit from
+    # To initialize, you need to suply these mandatory params:
+    #
+    # - :_client -> Reference to Client instance
+    # - :_id     -> The 'id' of resource. The '_' is there to avoid conflicts
+    #
+    def initialize(opts={})
+      @options = opts
+      @obj_id = @options.delete(:_id)
+      # Do not allow to modify the object#base_id
+      @obj_id.freeze
+      @client = @options.delete(:_client)
+      @original_body = @options.delete(:original_body)
+      update_instance_variables!(@options)
+    end
+
+    alias_method :_id, :obj_id
+
+    # Populate instance variables in model
+    # This method could be also used to update the variables for already
+    # initialized models. Look at +Instance#reload!+ method.
+    #
+    def update_instance_variables!(opts={})
+      @options.merge!(opts)
+      @options.each { |key, val| self.instance_variable_set("@#{key}", val) unless val.nil? }
+      self
+    end
+
+    # Eye-candy representation of model, without ugly @client representation
+    #
+    def to_s
+      "#<#{self.class.name}> #{@options.merge(:_id => @obj_id).inspect}"
+    end
+
+    # An internal reference to the current Deltacloud::Client::Connection
+    # instance. Used for implementing the model methods
+    #
+    def client
+      @client
+    end
+
+    # Shorthand for +client+.connection
+    #
+    # Return Faraday connection object.
+    #
+    def connection
+      client.connection
+    end
+
+    # Return the cached version of Deltacloud API entrypoint
+    #
+    def entrypoint
+      client.entrypoint
+    end
+
+    # Return the original XML body model was constructed from
+    # This might help debugging broken XML
+    #
+    def original_body
+      @original_body
+    end
+
+    # The model#id is the old way how to get the Deltacloud API resource
+    # 'id'. However this collide with the Ruby Object#id.
+    #
+    def id
+      warn '[DEPRECATION] `id` is deprecated because of possible conflict with Object#id. Use `_id` instead.'
+      _id
+    end
+
+    class << self
+
+      # Parse the XML response body from Deltacloud API
+      # to +Hash+. Result is then used to create an instance of Deltacloud model
+      #
+      # NOTE: Children classes **must** implement this class method
+      #
+      def parse(client_ref, inst)
+        warn "The self#parse method **must** be defined in #{self.class.name}"
+        {}
+      end
+
+      # Convert the parsed +Hash+ from +parse+ method to instance of Deltacloud model
+      #
+      # - client_ref -> Reference to the Client instance
+      # - obj -> Might be a Nokogiri::Element or Response
+      #
+      def convert(client_ref, obj)
+        body = extract_xml_body(obj).to_xml.root
+        attrs = parse(body)
+        attrs.merge!({
+          :_id => body['id'],
+          :_client => client_ref,
+          :name => body.text_at(:name),
+          :description => body.text_at(:description)
+        })
+        validate_attrs!(attrs)
+        new(attrs.merge(:original_body => obj))
+      end
+
+      # Convert response for the collection responses.
+      #
+      def from_collection(client_ref, response)
+        response.body.to_xml.xpath('/*/*').map do |entity|
+          convert(client_ref, entity)
+        end
+      end
+
+      # The :_id and :_client attributes are mandotory
+      # to construct a Base model object.
+      #
+      def validate_attrs!(attrs)
+        raise error.new('The :_id must not be nil.') if attrs[:_id].nil?
+        raise error.new('The :_client reference is missing.') if attrs[:_client].nil?
+      end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/blob.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/blob.rb b/client/lib/deltacloud/client/models/blob.rb
new file mode 100644
index 0000000..569c187
--- /dev/null
+++ b/client/lib/deltacloud/client/models/blob.rb
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Blob < Base
+
+    include Deltacloud::Client::Methods::Blob
+    include Deltacloud::Client::Methods::Bucket
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :bucket_id
+    attr_reader :content_length
+    attr_reader :content_type
+    attr_reader :last_modified
+    attr_reader :user_metadata
+
+    # Blob model methods
+    #
+
+    def bucket
+      super(bucket_id)
+    end
+
+    # Parse the Blob entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the blob
+    #
+    def self.parse(xml_body)
+      {
+        :bucket_id => xml_body.text_at(:bucket_id) || xml_body.text_at(:bucket), # FIXME: DC bug
+        :content_length => xml_body.text_at(:content_length),
+        :content_type => xml_body.text_at(:content_type),
+        :last_modified => xml_body.text_at(:last_modified),
+        :user_metadata => xml_body.xpath('user_metadata/entry').inject({}) { |r,e|
+          r[e['key']] = e.text.strip
+          r
+        }
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/bucket.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/bucket.rb b/client/lib/deltacloud/client/models/bucket.rb
new file mode 100644
index 0000000..9a8a856
--- /dev/null
+++ b/client/lib/deltacloud/client/models/bucket.rb
@@ -0,0 +1,65 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Bucket < Base
+
+    include Deltacloud::Client::Methods::Bucket
+    include Deltacloud::Client::Methods::Blob
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :size
+    attr_reader :blob_ids
+
+    # Bucket model methods
+    #
+    #
+
+    # All blobs associated with the current bucket
+    # The 'bucket_id' should not be set in this case.
+    #
+    def blobs(bucket_id=nil)
+      super(_id)
+    end
+
+    # Add a new blob to the bucket.
+    # See: +create_blob+
+    #
+    def add_blob(blob_name, blob_data, blob_create_opts={})
+      create_blob(_id, blob_name, blob_data, create_opts)
+    end
+
+    # Remove a blob from the bucket
+    # See: +destroy_blob+
+    #
+    def remove_blob(blob_id)
+      destroy_blob(_id, blob_id)
+    end
+
+    # Parse the Bucket entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the bucket
+    #
+    def self.parse(xml_body)
+      {
+        :size => xml_body.text_at(:size),
+        :blob_ids => xml_body.xpath('blob').map { |b| b['id'] }
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/driver.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/driver.rb b/client/lib/deltacloud/client/models/driver.rb
new file mode 100644
index 0000000..538d463
--- /dev/null
+++ b/client/lib/deltacloud/client/models/driver.rb
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+
+  class Driver < Base
+
+    attr_reader :providers
+
+    # Syntax sugar for returning provider from Driver
+    # instance:
+    #
+    # client.driver(:ec2)['us-west-1'] # => List of endpoints
+    #
+    # - provider_id -> Provider ID, like 'us-west-1'
+    #
+    def [](provider_id)
+      @providers ||= []
+      prov = @providers.find { |p| p.name == provider_id }
+      prov.instance_variable_set('@client', @client)
+      prov
+    end
+
+    def self.parse(xml_body)
+      {
+        :providers => xml_body.xpath('provider').map { |p| Provider.parse(p) }
+      }
+    end
+
+    class Provider
+
+      attr_reader :name
+      attr_reader :entrypoints
+
+      def initialize(name, entrypoints=[])
+        @name = name
+        @entrypoints = entrypoints
+      end
+
+      # Syntax sugar for retrieving list of endpoints available for the
+      # provider
+      #
+      # - entrypoint_id -> Entrypoint ID, like 's3'
+      #
+      def [](entrypoint_id)
+        @entrypoints ||= []
+        ent_point = @entrypoints.find { |name, _| name == entrypoint_id }
+        ent_point ? ent_point.last : nil
+      end
+
+      # Method to check if given credentials can be used to authorize
+      # connection to current provider:
+      #
+      # client.driver(:ec2)['us-west-1'].valid_credentials? 'user', 'password'
+      #
+      # - api_user -> API key
+      # - api_password -> API secret
+      #
+      def valid_credentials?(api_user, api_password)
+        unless @client
+          raise error.new('Please use driver("ec2")[API_PROVIDER].valid_credentials?')
+        end
+        @client.use(@client.current_driver, api_user, api_password, @name).valid_credentials?
+      end
+
+      def self.parse(p)
+        new(
+          p['id'],
+          p.xpath('entrypoint').inject({}) { |r, e| r[e['kind']] = e.text.strip; r }
+        )
+      end
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/firewall.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/firewall.rb b/client/lib/deltacloud/client/models/firewall.rb
new file mode 100644
index 0000000..9bbe0f2
--- /dev/null
+++ b/client/lib/deltacloud/client/models/firewall.rb
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Firewall < Base
+
+    include Deltacloud::Client::Methods::Common
+    include Deltacloud::Client::Methods::Firewall
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :owner_id
+    attr_reader :rules
+
+    # Firewall model methods
+    #
+    # def reboot!
+    #   firewall_reboot(_id)
+    # end
+
+    # Parse the Firewall entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the firewall
+    #
+    def self.parse(xml_body)
+      {
+        :owner_id => xml_body.text_at(:owner_id),
+        :rules => xml_body.xpath('rules/rule').map { |rule|
+          Rule.convert(self, rule)
+        }
+      }
+    end
+
+    class Rule < Deltacloud::Client::Base
+
+      attr_reader :allow_protocol
+      attr_reader :port_from
+      attr_reader :port_to
+      attr_reader :direction
+      attr_reader :sources
+
+     def self.parse(xml_body)
+       {
+        :allow_protocol => xml_body.text_at(:allow_protocol),
+        :port_from => xml_body.text_at(:port_from),
+        :port_to => xml_body.text_at(:port_to),
+        :direction => xml_body.text_at(:direction),
+        :sources => xml_body.xpath('sources/source').map { |s|
+          { :name => s['name'], :owner => s['owner'], :type => s['type'] }
+        }
+       }
+     end
+
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/hardware_profile.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/hardware_profile.rb b/client/lib/deltacloud/client/models/hardware_profile.rb
new file mode 100644
index 0000000..83432b8
--- /dev/null
+++ b/client/lib/deltacloud/client/models/hardware_profile.rb
@@ -0,0 +1,68 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class HardwareProfile < Base
+
+    include Deltacloud::Client::Helpers
+
+    attr_reader :properties
+
+    def self.parse(hwp)
+      {
+        :properties => hwp.xpath('property').map { |p|
+          property_klass(p['kind']).parse(p)
+        }
+      }
+    end
+
+    def cpu
+      property :cpu
+    end
+
+    def memory
+      property :memory
+    end
+
+    def architecture
+      property :architecture
+    end
+
+    def storage
+      property :storage
+    end
+
+    def opaque?
+      @properties.empty? && @name == 'opaque'
+    end
+
+    private
+
+    def property(name)
+      @properties.find { |p| p.name == name.to_s }
+    end
+
+    def self.property_klass(kind)
+      case kind
+        when 'enum'   then Property::Enum
+        when 'range'  then Property::Range
+        when 'fixed'  then Property::Fixed
+        when 'opaque' then Property::Property
+        else raise error.new("Unknown HWP property: #{kind}")
+      end
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/image.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/image.rb b/client/lib/deltacloud/client/models/image.rb
new file mode 100644
index 0000000..8599f41
--- /dev/null
+++ b/client/lib/deltacloud/client/models/image.rb
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Image < Base
+
+    attr_reader :owner_id, :architecture, :state
+    attr_reader :creation_time, :root_type, :hardware_profile_ids
+
+    def hardware_profiles
+      @client.hardware_profiles.select { |hwp| @hardware_profile_ids.include?(hwp._id) }
+    end
+
+    def is_compatible?(hardware_profile_id)
+      hardware_profile_ids.include? hardware_profile_id
+    end
+
+    # Launch the image using +Instance+#+create_instance+ method.
+    # This method is more strict in checking +HardwareProfile+
+    # and in case you use incompatible HWP it raise an error.
+    #
+    # - create_instance_opts -> +create_instance+ options
+    #
+    def launch(create_instance_opts={})
+
+      if hwp_id = create_instance_opts[:hwp_id]
+        raise error(:incompatible_hardware_profile).new(
+          "Profile '#{hwp_id}' is not compatible with this image."
+        ) unless is_compatible?(hwp_id)
+      end
+
+      @client.create_instance(self._id, create_instance_opts)
+    end
+
+    def self.parse(xml_body)
+      {
+        :owner_id =>        xml_body.text_at(:owner_id),
+        :architecture =>    xml_body.text_at(:architecture),
+        :state =>           xml_body.text_at(:state),
+        :creation_time =>   xml_body.text_at('creation_time'),
+        :root_type =>       xml_body.text_at('root_type'),
+        :hardware_profile_ids => xml_body.xpath('hardware_profiles/hardware_profile').map { |h|
+          h['id']
+        }
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/instance.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/instance.rb b/client/lib/deltacloud/client/models/instance.rb
new file mode 100644
index 0000000..01e1882
--- /dev/null
+++ b/client/lib/deltacloud/client/models/instance.rb
@@ -0,0 +1,122 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Instance < Base
+
+    include Deltacloud::Client::Methods::Common
+    include Deltacloud::Client::Methods::Instance
+    include Deltacloud::Client::Methods::Realm
+    include Deltacloud::Client::Methods::HardwareProfile
+    include Deltacloud::Client::Methods::Image
+
+    attr_reader :realm_id
+    attr_reader :owner_id
+    attr_reader :image_id
+    attr_reader :hardware_profile_id
+
+    attr_accessor :state
+    attr_accessor :public_addresses
+    attr_accessor :private_addresses
+
+    # Destroy the current Instance
+    #
+    def destroy!
+      destroy_instance(_id)
+    end
+
+    # Execute +stop_instance+ method on current Instance
+    #
+    def stop!
+      stop_instance(_id) && reload!
+    end
+
+    # Execute +start_instance+ method on current Instance
+    #
+    def start!
+      start_instance(_id) && reload!
+    end
+
+    # Execute +reboot_instance+ method on current Instance
+    #
+    def reboot!
+      reboot_instance(_id) && reload!
+    end
+
+    # Retrieve the +Realm+ associated with Instance
+    #
+    def realm
+      super(realm_id)
+    end
+
+    def hardware_profile
+      super(hardware_profile_id)
+    end
+
+    def image
+      super(image_id)
+    end
+
+    def method_missing(name, *args)
+      return self.state.downcase == $1 if name.to_s =~ /^is_(\w+)\?$/
+      super
+    end
+
+    # Helper for is_STATE?
+    #
+    # is_running?
+    # is_stopped?
+    #
+    def method_missing(name, *args)
+      if name =~ /^is_(\w+)\?$/
+        return state == $1.upcase
+      end
+      super
+    end
+
+    class << self
+
+      def parse(xml_body)
+        {
+          :state =>               xml_body.text_at('state'),
+          :owner_id =>            xml_body.text_at('owner_id'),
+          :realm_id =>            xml_body.attr_at('realm', :id),
+          :image_id =>            xml_body.attr_at('image', :id),
+          :hardware_profile_id => xml_body.attr_at('hardware_profile', :id),
+          :public_addresses => InstanceAddress.convert(
+            xml_body.xpath('public_addresses/address')
+          ),
+          :private_addresses => InstanceAddress.convert(
+            xml_body.xpath('private_addresses/address')
+          )
+        }
+      end
+
+    end
+
+    # Attempt to reload :public_addresses, :private_addresses and :state
+    # of the instance, after the instance is modified by calling method
+    #
+    def reload!
+      new_instance = instance(_id)
+      update_instance_variables!(
+        :public_addresses => new_instance.public_addresses,
+        :private_addresses => new_instance.private_addresses,
+        :state => new_instance.state
+      )
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/instance_address.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/instance_address.rb b/client/lib/deltacloud/client/models/instance_address.rb
new file mode 100644
index 0000000..f40c264
--- /dev/null
+++ b/client/lib/deltacloud/client/models/instance_address.rb
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class InstanceAddress < OpenStruct
+
+    attr_reader :type
+    attr_reader :value
+
+    def to_s
+      @value
+    end
+
+    def self.convert(address_xml_block)
+      address_xml_block.map do |addr|
+        new(
+          :type => addr['type'],
+          :value => addr.text
+        )
+      end
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/instance_state.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/instance_state.rb b/client/lib/deltacloud/client/models/instance_state.rb
new file mode 100644
index 0000000..79dddad
--- /dev/null
+++ b/client/lib/deltacloud/client/models/instance_state.rb
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+
+  class InstanceState
+
+    def self.new_state(name)
+      State.new(name)
+    end
+
+    def self.new_transition(to, action)
+      Transition.new(to, action)
+    end
+
+    class State
+      attr_reader :name
+      attr_reader :transitions
+
+      def initialize(name)
+        @name, @transitions = name, []
+      end
+    end
+
+    class Transition
+      attr_reader :to
+      attr_reader :action
+
+      def initialize(to, action)
+        @to = to
+        @action = action
+      end
+
+      def auto?
+        @action.nil?
+      end
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/key.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/key.rb b/client/lib/deltacloud/client/models/key.rb
new file mode 100644
index 0000000..da38ee5
--- /dev/null
+++ b/client/lib/deltacloud/client/models/key.rb
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Key < Base
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :state
+    attr_reader :username
+    attr_reader :password
+    attr_reader :public_key
+    attr_reader :fingerprint
+
+    # Key model methods
+    def pem
+      @public_key
+    end
+
+    def destroy!
+      destroy_key(_id)
+    end
+
+    # Parse the Key entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the key
+    #
+    def self.parse(xml_body)
+      {
+        :state => xml_body.text_at(:state),
+        :username => xml_body.text_at(:username),
+        :password => xml_body.text_at(:password),
+        :fingerprint => xml_body.text_at(:fingerprint),
+        :public_key => xml_body.text_at(:pem)
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/realm.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/realm.rb b/client/lib/deltacloud/client/models/realm.rb
new file mode 100644
index 0000000..d01739c
--- /dev/null
+++ b/client/lib/deltacloud/client/models/realm.rb
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class Realm < Base
+
+    attr_reader :limit
+    attr_reader :state
+
+    def self.parse(xml_body)
+      {
+        :state => xml_body.text_at('state'),
+        :limit => xml_body.text_at('limit')
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/storage_snapshot.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/storage_snapshot.rb b/client/lib/deltacloud/client/models/storage_snapshot.rb
new file mode 100644
index 0000000..f844e9f
--- /dev/null
+++ b/client/lib/deltacloud/client/models/storage_snapshot.rb
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class StorageSnapshot < Base
+
+    include Deltacloud::Client::Methods::StorageSnapshot
+    include Deltacloud::Client::Methods::StorageVolume
+
+    # Inherited attributes: :_id, :name, :description
+
+    # Custom attributes:
+    #
+    attr_reader :created
+    attr_reader :storage_volume_id
+
+    # StorageSnapshot model methods
+    #
+    def storage_volume
+      super(storage_volume_id)
+    end
+
+    # Syntax sugar for destroying the current instance
+    # of StorageSnapshot
+    #
+    def destroy!
+      destroy_storage_snapshot(_id)
+    end
+
+
+    # Parse the StorageSnapshot entity from XML body
+    #
+    # - xml_body -> Deltacloud API XML representation of the storage_snapshot
+    #
+    def self.parse(xml_body)
+      {
+        :created => xml_body.text_at(:created),
+        :storage_volume_id => xml_body.attr_at('storage_volume', :id)
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/client/models/storage_volume.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/client/models/storage_volume.rb b/client/lib/deltacloud/client/models/storage_volume.rb
new file mode 100644
index 0000000..26e1e80
--- /dev/null
+++ b/client/lib/deltacloud/client/models/storage_volume.rb
@@ -0,0 +1,96 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud::Client
+  class StorageVolume < Base
+
+    include Deltacloud::Client::Methods::Common
+    include Deltacloud::Client::Methods::Instance
+    include Deltacloud::Client::Methods::StorageVolume
+    include Deltacloud::Client::Methods::StorageSnapshot
+
+    attr_accessor :created
+    attr_accessor :state
+    attr_accessor :capacity
+    attr_accessor :capacity_unit
+    attr_accessor :device
+    attr_accessor :realm_id
+    attr_accessor :kind
+    attr_accessor :mount
+
+    # Check if the current volume is attached to an Instance
+    #
+    def attached?
+      !mount[:instance].nil?
+    end
+
+    # Attach this volume to the instance
+    #
+    def attach(instance_id, device=nil)
+      attach_storage_volume(_id, instance_id, device) && reload!
+    end
+
+    # Detach this volume from the currently attached instance
+    #
+    def detach!
+      detach_storage_volume(_id) && reload!
+    end
+
+    # Destroy the storage volume
+    #
+    def destroy!
+      destroy_storage_volume(_id)
+    end
+
+    # Syntax sugar for creating a snapshot from volume
+    # See: +create_storage_snapshot+
+    #
+    def snapshot!(snapshot_opts={})
+      snap = create_storage_snapshot(_id, snapshot_opts)
+      reload! && snap
+    end
+
+    def instance
+      super(mount[:instance])
+    end
+
+    def self.parse(xml_body)
+      {
+        :created =>             xml_body.text_at('created'),
+        :state =>               xml_body.text_at('state'),
+        :device =>              xml_body.text_at('device'),
+        :capacity =>            xml_body.text_at('capacity'),
+        :capacity_unit =>       xml_body.attr_at('capacity', :unit),
+        :state =>               xml_body.text_at('state'),
+        :realm_id =>            xml_body.attr_at('realm', :id),
+        :kind  =>               xml_body.text_at('kind'),
+        :mount  =>              {
+          :instance => xml_body.attr_at('mount/instance', :id),
+          :device => xml_body.attr_at('mount/device', :name)
+        }
+      }
+    end
+
+    private
+
+    def reload!
+      new_volume = storage_volume(_id)
+      update_instance_variables!(
+        :state => new_volume.state,
+        :mount => new_volume.mount
+      )
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/core_ext.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext.rb b/client/lib/deltacloud/core_ext.rb
new file mode 100644
index 0000000..e85cdba
--- /dev/null
+++ b/client/lib/deltacloud/core_ext.rb
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative './core_ext/element'
+require_relative './core_ext/string'
+require_relative './core_ext/fixnum'
+require_relative './core_ext/string'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/core_ext/element.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext/element.rb b/client/lib/deltacloud/core_ext/element.rb
new file mode 100644
index 0000000..43b3c61
--- /dev/null
+++ b/client/lib/deltacloud/core_ext/element.rb
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Nokogiri
+  module XML
+
+    class Element
+
+      def text_at(xpath)
+        (val = self.at(xpath)) ? val.text.strip : nil
+      end
+
+      def attr_at(xpath, attr_name)
+        (val = self.at(xpath)) ? val[attr_name.to_s.strip] : nil
+      end
+
+    end
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/core_ext/fixnum.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext/fixnum.rb b/client/lib/deltacloud/core_ext/fixnum.rb
new file mode 100644
index 0000000..5eb6e1b
--- /dev/null
+++ b/client/lib/deltacloud/core_ext/fixnum.rb
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+class Fixnum
+
+  def is_redirect?
+    (self.to_s =~ /^3(\d+)$/) ? true : false
+  end
+
+  def is_ok?
+    (self.to_s =~ /^2(\d+)$/) ? true : false
+  end
+
+  def is_no_content?
+    self == 204
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/core_ext/nil.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext/nil.rb b/client/lib/deltacloud/core_ext/nil.rb
new file mode 100644
index 0000000..6612326
--- /dev/null
+++ b/client/lib/deltacloud/core_ext/nil.rb
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+class NilClass
+
+  def to_xml
+    raise Deltacloud::Client::InvalidXMLError.new('Server returned empty body')
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/core_ext/string.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/core_ext/string.rb b/client/lib/deltacloud/core_ext/string.rb
new file mode 100644
index 0000000..e02aacf
--- /dev/null
+++ b/client/lib/deltacloud/core_ext/string.rb
@@ -0,0 +1,49 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+class String
+
+  # Used to automagically convert any XML in String
+  # (like HTTP response body) to Nokogiri::XML object
+  #
+  # If Nokogiri::XML fails, InvalidXMLError is returned.
+  #
+  def to_xml
+    Nokogiri::XML(self)
+  end
+
+  unless method_defined? :camelize
+    def camelize
+      split('_').map { |w| w.capitalize }.join
+    end
+  end
+
+  unless method_defined? :pluralize
+    def pluralize
+      return self + 'es' if self =~ /ess$/
+      return self[0, self.length-1] + "ies" if self =~ /ty$/
+      return self if self =~ /data$/
+      self + "s"
+    end
+  end
+
+  unless method_defined? :singularize
+    def singularize
+      return self.gsub(/ies$/, 'y') if self =~ /ies$/
+      return self.gsub(/es$/, '') if self =~ /sses$/
+      self.gsub(/s$/, '')
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/deltacloud/error_response.rb
----------------------------------------------------------------------
diff --git a/client/lib/deltacloud/error_response.rb b/client/lib/deltacloud/error_response.rb
new file mode 100644
index 0000000..428b5ec
--- /dev/null
+++ b/client/lib/deltacloud/error_response.rb
@@ -0,0 +1,92 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module Deltacloud
+  class ErrorResponse < Faraday::Response::Middleware
+
+    include Deltacloud::Client::Helpers::Model
+
+    # This method tries to parse the error XML from Deltacloud API
+    # In case there is no error returned in body, it will try to use
+    # the generic error reporting.
+    #
+    # - klass -> Deltacloud::Client::+Class+
+    # - message -> Exception message (overiden by error body message if
+    #              present)
+    # - error -> Deltacloud XML error representation
+    #
+    def client_error(name, error, message=nil)
+      args = {
+        :message => message,
+        :status => error ? error[:status] : '500'
+      }
+      # If Deltacloud API send error in response body, parse it.
+      # Otherwise, when DC API send just plain text error, use
+      # it as exception message.
+      # If DC API does not send anything back, then fallback to
+      # the 'message' attribute.
+      #
+      if error and !error[:body].empty?
+        if xml_error?(error)
+          args.merge! parse_error(error[:body].to_xml.root)
+        else
+          args[:message] = error[:body]
+        end
+      end
+      error(name).new(args)
+    end
+
+    def call(env)
+      @app.call(env).on_complete do |e|
+        case e[:status].to_s
+        when '401'
+          raise client_error(:authentication_error, e, 'Invalid :api_user or :api_password')
+        when '405'
+          raise client_error(
+            :invalid_state, e, 'Resource state does not permit this action'
+          )
+        when '404'
+          raise client_error(:not_found, e, 'Object not found')
+        when /40\d/
+          raise client_error(:client_failure, e)
+        when '500'
+          raise client_error(:server_error, e)
+        when '502'
+          raise client_error(:backend_error, e)
+        when '501'
+          raise client_error(:not_supported, e)
+        end
+      end
+    end
+
+    private
+
+    def xml_error?(error)
+      error[:body].to_xml.root && error[:body].to_xml.root.name == 'error'
+    end
+
+    # Parse the Deltacloud API error body to Hash
+    #
+    def parse_error(body)
+      args = {}
+      args[:original_error] = body.to_s
+      args[:server_backtrace] = body.text_at('backtrace')
+      args[:message] ||= body.text_at('message')
+      args[:driver] = body.attr_at('backend', 'driver')
+      args[:provider] = body.attr_at('backend', 'provider')
+      args
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/documentation.rb
----------------------------------------------------------------------
diff --git a/client/lib/documentation.rb b/client/lib/documentation.rb
deleted file mode 100644
index 88f0861..0000000
--- a/client/lib/documentation.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-module DeltaCloud
-  class Documentation
-
-    attr_reader :api, :description, :params, :collection_operations
-    attr_reader :collection, :operation
-
-    def initialize(api, opts={})
-      @description, @api = opts[:description], api
-      @params = parse_parameters(opts[:params]) if opts[:params]
-      @collection_operations = opts[:operations] if opts[:operations]
-      @collection = opts[:collection]
-      @operation = opts[:operation]
-      self
-    end
-
-    def operations
-      @collection_operations.collect { |o| api.documentation(@collection, o) }
-    end
-
-    class OperationParameter
-      attr_reader :name
-      attr_reader :type
-      attr_reader :required
-      attr_reader :description
-
-      def initialize(data)
-        @name, @type, @required, @description = data[:name], data[:type], data[:required], data[:description]
-      end
-
-      def to_comment
-        "   # @param [#{@type}, #{@name}] #{@description}"
-      end
-
-    end
-
-    private
-
-    def parse_parameters(params)
-      params.collect { |p| OperationParameter.new(p) }
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/errors.rb
----------------------------------------------------------------------
diff --git a/client/lib/errors.rb b/client/lib/errors.rb
deleted file mode 100644
index d0eff44..0000000
--- a/client/lib/errors.rb
+++ /dev/null
@@ -1,140 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-module DeltaCloud
-  module HTTPError
-
-    class ClientError < StandardError
-
-      attr_reader :params, :driver, :provider
-
-      def initialize(code, message, opts={}, backtrace=nil)
-        @params, @driver, @provider = opts[:params], opts[:driver], opts[:provider]
-        if code.to_s =~ /^5(\d{2})/
-          message += "\nParameters: #{@params.inspect}\n"
-          message += "Driver: #{@driver}@#{@provider}"
-        end
-        super("#{code}\n\n#{self.class.superclass}: #{message}\n\n")
-        # If server provided us the backtrace, then replace client backtrace
-        # with the server one.
-        set_backtrace(backtrace) unless backtrace.nil?
-      end
-    end
-
-    class ServerError < ClientError; end
-    class UknownError < ClientError; end
-
-    # For sake of consistent documentation we need to create
-    # this exceptions manually, instead of using some meta-programming.
-    # Client will really appreciate this it will try to catch some
-    # specific exception.
-
-    # Client errors (4xx)
-    class BadRequest < ClientError; end
-    class Unauthorized < ClientError; end
-    class Forbidden < ClientError; end
-    class NotFound < ClientError; end
-    class MethodNotAllowed < ClientError; end
-    class NotAcceptable < ClientError; end
-    class RequestTimeout < ClientError; end
-    class Gone < ClientError; end
-    class ExpectationFailed < ClientError; end
-    class UnsupportedMediaType < ClientError; end
-
-    # Server errors (5xx)
-    class DeltacloudError < ServerError; end
-    class ProviderError < ServerError; end
-    class ProviderTimeout < ServerError; end
-    class ServiceUnavailable < ServerError; end
-    class NotImplemented < ServerError; end
-
-    class ExceptionHandler
-
-      attr_reader :http_status_code, :message, :trace
-
-      def initialize(status_code, message=nil, opts={}, backtrace=nil, &block)
-        @http_status_code = status_code.to_i
-        @trace = backtrace
-        @message = message || client_error_messages[status_code] || 'No error message received'
-        @options = opts
-        instance_eval(&block) if block_given?
-      end
-
-      def on(code, exception_class)
-        if code == @http_status_code
-          raise exception_class.new(code, @message, @options, @trace)
-        end
-      end
-
-      private
-
-      def client_error_messages
-        {
-          400 => 'The request could not be understood by the server due to malformed syntax.',
-          401 => 'Authentication required for this request or invalid credentials provided.',
-          403 => 'Requested operation is not allowed for this resource.',
-          404 => 'Not Found',
-          405 => 'Method not allowed for this resource.',
-          406 => 'Requested media type is not supported by server.',
-          408 => 'The client did not produce a request within the time that the server was prepared to wait.',
-          410 => 'The resource is no longer available'
-        }
-      end
-
-    end
-
-    def self.parse_response_error(response)
-    
-    end
-
-    def self.client_error(code)
-      ExceptionHandler.new(code) do
-        # Client errors
-        on 400, BadRequest
-        on 401, Unauthorized
-        on 403, Forbidden
-        on 404, NotFound
-        on 405, MethodNotAllowed
-        on 406, NotAcceptable
-        on 408, RequestTimeout
-        on 410, Gone
-      end
-    end
-
-    def self.server_error(code, message, opts={}, backtrace=nil)
-      ExceptionHandler.new(code, message, opts, backtrace) do
-        # Client errors
-        on 400, BadRequest
-        on 401, Unauthorized
-        on 403, Forbidden
-        on 404, NotFound
-        on 405, MethodNotAllowed
-        on 406, NotAcceptable
-        on 408, RequestTimeout
-        on 410, Gone
-        on 415, UnsupportedMediaType
-        on 417, ExpectationFailed
-        # Server errors
-        on 500, DeltacloudError
-        on 501, NotImplemented
-        on 502, ProviderError
-        on 503, ServiceUnavailable
-        on 504, ProviderTimeout
-      end
-      raise Deltacloud::HTTPError::UnknownError.new(code, message, opts, backtrace)
-    end
-
-  end
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b6d3365c/client/lib/hwp_properties.rb
----------------------------------------------------------------------
diff --git a/client/lib/hwp_properties.rb b/client/lib/hwp_properties.rb
deleted file mode 100644
index 686deaa..0000000
--- a/client/lib/hwp_properties.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.  The
-# ASF licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the
-# License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-module DeltaCloud
-
-  module HWP
-
-   class Property
-      attr_reader :name, :unit, :value, :kind
-
-      def initialize(xml, name)
-        @name, @kind, @value, @unit = xml['name'], xml['kind'].to_sym, xml['value'], xml['unit']
-        declare_ranges(xml)
-        self
-      end
-
-      def present?
-        ! @value.nil?
-      end
-
-      private
-
-      def declare_ranges(xml)
-        case xml['kind']
-          when 'range' then
-            self.class.instance_eval do
-              attr_reader :range
-            end
-            @range = { :from => xml.xpath('range').first['first'], :to => xml.xpath('range').first['last'] }
-          when 'enum' then
-            self.class.instance_eval do
-              attr_reader :options
-            end
-            @options = xml.xpath('enum/entry').collect { |e| e['value'] }
-        end
-      end
-
-    end
-
-    # FloatProperty is like Property but return value is Float instead of String.
-    class FloatProperty < Property
-      def initialize(xml, name)
-        super(xml, name)
-        @value = @value.to_f if @value
-      end
-    end
-  end
-
-end


[25/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/HardwareProfile.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/HardwareProfile.html b/client/doc/DeltaCloud/API/HardwareProfile.html
deleted file mode 100644
index 0cc8438..0000000
--- a/client/doc/DeltaCloud/API/HardwareProfile.html
+++ /dev/null
@@ -1,1075 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::HardwareProfile</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (H)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">HardwareProfile</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::HardwareProfile
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::HardwareProfile</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#architecture-instance_method" title="#architecture (instance method)">- (String) <strong>architecture</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of architecture.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#architecture%3D-instance_method" title="#architecture= (instance method)">- (String) <strong>architecture</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of architecture=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#cpu-instance_method" title="#cpu (instance method)">- (String) <strong>cpu</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of cpu.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#cpu%3D-instance_method" title="#cpu= (instance method)">- (String) <strong>cpu</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of cpu=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#memory-instance_method" title="#memory (instance method)">- (String) <strong>memory</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of memory.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#memory%3D-instance_method" title="#memory= (instance method)">- (String) <strong>memory</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of memory=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name%3D-instance_method" title="#name= (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage-instance_method" title="#storage (instance method)">- (String) <strong>storage</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of storage.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#storage%3D-instance_method" title="#storage= (instance method)">- (String) <strong>storage</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of storage=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="architecture-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>architecture</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of architecture</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of architecture</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-706
-707
-708</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 706</span>
-
-<span class='def def kw'>def</span> <span class='architecture identifier id'>architecture</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="architecture=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>architecture=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of architecture=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of architecture=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-720
-721
-722</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 720</span>
-
-<span class='def def kw'>def</span> <span class='architecture= identifier id'>architecture=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-699
-700
-701</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 699</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="cpu-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>cpu</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of cpu</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of cpu</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-734
-735
-736</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 734</span>
-
-<span class='def def kw'>def</span> <span class='cpu identifier id'>cpu</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="cpu=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>cpu=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of cpu=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of cpu=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-671
-672
-673</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 671</span>
-
-<span class='def def kw'>def</span> <span class='cpu= identifier id'>cpu=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-692
-693
-694</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 692</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="memory-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>memory</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of memory</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of memory</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-727
-728
-729</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 727</span>
-
-<span class='def def kw'>def</span> <span class='memory identifier id'>memory</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="memory=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>memory=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of memory=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of memory=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-741
-742
-743</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 741</span>
-
-<span class='def def kw'>def</span> <span class='memory= identifier id'>memory=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-748
-749
-750</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 748</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-678
-679
-680</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 678</span>
-
-<span class='def def kw'>def</span> <span class='name= identifier id'>name=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="storage-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>storage</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of storage</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of storage</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-685
-686
-687</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 685</span>
-
-<span class='def def kw'>def</span> <span class='storage identifier id'>storage</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="storage=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>storage=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of storage=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of storage=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-713
-714
-715</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 713</span>
-
-<span class='def def kw'>def</span> <span class='storage= identifier id'>storage=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-664
-665
-666</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 664</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:26 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/Image.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/Image.html b/client/doc/DeltaCloud/API/Image.html
deleted file mode 100644
index 02f73f2..0000000
--- a/client/doc/DeltaCloud/API/Image.html
+++ /dev/null
@@ -1,927 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::Image</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (I)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">Image</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::Image
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::Image</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#architecture-instance_method" title="#architecture (instance method)">- (String) <strong>architecture</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of architecture.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#architecture%3D-instance_method" title="#architecture= (instance method)">- (String) <strong>architecture</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of architecture=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#description-instance_method" title="#description (instance method)">- (String) <strong>description</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of description.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#description%3D-instance_method" title="#description= (instance method)">- (String) <strong>description</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of description=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name%3D-instance_method" title="#name= (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#owner_id-instance_method" title="#owner_id (instance method)">- (String) <strong>owner_id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of owner_id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#owner_id%3D-instance_method" title="#owner_id= (instance method)">- (String) <strong>owner_id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of owner_id=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="architecture-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>architecture</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of architecture</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of architecture</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1131
-1132
-1133</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1131</span>
-
-<span class='def def kw'>def</span> <span class='architecture identifier id'>architecture</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="architecture=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>architecture=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of architecture=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of architecture=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1152
-1153
-1154</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1152</span>
-
-<span class='def def kw'>def</span> <span class='architecture= identifier id'>architecture=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1124
-1125
-1126</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1124</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="description-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>description</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of description</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of description</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1145
-1146
-1147</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1145</span>
-
-<span class='def def kw'>def</span> <span class='description identifier id'>description</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="description=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>description=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of description=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of description=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1166
-1167
-1168</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1166</span>
-
-<span class='def def kw'>def</span> <span class='description= identifier id'>description=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1117
-1118
-1119</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1117</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1173
-1174
-1175</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1173</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1110
-1111
-1112</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1110</span>
-
-<span class='def def kw'>def</span> <span class='name= identifier id'>name=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="owner_id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>owner_id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of owner_id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of owner_id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1138
-1139
-1140</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1138</span>
-
-<span class='def def kw'>def</span> <span class='owner_id identifier id'>owner_id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="owner_id=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>owner_id=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of owner_id=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of owner_id=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1159
-1160
-1161</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1159</span>
-
-<span class='def def kw'>def</span> <span class='owner_id= identifier id'>owner_id=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-1103
-1104
-1105</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 1103</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:29 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/API/Instance.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/API/Instance.html b/client/doc/DeltaCloud/API/Instance.html
deleted file mode 100644
index 68b3068..0000000
--- a/client/doc/DeltaCloud/API/Instance.html
+++ /dev/null
@@ -1,1777 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::API::Instance</title>
-<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../_index.html">Index (I)</a> &raquo; 
-    <span class='title'><a href="../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../API.html" title="DeltaCloud::API (class)">API</a></span>
-     &raquo; 
-    <span class="title">Instance</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::API::Instance
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">DeltaCloud::API::Instance</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">doc/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#actions-instance_method" title="#actions (instance method)">- (String) <strong>actions</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of actions.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#actions_urls-instance_method" title="#actions_urls (instance method)">- (String) <strong>actions_urls</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of actions_urls.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#client-instance_method" title="#client (instance method)">- (String) <strong>client</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of client.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#destroy%21-instance_method" title="#destroy! (instance method)">- (String) <strong>destroy!</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of destroy!.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#hardware_profile-instance_method" title="#hardware_profile (instance method)">- (String) <strong>hardware_profile</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of hardware_profile.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#id-instance_method" title="#id (instance method)">- (String) <strong>id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#image-instance_method" title="#image (instance method)">- (String) <strong>image</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of image.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#name%3D-instance_method" title="#name= (instance method)">- (String) <strong>name</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of name=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#owner_id-instance_method" title="#owner_id (instance method)">- (String) <strong>owner_id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of owner_id.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#owner_id%3D-instance_method" title="#owner_id= (instance method)">- (String) <strong>owner_id</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of owner_id=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#private_addresses-instance_method" title="#private_addresses (instance method)">- (String) <strong>private_addresses</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Read api::instance collection from Deltacloud API.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#private_addresses%3D-instance_method" title="#private_addresses= (instance method)">- (String) <strong>private_addresses</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of private_addresses=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#public_addresses-instance_method" title="#public_addresses (instance method)">- (String) <strong>public_addresses</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Read api::instance collection from Deltacloud API.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#public_addresses%3D-instance_method" title="#public_addresses= (instance method)">- (String) <strong>public_addresses</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of public_addresses=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#realm-instance_method" title="#realm (instance method)">- (String) <strong>realm</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of realm.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#reboot%21-instance_method" title="#reboot! (instance method)">- (String) <strong>reboot!</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of reboot!.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#start%21-instance_method" title="#start! (instance method)">- (String) <strong>start!</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of start!.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state-instance_method" title="#state (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#state%3D-instance_method" title="#state= (instance method)">- (String) <strong>state</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of state=.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#stop%21-instance_method" title="#stop! (instance method)">- (String) <strong>stop!</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of stop!.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#uri-instance_method" title="#uri (instance method)">- (String) <strong>uri</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Value of uri.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="actions-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>actions</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of actions</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of actions</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-476
-477
-478</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 476</span>
-
-<span class='def def kw'>def</span> <span class='actions identifier id'>actions</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="actions_urls-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>actions_urls</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of actions_urls</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of actions_urls</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-427
-428
-429</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 427</span>
-
-<span class='def def kw'>def</span> <span class='actions_urls identifier id'>actions_urls</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="client-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>client</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of client</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of client</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-406
-407
-408</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 406</span>
-
-<span class='def def kw'>def</span> <span class='client identifier id'>client</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="destroy!-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>destroy!</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of destroy!</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of destroy!</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-448
-449
-450</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 448</span>
-
-<span class='def def kw'>def</span> <span class='destroy! fid id'>destroy!</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="hardware_profile-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>hardware_profile</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of hardware_profile</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of hardware_profile</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-434
-435
-436</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 434</span>
-
-<span class='def def kw'>def</span> <span class='hardware_profile identifier id'>hardware_profile</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-399
-400
-401</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 399</span>
-
-<span class='def def kw'>def</span> <span class='id identifier id'>id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="image-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>image</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of image</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of image</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-420
-421
-422</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 420</span>
-
-<span class='def def kw'>def</span> <span class='image identifier id'>image</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-483
-484
-485</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 483</span>
-
-<span class='def def kw'>def</span> <span class='name identifier id'>name</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="name=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>name=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of name=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of name=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-385
-386
-387</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 385</span>
-
-<span class='def def kw'>def</span> <span class='name= identifier id'>name=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="owner_id-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>owner_id</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of owner_id</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of owner_id</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-413
-414
-415</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 413</span>
-
-<span class='def def kw'>def</span> <span class='owner_id identifier id'>owner_id</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="owner_id=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>owner_id=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of owner_id=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of owner_id=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-441
-442
-443</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 441</span>
-
-<span class='def def kw'>def</span> <span class='owner_id= identifier id'>owner_id=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="private_addresses-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>private_addresses</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Read api::instance collection from Deltacloud API</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>, <tt>#id</tt>)</span>
-      
-      
-        <span class='name'>Filter</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>by ID</p></div>
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of private_addresses</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-490
-491
-492</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 490</span>
-
-<span class='def def kw'>def</span> <span class='private_addresses identifier id'>private_addresses</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="private_addresses=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>private_addresses=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of private_addresses=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of private_addresses=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-392
-393
-394</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 392</span>
-
-<span class='def def kw'>def</span> <span class='private_addresses= identifier id'>private_addresses=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="public_addresses-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>public_addresses</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Read api::instance collection from Deltacloud API</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>, <tt>#id</tt>)</span>
-      
-      
-        <span class='name'>Filter</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>by ID</p></div>
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of public_addresses</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-462
-463
-464</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 462</span>
-
-<span class='def def kw'>def</span> <span class='public_addresses identifier id'>public_addresses</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="public_addresses=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>public_addresses=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of public_addresses=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of public_addresses=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-511
-512
-513</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 511</span>
-
-<span class='def def kw'>def</span> <span class='public_addresses= identifier id'>public_addresses=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="realm-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>realm</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of realm</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of realm</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-371
-372
-373</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 371</span>
-
-<span class='def def kw'>def</span> <span class='realm identifier id'>realm</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="reboot!-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>reboot!</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of reboot!</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of reboot!</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-378
-379
-380</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 378</span>
-
-<span class='def def kw'>def</span> <span class='reboot! fid id'>reboot!</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="start!-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>start!</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of start!</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of start!</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-497
-498
-499</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 497</span>
-
-<span class='def def kw'>def</span> <span class='start! fid id'>start!</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-455
-456
-457</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 455</span>
-
-<span class='def def kw'>def</span> <span class='state identifier id'>state</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="state=-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>state=</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of state=</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of state=</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-504
-505
-506</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 504</span>
-
-<span class='def def kw'>def</span> <span class='state= identifier id'>state=</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="stop!-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>stop!</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of stop!</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of stop!</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-469
-470
-471</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 469</span>
-
-<span class='def def kw'>def</span> <span class='stop! fid id'>stop!</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="uri-instance_method">
-  
-    - (<tt><a href="../../String.html" title="String (class)">String</a></tt>) <strong>uri</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Value of uri</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="../../String.html" title="String (class)">String</a></tt>)</span>
-      
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>Value of uri</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-364
-365
-366</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'doc/deltacloud.rb', line 364</span>
-
-<span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
-  <span class='comment val'># This method was generated dynamically from API</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:28 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file


[20/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/js/jquery.js
----------------------------------------------------------------------
diff --git a/client/doc/js/jquery.js b/client/doc/js/jquery.js
deleted file mode 100644
index b1ae21d..0000000
--- a/client/doc/js/jquery.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * jQuery JavaScript Library v1.3.2
- * http://jquery.com/
- *
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
- *
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.sele
 ctor=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this
 ;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G
 ){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="st
 ring"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o
 .inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(t
 his[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Obje
 ct.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!=
 =false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="m
 argin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDoc
 ument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[
 2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J
 .parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return
  J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webk
 it/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K
 =0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache
 [H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"
 }if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
-/*
- * Sizzle CSS Selector Engine - v0.9.3
- *  Copyright 2009, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.cal
 l(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].
 exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((
 ?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:functi
 on(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[
 1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"
 ===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U
 =U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)=
 ==U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){va
 r V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagNa
 me(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElem
 entsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:f
 unction(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U=
 =T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeT
 ype==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.
 indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.tes
 t(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY
 =H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.is
 DefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F|
 |H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.sel
 ector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatecha
 nge",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;o
 pacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var 
 L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:func
 tion(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.ext
 end(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"
 ="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);
 return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.
 httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try
 {var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.conca
 t.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?
 this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return tr
 ue})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.pr
 ototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop==
 "height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J
 ,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.
 offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElem
 ent("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();va
 r G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxMod
 el&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
\ No newline at end of file


[09/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_firewall_and_destroy_firewall.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_firewall_and_destroy_firewall.yml b/client/tests/fixtures/test_0004_support_create_firewall_and_destroy_firewall.yml
new file mode 100644
index 0000000..c54e04b
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_firewall_and_destroy_firewall.yml
@@ -0,0 +1,496 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:33:07 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:33:07 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/firewalls?name=foofirewall
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 400
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '52'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 15:33:07 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: Required parameter 'description' not found in [name]
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:33:07 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/firewalls?name=foofirewall&description=testing+firewalls
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/firewalls/foofirewall
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '490'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 4105e5b73a2f9ddf735b0417bc97c14f
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:33:59 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<firewall href='http://localhost:3001/api/firewalls/foofirewall'
+        id='foofirewall'>\n  <actions>\n    <link href='http://localhost:3001/api/firewalls/foofirewall'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/firewalls/rules'
+        method='post' rel='update' />\n  </actions>\n  <name><![CDATA[foofirewall]]></name>\n
+        \ <description><![CDATA[testing firewalls]]></description>\n  <owner_id></owner_id>\n
+        \ <rules>\n  </rules>\n</firewall>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:33:59 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/firewalls/foofirewall
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:35:00 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:35:00 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/firewalls/mfojtik
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic QUtJQUpZT1FZTExPSVdONUxRM0E6UmEyVmlZYVlnb2NBSnFQQVFIeE1WVS9sMnNHR1UycGlmbVdUNHEzSA==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 401
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '31306'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:42:25 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='401' url='/api/firewalls/mfojtik'>\n
+        \ <backend driver='ec2' provider='default'></backend>\n  <code>401</code>\n
+        \ <message><![CDATA[AuthFailure: AWS was not able to validate the provided
+        access credentials\n  REQUEST=ec2.us-east-1.amazonaws.com:443/?AWSAccessKeyId=AKIAJYOQYLLOIWN5LQ3A&Action=DescribeSecurityGroups&GroupName.1=mfojtik&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-03-06T16%3A42%3A24.000Z&Version=2010-08-31&Signature=REuuQ7Qjl7U7E74d4JQTJza3VRsoVDoK8fc%2Bz6mLICM%3D
+        \n  REQUEST ID=34086566-41f9-4cc7-93a5-3ec6deb8fa93]]></message>\n  <backtrace>/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:575:in
+        `request_info_impl'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:177:in
+        `request_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/awsbase/awsbase.rb:589:in
+        `request_cache_or_info'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/aws-2.8.0/lib/ec2/ec2.rb:843:in
+        `describe_security_groups'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:780:in
+        `block in firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `call'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/exceptions.rb:220:in
+        `safely'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/ec2/ec2_driver.rb:778:in
+        `firewalls'\n/home/mfojtik/code/core/server/lib/deltacloud/drivers/base_driver.rb:254:in
+        `firewall'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:89:in
+        `block in show'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/benchmark.rb:280:in
+        `measure'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/deltacloud_helper.rb:88:in
+        `show'\n/home/mfojtik/code/core/server/lib/deltacloud/helpers/rabbit_helper.rb:29:in
+        `block (2 levels) in standard_show_operation'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `instance_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-rabbit-1.1.6/lib/sinatra/rabbit/base.rb:400:in
+        `block in control'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1293:in
+        `block in compile!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `[]'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (3 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:876:in
+        `route_eval'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:860:in
+        `block (2 levels) in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:897:in
+        `block in process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:895:in
+        `process_route'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:859:in
+        `block in route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:858:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:841:in
+        `forward'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:910:in
+        `route_missing'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:871:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:867:in
+        `route!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:963:in
+        `block in dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:960:in
+        `dispatch!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `block in call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `block in invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `catch'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:946:in
+        `invoke'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:794:in
+        `call!'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:780:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_driver_select.rb:45:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_etag.rb:41:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_date.rb:31:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_logger.rb:87:in `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_accept.rb:164:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb:16:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb:18:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/base.rb:48:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb:31:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:124:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1499:in
+        `synchronize'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5/lib/sinatra/base.rb:1417:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in
+        `block in call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `each'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in
+        `call'\n/home/mfojtik/code/core/server/lib/sinatra/rack_matrix_params.rb:104:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in
+        `call'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:81:in
+        `block in pre_process'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `catch'\n/home/mfojtik/.gem/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in
+        `pre_process'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `call'\n/home/mfojtik/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.1/lib/eventmachine.rb:1037:in
+        `block in spawn_threadpool'</backtrace>\n  <request>\n    <param name='splat'><![CDATA[[]]]></param>\n
+        \   <param name='captures'><![CDATA[[#<Deltacloud::Exceptions::AuthenticationFailure:
+        Deltacloud::Exceptions::AuthenticationFailure>]]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:42:25 GMT
+recorded_with: VCR 2.4.0


[27/30] git commit: Client: removed doc/* directory

Posted by mf...@apache.org.
Client: removed doc/* directory


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/71afec55
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/71afec55
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/71afec55

Branch: refs/heads/master
Commit: 71afec551e8086e3ee3a5f07517683783177bff6
Parents: b6d3365
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Mar 7 13:46:11 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Mar 26 15:21:35 2013 +0100

----------------------------------------------------------------------
 client/doc/DeltaCloud.html                         |  419 --
 client/doc/DeltaCloud/API.html                     | 3040 ---------------
 client/doc/DeltaCloud/API/HardwareProfile.html     | 1075 -----
 client/doc/DeltaCloud/API/Image.html               |  927 -----
 client/doc/DeltaCloud/API/Instance.html            | 1777 ---------
 client/doc/DeltaCloud/API/Realm.html               |  779 ----
 client/doc/DeltaCloud/API/StorageSnapshot.html     |  705 ----
 client/doc/DeltaCloud/API/StorageVolume.html       |  853 ----
 client/doc/DeltaCloud/Documentation.html           |  323 --
 .../Documentation/OperationParameter.html          |  493 ---
 client/doc/DeltaCloud/HWP.html                     |   91 -
 client/doc/DeltaCloud/HWP/FloatProperty.html       |  197 -
 client/doc/DeltaCloud/HWP/Property.html            |  522 ---
 client/doc/DeltaCloud/InstanceState.html           |   91 -
 client/doc/DeltaCloud/InstanceState/State.html     |  309 --
 .../doc/DeltaCloud/InstanceState/Transition.html   |  388 --
 client/doc/DeltaCloud/PlainFormatter.html          |  162 -
 .../DeltaCloud/PlainFormatter/FormatObject.html    |   91 -
 .../PlainFormatter/FormatObject/Base.html          |  175 -
 .../FormatObject/HardwareProfile.html              |  187 -
 .../PlainFormatter/FormatObject/Image.html         |  197 -
 .../PlainFormatter/FormatObject/Instance.html      |  199 -
 .../PlainFormatter/FormatObject/Realm.html         |  195 -
 .../FormatObject/StorageSnapshot.html              |  195 -
 .../PlainFormatter/FormatObject/StorageVolume.html |  197 -
 client/doc/String.html                             |  405 --
 client/doc/_index.html                             |  352 --
 client/doc/class_list.html                         |   36 -
 client/doc/css/common.css                          |    1 -
 client/doc/css/full_list.css                       |   50 -
 client/doc/css/style.css                           |  277 --
 client/doc/deltacloud.rb                           | 1387 -------
 client/doc/file.README.html                        |  184 -
 client/doc/file_list.html                          |   38 -
 client/doc/frames.html                             |   13 -
 client/doc/index.html                              |  184 -
 client/doc/js/app.js                               |  138 -
 client/doc/js/full_list.js                         |  117 -
 client/doc/js/jquery.js                            |   19 -
 client/doc/method_list.html                        | 1243 ------
 client/doc/top-level-namespace.html                |  301 --
 41 files changed, 0 insertions(+), 18332 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud.html b/client/doc/DeltaCloud.html
deleted file mode 100644
index e70bb61..0000000
--- a/client/doc/DeltaCloud.html
+++ /dev/null
@@ -1,419 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Module: DeltaCloud</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="_index.html">Index (D)</a> &raquo; 
-    
-    
-    <span class="title">DeltaCloud</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Module: DeltaCloud
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r1 last">Defined in:</dt>
-    <dd class="r1 last">lib/deltacloud.rb<span class="defines">,<br />
-  doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> doc/deltacloud.rb,<br /> lib/plain_formatter.rb</span>
-</dd>
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-      <strong class="modules">Modules:</strong> <a href="DeltaCloud/HWP.html" title="DeltaCloud::HWP (module)">HWP</a>, <a href="DeltaCloud/InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a>, <a href="DeltaCloud/PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a>
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="DeltaCloud/API.html" title="DeltaCloud::API (class)">API</a>, <a href="DeltaCloud/Documentation.html" title="DeltaCloud::Documentation (class)">Documentation</a>
-    
-  
-</p>
-
-
-
-  
-    <h2>
-      Class Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#classes-class_method" title="classes (class method)">+ (Object) <strong>classes</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#define_class-class_method" title="define_class (class method)">+ (Object) <strong>define_class</strong>(name) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#driver_name-class_method" title="driver_name (class method)">+ (Object) <strong>driver_name</strong>(url) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Return a API driver for specified URL.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#new-class_method" title="new (class method)">+ (DeltaCloud::API) <strong>new</strong>(user_name, password, api_url, &amp;block) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Get a new API client instance.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="class_method_details" class="method_details_list">
-    <h2>Class Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="classes-class_method">
-  
-    + (<tt>Object</tt>) <strong>classes</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-53
-54
-55
-56</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 53</span>
-
-<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='classes identifier id'>classes</span>
-  <span class='puts identifier id'>puts</span> <span class='dstring node'>&quot;----&gt; \n#{@defined_classes.join(',')}\n&quot;</span>
-  <span class='@defined_classes ivar id'>@defined_classes</span> <span class='orop op'>||</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="define_class-class_method">
-  
-    + (<tt>Object</tt>) <strong>define_class</strong>(name) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-43
-44
-45
-46
-47
-48
-49
-50
-51</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 43</span>
-
-<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='define_class identifier id'>define_class</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
-  <span class='@defined_classes ivar id'>@defined_classes</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-  <span class='if if kw'>if</span> <span class='@defined_classes ivar id'>@defined_classes</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
-    <span class='self self kw'>self</span><span class='dot token'>.</span><span class='module_eval identifier id'>module_eval</span><span class='lparen token'>(</span><span class='dstring node'>&quot;API::#{name}&quot;</span><span class='rparen token'>)</span>
-  <span class='else else kw'>else</span>
-    <span class='@defined_classes ivar id'>@defined_classes</span> <span class='lshft op'>&lt;&lt;</span> <span class='name identifier id'>name</span> <span class='unless unless_mod kw'>unless</span> <span class='@defined_classes ivar id'>@defined_classes</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
-    <span class='API constant id'>API</span><span class='dot token'>.</span><span class='const_set identifier id'>const_set</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='comma token'>,</span> <span class='Class constant id'>Class</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='rparen token'>)</span>
-  <span class='end end kw'>end</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="driver_name-class_method">
-  
-    + (<tt>Object</tt>) <strong>driver_name</strong>(url) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Return a API driver for specified URL</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="String.html" title="String (class)">String</a></tt>, <tt>url</tt>)</span>
-      
-      
-        <span class='name'>API</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>URL (eg. http://localhost:3001/api)</p></div>
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-39
-40
-41</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 39</span>
-
-<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='driver_name identifier id'>driver_name</span><span class='lparen token'>(</span><span class='url identifier id'>url</span><span class='rparen token'>)</span>
-  <span class='API constant id'>API</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='nil nil kw'>nil</span><span class='comma token'>,</span> <span class='nil nil kw'>nil</span><span class='comma token'>,</span> <span class='url identifier id'>url</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='driver_name identifier id'>driver_name</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="new-class_method">
-  
-    + (<tt><a href="DeltaCloud/API.html" title="DeltaCloud::API (class)">DeltaCloud::API</a></tt>) <strong>new</strong>(user_name, password, api_url, &amp;block) 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Get a new API client instance</p>
-
-  </div>
-</div>
-<div class="tags">
-  <h3>Parameters:</h3>
-<ul class="param">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="String.html" title="String (class)">String</a></tt>, <tt>user_name</tt>)</span>
-      
-      
-        <span class='name'>API</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>user name</p></div>
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="String.html" title="String (class)">String</a></tt>, <tt>password</tt>)</span>
-      
-      
-        <span class='name'>API</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>password</p></div>
-      
-    </li>
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="String.html" title="String (class)">String</a></tt>, <tt>user_name</tt>)</span>
-      
-      
-        <span class='name'>API</span>
-      
-      
-      
-        &mdash;
-        <div class='inline'><p>URL (eg. http://localhost:3001/api)</p></div>
-      
-    </li>
-  
-</ul>
-<h3>Returns:</h3>
-<ul class="return">
-  
-    <li>
-      
-        <span class='type'>(<tt><a href="DeltaCloud/API.html" title="DeltaCloud::API (class)">DeltaCloud::API</a></tt>)</span>
-      
-      
-      
-      
-    </li>
-  
-</ul>
-
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-32
-33
-34</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 32</span>
-
-<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='user_name identifier id'>user_name</span><span class='comma token'>,</span> <span class='password identifier id'>password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
-  <span class='API constant id'>API</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='user_name identifier id'>user_name</span><span class='comma token'>,</span> <span class='password identifier id'>password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:31 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file


[07/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_instance.yml b/client/tests/fixtures/test_0004_support_create_instance.yml
new file mode 100644
index 0000000..bcec25c
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_instance.yml
@@ -0,0 +1,115 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst12
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 45aa1a1069561afacf53bfa0617937c2
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_key_and_destroy_key.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_key_and_destroy_key.yml b/client/tests/fixtures/test_0004_support_create_key_and_destroy_key.yml
new file mode 100644
index 0000000..9ad3042
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_key_and_destroy_key.yml
@@ -0,0 +1,206 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/keys?name=foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/keys/foo
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2088'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 6d5458828ac010455334267012f297e5
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! '<?xml version=''1.0'' encoding=''utf-8'' ?>
+
+        <key href=''http://localhost:3001/api/keys/foo'' id=''foo'' type=''key''>
+
+        <name>foo</name>
+
+        <actions>
+
+        <link href=''http://localhost:3001/api/keys/foo'' method=''delete'' rel=''destroy''
+        />
+
+        </actions>
+
+        <fingerprint>9c:00:79:b5:09:d3:b4:91:5e:55:bc:c9:a3:1e:cf:2c:fb:90:41:16</fingerprint>
+
+        <pem>
+
+        <![CDATA[-----BEGIN RSA PRIVATE KEY-----
+
+        NJi9mExMZRDmhFHxZNMU594Bk7xXJ/shbMeREIkoVUU7ZK91q2sF8KULjKtEuqW=AN9VUb9cHQC
+
+        ceDknXvs0pnP82ICwV8oAsgT13qADPDVJ=KgCdoOrlHnFkIwx=B46vKSiw5vXORxKYV4eiBXrAv
+
+        WgxNoCbqGGSOEPy6vseFCQ45BZFI=UrnjEH2yC7comrvwt/bmElH3fZjkQDkyJ1aHQR54bvH+s8
+
+        nr11xBhOD+xFz/icuf+UPKkw8vqiTNqyEg/4sHGI26krl3IzeKUcxBglI19pdEt4GoL7iQWCBLu
+
+        J2eQJNGhE6iNFRMi9XXPaT0RwIwy704RJxFnc4hfwEQA1S2vTkVlI0FwII9=JFac2L1JHLikrA=
+
+        8dcOZwCPo9v81vj4ru93rHk8=idIBJlUUMoP6PLEeyjdUpQGr+oQpjXCFQnj/0q6L7N3eN8jKhQ
+
+        V9lTsr+dtUM4W2hOdrpapAsjglTYZ++6vueRCcjazZW5uchznp/oek2jeAWgE8hlRKPe4Va2C8Z
+
+        W=8lo8LkXlcRv9CHFLsPhX+4tyFeOSbFfP27F16HMPz2OedvQ01gricFX3wfH2YIrCpejtCFH6Z
+
+        R/5JE/AwyrLq4NXV6rgzAIB87YjhK2OlNW5Xcs8PVP4Dj4YTHJ1G6gv=KtW6Mvq6c=OhCOPuVl1
+
+        tPPSJExABn/dt6UbZ/s0rNjcdD7tPHPNz7xBv2kYUnxRywrq873olBdCqxMUYv0jYSLx3hfCsbn
+
+        KEljWw/zS2Uoz/DEqL6RtiIGxk+GLZ5YHhj/kLtHxbFwU5TSoA03etT=090PAbidx+hlMouJQYE
+
+        fqeVM46LjDRRQrPrZKrIYJtAin8ldZpfGssRioNxJCF6oxUWreQj7PgO=C6XdiqLYSKxW3pIdj1
+
+        Ajh2Ns80mzZ5g9i=XiIlutWf7NZFs2Xu7dC2dwI7Wurlyf7MFstF2X7NcOH5Rtfj=SgV3+anC7/
+
+        PslezU+kpLtp/TKdvCQda+=E7DFDE3owpyGOp/L8j6hPEcgyN1ltAUggi3oepHNqbVE7Z6OCkIq
+
+        StI5EtngjeDsj7RjDXtg0IYx2cZ/hQld75DVZzwn+fIjpKXtz9oqgISRKPIaEgB4jQDxSu=Qv47
+
+        rbxFIlWxFVV1aur0l894tWUAYT4+mIN2GZd=xUnn86eD8AGOsbm2LCJ3xB0uMS7S91YmmT9M4gn
+
+        5gJeKeEAFcNLvn4t1hq9OkPhuJv7x1siZMh0Hk/viq=8/xg61BWud1m01RGjsgzFbC38u7siHGG
+
+        9as0mUMvRdqweu=NufcYf3ABWsljgdlFlkmYsfw7RqhSM/w1Vy7cHfDu3JuFplUGWMligG785s3
+
+        Ivc1UKVDzq0DmMaSFs3BJkRzd8dNPiaSNYuWxusoM=lCcbw3IqmwCZ4TzV56Mstx5EQ9ILNz6OH
+
+        CyEowSlkqQ43L037LjU7Hev0cXpc1wZk45wS0N+H1iMH61b8459K/xrcbFC2K5HbYtsByzYMuw7
+
+        rbsfygf3V21xEAo03V+TgOAk5ZrAlTuQdwB/sccBl9uqaXLrycvpsTqdzjJsamrQh0jo27ekidQ
+
+        08mQLLoEdX07AGUJf3WwtmHOwYHyTxBSLoycepX8ZfmCp5sxSZSZ3T/X248MP0533WNW-----END
+        RSA PRIVATE KEY-----]]>
+
+        </pem>
+
+        <state></state>
+
+        </key>
+
+'
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/keys/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_volume.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_volume.yml b/client/tests/fixtures/test_0004_support_create_volume.yml
new file mode 100644
index 0000000..292b86f
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_volume.yml
@@ -0,0 +1,105 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:13:46 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:13:46 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes?snapshot_id=snap1&name=foo123&capacity=10
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/storage_volumes/volume_1362582826
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '297'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 9e41ddf4021f509c5c937535d344f199
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:13:46 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/volume_1362582826'
+        id='volume_1362582826'>\n  <created>2013-03-06 16:13:46 +0100</created>\n
+        \ <capacity unit='GB'>10</capacity>\n  <name>foo123</name>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:13:46 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_create_volume_and_destroy_volume.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_create_volume_and_destroy_volume.yml b/client/tests/fixtures/test_0004_support_create_volume_and_destroy_volume.yml
new file mode 100644
index 0000000..4a58f0e
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_create_volume_and_destroy_volume.yml
@@ -0,0 +1,181 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:15:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:15:53 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes?snapshot_id=snap1&name=foo123&capacity=10
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/storage_volumes/volume_1362582953
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '297'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 8ef825dd94b9e4c7a7baac761c230edb
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:15:53 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/volume_1362582953'
+        id='volume_1362582953'>\n  <created>2013-03-06 16:15:53 +0100</created>\n
+        \ <capacity unit='GB'>10</capacity>\n  <name>foo123</name>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:15:53 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/storage_volumes/volume_1362582953
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:16:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:16:12 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/volume_1362582953
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002732992172241211'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '460'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:16:12 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/storage_volumes/volume_1362582953'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"volume_1362582953\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"volume_1362582953\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:16:12 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_support_to_test_of_valid_DC_connection.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_support_to_test_of_valid_DC_connection.yml b/client/tests/fixtures/test_0004_support_to_test_of_valid_DC_connection.yml
new file mode 100644
index 0000000..a97eeba
--- /dev/null
+++ b/client/tests/fixtures/test_0004_support_to_test_of_valid_DC_connection.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Og==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:58:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:58:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_supports_current_driver.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_supports_current_driver.yml b/client/tests/fixtures/test_0004_supports_current_driver.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0004_supports_current_driver.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_supports_extract_xml_body_using_nokogiri_element.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_supports_extract_xml_body_using_nokogiri_element.yml b/client/tests/fixtures/test_0004_supports_extract_xml_body_using_nokogiri_element.yml
new file mode 100644
index 0000000..0b93677
--- /dev/null
+++ b/client/tests/fixtures/test_0004_supports_extract_xml_body_using_nokogiri_element.yml
@@ -0,0 +1,117 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_supports_lunch_image.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_supports_lunch_image.yml b/client/tests/fixtures/test_0004_supports_lunch_image.yml
new file mode 100644
index 0000000..291ffdb
--- /dev/null
+++ b/client/tests/fixtures/test_0004_supports_lunch_image.yml
@@ -0,0 +1,312 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009222030639648438'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?hwp_id=m1-large&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst16
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - bb7584dd7de132e54c6e777378629be4
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:14 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362585794</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst16/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:14 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst16/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0010933876037597656'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:03:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362585794</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst16'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst16
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.000896453857421875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 54374ac4d42e4253cbb9bd61365c5bcc
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:03:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst16'
+        id='inst16'>\n  <name>i-1362585794</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst16/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst16'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst16/run;id=inst16'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst16'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst16.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst16.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:15 GMT
+- request:
+    method: delete
+    uri: http://localhost:3001/api/instances/inst16
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 204
+      message: 
+    headers:
+      x-backend-runtime:
+      - '0.00011396408081054688'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:03:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ''
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:03:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_supports_valid_credentials_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_supports_valid_credentials_.yml b/client/tests/fixtures/test_0004_supports_valid_credentials_.yml
new file mode 100644
index 0000000..d3802cf
--- /dev/null
+++ b/client/tests/fixtures/test_0004_supports_valid_credentials_.yml
@@ -0,0 +1,215 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api?force_auth=true
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api?force_auth=true
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic Zm9vOmJhcg==
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 401
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '21'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: Authentication failed
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0004_supports_with_config.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0004_supports_with_config.yml b/client/tests/fixtures/test_0004_supports_with_config.yml
new file mode 100644
index 0000000..a4d8b6d
--- /dev/null
+++ b/client/tests/fixtures/test_0004_supports_with_config.yml
@@ -0,0 +1,129 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic Zjpi
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_support_attach_storage_volume.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_support_attach_storage_volume.yml b/client/tests/fixtures/test_0005_support_attach_storage_volume.yml
new file mode 100644
index 0000000..6955005
--- /dev/null
+++ b/client/tests/fixtures/test_0005_support_attach_storage_volume.yml
@@ -0,0 +1,102 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:17:11 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:17:11 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/attach?instance_id=inst1&device=%2Fdev%2Fsdc
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '536'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:17:11 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <device>/dev/sdc</device>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <realm_id>us</realm_id>\n
+        \ <state>IN-USE</state>\n  <mount>\n    <instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'></instance>\n    <device name='/dev/sdc'></device>\n  </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:17:11 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_support_attach_storage_volume_and_detach_storage_volume.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_support_attach_storage_volume_and_detach_storage_volume.yml b/client/tests/fixtures/test_0005_support_attach_storage_volume_and_detach_storage_volume.yml
new file mode 100644
index 0000000..23d2f5f
--- /dev/null
+++ b/client/tests/fixtures/test_0005_support_attach_storage_volume_and_detach_storage_volume.yml
@@ -0,0 +1,142 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:18:56 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:18:56 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/attach?instance_id=inst1&device=%2Fdev%2Fsdc
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '536'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:18:56 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <device>/dev/sdc</device>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <realm_id>us</realm_id>\n
+        \ <state>IN-USE</state>\n  <mount>\n    <instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'></instance>\n    <device name='/dev/sdc'></device>\n  </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:18:56 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol1/detach
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 15:18:56 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:18:56 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_support_create_instance_with_hwp_id.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_support_create_instance_with_hwp_id.yml b/client/tests/fixtures/test_0005_support_create_instance_with_hwp_id.yml
new file mode 100644
index 0000000..0cff0fa
--- /dev/null
+++ b/client/tests/fixtures/test_0005_support_create_instance_with_hwp_id.yml
@@ -0,0 +1,115 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?hwp_id=m1-large&image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst15
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - a5154912c43a70a5f96dc590a26784d4
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst15'
+        id='inst15'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-large'
+        id='m1-large'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst15/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst15/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst15/run;id=inst15'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst15'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst15.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst15.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0005_support_opaque_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0005_support_opaque_.yml b/client/tests/fixtures/test_0005_support_opaque_.yml
new file mode 100644
index 0000000..59c526c
--- /dev/null
+++ b/client/tests/fixtures/test_0005_support_opaque_.yml
@@ -0,0 +1,152 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:48:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:48:36 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/opaque
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0001239776611328125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '189'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - cc1cae4458571986869bee99e920d94c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:48:36 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/opaque'
+        id='opaque'>\n  <id>opaque</id>\n  <name>opaque</name>\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:48:36 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00011181831359863281'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:48:50 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:48:50 GMT
+recorded_with: VCR 2.4.0


[05/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0009_support_start_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0009_support_start_instance.yml b/client/tests/fixtures/test_0009_support_start_instance.yml
new file mode 100644
index 0000000..bd19a84
--- /dev/null
+++ b/client/tests/fixtures/test_0009_support_start_instance.yml
@@ -0,0 +1,217 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst14
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 846e96034593a904f856ed5c0ef1ba97
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst14/stop
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0021376609802246094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1173'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>STOPPED</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/start'
+        method='post' rel='start' />\n    <link href='http://localhost:3001/api/instances/inst14'
+        method='delete' rel='destroy' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst14/start
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001978158950805664'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst14'
+        id='inst14'>\n  <name>i-1362560178</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst14/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst14/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst14/run;id=inst14'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst14'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst14.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst14.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0009_supports_features.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0009_supports_features.yml b/client/tests/fixtures/test_0009_supports_features.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0009_supports_features.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0010_support_reboot_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0010_support_reboot_instance.yml b/client/tests/fixtures/test_0010_support_reboot_instance.yml
new file mode 100644
index 0000000..1afeabf
--- /dev/null
+++ b/client/tests/fixtures/test_0010_support_reboot_instance.yml
@@ -0,0 +1,166 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances?image_id=img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 201
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      location:
+      - http://localhost:3001/api/instances/inst12
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 45aa1a1069561afacf53bfa0617937c2
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/instances/inst12/reboot
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0019261837005615234'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1175'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst12'
+        id='inst12'>\n  <name>i-1362560177</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img1' id='img1'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst12/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst12/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst12/run;id=inst12'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst12'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst12.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst12.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0010_supports_feature_.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0010_supports_feature_.yml b/client/tests/fixtures/test_0010_supports_feature_.yml
new file mode 100644
index 0000000..c7191f8
--- /dev/null
+++ b/client/tests/fixtures/test_0010_supports_feature_.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0


[22/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html
----------------------------------------------------------------------
diff --git a/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html b/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html
deleted file mode 100644
index 163f7eb..0000000
--- a/client/doc/DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: DeltaCloud::PlainFormatter::FormatObject::StorageVolume</title>
-<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '../../..';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="../../../_index.html">Index (S)</a> &raquo; 
-    <span class='title'><a href="../../../DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a></span> &raquo; <span class='title'><a href="../../PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a></span> &raquo; <span class='title'><a href="../FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a></span>
-     &raquo; 
-    <span class="title">StorageVolume</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: DeltaCloud::PlainFormatter::FormatObject::StorageVolume
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next"><a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></li>
-          
-            <li class="next">DeltaCloud::PlainFormatter::FormatObject::StorageVolume</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/plain_formatter.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-  
-  
-  
-  
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#format-instance_method" title="#format (instance method)">- (Object) <strong>format</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-  
-  
-  
-  
-  
-  
-  
-  <h3 class="inherited">Methods inherited from <a href="Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a></h3>
-  <p class="inherited"><a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a></p>
-<div id="constructor_details" class="method_details_list">
-  <h2>Constructor Details</h2>
-  
-    <p class="notice">This class inherits a constructor from <a href="Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">DeltaCloud::PlainFormatter::FormatObject::Base</a></p>
-  
-</div>
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="format-instance_method">
-  
-    - (<tt>Object</tt>) <strong>format</strong> 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-55
-56
-57
-58
-59
-60
-61
-62
-63</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/plain_formatter.rb', line 55</span>
-
-<span class='def def kw'>def</span> <span class='format identifier id'>format</span>
-  <span class='sprintf identifier id'>sprintf</span><span class='lparen token'>(</span><span class='string val'>&quot;%-10s | %15s GB | %-10s | %-10s | %-15s&quot;</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='capacity identifier id'>capacity</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='capacity identifier id'>capacity</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='device identifier id'>device</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='device identifier id'>device</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='respond_to? fid id'>respond_to?</span><span class='lparen token'>(</span><span class='string val'>'state'</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='state identifier id'>state</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>10</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span><span class='comma token'>,</span>
-    <span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='instance identifier id'>instance</span> <span class='integer val'>? </span><span class='@obj ivar id'>@obj</span><span class='dot token'>.</span><span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>15</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='string val'>'unknown'</span>
-  <span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:26 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/String.html
----------------------------------------------------------------------
diff --git a/client/doc/String.html b/client/doc/String.html
deleted file mode 100644
index b7eab36..0000000
--- a/client/doc/String.html
+++ /dev/null
@@ -1,405 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Class: String</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="_index.html">Index (S)</a> &raquo; 
-    
-    
-    <span class="title">String</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Class: String
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-    <dt class="r1">Inherits:</dt>
-    <dd class="r1">
-      <span class="inheritName">Object</span>
-      
-        <ul class="fullTree">
-          <li>Object</li>
-          
-            <li class="next">String</li>
-          
-        </ul>
-        <a href="#" class="inheritanceTree">show all</a>
-      
-      </dd>
-    
-  
-  
-    
-  
-    
-  
-  
-  
-    <dt class="r2 last">Defined in:</dt>
-    <dd class="r2 last">lib/deltacloud.rb</dd>
-  
-</dl>
-<div class="clear"></div>
-
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#camelize-instance_method" title="#camelize (instance method)">- (Object) <strong>camelize</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Camelize converts strings to UpperCamelCase.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#classify-instance_method" title="#classify (instance method)">- (Object) <strong>classify</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Create a class name from string.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#convert-instance_method" title="#convert (instance method)">- (Object) <strong>convert</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Convert string to float if string value seems like Float.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#sanitize-instance_method" title="#sanitize (instance method)">- (Object) <strong>sanitize</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Simply converts whitespaces and - symbols to &#8216;_&#8217; which is safe for Ruby.</p></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#singularize-instance_method" title="#singularize (instance method)">- (Object) <strong>singularize</strong> </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'><p>Strip &#8216;s&#8217; character from end of string.</p></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="camelize-instance_method">
-  
-    - (<tt>Object</tt>) <strong>camelize</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Camelize converts strings to UpperCamelCase</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-499
-500
-501</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 499</span>
-
-<span class='def def kw'>def</span> <span class='camelize identifier id'>camelize</span>
-  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/\/(.?)/</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='dstring node'>&quot;::#{$1.upcase}&quot;</span> <span class='rbrace token'>}</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/(?:^|_)(.)/</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='$1 nth_ref id'>$1</span><span class='dot token'>.</span><span class='upcase identifier id'>upcase</span> <span class='rbrace token'>}</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="classify-instance_method">
-  
-    - (<tt>Object</tt>) <strong>classify</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Create a class name from string</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-492
-493
-494</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 492</span>
-
-<span class='def def kw'>def</span> <span class='classify identifier id'>classify</span>
-  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='singularize identifier id'>singularize</span><span class='dot token'>.</span><span class='camelize identifier id'>camelize</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="convert-instance_method">
-  
-    - (<tt>Object</tt>) <strong>convert</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Convert string to float if string value seems like Float</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-512
-513
-514
-515</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 512</span>
-
-<span class='def def kw'>def</span> <span class='convert identifier id'>convert</span>
-  <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span> <span class='if if_mod kw'>if</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='strip identifier id'>strip</span> <span class='match op'>=~</span> <span class='regexp val'>/^([\d\.]+$)/</span>
-  <span class='self self kw'>self</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="sanitize-instance_method">
-  
-    - (<tt>Object</tt>) <strong>sanitize</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Simply converts whitespaces and - symbols to &#8216;_&#8217; which is safe for Ruby</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-518
-519
-520</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 518</span>
-
-<span class='def def kw'>def</span> <span class='sanitize identifier id'>sanitize</span>
-  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/(\W+)/</span><span class='comma token'>,</span> <span class='string val'>'_'</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="singularize-instance_method">
-  
-    - (<tt>Object</tt>) <strong>singularize</strong> 
-  
-
-  
-</p><div class="docstring">
-  <div class="discussion">
-    <p>Strip &#8216;s&#8217; character from end of string</p>
-
-  </div>
-</div>
-<div class="tags">
-  
-</div><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-506
-507
-508</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/deltacloud.rb', line 506</span>
-
-<span class='def def kw'>def</span> <span class='singularize identifier id'>singularize</span>
-  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/s$/</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:29 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/_index.html
----------------------------------------------------------------------
diff --git a/client/doc/_index.html b/client/doc/_index.html
deleted file mode 100644
index d90c966..0000000
--- a/client/doc/_index.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Deltacloud Client Library</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    
-    <span class="title"></span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><div id="listing">
-  <h1 class="noborder title">Deltacloud Client Library</h1>
-  <h1 class="alphaindex">Alphabetic Index</h1>
-  
-  
-    <h2>File Listing</h2>
-    <ul id="files">
-    
-    
-      <li class="r1"><a href="index.html" title="README">README</a></li>
-      
-    
-    </ul>
-  
-  <div class="clear"></div>
-
-  <h2>Namespace Listing A-Z</h2>
-  
-  
-    <ul class="toplevel"><li><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></li></ul>
-  
-
-  
-  <table>
-    <tr>
-      <td valign='top' width="33%">
-        
-          
-          <ul id="alpha_A" class="alpha">
-            <li class="letter">A</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/API.html" title="DeltaCloud::API (class)">API</a> 
-                  
-                    <small>(DeltaCloud)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_B" class="alpha">
-            <li class="letter">B</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_D" class="alpha">
-            <li class="letter">D</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a> 
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/Documentation.html" title="DeltaCloud::Documentation (class)">Documentation</a> 
-                  
-                    <small>(DeltaCloud)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_F" class="alpha">
-            <li class="letter">F</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/HWP/FloatProperty.html" title="DeltaCloud::HWP::FloatProperty (class)">FloatProperty</a> 
-                  
-                    <small>(DeltaCloud::HWP)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_H" class="alpha">
-            <li class="letter">H</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/HWP.html" title="DeltaCloud::HWP (module)">HWP</a> 
-                  
-                    <small>(DeltaCloud)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html" title="DeltaCloud::PlainFormatter::FormatObject::HardwareProfile (class)">HardwareProfile</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/API/HardwareProfile.html" title="DeltaCloud::API::HardwareProfile (class)">HardwareProfile</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_I" class="alpha">
-            <li class="letter">I</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/API/Image.html" title="DeltaCloud::API::Image (class)">Image</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/Image.html" title="DeltaCloud::PlainFormatter::FormatObject::Image (class)">Image</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/API/Instance.html" title="DeltaCloud::API::Instance (class)">Instance</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/Instance.html" title="DeltaCloud::PlainFormatter::FormatObject::Instance (class)">Instance</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a> 
-                  
-                    <small>(DeltaCloud)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_O" class="alpha">
-            <li class="letter">O</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/Documentation/OperationParameter.html" title="DeltaCloud::Documentation::OperationParameter (class)">OperationParameter</a> 
-                  
-                    <small>(DeltaCloud::Documentation)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-            </td><td valign='top' width="33%">
-            
-          
-          <ul id="alpha_P" class="alpha">
-            <li class="letter">P</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a> 
-                  
-                    <small>(DeltaCloud)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/HWP/Property.html" title="DeltaCloud::HWP::Property (class)">Property</a> 
-                  
-                    <small>(DeltaCloud::HWP)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_R" class="alpha">
-            <li class="letter">R</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/API/Realm.html" title="DeltaCloud::API::Realm (class)">Realm</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/Realm.html" title="DeltaCloud::PlainFormatter::FormatObject::Realm (class)">Realm</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_S" class="alpha">
-            <li class="letter">S</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/InstanceState/State.html" title="DeltaCloud::InstanceState::State (class)">State</a> 
-                  
-                    <small>(DeltaCloud::InstanceState)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot (class)">StorageSnapshot</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/API/StorageSnapshot.html" title="DeltaCloud::API::StorageSnapshot (class)">StorageSnapshot</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/API/StorageVolume.html" title="DeltaCloud::API::StorageVolume (class)">StorageVolume</a> 
-                  
-                    <small>(DeltaCloud::API)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageVolume (class)">StorageVolume</a> 
-                  
-                    <small>(DeltaCloud::PlainFormatter::FormatObject)</small>
-                  
-                </li>
-              
-                <li>
-                  <a href="String.html" title="String (class)">String</a> 
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-          
-          <ul id="alpha_T" class="alpha">
-            <li class="letter">T</li>
-            <ul>
-              
-                <li>
-                  <a href="DeltaCloud/InstanceState/Transition.html" title="DeltaCloud::InstanceState::Transition (class)">Transition</a> 
-                  
-                    <small>(DeltaCloud::InstanceState)</small>
-                  
-                </li>
-              
-            </ul>
-          </ul>
-        
-      </td>
-    </tr>
-  </table>
-</div></div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:23 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/class_list.html
----------------------------------------------------------------------
diff --git a/client/doc/class_list.html b/client/doc/class_list.html
deleted file mode 100644
index fcd487d..0000000
--- a/client/doc/class_list.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-    <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
-    <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-    <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
-    <base id="base_target" target="_parent" />
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) {
-        document.getElementById('base_target').target = 'main';
-        document.body.className = 'frames';
-      }
-    </script>
-    <div id="content">
-      <h1 id="full_list_header">Class List</h1>
-      <div id="nav">
-        <a target="_self" href="class_list.html">Classes</a> | 
-        <a target="_self" href="method_list.html">Methods</a> |
-        <a target="_self" href="file_list.html">Files</a>
-      </div>
-      <div id="search">Search: <input type="text" /></div>
-
-      <ul id="full_list" class="class">
-        <li><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></li>
-<li><a class='toggle'></a> <a href="DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a><small class='search_info'>Top Level Namespace</small></li><ul><li><a class='toggle'></a> <a href="DeltaCloud/API.html" title="DeltaCloud::API (class)">API</a> &lt; Object<small class='search_info'>DeltaCloud</small></li><ul><li><a href="DeltaCloud/API/HardwareProfile.html" title="DeltaCloud::API::HardwareProfile (class)">HardwareProfile</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li><li><a href="DeltaCloud/API/Image.html" title="DeltaCloud::API::Image (class)">Image</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li><li><a href="DeltaCloud/API/Instance.html" title="DeltaCloud::API::Instance (class)">Instance</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li><li><a href="DeltaCloud/API/Realm.html" title="DeltaCloud::API::Realm (class)">Realm</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li><li><a href="Delta
 Cloud/API/StorageSnapshot.html" title="DeltaCloud::API::StorageSnapshot (class)">StorageSnapshot</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li><li><a href="DeltaCloud/API/StorageVolume.html" title="DeltaCloud::API::StorageVolume (class)">StorageVolume</a> &lt; Object<small class='search_info'>DeltaCloud::API</small></li></ul><li><a class='toggle'></a> <a href="DeltaCloud/Documentation.html" title="DeltaCloud::Documentation (class)">Documentation</a> &lt; Object<small class='search_info'>DeltaCloud</small></li><ul><li><a href="DeltaCloud/Documentation/OperationParameter.html" title="DeltaCloud::Documentation::OperationParameter (class)">OperationParameter</a> &lt; Object<small class='search_info'>DeltaCloud::Documentation</small></li></ul><li><a class='toggle'></a> <a href="DeltaCloud/HWP.html" title="DeltaCloud::HWP (module)">HWP</a><small class='search_info'>DeltaCloud</small></li><ul><li><a href="DeltaCloud/HWP/FloatProperty.html" title="DeltaCloud::HWP::Fl
 oatProperty (class)">FloatProperty</a> &lt; Property<small class='search_info'>DeltaCloud::HWP</small></li><li><a href="DeltaCloud/HWP/Property.html" title="DeltaCloud::HWP::Property (class)">Property</a> &lt; Object<small class='search_info'>DeltaCloud::HWP</small></li></ul><li><a class='toggle'></a> <a href="DeltaCloud/InstanceState.html" title="DeltaCloud::InstanceState (module)">InstanceState</a><small class='search_info'>DeltaCloud</small></li><ul><li><a href="DeltaCloud/InstanceState/State.html" title="DeltaCloud::InstanceState::State (class)">State</a> &lt; Object<small class='search_info'>DeltaCloud::InstanceState</small></li><li><a href="DeltaCloud/InstanceState/Transition.html" title="DeltaCloud::InstanceState::Transition (class)">Transition</a> &lt; Object<small class='search_info'>DeltaCloud::InstanceState</small></li></ul><li><a class='toggle'></a> <a href="DeltaCloud/PlainFormatter.html" title="DeltaCloud::PlainFormatter (module)">PlainFormatter</a><small class='search
 _info'>DeltaCloud</small></li><ul><li><a class='toggle'></a> <a href="DeltaCloud/PlainFormatter/FormatObject.html" title="DeltaCloud::PlainFormatter::FormatObject (module)">FormatObject</a><small class='search_info'>DeltaCloud::PlainFormatter</small></li><ul><li><a href="DeltaCloud/PlainFormatter/FormatObject/Base.html" title="DeltaCloud::PlainFormatter::FormatObject::Base (class)">Base</a> &lt; Object<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html" title="DeltaCloud::PlainFormatter::FormatObject::HardwareProfile (class)">HardwareProfile</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/PlainFormatter/FormatObject/Image.html" title="DeltaCloud::PlainFormatter::FormatObject::Image (class)">Image</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/Plai
 nFormatter/FormatObject/Instance.html" title="DeltaCloud::PlainFormatter::FormatObject::Instance (class)">Instance</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/PlainFormatter/FormatObject/Realm.html" title="DeltaCloud::PlainFormatter::FormatObject::Realm (class)">Realm</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot (class)">StorageSnapshot</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li><li><a href="DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html" title="DeltaCloud::PlainFormatter::FormatObject::StorageVolume (class)">StorageVolume</a> &lt; Base<small class='search_info'>DeltaCloud::PlainFormatter::FormatObject</small></li></ul></ul></ul><li><a href="String.html" title="String
  (class)">String</a> &lt; Object<small class='search_info'>Top Level Namespace</small></li>
-
-      </ul>
-    </div>
-  </body>
-</html>
-

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/css/common.css
----------------------------------------------------------------------
diff --git a/client/doc/css/common.css b/client/doc/css/common.css
deleted file mode 100644
index cf25c45..0000000
--- a/client/doc/css/common.css
+++ /dev/null
@@ -1 +0,0 @@
-/* Override this file with custom rules */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/css/full_list.css
----------------------------------------------------------------------
diff --git a/client/doc/css/full_list.css b/client/doc/css/full_list.css
deleted file mode 100644
index 78592b3..0000000
--- a/client/doc/css/full_list.css
+++ /dev/null
@@ -1,50 +0,0 @@
-body { 
-  margin: 0;
-  font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; 
-  font-size: 13px;
-  height: 101%;
-  overflow-x: hidden;
-}
-
-h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
-.clear { clear: both; }
-#search { position: absolute; right: 5px; top: 9px; }
-#full_list { padding: 0; list-style: none; margin-left: 0; }
-#full_list ul { padding: 0; }
-#full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
-#noresults { display: none; padding: 7px 12px; }
-ul.collapsed ul, ul.collapsed li { display: none; }
-li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
-li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
-li { color: #888; cursor: pointer; }
-li.deprecated { text-decoration: line-through; font-style: italic; }
-li.r1 { background: #f0f0f0; }
-li.r2 { background: #fafafa; }
-li:hover { background: #ddd; }
-li small:before { content: "("; }
-li small:after { content: ")"; }
-li small.search_info { display: none; }
-a:link, a:visited { text-decoration: none; color: #05a; }
-li.clicked { background: #05a; color: #ccc; }
-li.clicked a:link, li.clicked a:visited { color: #eee; }
-li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
-li.collapsed.clicked a.toggle { background-position: top right; }
-#search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
-#nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
-#nav a:link, #nav a:visited { color: #358; }
-#nav a:hover { background: transparent; color: #5af; }
-
-.frames #content h1 { margin-top: 0; }
-.frames li { white-space: nowrap; cursor: normal; }
-.frames li small { display: block; font-size: 0.8em; }
-.frames li small:before { content: ""; }
-.frames li small:after { content: ""; }
-.frames li small.search_info { display: none; }
-.frames #search { position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; }
-.frames #search input { width: 110px; }
-.frames #nav { display: block; }
-
-#full_list.insearch li { display: none; }
-#full_list.insearch li.found { display: list-item; padding-left: 10px; }
-#full_list.insearch li a.toggle { display: none; }
-#full_list.insearch li small.search_info { display: block; }

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/css/style.css
----------------------------------------------------------------------
diff --git a/client/doc/css/style.css b/client/doc/css/style.css
deleted file mode 100644
index ace9dd8..0000000
--- a/client/doc/css/style.css
+++ /dev/null
@@ -1,277 +0,0 @@
-body { 
-  padding: 0 20px;
-  font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; 
-  font-size: 13px;
-}
-body.frames { padding: 0 5px; }
-h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
-h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
-h1.title { margin-bottom: 10px; }
-h1.alphaindex { margin-top: 0; font-size: 22px; }
-h2 { 
-  padding: 0;
-  padding-bottom: 3px;
-  border-bottom: 1px #aaa solid;
-  font-size: 1.4em;
-  margin: 1.8em 0 0.5em;
-}
-h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; }
-.clear { clear: both; }
-.inline { display: inline; }
-.inline p:first-child { display: inline; }
-.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
-.docstring h1 { font-size: 1.2em; }
-.docstring h2 { font-size: 1.1em; }
-.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
-
-.note { 
-  color: #222;
-  -moz-border-radius: 3px; -webkit-border-radius: 3px; 
-  background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
-}
-.note.todo { background: #ffffc5; border-color: #ececaa; }
-.note.returns_void { background: #efefef; }
-.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
-.note.private { background: #ffffc5; border-color: #ececaa; }
-.note.title { text-transform: lowercase; padding: 1px 5px; margin-left: 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; }
-h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
-.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; } 
-.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; } 
-.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; } 
-.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
-
-h3.inherited {
-  font-style: italic;
-  font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
-  font-weight: normal;
-  padding: 0;
-  margin: 0;
-  margin-top: 12px;
-  margin-bottom: 3px;
-  font-size: 13px;
-}
-p.inherited {
-  padding: 0;
-  margin: 0;
-  margin-left: 25px;
-}
-
-dl.box {
-  width: 520px;
-  font-size: 1em;
-}
-dl.box dt {
-  float: left;
-  display: block;
-  width: 100px;
-  margin: 0;
-  text-align: right;
-  font-weight: bold;
-  border: 1px solid #aaa;
-  border-width: 1px 0px 0px 1px;
-  padding: 6px 0;
-  padding-right: 10px;
-}
-dl.box dd {
-  float: left;
-  display: block;
-  width: 380px;
-  margin: 0;
-  padding: 6px 0;
-  padding-right: 20px;
-  border: 1px solid #aaa;
-  border-width: 1px 1px 0 0;
-}
-dl.box .last {
-  border-bottom: 1px solid #aaa;
-}
-dl.box .r1 { background: #eee; }
-
-ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
-#files { padding-left: 15px; font-size: 1.1em; }
-
-#files { padding: 0; }
-#files li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
-
-dl.constants { margin-left: 40px; }
-dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
-dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
-
-.summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
-.summary_desc tt { font-size: 0.9em; }
-dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
-dl.constants .discussion *:first-child { margin-top: 0; }
-dl.constants .discussion *:last-child { margin-bottom: 0; }
-
-.method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
-.method_details.first { border: 0; }
-p.signature { 
-  font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace; 
-  padding: 6px 10px; margin-top: 18px; 
-  background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
-}
-p.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
-p.signature .overload { display: block; }
-p.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
-p.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
-p.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
-
-.tags h3 { font-size: 1em; margin-bottom: 0; }
-.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
-.tags ul li { margin-bottom: 3px; }
-.tags ul .name { font-family: monospace; font-weight: bold; }
-.tags ul .note { padding: 3px 6px; }
-.tags { margin-bottom: 12px; }
-
-.tags .examples h3 { margin-bottom: 10px; }
-.tags .examples h4 { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
-
-.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
-.tags .overload .overload_item .signature { 
-  padding: 2px 8px;
-  background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
-}
-.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
-.tags .overload .docstring { margin-top: 15px; }
-
-.defines { display: none; }
-
-#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
-
-.showSource { font-size: 0.9em; }
-.showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
-
-#content a:link, #content a:visited { text-decoration: none; color: #05a; }
-#content a:hover { background: #ffffa5; }
-.docstring { margin-right: 6em; }
-
-ul.summary {
-  list-style: none;
-  font-family: monospace;
-  font-size: 1em;
-  line-height: 1.5em;
-}
-ul.summary a:link, ul.summary a:visited { 
-  text-decoration: none; font-size: 1.1em;
-}
-ul.summary li { margin-bottom: 5px; }
-.summary .summary_signature { 
-  padding: 1px 10px;
-  background: #eaeaff; border: 1px solid #dfdfe5;
-  -moz-border-radius: 3px; -webkit-border-radius: 3px; 
-}
-.summary_signature:hover { background: #eeeeff; cursor: pointer; }
-ul.summary.compact li { display: inline; margin-right: 5px; line-height: 2.6em;}
-ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
-#content .summary_signature:hover a:link, 
-#content .summary_signature:hover a:visited {
-  background: transparent;
-  color: #48f;
-}
-
-p.inherited a { font-family: monospace; font-size: 0.9em; }
-p.inherited { word-spacing: 5px; font-size: 1.2em; }
-
-p.children { font-size: 1.2em; }
-p.children a { font-size: 0.9em; }
-p.children strong { font-size: 0.8em; }
-p.children strong.modules { padding-left: 5px; }
-
-ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
-ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
-ul.fullTree li { text-align: center; }
-ul.fullTree li.next:before { font-size: 1.2em; content: '\2B06'; color: #bbb; display: block; margin-top: 3px; }
-
-#search { position: absolute; right: 14px; top: 0px; }
-#search a:link, #search a:visited { 
-  display: block; float: left; margin-right: 4px;
-  padding: 8px 10px; text-decoration: none; color: #05a; background: #eaeaff;
-  border: 1px solid #d8d8e5;
-  -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; 
-  -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
-}
-#search a:hover { background: #eef; color: #06b; }
-#search a.active { 
-  background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457; 
-  -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
-  -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
-}
-#search a.inactive { color: #999; }
-.frames #search { display: none; }
-.inheritanceTree, .toggleDefines { float: right; }
-
-#menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
-#menu .title, #menu a { font-size: 0.7em; }
-#menu .title a { font-size: 1em; }
-#menu .title { color: #555; }
-#menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
-#menu a:hover { color: #05a; }
-#menu .noframes { display: none; }
-.frames #menu .noframes { display: inline; float: right; }
-
-#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
-#footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
-#footer a:hover { color: #05a; }
-
-#listing ul.alpha { font-size: 1.1em; }
-#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
-#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
-#listing ul.alpha ul { margin: 0; padding-left: 15px; }
-#listing ul small { color: #666; font-size: 0.7em; }
-
-li.r1 { background: #f0f0f0; }
-li.r2 { background: #fafafa; }
-
-#search_frame {
-  background: #fff;
-  display: none;
-  position: absolute; 
-  top: 36px; 
-  right: 18px;
-  width: 500px;
-  height: 80%;
-  overflow-y: scroll;
-  border: 1px solid #999;
-  border-collapse: collapse;
-  -webkit-box-shadow: -7px 5px 25px #aaa;
-  -moz-box-shadow: -7px 5px 25px #aaa;
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-}
-
-#content ul.summary li.deprecated a:link, 
-#content ul.summary li.deprecated a:visited { text-decoration: line-through; font-style: italic; }
-
-/* syntax highlighting */
-.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
-#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
-#filecontents pre.code, .docstring pre.code { display: block; }
-.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
-#filecontents pre.code, .docstring pre.code, 
-.tags .example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
-pre.code { color: #000; }
-pre.code .info.file { color: #555; }
-pre.code .val { color: #036A07; }
-pre.code .tstring_content,
-pre.code .heredoc_beg, pre.code .heredoc_end,
-pre.code .qwords_beg, pre.code .qwords_end,
-pre.code .tstring, pre.code .dstring { color: #036A07; }
-pre.code .fid, pre.code .id.new, pre.code .id.to_s, 
-pre.code .id.to_sym, pre.code .id.to_f, 
-pre.code .dot + pre.code .id,
-pre.code .id.to_i pre.code .id.each { color: #0085FF; }
-pre.code .comment { color: #0066FF; }
-pre.code .const, pre.code .constant { color: #585CF6; }
-pre.code .symbol { color: #C5060B; }
-pre.code .kw, 
-pre.code .label,
-pre.code .id.require, 
-pre.code .id.extend,
-pre.code .id.include { color: #0000FF; }
-pre.code .ivar { color: #318495; }
-pre.code .gvar, 
-pre.code .id.backref, 
-pre.code .id.nth_ref { color: #6D79DE; }
-pre.code .regexp, .dregexp { color: #036A07; }
-pre.code a { border-bottom: 1px dotted #bbf; }
-


[21/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/deltacloud.rb
----------------------------------------------------------------------
diff --git a/client/doc/deltacloud.rb b/client/doc/deltacloud.rb
deleted file mode 100644
index b2a2c9a..0000000
--- a/client/doc/deltacloud.rb
+++ /dev/null
@@ -1,1387 +0,0 @@
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::StorageVolume
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get device attribute value from api::storagevolume
-
-    # @return [String] Value of device
-    def device
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::storagevolume
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get capacity= attribute value from api::storagevolume
-
-    # @return [String] Value of capacity=
-    def capacity=
-      # This method was generated dynamically from API
-    end
-
-    # Get device= attribute value from api::storagevolume
-
-    # @return [String] Value of device=
-    def device=
-      # This method was generated dynamically from API
-    end
-
-    # Get instance attribute value from api::storagevolume
-
-    # @return [String] Value of instance
-    def instance
-      # This method was generated dynamically from API
-    end
-
-    # Get created attribute value from api::storagevolume
-
-    # @return [String] Value of created
-    def created
-      # This method was generated dynamically from API
-    end
-
-    # Get created= attribute value from api::storagevolume
-
-    # @return [String] Value of created=
-    def created=
-      # This method was generated dynamically from API
-    end
-
-    # Get capacity attribute value from api::storagevolume
-
-    # @return [String] Value of capacity
-    def capacity
-      # This method was generated dynamically from API
-    end
-
-  end
-end
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::Instance
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get realm attribute value from api::instance
-
-    # @return [String] Value of realm
-    def realm
-      # This method was generated dynamically from API
-    end
-
-    # Get reboot! attribute value from api::instance
-
-    # @return [String] Value of reboot!
-    def reboot!
-      # This method was generated dynamically from API
-    end
-
-    # Get name= attribute value from api::instance
-
-    # @return [String] Value of name=
-    def name=
-      # This method was generated dynamically from API
-    end
-
-    # Get private_addresses= attribute value from api::instance
-
-    # @return [String] Value of private_addresses=
-    def private_addresses=
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::instance
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get owner_id attribute value from api::instance
-
-    # @return [String] Value of owner_id
-    def owner_id
-      # This method was generated dynamically from API
-    end
-
-    # Get image attribute value from api::instance
-
-    # @return [String] Value of image
-    def image
-      # This method was generated dynamically from API
-    end
-
-    # Get actions_urls attribute value from api::instance
-
-    # @return [String] Value of actions_urls
-    def actions_urls
-      # This method was generated dynamically from API
-    end
-
-    # Get hardware_profile attribute value from api::instance
-
-    # @return [String] Value of hardware_profile
-    def hardware_profile
-      # This method was generated dynamically from API
-    end
-
-    # Get owner_id= attribute value from api::instance
-
-    # @return [String] Value of owner_id=
-    def owner_id=
-      # This method was generated dynamically from API
-    end
-
-    # Get destroy! attribute value from api::instance
-
-    # @return [String] Value of destroy!
-    def destroy!
-      # This method was generated dynamically from API
-    end
-
-    # Get state attribute value from api::instance
-
-    # @return [String] Value of state
-    def state
-      # This method was generated dynamically from API
-    end
-
-    # Read api::instance collection from Deltacloud API
-    # @param [String, #id] Filter by ID
-    # @return [String] Value of public_addresses
-    def public_addresses
-      # This method was generated dynamically from API
-    end
-
-    # Get stop! attribute value from api::instance
-
-    # @return [String] Value of stop!
-    def stop!
-      # This method was generated dynamically from API
-    end
-
-    # Get actions attribute value from api::instance
-
-    # @return [String] Value of actions
-    def actions
-      # This method was generated dynamically from API
-    end
-
-    # Get name attribute value from api::instance
-
-    # @return [String] Value of name
-    def name
-      # This method was generated dynamically from API
-    end
-
-    # Read api::instance collection from Deltacloud API
-    # @param [String, #id] Filter by ID
-    # @return [String] Value of private_addresses
-    def private_addresses
-      # This method was generated dynamically from API
-    end
-
-    # Get start! attribute value from api::instance
-
-    # @return [String] Value of start!
-    def start!
-      # This method was generated dynamically from API
-    end
-
-    # Get state= attribute value from api::instance
-
-    # @return [String] Value of state=
-    def state=
-      # This method was generated dynamically from API
-    end
-
-    # Get public_addresses= attribute value from api::instance
-
-    # @return [String] Value of public_addresses=
-    def public_addresses=
-      # This method was generated dynamically from API
-    end
-
-  end
-end
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::HardwareProfile
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get cpu= attribute value from api::hardwareprofile
-
-    # @return [String] Value of cpu=
-    def cpu=
-      # This method was generated dynamically from API
-    end
-
-    # Get name= attribute value from api::hardwareprofile
-
-    # @return [String] Value of name=
-    def name=
-      # This method was generated dynamically from API
-    end
-
-    # Get storage attribute value from api::hardwareprofile
-
-    # @return [String] Value of storage
-    def storage
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::hardwareprofile
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get architecture attribute value from api::hardwareprofile
-
-    # @return [String] Value of architecture
-    def architecture
-      # This method was generated dynamically from API
-    end
-
-    # Get storage= attribute value from api::hardwareprofile
-
-    # @return [String] Value of storage=
-    def storage=
-      # This method was generated dynamically from API
-    end
-
-    # Get architecture= attribute value from api::hardwareprofile
-
-    # @return [String] Value of architecture=
-    def architecture=
-      # This method was generated dynamically from API
-    end
-
-    # Get memory attribute value from api::hardwareprofile
-
-    # @return [String] Value of memory
-    def memory
-      # This method was generated dynamically from API
-    end
-
-    # Get cpu attribute value from api::hardwareprofile
-
-    # @return [String] Value of cpu
-    def cpu
-      # This method was generated dynamically from API
-    end
-
-    # Get memory= attribute value from api::hardwareprofile
-
-    # @return [String] Value of memory=
-    def memory=
-      # This method was generated dynamically from API
-    end
-
-    # Get name attribute value from api::hardwareprofile
-
-    # @return [String] Value of name
-    def name
-      # This method was generated dynamically from API
-    end
-
-  end
-end
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::StorageSnapshot
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get storage_volume attribute value from api::storagesnapshot
-
-    # @return [String] Value of storage_volume
-    def storage_volume
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::storagesnapshot
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get created attribute value from api::storagesnapshot
-
-    # @return [String] Value of created
-    def created
-      # This method was generated dynamically from API
-    end
-
-    # Get state attribute value from api::storagesnapshot
-
-    # @return [String] Value of state
-    def state
-      # This method was generated dynamically from API
-    end
-
-    # Get created= attribute value from api::storagesnapshot
-
-    # @return [String] Value of created=
-    def created=
-      # This method was generated dynamically from API
-    end
-
-    # Get state= attribute value from api::storagesnapshot
-
-    # @return [String] Value of state=
-    def state=
-      # This method was generated dynamically from API
-    end
-
-  end
-end
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::Image
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get name= attribute value from api::image
-
-    # @return [String] Value of name=
-    def name=
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::image
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get architecture attribute value from api::image
-
-    # @return [String] Value of architecture
-    def architecture
-      # This method was generated dynamically from API
-    end
-
-    # Get owner_id attribute value from api::image
-
-    # @return [String] Value of owner_id
-    def owner_id
-      # This method was generated dynamically from API
-    end
-
-    # Get description attribute value from api::image
-
-    # @return [String] Value of description
-    def description
-      # This method was generated dynamically from API
-    end
-
-    # Get architecture= attribute value from api::image
-
-    # @return [String] Value of architecture=
-    def architecture=
-      # This method was generated dynamically from API
-    end
-
-    # Get owner_id= attribute value from api::image
-
-    # @return [String] Value of owner_id=
-    def owner_id=
-      # This method was generated dynamically from API
-    end
-
-    # Get description= attribute value from api::image
-
-    # @return [String] Value of description=
-    def description=
-      # This method was generated dynamically from API
-    end
-
-    # Get name attribute value from api::image
-
-    # @return [String] Value of name
-    def name
-      # This method was generated dynamically from API
-    end
-
-  end
-end
-module DeltaCloud
-  class API
-# Return InstanceState object with given id
-
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [InstanceState]
-def instance_state
-end
-# Return collection of InstanceState objects
-# 
-# The possible states of an instance, and how to traverse between them
-# @return [Array] [InstanceState]
-def instance_states(opts={})
-end
-# Return StorageVolume object with given id
-
-# 
-# Storage volumes description here
-# @return [StorageVolume]
-def storage_volume
-end
-# Return collection of StorageVolume objects
-# 
-# Storage volumes description here
-   # @param [string, id] 
-# @return [Array] [StorageVolume]
-def storage_volumes(opts={})
-end
-# Return Instance object with given id
-
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-# @return [Instance]
-def instance
-end
-# Return collection of Instance objects
-# 
-# 
-#         An instance is a concrete machine realized from an image.
-#         The images collection may be obtained by following the link from the primary entry-point."
-#     
-   # @param [string, state] 
-   # @param [string, id] 
-# @return [Array] [Instance]
-def instances(opts={})
-end
-# Return HardwareProfile object with given id
-
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-# @return [HardwareProfile]
-def hardware_profile
-end
-# Return collection of HardwareProfile objects
-# 
-# 
-#        A hardware profile represents a configuration of resources upon which a
-#        machine may be deployed. It defines aspects such as local disk storage,
-#        available RAM, and architecture. Each provider is free to define as many
-#        (or as few) hardware profiles as desired.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [HardwareProfile]
-def hardware_profiles(opts={})
-end
-# Return StorageSnapshot object with given id
-
-# 
-# Storage snapshots description here
-# @return [StorageSnapshot]
-def storage_snapshot
-end
-# Return collection of StorageSnapshot objects
-# 
-# Storage snapshots description here
-   # @param [string, id] 
-# @return [Array] [StorageSnapshot]
-def storage_snapshots(opts={})
-end
-# Return Image object with given id
-
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-# @return [Image]
-def image
-end
-# Return collection of Image objects
-# 
-# 
-#         An image is a platonic form of a machine. Images are not directly executable,
-#         but are a template for creating actual instances of machines."
-#     
-   # @param [string, architecture] 
-   # @param [string, owner_id] 
-   # @param [string, id] 
-# @return [Array] [Image]
-def images(opts={})
-end
-# Return Realm object with given id
-
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-# @return [Realm]
-def realm
-end
-# Return collection of Realm objects
-# 
-# 
-#         Within a cloud provider a realm represents a boundary containing resources.
-#         The exact definition of a realm is left to the cloud provider.
-#         In some cases, a realm may represent different datacenters, different continents,
-#         or different pools of resources within a single datacenter.
-#         A cloud provider may insist that resources must all exist within a single realm in
-#         order to cooperate. For instance, storage volumes may only be allowed to be mounted to
-#         instances within the same realm.
-#     
-   # @param [string, architecture] 
-   # @param [string, id] 
-# @return [Array] [Realm]
-def realms(opts={})
-end
-  end
-  class API::Realm
-    # Return URI to API for this object
-
-    # @return [String] Value of uri
-    def uri
-      # This method was generated dynamically from API
-    end
-
-    # Get name= attribute value from api::realm
-
-    # @return [String] Value of name=
-    def name=
-      # This method was generated dynamically from API
-    end
-
-    # Get limit attribute value from api::realm
-
-    # @return [String] Value of limit
-    def limit
-      # This method was generated dynamically from API
-    end
-
-    # Get id attribute value from api::realm
-
-    # @return [String] Value of id
-    def id
-      # This method was generated dynamically from API
-    end
-
-    # Return instance of API client
-
-    # @return [String] Value of client
-    def client
-      # This method was generated dynamically from API
-    end
-
-    # Get limit= attribute value from api::realm
-
-    # @return [String] Value of limit=
-    def limit=
-      # This method was generated dynamically from API
-    end
-
-    # Get state attribute value from api::realm
-
-    # @return [String] Value of state
-    def state
-      # This method was generated dynamically from API
-    end
-
-    # Get name attribute value from api::realm
-
-    # @return [String] Value of name
-    def name
-      # This method was generated dynamically from API
-    end
-
-    # Get state= attribute value from api::realm
-
-    # @return [String] Value of state=
-    def state=
-      # This method was generated dynamically from API
-    end
-
-  end
-end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/file.README.html
----------------------------------------------------------------------
diff --git a/client/doc/file.README.html b/client/doc/file.README.html
deleted file mode 100644
index 1e9aacb..0000000
--- a/client/doc/file.README.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Deltacloud Client Library</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="_index.html" title="Index">Index</a> &raquo; 
-    <span class="title">File: README</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><div id='filecontents'><h1 id='deltacloud_client_ruby'>Deltacloud Client (Ruby)</h1>
-
-<p>The Deltacloud project includes a Ruby client. Other language-bindings are possible and will be supported soon. The client aims to insulate users from having to deal with HTTP and REST directly.</p>
-
-<p>Each resource type has an associated model to ease usage. Where resource reference other resources, natural navigation across the object model is possible.</p>
-
-<p>For example</p>
-
-<pre class="code"><span class='puts identifier id'>puts</span> <span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='dot token'>.</span><span class='name identifier id'>name</span>
-<span class='puts identifier id'>puts</span> <span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='hardware_profile identifier id'>hardware_profile</span><span class='dot token'>.</span><span class='architecture identifier id'>architecture</span>
-</pre>
-
-<h2 id='basics'>Basics</h2>
-
-<p>To use the client, you must require <code>deltacloud</code>.</p>
-
-<pre class="code"><span class='require identifier id'>require</span> <span class='string val'>'deltacloud'</span>
-</pre>
-
-<h2 id='connecting_to_a_deltacloud_provider'>Connecting to a Deltacloud provider</h2>
-
-<pre class="code"><span class='require identifier id'>require</span> <span class='string val'>'deltacloud'</span>
-
-<span class='api_url identifier id'>api_url</span>      <span class='assign token'>=</span> <span class='string val'>'http://localhost:3001/api'</span>
-<span class='api_name identifier id'>api_name</span>     <span class='assign token'>=</span> <span class='string val'>'mockuser'</span>
-<span class='api_password identifier id'>api_password</span> <span class='assign token'>=</span> <span class='string val'>'mockpassword'</span>
-
-<span class='client identifier id'>client</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span> <span class='api_name identifier id'>api_name</span><span class='comma token'>,</span> <span class='api_password identifier id'>api_password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span> <span class='rparen token'>)</span>
-
-<span class='comment val'># work with client here</span>
-</pre>
-
-<p>In addition to creating a client, operations may occur within a block included on the initialization</p>
-
-<pre class="code"><span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span> <span class='api_name identifier id'>api_name</span><span class='comma token'>,</span> <span class='api_password identifier id'>api_password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span> <span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='client identifier id'>client</span><span class='bitor op'>|</span>
-  <span class='comment val'># work with client here</span>
-<span class='end end kw'>end</span>
-</pre>
-
-<p>In the event of a failure, any underlying HTTP transport exceptions will be thrown all the way out to the caller.</p>
-
-<h2 id='listing_realms'>Listing realms</h2>
-
-<p>You may retrieve a complete list of realms available to you</p>
-
-<pre class="code"><span class='realms identifier id'>realms</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='realms identifier id'>realms</span>
-</pre>
-
-<p>You may retrieve a specific realm by its identifier</p>
-
-<pre class="code"><span class='realm identifier id'>realm</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='realm identifier id'>realm</span><span class='lparen token'>(</span> <span class='string val'>'us'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_hardware_profiles'>Listing hardware profiles</h2>
-
-<p>You may retrieve a complete list of hardware profiles available for launching machines</p>
-
-<pre class="code"><span class='hwp identifier id'>hwp</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profiles identifier id'>hardware_profiles</span>
-</pre>
-
-<p>You may filter hardware profiles by architecture</p>
-
-<pre class="code"><span class='flavors identifier id'>flavors</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profiles identifier id'>hardware_profiles</span><span class='lparen token'>(</span> <span class='symbol val'>:architecture=</span><span class='gt op'>&gt;</span><span class='string val'>'x86_64'</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a specific hardware profile by its identifier</p>
-
-<pre class="code"><span class='flavor identifier id'>flavor</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profile identifier id'>hardware_profile</span><span class='lparen token'>(</span> <span class='string val'>'m1-small'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_images'>Listing images</h2>
-
-<p>You may retrieve a complete list of images</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span>
-</pre>
-
-<p>You may retrieve a list of images owned by the currently authenticated user</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span><span class='lparen token'>(</span> <span class='symbol val'>:owner_id=</span><span class='gt op'>&gt;</span><span class='symbol val'>:self</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a list of images visible to you but owned by a specific user</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span><span class='lparen token'>(</span> <span class='symbol val'>:owner_id=</span><span class='gt op'>&gt;</span><span class='string val'>'daryll'</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a specific image by its identifier</p>
-
-<pre class="code"><span class='image identifier id'>image</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='lparen token'>(</span> <span class='string val'>'ami-8675309'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_instances'>Listing instances</h2>
-
-<p>You may retrieve a list of all instances visible to you</p>
-
-<pre class="code"><span class='instances identifier id'>instances</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='instances identifier id'>instances</span>
-</pre>
-
-<p>You may retrieve a specific instance by its identifier</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='instance identifier id'>instance</span><span class='lparen token'>(</span> <span class='string val'>'i-90125'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='launching_instances'>Launching instances</h2>
-
-<p>An instance may be launched using just an image identifier</p>
-
-<pre class="code"><span class='image identifier id'>image</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='lparen token'>(</span> <span class='string val'>'ami-8675309'</span> <span class='rparen token'>)</span>
-<span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='create_instance identifier id'>create_instance</span><span class='lparen token'>(</span> <span class='image identifier id'>image</span><span class='dot token'>.</span><span class='id identifier id'>id</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>Optionally, a flavor or realm may be specified</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='create_instance identifier id'>create_instance</span><span class='lparen token'>(</span> <span class='image identifier id'>image</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='comma token'>,</span> <span class='symbol val'>:flavor=</span><span class='gt op'>&gt;</span><span class='string val'>'m1-small'</span><span class='comma token'>,</span> <span class='symbol val'>:realm=</span><span class='gt op'>&gt;</span><span class='string val'>'us'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='manipulating_instances'>Manipulating instances</h2>
-
-<p>Given an instance, depending on its state, various actions <em>may</em> be available.</p>
-
-<p>To determine what&#8217;s available, the <code>instance#actions</code> method may be used.</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='actions identifier id'>actions</span> <span class='comment val'># [ 'reboot', 'stop' ]</span>
-</pre>
-
-<p>For a valid action, the method matching the action with an exclamation point may be called.</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='reboot! fid id'>reboot!</span>
-</pre>
-
-<p>Upon invoking an action, the instance will refresh its contents, in case the state has changed. To determine later if the state has changed again, the instance must be refetched using the <code>client.instance(...)</code> method.</p></div></div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:23 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/file_list.html
----------------------------------------------------------------------
diff --git a/client/doc/file_list.html b/client/doc/file_list.html
deleted file mode 100644
index 7115ba1..0000000
--- a/client/doc/file_list.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-    <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
-    <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-    <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
-    <base id="base_target" target="_parent" />
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) {
-        document.getElementById('base_target').target = 'main';
-        document.body.className = 'frames';
-      }
-    </script>
-    <div id="content">
-      <h1 id="full_list_header">File List</h1>
-      <div id="nav">
-        <a target="_self" href="class_list.html">Classes</a> | 
-        <a target="_self" href="method_list.html">Methods</a> |
-        <a target="_self" href="file_list.html">Files</a>
-      </div>
-      <div id="search">Search: <input type="text" /></div>
-
-      <ul id="full_list" class="files">
-        
-
-  <li class="r1"><a href="index.html" title="README">README</a></li>
-  
-
-      </ul>
-    </div>
-  </body>
-</html>
-

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/frames.html
----------------------------------------------------------------------
diff --git a/client/doc/frames.html b/client/doc/frames.html
deleted file mode 100644
index 6083d03..0000000
--- a/client/doc/frames.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-	<title>Deltacloud Client Library</title>
-</head>
-<frameset cols="20%,*">
-  <frame name="list" src="class_list.html" />
-  <frame name="main" src="index.html" />
-</frameset>
-</html>

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/index.html
----------------------------------------------------------------------
diff --git a/client/doc/index.html b/client/doc/index.html
deleted file mode 100644
index 1e9aacb..0000000
--- a/client/doc/index.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Deltacloud Client Library</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="_index.html" title="Index">Index</a> &raquo; 
-    <span class="title">File: README</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><div id='filecontents'><h1 id='deltacloud_client_ruby'>Deltacloud Client (Ruby)</h1>
-
-<p>The Deltacloud project includes a Ruby client. Other language-bindings are possible and will be supported soon. The client aims to insulate users from having to deal with HTTP and REST directly.</p>
-
-<p>Each resource type has an associated model to ease usage. Where resource reference other resources, natural navigation across the object model is possible.</p>
-
-<p>For example</p>
-
-<pre class="code"><span class='puts identifier id'>puts</span> <span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='dot token'>.</span><span class='name identifier id'>name</span>
-<span class='puts identifier id'>puts</span> <span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='hardware_profile identifier id'>hardware_profile</span><span class='dot token'>.</span><span class='architecture identifier id'>architecture</span>
-</pre>
-
-<h2 id='basics'>Basics</h2>
-
-<p>To use the client, you must require <code>deltacloud</code>.</p>
-
-<pre class="code"><span class='require identifier id'>require</span> <span class='string val'>'deltacloud'</span>
-</pre>
-
-<h2 id='connecting_to_a_deltacloud_provider'>Connecting to a Deltacloud provider</h2>
-
-<pre class="code"><span class='require identifier id'>require</span> <span class='string val'>'deltacloud'</span>
-
-<span class='api_url identifier id'>api_url</span>      <span class='assign token'>=</span> <span class='string val'>'http://localhost:3001/api'</span>
-<span class='api_name identifier id'>api_name</span>     <span class='assign token'>=</span> <span class='string val'>'mockuser'</span>
-<span class='api_password identifier id'>api_password</span> <span class='assign token'>=</span> <span class='string val'>'mockpassword'</span>
-
-<span class='client identifier id'>client</span> <span class='assign token'>=</span> <span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span> <span class='api_name identifier id'>api_name</span><span class='comma token'>,</span> <span class='api_password identifier id'>api_password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span> <span class='rparen token'>)</span>
-
-<span class='comment val'># work with client here</span>
-</pre>
-
-<p>In addition to creating a client, operations may occur within a block included on the initialization</p>
-
-<pre class="code"><span class='DeltaCloud constant id'>DeltaCloud</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span> <span class='api_name identifier id'>api_name</span><span class='comma token'>,</span> <span class='api_password identifier id'>api_password</span><span class='comma token'>,</span> <span class='api_url identifier id'>api_url</span> <span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='client identifier id'>client</span><span class='bitor op'>|</span>
-  <span class='comment val'># work with client here</span>
-<span class='end end kw'>end</span>
-</pre>
-
-<p>In the event of a failure, any underlying HTTP transport exceptions will be thrown all the way out to the caller.</p>
-
-<h2 id='listing_realms'>Listing realms</h2>
-
-<p>You may retrieve a complete list of realms available to you</p>
-
-<pre class="code"><span class='realms identifier id'>realms</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='realms identifier id'>realms</span>
-</pre>
-
-<p>You may retrieve a specific realm by its identifier</p>
-
-<pre class="code"><span class='realm identifier id'>realm</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='realm identifier id'>realm</span><span class='lparen token'>(</span> <span class='string val'>'us'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_hardware_profiles'>Listing hardware profiles</h2>
-
-<p>You may retrieve a complete list of hardware profiles available for launching machines</p>
-
-<pre class="code"><span class='hwp identifier id'>hwp</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profiles identifier id'>hardware_profiles</span>
-</pre>
-
-<p>You may filter hardware profiles by architecture</p>
-
-<pre class="code"><span class='flavors identifier id'>flavors</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profiles identifier id'>hardware_profiles</span><span class='lparen token'>(</span> <span class='symbol val'>:architecture=</span><span class='gt op'>&gt;</span><span class='string val'>'x86_64'</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a specific hardware profile by its identifier</p>
-
-<pre class="code"><span class='flavor identifier id'>flavor</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='hardware_profile identifier id'>hardware_profile</span><span class='lparen token'>(</span> <span class='string val'>'m1-small'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_images'>Listing images</h2>
-
-<p>You may retrieve a complete list of images</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span>
-</pre>
-
-<p>You may retrieve a list of images owned by the currently authenticated user</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span><span class='lparen token'>(</span> <span class='symbol val'>:owner_id=</span><span class='gt op'>&gt;</span><span class='symbol val'>:self</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a list of images visible to you but owned by a specific user</p>
-
-<pre class="code"><span class='images identifier id'>images</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='images identifier id'>images</span><span class='lparen token'>(</span> <span class='symbol val'>:owner_id=</span><span class='gt op'>&gt;</span><span class='string val'>'daryll'</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>You may retrieve a specific image by its identifier</p>
-
-<pre class="code"><span class='image identifier id'>image</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='lparen token'>(</span> <span class='string val'>'ami-8675309'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='listing_instances'>Listing instances</h2>
-
-<p>You may retrieve a list of all instances visible to you</p>
-
-<pre class="code"><span class='instances identifier id'>instances</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='instances identifier id'>instances</span>
-</pre>
-
-<p>You may retrieve a specific instance by its identifier</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='instance identifier id'>instance</span><span class='lparen token'>(</span> <span class='string val'>'i-90125'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='launching_instances'>Launching instances</h2>
-
-<p>An instance may be launched using just an image identifier</p>
-
-<pre class="code"><span class='image identifier id'>image</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='image identifier id'>image</span><span class='lparen token'>(</span> <span class='string val'>'ami-8675309'</span> <span class='rparen token'>)</span>
-<span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='create_instance identifier id'>create_instance</span><span class='lparen token'>(</span> <span class='image identifier id'>image</span><span class='dot token'>.</span><span class='id identifier id'>id</span> <span class='rparen token'>)</span>
-</pre>
-
-<p>Optionally, a flavor or realm may be specified</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span> <span class='assign token'>=</span> <span class='client identifier id'>client</span><span class='dot token'>.</span><span class='create_instance identifier id'>create_instance</span><span class='lparen token'>(</span> <span class='image identifier id'>image</span><span class='dot token'>.</span><span class='id identifier id'>id</span><span class='comma token'>,</span> <span class='symbol val'>:flavor=</span><span class='gt op'>&gt;</span><span class='string val'>'m1-small'</span><span class='comma token'>,</span> <span class='symbol val'>:realm=</span><span class='gt op'>&gt;</span><span class='string val'>'us'</span> <span class='rparen token'>)</span>
-</pre>
-
-<h2 id='manipulating_instances'>Manipulating instances</h2>
-
-<p>Given an instance, depending on its state, various actions <em>may</em> be available.</p>
-
-<p>To determine what&#8217;s available, the <code>instance#actions</code> method may be used.</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='actions identifier id'>actions</span> <span class='comment val'># [ 'reboot', 'stop' ]</span>
-</pre>
-
-<p>For a valid action, the method matching the action with an exclamation point may be called.</p>
-
-<pre class="code"><span class='instance identifier id'>instance</span><span class='dot token'>.</span><span class='reboot! fid id'>reboot!</span>
-</pre>
-
-<p>Upon invoking an action, the instance will refresh its contents, in case the state has changed. To determine later if the state has changed again, the instance must be refetched using the <code>client.instance(...)</code> method.</p></div></div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:23 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/js/app.js
----------------------------------------------------------------------
diff --git a/client/doc/js/app.js b/client/doc/js/app.js
deleted file mode 100644
index ca73848..0000000
--- a/client/doc/js/app.js
+++ /dev/null
@@ -1,138 +0,0 @@
-function createSourceLinks() {
-    $('.method_details_list .source_code').
-        before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
-    $('.toggleSource').toggle(function() {
-       $(this).parent().next().slideDown(100);
-       $(this).text("Hide source");
-    },
-    function() {
-        $(this).parent().next().slideUp(100);
-        $(this).text("View source");
-    });
-}
-
-function createDefineLinks() {
-    var tHeight = 0;
-    $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
-    $('.toggleDefines').toggle(function() {
-        tHeight = $(this).parent().prev().height();
-        $(this).prev().show();
-        $(this).parent().prev().height($(this).parent().height());
-        $(this).text("(less)");
-    },
-    function() {
-        $(this).prev().hide();
-        $(this).parent().prev().height(tHeight);
-        $(this).text("more...")
-    });
-}
-
-function createFullTreeLinks() {
-    var tHeight = 0;
-    $('.inheritanceTree').toggle(function() {
-        tHeight = $(this).parent().prev().height();
-        $(this).prev().prev().hide();
-        $(this).prev().show();
-        $(this).text("(hide)");
-        $(this).parent().prev().height($(this).parent().height());
-    },
-    function() {
-        $(this).prev().prev().show();
-        $(this).prev().hide();
-        $(this).parent().prev().height(tHeight);
-        $(this).text("show all")
-    });
-}
-
-function fixBoxInfoHeights() {
-    $('dl.box dd.r1, dl.box dd.r2').each(function() {
-       $(this).prev().height($(this).height()); 
-    });
-}
-
-function searchFrameLinks() {
-  $('#method_list_link').click(function() {
-    toggleSearchFrame(this, relpath + 'method_list.html');
-  });
-
-  $('#class_list_link').click(function() {
-    toggleSearchFrame(this, relpath + 'class_list.html');
-  });
-
-  $('#file_list_link').click(function() {
-    toggleSearchFrame(this, relpath + 'file_list.html');
-  });
-}
-
-function toggleSearchFrame(id, link) {
-  var frame = $('#search_frame');
-  $('#search a').removeClass('active').addClass('inactive');
-  if (frame.attr('src') == link && frame.css('display') != "none") {
-    frame.slideUp(100);
-    $('#search a').removeClass('active inactive');
-  }
-  else {
-    $(id).addClass('active').removeClass('inactive');
-    frame.attr('src', link).slideDown(100);
-  }
-}
-
-function linkSummaries() {
-  $('.summary_signature').click(function() {
-    document.location = $(this).find('a').attr('href');
-  });
-}
-
-function framesInit() {
-  if (window.top.frames.main) {
-    document.body.className = 'frames';
-    $('#menu .noframes a').attr('href', document.location);
-  }
-}
-
-function keyboardShortcuts() {
-  if (window.top.frames.main) return;
-  $(document).keypress(function(evt) {
-    if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
-    if (evt.originalTarget.nodeName == "INPUT" || 
-        evt.originalTarget.nodeName == "TEXTAREA") return;
-    switch (evt.charCode) {
-      case 67: case 99:  $('#class_list_link').click(); break;  // 'c'
-      case 77: case 109: $('#method_list_link').click(); break; // 'm'
-      case 70: case 102: $('#file_list_link').click(); break;   // 'f'
-    }
-  });
-}
-
-function summaryToggle() {
-  $('.summary_toggle').click(function() {
-    $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
-    var next = $(this).parent().parent().next();
-    if (next.hasClass('compact')) {
-      next.toggle();
-      next.next().toggle();
-    } 
-    else if (next.hasClass('summary')) {
-      var list = $('<ul class="summary compact" />');
-      list.html(next.html());
-      list.find('.summary_desc, .note').remove();
-      list.find('a').each(function() {
-        $(this).html($(this).find('strong').html());
-        $(this).parent().html($(this)[0].outerHTML);
-      });
-      next.before(list);
-      next.toggle();
-    }
-    return false;
-  })
-}
-
-$(framesInit);
-$(createSourceLinks);
-$(createDefineLinks);
-$(createFullTreeLinks);
-$(fixBoxInfoHeights);
-$(searchFrameLinks);
-$(linkSummaries);
-$(keyboardShortcuts);
-$(summaryToggle);

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/js/full_list.js
----------------------------------------------------------------------
diff --git a/client/doc/js/full_list.js b/client/doc/js/full_list.js
deleted file mode 100644
index 280cee0..0000000
--- a/client/doc/js/full_list.js
+++ /dev/null
@@ -1,117 +0,0 @@
-function fullListSearch() {
-  $('#search input').keyup(function() {
-    var value = this.value.toLowerCase();
-    if (value == "") {
-      $('#full_list').removeClass('insearch');
-      $('#full_list li').each(function() {
-        var link = $(this).children('a:last');
-        link.text(link.text()); 
-      });
-      if (clicked) {
-        clicked.parents('ul').each(function() {
-          $(this).removeClass('collapsed').prev().removeClass('collapsed');
-        });
-      }
-      highlight();
-    }
-    else {
-      $('#full_list').addClass('insearch');
-      $('#full_list li').each(function() {
-        var link = $(this).children('a:last');
-        var text = link.text();
-        if (text.toLowerCase().indexOf(value) == -1) {
-          $(this).removeClass('found');
-          link.text(link.text());
-        }
-        else {
-          $(this).css('padding-left', '10px').addClass('found');
-          link.html(link.text().replace(new RegExp("(" + 
-            value.replace(/([\/.*+?|()\[\]{}\\])/g, "\\$1") + ")", "ig"), 
-            '<strong>$1</strong>'));
-        }
-      });
-      highlight(true);
-    }
-    
-    if ($('#full_list li:visible').size() == 0) {
-      $('#noresults').fadeIn();
-    }
-    else {
-      $('#noresults').hide();
-    }
-  });
-  
-  $('#search input').focus();
-  $('#full_list').after("<div id='noresults'>No results were found.</div>")
-}
-
-clicked = null;
-function linkList() {
-  $('#full_list li, #full_list li a:last').click(function(evt) {
-    if ($(this).hasClass('toggle')) return true;
-    if (this.tagName.toLowerCase() == "li") {
-      var toggle = $(this).children('a.toggle');
-      if (toggle.size() > 0 && evt.pageX < toggle.offset().left) {
-        toggle.click();
-        return false;
-      }
-    }
-    if (clicked) clicked.removeClass('clicked');
-    var win = window.parent;
-    if (window.top.frames.main) {
-      win = window.top.frames.main;
-      var title = $('html head title', win.document).text();
-      $('html head title', window.parent.document).text(title);
-    }
-    if (this.tagName.toLowerCase() == "a") {
-      clicked = $(this).parent('li').addClass('clicked');
-      win.location = this.href;
-    }
-    else {
-      clicked = $(this).addClass('clicked');
-      win.location = $(this).find('a:last').attr('href');
-    }
-    return false;
-  });
-}
-
-function collapse() {
-  if (!$('#full_list').hasClass('class')) return;
-  $('#full_list.class a.toggle').click(function() { 
-    $(this).parent().toggleClass('collapsed').next().toggleClass('collapsed');
-    highlight();
-    return false; 
-  });
-  $('#full_list.class ul').each(function() {
-    $(this).addClass('collapsed').prev().addClass('collapsed');
-  });
-  $('#full_list.class').children().removeClass('collapsed');
-  highlight();
-}
-
-function highlight(no_padding) {
-  var n = 1;
-  $('#full_list li:visible').each(function() {
-    var next = n == 1 ? 2 : 1;
-    $(this).removeClass("r" + next).addClass("r" + n);
-    if (!no_padding && $('#full_list').hasClass('class')) {
-      $(this).css('padding-left', (10 + $(this).parents('ul').size() * 15) + 'px');
-    }
-    n = next;
-  });
-}
-
-function escapeShortcut() {
-  $(document).keydown(function(evt) {
-    if (evt.which == 27) {
-      $('#search_frame', window.top.document).slideUp(100);
-      $('#search a', window.top.document).removeClass('active inactive')
-      $(window.top).focus();
-    }
-  });
-}
-
-$(escapeShortcut);
-$(fullListSearch);
-$(linkList);
-$(collapse);


[19/30] Client: removed doc/* directory

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/method_list.html
----------------------------------------------------------------------
diff --git a/client/doc/method_list.html b/client/doc/method_list.html
deleted file mode 100644
index 9aeda96..0000000
--- a/client/doc/method_list.html
+++ /dev/null
@@ -1,1243 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-    <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
-    <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-    <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
-    <base id="base_target" target="_parent" />
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) {
-        document.getElementById('base_target').target = 'main';
-        document.body.className = 'frames';
-      }
-    </script>
-    <div id="content">
-      <h1 id="full_list_header">Method List</h1>
-      <div id="nav">
-        <a target="_self" href="class_list.html">Classes</a> | 
-        <a target="_self" href="method_list.html">Methods</a> |
-        <a target="_self" href="file_list.html">Files</a>
-      </div>
-      <div id="search">Search: <input type="text" /></div>
-
-      <ul id="full_list" class="methods">
-        
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/Transition.html#action-instance_method" title="DeltaCloud::InstanceState::Transition#action (method)">#action</a> 
-    
-      <small>DeltaCloud::InstanceState::Transition</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#actions-instance_method" title="DeltaCloud::API::Instance#actions (method)">#actions</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#actions_urls-instance_method" title="DeltaCloud::API::Instance#actions_urls (method)">#actions_urls</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#api_host-instance_method" title="DeltaCloud::API#api_host (method)">#api_host</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#api_path-instance_method" title="DeltaCloud::API#api_path (method)">#api_path</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#api_port-instance_method" title="DeltaCloud::API#api_port (method)">#api_port</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#api_uri-instance_method" title="DeltaCloud::API#api_uri (method)">#api_uri</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#api_version-instance_method" title="DeltaCloud::API#api_version (method)">#api_version</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#architecture-instance_method" title="DeltaCloud::API::Image#architecture (method)">#architecture</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#architecture-instance_method" title="DeltaCloud::API::HardwareProfile#architecture (method)">#architecture</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#architecture%3D-instance_method" title="DeltaCloud::API::HardwareProfile#architecture= (method)">#architecture=</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Image.html#architecture%3D-instance_method" title="DeltaCloud::API::Image#architecture= (method)">#architecture=</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/Transition.html#auto%3F-instance_method" title="DeltaCloud::InstanceState::Transition#auto? (method)">#auto?</a> 
-    
-      <small>DeltaCloud::InstanceState::Transition</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#base_object-instance_method" title="DeltaCloud::API#base_object (method)">#base_object</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#base_object_collection-instance_method" title="DeltaCloud::API#base_object_collection (method)">#base_object_collection</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="String.html#camelize-instance_method" title="String#camelize (method)">#camelize</a> 
-    
-      <small>String</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageVolume.html#capacity-instance_method" title="DeltaCloud::API::StorageVolume#capacity (method)">#capacity</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#capacity%3D-instance_method" title="DeltaCloud::API::StorageVolume#capacity= (method)">#capacity=</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud.html#classes-class_method" title="DeltaCloud.classes (method)">classes</a> 
-    
-      <small>DeltaCloud</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="String.html#classify-instance_method" title="String#classify (method)">#classify</a> 
-    
-      <small>String</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Realm.html#client-instance_method" title="DeltaCloud::API::Realm#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#client-instance_method" title="DeltaCloud::API::HardwareProfile#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageVolume.html#client-instance_method" title="DeltaCloud::API::StorageVolume#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#client-instance_method" title="DeltaCloud::API::Instance#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#client-instance_method" title="DeltaCloud::API::Image#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#client-instance_method" title="DeltaCloud::API::StorageSnapshot#client (method)">#client</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#connect-instance_method" title="DeltaCloud::API#connect (method)">#connect</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="String.html#convert-instance_method" title="String#convert (method)">#convert</a> 
-    
-      <small>String</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#cpu-instance_method" title="DeltaCloud::API::HardwareProfile#cpu (method)">#cpu</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#cpu%3D-instance_method" title="DeltaCloud::API::HardwareProfile#cpu= (method)">#cpu=</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#create_instance-instance_method" title="DeltaCloud::API#create_instance (method)">#create_instance</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#created-instance_method" title="DeltaCloud::API::StorageVolume#created (method)">#created</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#created-instance_method" title="DeltaCloud::API::StorageSnapshot#created (method)">#created</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#created%3D-instance_method" title="DeltaCloud::API::StorageSnapshot#created= (method)">#created=</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageVolume.html#created%3D-instance_method" title="DeltaCloud::API::StorageVolume#created= (method)">#created=</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#declare_entry_points_methods-instance_method" title="DeltaCloud::API#declare_entry_points_methods (method)">#declare_entry_points_methods</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud.html#define_class-class_method" title="DeltaCloud.define_class (method)">define_class</a> 
-    
-      <small>DeltaCloud</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Image.html#description-instance_method" title="DeltaCloud::API::Image#description (method)">#description</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/Documentation.html#description-instance_method" title="DeltaCloud::Documentation#description (method)">#description</a> 
-    
-      <small>DeltaCloud::Documentation</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#description-instance_method" title="DeltaCloud::Documentation::OperationParameter#description (method)">#description</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#description%3D-instance_method" title="DeltaCloud::API::Image#description= (method)">#description=</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#destroy%21-instance_method" title="DeltaCloud::API::Instance#destroy! (method)">#destroy!</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageVolume.html#device-instance_method" title="DeltaCloud::API::StorageVolume#device (method)">#device</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#device%3D-instance_method" title="DeltaCloud::API::StorageVolume#device= (method)">#device=</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#discover_entry_points-instance_method" title="DeltaCloud::API#discover_entry_points (method)">#discover_entry_points</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#discovered%3F-instance_method" title="DeltaCloud::API#discovered? (method)">#discovered?</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#documentation-instance_method" title="DeltaCloud::API#documentation (method)">#documentation</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud.html#driver_name-class_method" title="DeltaCloud.driver_name (method)">driver_name</a> 
-    
-      <small>DeltaCloud</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#driver_name-instance_method" title="DeltaCloud::API#driver_name (method)">#driver_name</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#entry_points-instance_method" title="DeltaCloud::API#entry_points (method)">#entry_points</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#feature%3F-instance_method" title="DeltaCloud::API#feature? (method)">#feature?</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#features-instance_method" title="DeltaCloud::API#features (method)">#features</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/PlainFormatter.html#format-instance_method" title="DeltaCloud::PlainFormatter#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/Instance.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Instance#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/HardwareProfile.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::HardwareProfile#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/StorageVolume.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::StorageVolume#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/Realm.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Realm#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/Image.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Image#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::Image</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/StorageSnapshot.html#format-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot#format (method)">#format</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#hardware_profile-instance_method" title="DeltaCloud::API::Instance#hardware_profile (method)">#hardware_profile</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#hardware_profile-instance_method" title="DeltaCloud::API#hardware_profile (method)">#hardware_profile</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#hardware_profiles-instance_method" title="DeltaCloud::API#hardware_profiles (method)">#hardware_profiles</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#id-instance_method" title="DeltaCloud::API::HardwareProfile#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#id-instance_method" title="DeltaCloud::API::StorageVolume#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#id-instance_method" title="DeltaCloud::API::Image#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#id-instance_method" title="DeltaCloud::API::Instance#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Realm.html#id-instance_method" title="DeltaCloud::API::Realm#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#id-instance_method" title="DeltaCloud::API::StorageSnapshot#id (method)">#id</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#image-instance_method" title="DeltaCloud::API#image (method)">#image</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#image-instance_method" title="DeltaCloud::API::Instance#image (method)">#image</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#images-instance_method" title="DeltaCloud::API#images (method)">#images</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/HWP/FloatProperty.html#initialize-instance_method" title="DeltaCloud::HWP::FloatProperty#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::HWP::FloatProperty</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/Transition.html#initialize-instance_method" title="DeltaCloud::InstanceState::Transition#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::InstanceState::Transition</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#initialize-instance_method" title="DeltaCloud::Documentation::OperationParameter#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/PlainFormatter/FormatObject/Base.html#initialize-instance_method" title="DeltaCloud::PlainFormatter::FormatObject::Base#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::PlainFormatter::FormatObject::Base</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/HWP/Property.html#initialize-instance_method" title="DeltaCloud::HWP::Property#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/State.html#initialize-instance_method" title="DeltaCloud::InstanceState::State#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::InstanceState::State</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation.html#initialize-instance_method" title="DeltaCloud::Documentation#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::Documentation</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#initialize-instance_method" title="DeltaCloud::API#initialize (method)">#initialize</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#instance-instance_method" title="DeltaCloud::API::StorageVolume#instance (method)">#instance</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#instance-instance_method" title="DeltaCloud::API#instance (method)">#instance</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#instance_state-instance_method" title="DeltaCloud::API#instance_state (method)">#instance_state</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#instance_states-instance_method" title="DeltaCloud::API#instance_states (method)">#instance_states</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#instances-instance_method" title="DeltaCloud::API#instances (method)">#instances</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/HWP/Property.html#kind-instance_method" title="DeltaCloud::HWP::Property#kind (method)">#kind</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Realm.html#limit-instance_method" title="DeltaCloud::API::Realm#limit (method)">#limit</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Realm.html#limit%3D-instance_method" title="DeltaCloud::API::Realm#limit= (method)">#limit=</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#logger-instance_method" title="DeltaCloud::API#logger (method)">#logger</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#memory-instance_method" title="DeltaCloud::API::HardwareProfile#memory (method)">#memory</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#memory%3D-instance_method" title="DeltaCloud::API::HardwareProfile#memory= (method)">#memory=</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#name-instance_method" title="DeltaCloud::API::Image#name (method)">#name</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#name-instance_method" title="DeltaCloud::Documentation::OperationParameter#name (method)">#name</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Realm.html#name-instance_method" title="DeltaCloud::API::Realm#name (method)">#name</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/HWP/Property.html#name-instance_method" title="DeltaCloud::HWP::Property#name (method)">#name</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/State.html#name-instance_method" title="DeltaCloud::InstanceState::State#name (method)">#name</a> 
-    
-      <small>DeltaCloud::InstanceState::State</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#name-instance_method" title="DeltaCloud::API::Instance#name (method)">#name</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#name-instance_method" title="DeltaCloud::API::HardwareProfile#name (method)">#name</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Realm.html#name%3D-instance_method" title="DeltaCloud::API::Realm#name= (method)">#name=</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#name%3D-instance_method" title="DeltaCloud::API::Instance#name= (method)">#name=</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#name%3D-instance_method" title="DeltaCloud::API::HardwareProfile#name= (method)">#name=</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#name%3D-instance_method" title="DeltaCloud::API::Image#name= (method)">#name=</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud.html#new-class_method" title="DeltaCloud.new (method)">new</a> 
-    
-      <small>DeltaCloud</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#owner_id-instance_method" title="DeltaCloud::API::Image#owner_id (method)">#owner_id</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#owner_id-instance_method" title="DeltaCloud::API::Instance#owner_id (method)">#owner_id</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#owner_id%3D-instance_method" title="DeltaCloud::API::Image#owner_id= (method)">#owner_id=</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#owner_id%3D-instance_method" title="DeltaCloud::API::Instance#owner_id= (method)">#owner_id=</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/Documentation.html#params-instance_method" title="DeltaCloud::Documentation#params (method)">#params</a> 
-    
-      <small>DeltaCloud::Documentation</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/HWP/Property.html#present%3F-instance_method" title="DeltaCloud::HWP::Property#present? (method)">#present?</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#private_addresses-instance_method" title="DeltaCloud::API::Instance#private_addresses (method)">#private_addresses</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#private_addresses%3D-instance_method" title="DeltaCloud::API::Instance#private_addresses= (method)">#private_addresses=</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#public_addresses-instance_method" title="DeltaCloud::API::Instance#public_addresses (method)">#public_addresses</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#public_addresses%3D-instance_method" title="DeltaCloud::API::Instance#public_addresses= (method)">#public_addresses=</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="#read_method_description-instance_method" title="#read_method_description (method)">#read_method_description</a> 
-    
-      <small>Top Level Namespace</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="#read_parameters-instance_method" title="#read_parameters (method)">#read_parameters</a> 
-    
-      <small>Top Level Namespace</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="#read_return_value-instance_method" title="#read_return_value (method)">#read_return_value</a> 
-    
-      <small>Top Level Namespace</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#realm-instance_method" title="DeltaCloud::API::Instance#realm (method)">#realm</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#realm-instance_method" title="DeltaCloud::API#realm (method)">#realm</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#realms-instance_method" title="DeltaCloud::API#realms (method)">#realms</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#reboot%21-instance_method" title="DeltaCloud::API::Instance#reboot! (method)">#reboot!</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#request-instance_method" title="DeltaCloud::API#request (method)">#request</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#required-instance_method" title="DeltaCloud::Documentation::OperationParameter#required (method)">#required</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="String.html#sanitize-instance_method" title="String#sanitize (method)">#sanitize</a> 
-    
-      <small>String</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="String.html#singularize-instance_method" title="String#singularize (method)">#singularize</a> 
-    
-      <small>String</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#start%21-instance_method" title="DeltaCloud::API::Instance#start! (method)">#start!</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#state-instance_method" title="DeltaCloud::API::StorageSnapshot#state (method)">#state</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#state-instance_method" title="DeltaCloud::API::Instance#state (method)">#state</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Realm.html#state-instance_method" title="DeltaCloud::API::Realm#state (method)">#state</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Instance.html#state%3D-instance_method" title="DeltaCloud::API::Instance#state= (method)">#state=</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#state%3D-instance_method" title="DeltaCloud::API::StorageSnapshot#state= (method)">#state=</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Realm.html#state%3D-instance_method" title="DeltaCloud::API::Realm#state= (method)">#state=</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#stop%21-instance_method" title="DeltaCloud::API::Instance#stop! (method)">#stop!</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#storage-instance_method" title="DeltaCloud::API::HardwareProfile#storage (method)">#storage</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#storage%3D-instance_method" title="DeltaCloud::API::HardwareProfile#storage= (method)">#storage=</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#storage_snapshot-instance_method" title="DeltaCloud::API#storage_snapshot (method)">#storage_snapshot</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#storage_snapshots-instance_method" title="DeltaCloud::API#storage_snapshots (method)">#storage_snapshots</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#storage_volume-instance_method" title="DeltaCloud::API#storage_volume (method)">#storage_volume</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#storage_volume-instance_method" title="DeltaCloud::API::StorageSnapshot#storage_volume (method)">#storage_volume</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API.html#storage_volumes-instance_method" title="DeltaCloud::API#storage_volumes (method)">#storage_volumes</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/Transition.html#to-instance_method" title="DeltaCloud::InstanceState::Transition#to (method)">#to</a> 
-    
-      <small>DeltaCloud::InstanceState::Transition</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#to_comment-instance_method" title="DeltaCloud::Documentation::OperationParameter#to_comment (method)">#to_comment</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/InstanceState/State.html#transitions-instance_method" title="DeltaCloud::InstanceState::State#transitions (method)">#transitions</a> 
-    
-      <small>DeltaCloud::InstanceState::State</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/Documentation/OperationParameter.html#type-instance_method" title="DeltaCloud::Documentation::OperationParameter#type (method)">#type</a> 
-    
-      <small>DeltaCloud::Documentation::OperationParameter</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/HWP/Property.html#unit-instance_method" title="DeltaCloud::HWP::Property#unit (method)">#unit</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/Realm.html#uri-instance_method" title="DeltaCloud::API::Realm#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::Realm</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Instance.html#uri-instance_method" title="DeltaCloud::API::Instance#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::Instance</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageSnapshot.html#uri-instance_method" title="DeltaCloud::API::StorageSnapshot#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::StorageSnapshot</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/Image.html#uri-instance_method" title="DeltaCloud::API::Image#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::Image</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/API/StorageVolume.html#uri-instance_method" title="DeltaCloud::API::StorageVolume#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::StorageVolume</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API/HardwareProfile.html#uri-instance_method" title="DeltaCloud::API::HardwareProfile#uri (method)">#uri</a> 
-    
-      <small>DeltaCloud::API::HardwareProfile</small>
-    
-  </li>
-  
-
-  <li class="r2 ">
-    <a href="DeltaCloud/HWP/Property.html#value-instance_method" title="DeltaCloud::HWP::Property#value (method)">#value</a> 
-    
-      <small>DeltaCloud::HWP::Property</small>
-    
-  </li>
-  
-
-  <li class="r1 ">
-    <a href="DeltaCloud/API.html#xml_to_class-instance_method" title="DeltaCloud::API#xml_to_class (method)">#xml_to_class</a> 
-    
-      <small>DeltaCloud::API</small>
-    
-  </li>
-  
-
-      </ul>
-    </div>
-  </body>
-</html>
-

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/71afec55/client/doc/top-level-namespace.html
----------------------------------------------------------------------
diff --git a/client/doc/top-level-namespace.html b/client/doc/top-level-namespace.html
deleted file mode 100644
index 1d78fd2..0000000
--- a/client/doc/top-level-namespace.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta name="Content-Type" content="text/html; charset=utf-8" />
-<title>Top Level Namespace</title>
-<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
-<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
-
-<script type="text/javascript" charset="utf-8">
-  relpath = '';
-  if (relpath != '') relpath += '/';
-</script>
-<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
-<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
-
-  </head>
-  <body>
-    <script type="text/javascript" charset="utf-8">
-      if (window.top.frames.main) document.body.className = 'frames';
-    </script>
-    
-    <div id="header">
-      <div id="menu">
-  
-    <a href="_index.html">Index</a> &raquo; 
-    
-    
-    <span class="title">Top Level Namespace</span>
-  
-  
-  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
-</div>
-
-      <div id="search">
-  <a id="class_list_link" href="#">Class List</a>
-  <a id="method_list_link" href="#">Method List</a>
-  <a id ="file_list_link" href="#">File List</a>
-</div>
-
-      <div class="clear"></div>
-    </div>
-    
-    <iframe id="search_frame"></iframe>
-    
-    <div id="content"><h1>Top Level Namespace
-  
-  
-  
-</h1>
-
-<dl class="box">
-  
-  
-    
-  
-    
-  
-  
-  
-</dl>
-<div class="clear"></div>
-
-<h2>Defined Under Namespace</h2>
-<p class="children">
-   
-    
-      <strong class="modules">Modules:</strong> <a href="DeltaCloud.html" title="DeltaCloud (module)">DeltaCloud</a>
-    
-   
-    
-      <strong class="classes">Classes:</strong> <a href="String.html" title="String (class)">String</a>
-    
-  
-</p>
-
-
-
-  
-    <h2>
-      Instance Method Summary
-      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
-    </h2>
-
-    <ul class="summary">
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#read_method_description-instance_method" title="#read_method_description (instance method)">- (Object) <strong>read_method_description</strong>(c, method) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#read_parameters-instance_method" title="#read_parameters (instance method)">- (Object) <strong>read_parameters</strong>(c, method) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-        <li class="public ">
-  <span class="summary_signature">
-    
-      <a href="#read_return_value-instance_method" title="#read_return_value (instance method)">- (Object) <strong>read_return_value</strong>(c, method) </a>
-    
-
-    
-  </span>
-  
-  
-  
-  
-  
-  
-
-  
-    <span class="summary_desc"><div class='inline'></div></span>
-  
-</li>
-
-      
-    </ul>
-  
-
-
-
-  <div id="instance_method_details" class="method_details_list">
-    <h2>Instance Method Details</h2>
-    
-    
-      <div class="method_details first">
-  <p class="signature first" id="read_method_description-instance_method">
-  
-    - (<tt>Object</tt>) <strong>read_method_description</strong>(c, method) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/documentation.rb', line 18</span>
-
-<span class='def def kw'>def</span> <span class='read_method_description identifier id'>read_method_description</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='method identifier id'>method</span><span class='rparen token'>)</span>
-  <span class='if if kw'>if</span> <span class='method identifier id'>method</span> <span class='match op'>=~</span> <span class='regexp val'>/es$/</span>
-    <span class='dstring node'>&quot;    # Read #{c.downcase} collection from Deltacloud API&quot;</span>
-  <span class='else else kw'>else</span>
-    <span class='case case kw'>case</span> <span class='method identifier id'>method</span>
-      <span class='when when kw'>when</span> <span class='string val'>&quot;uri&quot;</span>
-        <span class='string val'>&quot;    # Return URI to API for this object&quot;</span>
-      <span class='when when kw'>when</span> <span class='string val'>&quot;action_urls&quot;</span>
-        <span class='string val'>&quot;    # Return available actions API URL&quot;</span>
-      <span class='when when kw'>when</span> <span class='string val'>&quot;client&quot;</span>
-        <span class='string val'>&quot;    # Return instance of API client&quot;</span>
-      <span class='else else kw'>else</span>
-        <span class='dstring node'>&quot;    # Get #{method} attribute value from #{c.downcase}&quot;</span>
-    <span class='end end kw'>end</span>
-  <span class='end end kw'>end</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="read_parameters-instance_method">
-  
-    - (<tt>Object</tt>) <strong>read_parameters</strong>(c, method) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-35
-36
-37
-38
-39
-40
-41</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/documentation.rb', line 35</span>
-
-<span class='def def kw'>def</span> <span class='read_parameters identifier id'>read_parameters</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='method identifier id'>method</span><span class='rparen token'>)</span>
-  <span class='out identifier id'>out</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
-  <span class='if if kw'>if</span> <span class='method identifier id'>method</span> <span class='match op'>=~</span> <span class='regexp val'>/es$/</span>
-    <span class='out identifier id'>out</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;    # @param [String, #id] Filter by ID&quot;</span>
-  <span class='end end kw'>end</span>
-  <span class='out identifier id'>out</span><span class='dot token'>.</span><span class='join identifier id'>join</span><span class='lparen token'>(</span><span class='string val'>&quot;\n&quot;</span><span class='rparen token'>)</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-      <div class="method_details ">
-  <p class="signature " id="read_return_value-instance_method">
-  
-    - (<tt>Object</tt>) <strong>read_return_value</strong>(c, method) 
-  
-
-  
-</p><table class="source_code">
-  <tr>
-    <td>
-      <pre class="lines">
-
-
-43
-44
-45
-46
-47
-48
-49
-50</pre>
-    </td>
-    <td>
-      <pre class="code"><span class="info file"># File 'lib/documentation.rb', line 43</span>
-
-<span class='def def kw'>def</span> <span class='read_return_value identifier id'>read_return_value</span><span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='comma token'>,</span> <span class='method identifier id'>method</span><span class='rparen token'>)</span>
-  <span class='if if kw'>if</span> <span class='method identifier id'>method</span> <span class='match op'>=~</span> <span class='regexp val'>/es$/</span>
-    <span class='rt identifier id'>rt</span> <span class='assign token'>=</span> <span class='string val'>&quot;Array&quot;</span>
-  <span class='else else kw'>else</span>
-    <span class='rt identifier id'>rt</span> <span class='assign token'>=</span> <span class='string val'>&quot;String&quot;</span>
-  <span class='end end kw'>end</span>
-  <span class='dstring node'>&quot;    # @return [String] Value of #{method}&quot;</span>
-<span class='end end kw'>end</span>
-</pre>
-    </td>
-  </tr>
-</table>
-</div>
-    
-  </div>
-
-</div>
-    
-    <div id="footer">
-  Generated on Fri Jul 30 12:16:34 2010 by 
-  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
-  0.5.6 (ruby-1.8.7).
-</div>
-
-  </body>
-</html>
\ No newline at end of file


[11/30] Client: Added VCR fixtures for testing

Posted by mf...@apache.org.
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_image.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_image.yml b/client/tests/fixtures/test_0003_support_image.yml
new file mode 100644
index 0000000..5b46669
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_image.yml
@@ -0,0 +1,207 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/img1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009050369262695312'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1195'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 78fce4b6967945208246f8ec7ccba460
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<image href='http://localhost:3001/api/images/img1'
+        id='img1'>\n  <name>img1</name>\n  <description>Fedora 10</description>\n
+        \ <owner_id>fedoraproject</owner_id>\n  <architecture>x86_64</architecture>\n
+        \ <state>AVAILABLE</state>\n  <creation_time>Thu Oct 25 14:27:53 CEST 2012</creation_time>\n
+        \ <hardware_profiles>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/m1-large' id='m1-large'
+        rel='hardware_profile'></hardware_profile>\n    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-xlarge'
+        id='m1-xlarge' rel='hardware_profile'></hardware_profile>\n    <hardware_profile
+        href='http://localhost:3001/api/hardware_profiles/opaque' id='opaque' rel='hardware_profile'></hardware_profile>\n
+        \ </hardware_profiles>\n  <root_type>transient</root_type>\n  <actions>\n
+        \   <link href='http://localhost:3001/api/instances;image_id=img1' method='post'
+        rel='create_instance' />\n    <link href='http://localhost:3001/api/images/img1'
+        method='delete' rel='destroy_image' />\n  </actions>\n</image>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '447'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/images/' do\n  \"Hello World\"\nend</pre>\n
+        \ </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/images/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0008265972137451172'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '409'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:17 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/images/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:17 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_instance.yml b/client/tests/fixtures/test_0003_support_instance.yml
new file mode 100644
index 0000000..0d7178d
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_instance.yml
@@ -0,0 +1,206 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0007009506225585938'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1170'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - bae4b813c48703150cc5cf5d4123b3d1
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'>\n  <name>MockUserInstance</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img3' id='img3'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n  <storage_volumes></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '450'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/instances/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00048828125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '412'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/instances/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_key.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_key.yml b/client/tests/fixtures/test_0003_support_key.yml
new file mode 100644
index 0000000..319b801
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_key.yml
@@ -0,0 +1,220 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys/test-key
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.000865936279296875'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '2218'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - d3630f04f49931c78b38a76cf3457d31
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<key href='http://localhost:3001/api/keys/test-key'
+        id='test-key' type='key'>\n  <name>test-key</name>\n  <actions>\n    <link
+        href='http://localhost:3001/api/keys/test-key' method='delete' rel='destroy'
+        />\n  </actions>\n  <fingerprint>5e:ce:b6:dc:59:3b:5c:93:f8:2e:9d:20:ce:60:ca:f5:0b:8a:66:93</fingerprint>\n
+        \ <pem>\n    <![CDATA[-----BEGIN RSA PRIVATE KEY-----\n    P9mRXOY7p2SmMzTGA6dwKxUp1NB8LNCIJ7sMGgAljsf=ToAi9qn9myx0EQJkE8FZ8FigUIMHS/T\n
+        \   8EwP7Ayjztb8dczbC6sb/Ep2UWcegNUVHimyHstaEaO/3dCaFwLJ/kw=laAfLQAVj4sIr8EHDTg\n
+        \   /BFkgmwTAYlS/ybkEfO9J7AJlY6/agwYzDWp+VGAD9rMsl2EkkbkWdoTX4Aob9RqyHaFi2m1AAw\n
+        \   2nhhqYpa1W4H=PJvyBcsXT3JynowSI8rTvo41oVwgSzv7YofGP0yV7BePm5pXZUUP2ZMByxbAUv\n
+        \   jvYRN/cMHbC6RW1ezR3uehCKdKFRXLTkoivoGj4ugrKgOwQP0HWI2orx/NW+6vYBxyCKiTJPZcK\n
+        \   x4BlRrlgvPST/7eaFv7/5Pqc3jWcp+bRC0qyYqQT9iq3gGNoc4ABFTI7zCeZ3p9tK8oje5fWo5m\n
+        \   54P32hVGeBjfqT/MrEYbY5gbJU6LejCj7x6Ozlp4iHQtrYNhiZ0iP0W3nRhVFQHamKx9aoBXyeg\n
+        \   LLGxBOr+TfaeeBXRkXiaMuWoyPSzUQwWmaJhm0sjHf7e/iKiUggZkOHQ/eF9MWI4M+4wvyepfS0\n
+        \   5vl2Ql/2rXv+Mx+c4cx1fjBhRrMPcGKmHGjNMjPyamTrlqueFRJYP45AYABP2U2AsNxoPfEG0qu\n
+        \   ki3DJOeC5x/03nODd=hQLzfdiQ3Yyt0GMw1EQN96cPaRtnjr3U4/ngxt0Fi6o7Z8E2+Uh5t4n8D\n
+        \   h0exXCOlOi9BDsJJz677mga/=5Sin/4Cw8=D8O1FHrWoA4ZQbWFE71F=/29PM90RHJf2bjgk2WF\n
+        \   piltKwVfGAxPOTcpmf=J+V3NHgT/EawMPHuEmwgNvx6smDBUgJaw0QYX/XG5xuiQ7HTkffJN6Cm\n
+        \   6D4WCJPZUvO1r+v=T9v7Qu4j9ue/l2WwVZuvQsVD67jpzq2R72EHna6rcwwyMcdAlwikP9nzJIL\n
+        \   Ale7hQAWHIEeAvAxtwxEMSfTkuLQcD=i0ORysmInDxdORw4ue2YThj2Id/jmUy6IiEqMYeVpiRq\n
+        \   6spq2ukt=+HHn6aBcYWbsD=e8/wOk0X0=ixZ0HF+xqYgsiiAk==rA4QEgrf+5djbIRZk1wegeIO\n
+        \   po/HZdF4qk32cKBjrrel2AzxfZeGxWNX7ObAE4HACXi3eSdcnm1fIHsoSC+1eDqFkfAIve3Dj/a\n
+        \   afZxrda6zzp3g6IPcHAqleCn7XNcS0v5tk4Fag8Wr5Wq7IipRfixAs+GESGiyugeRvZWN2mtDOL\n
+        \   CGHGGAbpvplw2vjdryVyj7P6bVcwLNgl0t1ufZBaGRBpyontJ1/UQQMew7e2lW=EZr/GxHke8HN\n
+        \   X5vIw9ssx8=LL00fxAuX9SRdcrtVyTYGXORXe9NnldXjBXmLPgwqJAjoBTjTBQxzrQOtdla=/yw\n
+        \   MsDlFWumPz1HAFw7R5zS2VCHrwkLDm=h7k3y+fUvYOx6IYf+MmevANuJT+2qY6s/ilTBNDYq6jJ\n
+        \   8LYpsBo4XpQm1ZleFCIyRldHfmaC5EMxkVQVqCV7X9I6JgzDEetUre25LQTpDa31M=ucVHNWlT+\n
+        \   6rjiLETNeMTWGcuIkLPe/PElmp4llKeFi6g2=E2AKeSDzNycr5eXHEnBuKfEnENXXo6n-----END
+        RSA PRIVATE KEY-----]]>\n  </pem>\n  <state></state>\n</key>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '445'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/keys/' do\n  \"Hello World\"\nend</pre>\n
+        \ </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/keys/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0009055137634277344'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '407'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:18 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/keys/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:18 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_realm.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_realm.yml b/client/tests/fixtures/test_0003_support_realm.yml
new file mode 100644
index 0000000..d340adf
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_realm.yml
@@ -0,0 +1,195 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms/eu
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00024580955505371094'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '157'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 48c275ddb493a976466507ada08b8cf2
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<realm href='http://localhost:3001/api/realms/eu'
+        id='eu'>\n  <name>Europe</name>\n  <state>AVAILABLE</state>\n</realm>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '447'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/realms/' do\n  \"Hello World\"\nend</pre>\n
+        \ </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/realms/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0002186298370361328'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '409'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/realms/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_storage.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_storage.yml b/client/tests/fixtures/test_0003_support_storage.yml
new file mode 100644
index 0000000..fedd4e1
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_storage.yml
@@ -0,0 +1,444 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00011706352233886719'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '7.05718994140625e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '6.198883056640625e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00010251998901367188'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00014448165893554688'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '4.220008850097656e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '6.628036499023438e-05'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/hardware_profiles/m1-small
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.00012564659118652344'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '465'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 28c52ced85d102f8d21eafb861582994
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 15:47:04 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  <id>m1-small</id>\n  <name>m1-small</name>\n  <property
+        kind='fixed' name='cpu' unit='count' value='1' />\n  <property kind='fixed'
+        name='memory' unit='MB' value='1740.8' />\n  <property kind='fixed' name='storage'
+        unit='GB' value='160' />\n  <property kind='fixed' name='architecture' unit='label'
+        value='i386' />\n</hardware_profile>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 15:47:04 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_storage_snapshot.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_storage_snapshot.yml b/client/tests/fixtures/test_0003_support_storage_snapshot.yml
new file mode 100644
index 0000000..9ad4b35
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_storage_snapshot.yml
@@ -0,0 +1,196 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots/snap1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0012614727020263672'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '318'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 88718c77155032f7c2adbd67822d9766
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_snapshot href='http://localhost:3001/api/storage_snapshots/snap1'
+        id='snap1'>\n  <name>snap1</name>\n  <created>Wed Jul 29 18:15:24 UTC 2009</created>\n
+        \ <storage_volume href='http://localhost:3001/api/storage_volumes/vol1' id='vol1'></storage_volume>\n</storage_snapshot>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '458'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/storage_snapshots/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_snapshots/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001646280288696289'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '420'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/storage_snapshots/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_storage_volume.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_storage_volume.yml b/client/tests/fixtures/test_0003_support_storage_volume.yml
new file mode 100644
index 0000000..0f1c486
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_storage_volume.yml
@@ -0,0 +1,197 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0031464099884033203'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 46e0acb37615405bfaa1b17970ed4734
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol1'
+        id='vol1'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol1</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - text/html;charset=utf-8
+      x-cascade:
+      - pass
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '456'
+      x-xss-protection:
+      - 1; mode=block
+      x-content-type-options:
+      - nosniff
+      x-frame-options:
+      - SAMEORIGIN
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<!DOCTYPE html>\n<html>\n<head>\n  <style type=\"text/css\">\n  body
+        { text-align:center;font-family:helvetica,arial;font-size:22px;\n    color:#888;margin:20px}\n
+        \ #c {margin:0 auto;width:500px;text-align:left}\n  </style>\n</head>\n<body>\n
+        \ <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n  <img src='http://localhost:3001/api/__sinatra__/404.png'>\n
+        \ <div id=\"c\">\n    Try this:\n    <pre>get '/storage_volumes/' do\n  \"Hello
+        World\"\nend</pre>\n  </div>\n</body>\n</html>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/foo
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 404
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.002554178237915039'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '418'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 08:56:19 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<error status='404' url='/api/storage_volumes/foo'>\n
+        \ <backend driver='mock' provider='default'></backend>\n  <code>404</code>\n
+        \ <message><![CDATA[Not Found]]></message>\n  <backtrace></backtrace>\n  <request>\n
+        \   <param name='splat'><![CDATA[[]]]></param>\n    <param name='captures'><![CDATA[[\"foo\"]]]></param>\n
+        \   <param name='id'><![CDATA[\"foo\"]]></param>\n  </request>\n</error>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:19 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_support_to_change_driver_with_Client.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_support_to_change_driver_with_Client.yml b/client/tests/fixtures/test_0003_support_to_change_driver_with_Client.yml
new file mode 100644
index 0000000..d4c0bbb
--- /dev/null
+++ b/client/tests/fixtures/test_0003_support_to_change_driver_with_Client.yml
@@ -0,0 +1,72 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      X-Deltacloud-Driver:
+      - ec2
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - ec2
+      content-length:
+      - '2150'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7b1418b5852df20853f413124d4ff440
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='ec2' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/firewalls'
+        rel='firewalls'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='user_data' rel='create'>\n
+        \     <param name='user_data' />\n    </feature>\n    <feature name='firewalls'
+        rel='create'>\n      <param name='firewalls' />\n    </feature>\n    <feature
+        name='authentication_key' rel='create'>\n      <param name='keyname' />\n
+        \   </feature>\n    <feature name='instance_count' rel='create'>\n      <param
+        name='instance_count' />\n    </feature>\n    <feature name='attach_snapshot'
+        rel='create'>\n      <param name='snapshot_id' />\n      <param name='device_name'
+        />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/realms'
+        rel='realms'>\n  </link>\n  <link href='http://localhost:3001/api/storage_snapshots'
+        rel='storage_snapshots'>\n  </link>\n  <link href='http://localhost:3001/api/images'
+        rel='images'>\n    <feature name='owner_id' rel='index'>\n      <param name='owner_id'
+        />\n    </feature>\n    <feature name='image_name' rel='create'>\n      <param
+        name='name' />\n    </feature>\n    <feature name='image_description' rel='create'>\n
+        \     <param name='description' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/addresses'
+        rel='addresses'>\n  </link>\n  <link href='http://localhost:3001/api/drivers'
+        rel='drivers'>\n  </link>\n  <link href='http://localhost:3001/api/buckets'
+        rel='buckets'>\n    <feature name='bucket_location' rel='create'>\n      <param
+        name='location' />\n    </feature>\n  </link>\n  <link href='http://localhost:3001/api/keys'
+        rel='keys'>\n  </link>\n  <link href='http://localhost:3001/api/load_balancers'
+        rel='load_balancers'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_connect.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_connect.yml b/client/tests/fixtures/test_0003_supports_connect.yml
new file mode 100644
index 0000000..6ca2841
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_connect.yml
@@ -0,0 +1,60 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:16 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_extract_xml_body_using_nokogiri_document.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_extract_xml_body_using_nokogiri_document.yml b/client/tests/fixtures/test_0003_supports_extract_xml_body_using_nokogiri_document.yml
new file mode 100644
index 0000000..0b93677
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_extract_xml_body_using_nokogiri_document.yml
@@ -0,0 +1,117 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 08:56:15 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 08:56:15 GMT
+recorded_with: VCR 2.4.0

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/0439fc75/client/tests/fixtures/test_0003_supports_instance.yml
----------------------------------------------------------------------
diff --git a/client/tests/fixtures/test_0003_supports_instance.yml b/client/tests/fixtures/test_0003_supports_instance.yml
new file mode 100644
index 0000000..74a646e
--- /dev/null
+++ b/client/tests/fixtures/test_0003_supports_instance.yml
@@ -0,0 +1,396 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://localhost:3001/api
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1368'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - e43d25244dc2b8ce1da6fa91131507ee
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:38:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<api driver='mock' version='1.1.1'>\n  <link href='http://localhost:3001/api/instance_states'
+        rel='instance_states'>\n  </link>\n  <link href='http://localhost:3001/api/storage_volumes'
+        rel='storage_volumes'>\n  </link>\n  <link href='http://localhost:3001/api/metrics'
+        rel='metrics'>\n  </link>\n  <link href='http://localhost:3001/api/hardware_profiles'
+        rel='hardware_profiles'>\n  </link>\n  <link href='http://localhost:3001/api/instances'
+        rel='instances'>\n    <feature name='metrics' rel='create'>\n      <param
+        name='metrics' />\n    </feature>\n    <feature name='realm_filter' rel='index'>\n
+        \     <param name='realm_id' />\n    </feature>\n    <feature name='user_name'
+        rel='create'>\n      <param name='name' />\n    </feature>\n    <feature name='authentication_key'
+        rel='create'>\n      <param name='keyname' />\n    </feature>\n  </link>\n
+        \ <link href='http://localhost:3001/api/realms' rel='realms'>\n  </link>\n
+        \ <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/images' rel='images'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/addresses' rel='addresses'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/drivers' rel='drivers'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/buckets' rel='buckets'>\n
+        \ </link>\n  <link href='http://localhost:3001/api/keys' rel='keys'>\n  </link>\n</api>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:38:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0027179718017578125'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 0db0b756867a44a42317b253f83f9a42
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:38:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol2</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:38:16 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol2/attach?instance_id=inst1&device
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:38:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol2</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:38:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0011837482452392578'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '470'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - c93b53b8de27b10168fa858ca4210443
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:38:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol2</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>IN-USE</state>\n  <mount>\n
+        \   <instance href='http://localhost:3001/api/instances/inst1' id='inst1'></instance>\n
+        \ </mount>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:38:16 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0006213188171386719'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1365'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7d8ea49a94358fd9cac586ae9a9f359c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:38:33 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'>\n  <name>MockUserInstance</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img3' id='img3'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n  <storage_volumes><storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol1' id='vol1'></storage_volume>\n<storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol2' id='vol2'></storage_volume></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:38:33 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/instances/inst1
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.001577615737915039'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '1365'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 7d8ea49a94358fd9cac586ae9a9f359c
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:39:16 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<instance href='http://localhost:3001/api/instances/inst1'
+        id='inst1'>\n  <name>MockUserInstance</name>\n  <owner_id>mockuser</owner_id>\n
+        \ <image href='http://localhost:3001/api/images/img3' id='img3'></image>\n
+        \ <realm href='http://localhost:3001/api/realms/us' id='us'></realm>\n  <state>RUNNING</state>\n
+        \ <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1-small'
+        id='m1-small'>\n  </hardware_profile>\n  <actions>\n    <link href='http://localhost:3001/api/instances/inst1/reboot'
+        method='post' rel='reboot' />\n    <link href='http://localhost:3001/api/instances/inst1/stop'
+        method='post' rel='stop' />\n    <link href='http://localhost:3001/api/instances/inst1/run;id=inst1'
+        method='post' rel='run' />\n    <link href='http://localhost:3001/api/images;instance_id=inst1'
+        method='post' rel='create_image' />\n  </actions>\n  <public_addresses><address
+        type='hostname'>img1.inst1.public.com</address></public_addresses>\n  <private_addresses><address
+        type='hostname'>img1.inst1.private.com</address></private_addresses>\n  <storage_volumes><storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol1' id='vol1'></storage_volume>\n<storage_volume
+        href='http://localhost:3001/api/storage_volumes/vol2' id='vol2'></storage_volume></storage_volumes>\n
+        \ <authentication type='key'>\n  </authentication>\n</instance>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:16 GMT
+- request:
+    method: post
+    uri: http://localhost:3001/api/storage_volumes/vol2/detach
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 202
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol2</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+- request:
+    method: get
+    uri: http://localhost:3001/api/storage_volumes/vol2
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      Accept:
+      - application/xml
+      Authorization:
+      - Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
+      User-Agent:
+      - Faraday v0.8.6
+  response:
+    status:
+      code: 200
+      message: 
+    headers:
+      content-type:
+      - application/xml
+      x-backend-runtime:
+      - '0.0014853477478027344'
+      server:
+      - Apache-Deltacloud/1.1.1
+      x-deltacloud-driver:
+      - mock
+      content-length:
+      - '366'
+      x-content-type-options:
+      - nosniff
+      etag:
+      - 0db0b756867a44a42317b253f83f9a42
+      cache-control:
+      - max-age=0, private, must-revalidate
+      date:
+      - Wed, 06 Mar 2013 16:39:42 GMT
+      connection:
+      - close
+    body:
+      encoding: US-ASCII
+      string: ! "<?xml version='1.0' encoding='utf-8' ?>\n<storage_volume href='http://localhost:3001/api/storage_volumes/vol2'
+        id='vol2'>\n  <created>Thu Jul 30 14:35:11 UTC 2009</created>\n  <capacity
+        unit='GB'>1</capacity>\n  <name>vol2</name>\n  <realm href='http://localhost:3001/api/realms/us'
+        id='us'></realm>\n  <realm_id>us</realm_id>\n  <state>AVAILABLE</state>\n</storage_volume>\n"
+    http_version: 
+  recorded_at: Wed, 06 Mar 2013 16:39:42 GMT
+recorded_with: VCR 2.4.0