X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Fkeystone%2Flib%2Fpuppet%2Ftype%2Fkeystone_tenant.rb;fp=3rdparty%2Fmodules%2Fkeystone%2Flib%2Fpuppet%2Ftype%2Fkeystone_tenant.rb;h=3e1de7f3784e649f6dd1d06afbd9dcc31f456885;hb=b8fa2c1a5ec9dbcd1d2f9e9b41afdde4c603aa35;hp=0000000000000000000000000000000000000000;hpb=b7626cbcbb2fb8e7ce3dc5ac60e80a981175f9d3;p=dsa-puppet.git diff --git a/3rdparty/modules/keystone/lib/puppet/type/keystone_tenant.rb b/3rdparty/modules/keystone/lib/puppet/type/keystone_tenant.rb new file mode 100644 index 00000000..3e1de7f3 --- /dev/null +++ b/3rdparty/modules/keystone/lib/puppet/type/keystone_tenant.rb @@ -0,0 +1,49 @@ +# LP#1408531 +File.expand_path('../..', File.dirname(__FILE__)).tap { |dir| $LOAD_PATH.unshift(dir) unless $LOAD_PATH.include?(dir) } +require 'puppet/util/openstack' +Puppet::Type.newtype(:keystone_tenant) do + + desc 'This type can be used to manage keystone tenants.' + + ensurable + + newparam(:name, :namevar => true) do + desc 'The name of the tenant.' + newvalues(/\w+/) + end + + newproperty(:enabled) do + desc 'Whether the tenant should be enabled. Defaults to true.' + newvalues(/(t|T)rue/, /(f|F)alse/, true, false ) + defaultto(true) + munge do |value| + value.to_s.downcase.to_sym + end + end + + newproperty(:description) do + desc 'A description of the tenant.' + defaultto('') + end + + newproperty(:id) do + desc 'Read-only property of the tenant.' + validate do |v| + raise(Puppet::Error, 'This is a read only property') + end + end + + # This ensures the service is started and therefore the keystone + # config is configured IF we need them for authentication. + # If there is no keystone config, authentication credentials + # need to come from another source. + autorequire(:service) do + ['keystone'] + end + + auth_param_doc=<