diff options
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/puppet/provider/package/openbsd.rb | 2 | ||||
| -rwxr-xr-x | lib/puppet/type/host.rb | 13 | ||||
| -rw-r--r-- | lib/puppet/type/package.rb | 4 |
3 files changed, 16 insertions, 3 deletions
diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb index ce69dd432..f76c37176 100755 --- a/lib/puppet/provider/package/openbsd.rb +++ b/lib/puppet/provider/package/openbsd.rb @@ -66,7 +66,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa info = pkginfo @resource[:name] # Search for the version info - if info =~ /Information for #{@resource[:name]}-(\S+)/ + if info =~ /Information for (inst:)?#{@resource[:name]}-(\S+)/ hash[:ensure] = $1 else return nil diff --git a/lib/puppet/type/host.rb b/lib/puppet/type/host.rb index be5c2ed72..3e34c0b60 100755 --- a/lib/puppet/type/host.rb +++ b/lib/puppet/type/host.rb @@ -4,6 +4,13 @@ module Puppet newproperty(:ip) do desc "The host's IP address, IPv4 or IPv6." + + validate do |value| + unless value =~ /((([0-9a-fA-F]+:){7}[0-9a-fA-F]+)|(([0-9a-fA-F]+:)*[0-9a-fA-F]+)?::(([0-9a-fA-F]+:)*[0-9a-fA-F]+)?)|((25[0-5]|2[0-4][\d]|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})/ + raise Puppet::Error, "Invalid IP address" + end + end + end newproperty(:alias) do @@ -78,6 +85,12 @@ module Puppet desc "The host name." isnamevar + + validate do |value| + unless value =~ /^\w+-?[\w+]?\.?[\w+.{1}]*\w+$/ + raise Puppet::Error, "Invalid host name" + end + end end @doc = "Installs and manages host entries. For most systems, these diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index 9173eaa1c..24b187e5f 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -176,7 +176,7 @@ module Puppet a common name to packages:: # In the 'openssl' class - $ssl = $operationgsystem ? { + $ssl = $operatingsystem ? { solaris => SMCossl, default => openssl } @@ -190,7 +190,7 @@ module Puppet . etc. . - $ssh = $operationgsystem ? { + $ssh = $operatingsystem ? { solaris => SMCossh, default => openssh } |
