31f8fb2131abb5adc08727bd0dfc4805af99ec78
[mirror/dsa-puppet.git] /
1 module Aviator
2
3   define_request :update_user do
4
5     meta :provider,      :openstack
6     meta :service,       :identity
7     meta :api_version,   :v2
8     meta :endpoint_type, :admin
9
10
11     link 'documentation',
12       'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_updateUser_v2.0_users__userId__.html'
13
14     link 'bug',
15       'https://bugs.launchpad.net/keystone/+bug/1226475'
16
17     param :id,        :required => true
18     param :name,      :required => false
19     param :password,  :required => false
20     param :email,     :required => false
21     param :enabled,   :required => false
22     param :tenantId,  :required => false, :alias => :tenant_id
23     param :extras,    :required => false
24
25
26     def body
27       p = {
28         :user => {}
29       }
30
31       optional_params.each do |key|
32         p[:user][key] = params[key] if params[key]
33       end
34
35       p
36     end
37
38
39     def headers
40       h = {}
41
42       unless self.anonymous?
43         h['X-Auth-Token'] = session_data[:body][:access][:token][:id]
44       end
45
46       h
47     end
48
49
50     def http_method
51       :put
52     end
53
54
55     def url
56       service_spec = session_data[:body][:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
57       "#{ service_spec[:endpoints][0][:adminURL] }/users/#{ params[:id] }"
58     end
59
60   end
61
62 end