Language: Data types: Undef
Puppet’s special undef value is roughly equivalent to nil in Ruby; it represents the absence of a value. If the strict_variables setting isn’t enabled, variables which have never been declared have a value of undef.
The undef value is usually useful for testing whether a variable has been set. It can also be used as the value of a resource attribute, which can let you un-set any value inherited from a resource default and cause the attribute to be unmanaged.
Syntax
The only value in the undef data type is the bare word undef.
Conversion
When used as a boolean, undef is false.
When interpolated into a string, undef will be converted to the empty string.
The Undef data type
The data type of undef is Undef.
It matches only the value undef, and takes no parameters.
Related data types
Several of the abstract data types will also match the value undef:
- The
Datatype matchesundefin addition to several other data types. - The
Anytype matches any value, includingundef. - The
Optionaltype wraps one other data type, and returns a type that matchesundefin addition to that type. - The
Varianttype can accept theUndeftype as a parameter, which will make the resulting data type matchundef. - The
NotUndeftype matches any value exceptundef.