+++ /dev/null
-require 'puppet/provider/keystone'
-
-Puppet::Type.type(:keystone_role).provide(
- :openstack,
- :parent => Puppet::Provider::Keystone
-) do
-
- desc 'Provider for keystone roles.'
-
- def create
- properties = []
- @instance = request('role', 'create', resource[:name], resource[:auth], properties)
- end
-
- def exists?
- ! instance(resource[:name]).empty?
- end
-
- def destroy
- request('role', 'delete', resource[:name], resource[:auth])
- end
-
- def id
- instance(resource[:name])[:id]
- end
-
- def self.instances
- list = request('role', 'list', nil, nil)
- list.collect do |role|
- new(
- :name => role[:name],
- :ensure => :present,
- :id => role[:id]
- )
- end
- end
-
- def instances
- instances = request('role', 'list', nil, resource[:auth])
- instances.collect do |role|
- {
- :name => role[:name],
- :id => role[:id]
- }
- end
- end
-
- def instance(name)
- @instance ||= instances.select { |instance| instance[:name] == name }.first || {}
- end
-
-end