diff -r 47002a1da407 -r 0b76fc564cd2 components/puppet/files/solaris/lib/puppet/type/nis.rb --- a/components/puppet/files/solaris/lib/puppet/type/nis.rb Thu Aug 08 10:33:46 2013 -0700 +++ b/components/puppet/files/solaris/lib/puppet/type/nis.rb Mon Aug 12 11:30:04 2013 -0700 @@ -38,18 +38,27 @@ Puppet::Type.newtype(:nis) do @doc = "Manage the configuration of the NIS client for Oracle Solaris" - newparam(:domainname) do + newparam(:name) do + desc "The symbolic name for the NIS domain and client settings to use. + This name is used for human reference only." + isnamevar + end + + newproperty(:domainname) do desc "The NIS domainname" - isnamevar end newproperty(:ypservers, :parent => Puppet::Property::List) do desc "The hosts or IP addresses to use as NIS servers. Specify multiple entries as an array" - # ensure should remains an array + # ensure should remains an array as long as there's more than 1 entry def should - @should + if @should.length == 1 + @should.to_s + else + @should + end end def insync?(is) @@ -73,46 +82,11 @@ end end - newproperty(:securenets, :parent => Puppet::Property::List) do - desc "Entries for /var/yp/securenets. Each entry must be a 2 element - array. The first element must be either a host or a netmask. + newproperty(:securenets) do + desc "Entries for /var/yp/securenets. Each entry must be a hash. + The first element in the hash is either a host or a netmask. The second element must be an IP network address. Specify - multiple entires as an array of arrays" - - # ensure should remains an array - def should - @should - end - - def insync?(is) - is = [] if is == :absent or is.nil? - is.sort == self.should.sort - end - - # svcprop returns multivalue entries delimited with a space - def delimiter - " " - end - - validate do |value| - netmask, network = value - # check the netmask - begin - ip = IPAddr.new(netmask) - rescue ArgumentError - # the value wasn't a valid IP address, so check the hostname - raise Puppet::Error, "securenets entry: #{value} has an - invalid netmask" if not valid_hostname? netmask - end - - begin - ip = IPAddr.net(network) - rescue ArgumentError - # the value wasn't a valid IP address - raise Puppet::Error, "securenets entry: #{value} has an - invalid network" - end - end + multiple entires as separate entries in the hash." end newproperty(:use_broadcast) do