puppet-keystone/lib/puppet/provider/keystone_role/keystone_manage.rb

53 lines
987 B
Ruby

require 'puppet/provider/keystone_manage'
Puppet::Type.type(:keystone_role).provide(
:keystone_manage,
:parent => Puppet::Provider::KeystoneManager
) do
optional_commands :keystone_manage => 'keystone-manage'
def self.instances
role_hash.collect do |k, v|
puts "|#{k}|"
new(:name => k)
end
end
def create
keystone_manage('role', 'add', resource[:name], resource[:service])
end
def exists?
role_hash[resource[:name]]
end
def destroy
raise(Puppet::Error, "keystone-manage does not support removing roles")
end
def id
role_hash[resource[:name]][:id]
end
def service
role_hash[resource[:name]][:service]
end
def description
role_hash[resource[:name]][:description]
end
def id=(id)
raise(Puppet::Error, "Id is a read only property")
end
def service=(service_name)
property_not_supported('service')
end
def description=(description)
property_not_supported('description')
end
end