da48aa575460ba5f3b92e3b5c0028393dc2f2f31
[integration/packaging/puppet-opendaylight.git] / lib / puppet / provider / odl_user / idm.rb
1 Puppet::Type.type(:odl_user).provide(:idm) do
2
3   commands :java => 'java'
4
5   def odl_path
6     '/opt/opendaylight'
7   end
8
9   def idm_cmd(*args)
10     java('-jar', "#{odl_path}/bin/aaa-cli-jar.jar", '--dbd', odl_path, *args)
11   end
12
13   def create
14     idm_cmd('--newUser', @resource[:username], '-p', @resource[:password])
15   end
16
17   def destroy
18     idm_cmd('--deleteUser', @resource[:username])
19   end
20
21   def exists?
22     output = idm_cmd('-l').split("\n")
23     output.each do |line|
24       if line.eql? @resource[:username]
25         return true
26       end
27     end
28     return false
29   end
30
31   def password
32     return false
33   end
34
35   def password=(password)
36     destroy
37     idm_cmd('--newUser', @resource[:username], '-p', password)
38   end
39
40 end