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
Data
type matchesundef
in addition to several other data types. -
The
Any
type matches any value, includingundef
. -
The
Optional
type wraps one other data type, and returns a type that matchesundef
in addition to that type. -
The
Variant
type can accept theUndef
type as a parameter, which will make the resulting data type matchundef
. -
The
NotUndef
type matches any value exceptundef
.