From e5b253546a9e6a2c6bc6c1e2ef0f4f7e053ad463 Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Wed, 12 Oct 2016 11:51:22 +0100 Subject: [PATCH] Add required parameter and version validation to all package types --- lib/puppet/type/entropy_splitdebug.rb | 4 ++++ lib/puppet/type/entropy_splitdebug_mask.rb | 4 ++++ lib/puppet/type/entropy_unmask.rb | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/lib/puppet/type/entropy_splitdebug.rb b/lib/puppet/type/entropy_splitdebug.rb index db9c376..eedc2ea 100644 --- a/lib/puppet/type/entropy_splitdebug.rb +++ b/lib/puppet/type/entropy_splitdebug.rb @@ -52,6 +52,10 @@ Puppet::Type.newtype(:entropy_splitdebug) do end validate do + raise(ArgumentError, "At least one of package, tag or repo is required") if self[:package].nil? && self[:tag].nil? && self[:repo].nil? + + raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? end diff --git a/lib/puppet/type/entropy_splitdebug_mask.rb b/lib/puppet/type/entropy_splitdebug_mask.rb index 7b80081..db88031 100644 --- a/lib/puppet/type/entropy_splitdebug_mask.rb +++ b/lib/puppet/type/entropy_splitdebug_mask.rb @@ -52,6 +52,10 @@ Puppet::Type.newtype(:entropy_splitdebug_mask) do end validate do + raise(ArgumentError, "At least one of package, tag or repo is required") if self[:package].nil? && self[:tag].nil? && self[:repo].nil? + + raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? end diff --git a/lib/puppet/type/entropy_unmask.rb b/lib/puppet/type/entropy_unmask.rb index b8069e5..c775e92 100644 --- a/lib/puppet/type/entropy_unmask.rb +++ b/lib/puppet/type/entropy_unmask.rb @@ -52,6 +52,10 @@ Puppet::Type.newtype(:entropy_unmask) do end validate do + raise(ArgumentError, "At least one of package, tag or repo is required") if self[:package].nil? && self[:tag].nil? && self[:repo].nil? + + raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? end