152: def self.newmetaparam(name, options = {}, &block)
153: @@metaparams ||= []
154: @@metaparamhash ||= {}
155: name = symbolize(name)
156:
157:
158: param = genclass(
159: name,
160: :parent => options[:parent] || Puppet::Parameter,
161: :prefix => "MetaParam",
162: :hash => @@metaparamhash,
163: :array => @@metaparams,
164: :attributes => options[:attributes],
165:
166: &block
167: )
168:
169:
170: param.required_features = options[:required_features] if options[:required_features]
171:
172: handle_param_options(name, options)
173:
174: param.metaparam = true
175:
176: param
177: end