Parameter data types
You should always specify types for your class parameters, as it makes it easier to catch errors where the wrong parameters or values are being supplied to the class. If you're using a String parameter, for example, if possible, make it an Enum parameter with an exact list of the values your class accepts. If you can't restrict it to a set of allowed values, specify a minimum length with String[x]
. (If you need to specify a maximum length too, the syntax is String[min, max]
.)
Available data types
So far in this chapter, we've encountered the data types String, Enum, and Boolean. Here are the others:
Integer (whole numbers)
Float (floating-point numbers, which have optional decimal fractions)
Numeric (matches either integers or floats)
Array
Hash
Regexp
Undef (matches a variable or parameter which hasn't been assigned a value)
Type (data type of literal values which represent Puppet data types, such as String, Integer, and Array)
There are also abstract data types, which are more...