File: ini_setting.rb

package info (click to toggle)
puppet-module-keystone 25.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,428 kB
  • sloc: ruby: 9,684; pascal: 295; python: 38; makefile: 10; sh: 10
file content (61 lines) | stat: -rw-r--r-- 1,706 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
module PuppetX
  module KeystoneConfig
    # Mixin for shared code between keystone_config and
    # keystone_domain_config.  This can be reincluded directly to
    # keystone_config when openstackcli supports domain configuration and
    # keystone_domain_config is refactored.
    module IniSetting
      def create_parameters
        ensurable

        newparam(:name, :namevar => true) do
          desc 'Section/setting name to manage from keystone.conf'
          newvalues(/\S+\/\S+/)
        end

        newproperty(:value) do
          desc 'The value of the setting to be defined.'
          munge do |value|
            value = value.to_s.strip
            value.capitalize! if value =~ /^(true|false)$/i
            value
          end
          newvalues(/^[\S ]*$/)

          def is_to_s( currentvalue )
            if resource.secret?
              return '[old secret redacted]'
            else
              return currentvalue
            end
          end

          def should_to_s( newvalue )
            if resource.secret?
              return '[new secret redacted]'
            else
              return newvalue
            end
          end
        end

        newparam(:secret, :boolean => true) do
          desc 'Whether to hide the value from Puppet logs. Defaults to `false`.'

          newvalues(:true, :false)

          defaultto false
        end

        newparam(:ensure_absent_val) do
          desc 'A value that is specified as the value property will behave as if ensure => absent was specified'
          defaultto('<SERVICE DEFAULT>')
        end

        autorequire(:anchor) do
          ['keystone::install::end']
        end
      end
    end
  end
end