hi! Does anyone have any advice on debugging a new custom type? Any thoughts would be greatly appreciated . . .
BTW, I'm getting the error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not render to pson: undefined method `merge' for []:Array with some very rough code. The Type (vncserver.rb): module Puppet newtype(:vncserver) do ensurable newproperty(:port) do desc "The vnc servers port assignment. Will be +5900 on the server" validate do |value| unless value.is_i? raise Puppet::Error, "Invalid Port number" end end end newproperty(:username) do desc "The user who will own the VNC session." isnamevar validate do |value| unless value !~ /\s/ raise Puppet::Error, "Must be a valid username. No spaces, please." end end end newproperty(:geometry) do desc "Resolution for VNC, in XxY, e.g. 1024x768." validate do |value| unless value !~ /^\d*x\d*$/ raise Puppet::Error, "Must be a valid geometry. e.g., 1024x768." end end end newparam(:password) do desc "Password to be put into users .vnc/passwd." validate do |value| unless hostpart =~ /^([\d\w]+|[\d\w][\d\w\-]+[\d\w])$/ raise Puppet::Error, "Invalid host name" end end end newparam(:args) do desc "Optional arguments to be added to the vncserver command-line." end end @doc = "Installs and manages entries for vncservers. For Redhat-bases systems, and likely many others, these entries will be in /etc/sysconfig/vncservers." end The Provider (parsed.rb): require 'puppet/provider/parsedfile' vncservers = "/etc/sysconfig/vncservers" Puppet::Type.type(:vncserver).provide(:parsed, :parent => Puppet::Provider::ParsedFile, :default_target => vncservers, :filetype => :flat ) do desc "The vncserver provider that uses the ParsedFile class" confine :exists => vncservers text_line :comment, :match => /^#/; text_line :blank, :match => /\s*$/; text_line :blank, :match => /\s*$/; record_line :parsed, :fields => %w{vncservers}, :match => /^VNCSERVERS="(.*)"/ end And The Manifest: class vncserver { include common::vnc package { 'tigervnc-server': ensure => 'installed'; } vncserver { 'gmatz': port => '92', geometry => '1024x768', password => 'gmatz'; } } -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.