You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by dk...@apache.org on 2013/07/16 13:38:01 UTC

[2/3] git commit: CIMI: take entity start/stop/import/etc. action url from CEP

CIMI: take entity start/stop/import/etc. action url from CEP


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

Branch: refs/heads/master
Commit: 117789093a58583c8d804bceb74a56312ba9713d
Parents: 78ee64e
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Mon Jul 15 23:18:06 2013 +1000
Committer: Dies Koper <di...@fast.au.fujitsu.com>
Committed: Tue Jul 16 21:06:05 2013 +1000

----------------------------------------------------------------------
 clients/cimi/lib/client.rb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/11778909/clients/cimi/lib/client.rb
----------------------------------------------------------------------
diff --git a/clients/cimi/lib/client.rb b/clients/cimi/lib/client.rb
index 7a9ba60..f169b75 100644
--- a/clients/cimi/lib/client.rb
+++ b/clients/cimi/lib/client.rb
@@ -60,8 +60,10 @@ module CIMI
       def entity_action(entity_type, action, body, credentials, id=nil)
         entity_href = get_entity_collection_href(entity_type, credentials)
         raise RestClient::ResourceNotFound if not entity_href
-        url = id ? '%s/%s/%s' % [entity_href, id, action.to_s] : '%s/%s' % [entity_href, action.to_s]
-        RestClient::Resource.new(url).post(body, auth_header(credentials).merge(:content_type => 'application/xml'))
+        url = id ? '%s/%s' % [entity_href, id] : '%s' % [entity_href]
+        response_xml = RestClient::Resource.new(url).get(auth_header(credentials))
+        op_url = XmlSimple.xml_in(response_xml)['operation'].find {|o| o['rel'] == "http://schemas.dmtf.org/cimi/1/action/#{action}" }['href']
+        RestClient::Resource.new(op_url).post(body, auth_header(credentials).merge(:content_type => 'application/xml'))
       end
 
       def provider_header(credentials)