List of Puppet data types
The following data types are available in the Puppet language.
For details on each data type, see the linked documentation or the specification document.
| Data type | Purpose | Type category |
|---|---|---|
Any
|
The parent type of all types. | Abstract |
Array
|
The data type of arrays. | Data |
Binary
|
A type representing a sequence of bytes. | Data |
Boolean
|
The data type of Boolean values. | Data, Scalar |
Callable
|
Something that can be called (such as a function or lambda). | Platform |
CatalogEntry
|
The parent type of all types that are included in a Puppet catalog. | Abstract |
Class
|
A special data type used to declare classes. | Catalog |
Collection
|
A parent type of Array and
Hash. |
Abstract |
Data
|
A parent type of all data directly representable as JSON. | Abstract |
Default
|
The "default value" type. | Platform |
Deferred
|
A type describing a call to be resolved in the future. | Platform |
Enum
|
An enumeration of strings. | Abstract |
Error
|
A type used to communicate when a function has produced an error. | |
Float
|
The data type of floating point numbers. | Data, Scalar |
Hash
|
The data type of hashes. | Data |
Init
|
A type used to accept values that are compatible of some other type's "new". | |
Integer
|
The data type of integers. | Data, Scalar |
Iterable
|
A type that represents all types that allow iteration. | Abstract |
Iterator
|
A special kind of lazy Iterable suitable for
chaining. |
Abstract |
NotUndef
|
A type that represents all types not assignable from the
Undef type. |
Abstract |
Numeric
|
The parent type of all numeric data types. | Abstract |
Object
|
Experimental. Can be a simple object only having attributes, or a more complex object also supporting callable methods. | |
Optional
|
Either Undef or a specific type. |
Abstract |
Pattern
|
An enumeration of regular expression patterns. | Abstract |
Regexp
|
The data type of regular expressions. | Scalar |
Resource
|
A special data type used to declare resources. | Catalog |
RichData
|
A parent type of all data types except the non serializeable types
Callable, Iterator,
Iterable, and Runtime. |
Abstract |
Runtime
|
The type of runtime (non Puppet) types. | Platform |
Scalar
|
Represents the abstract notion of "value". | Abstract |
ScalarData
|
A parent type of all single valued data types that are directly representable in JSON. | Abstract |
SemVer
|
A type representing semantic versions. | Scalar |
SemVerRange
|
A range of SemVer versions. |
Abstract |
Sensitive
|
A type that represents a data type that has "clear text" restrictions. | Platform |
String
|
The data type of strings. | Data, Scalar |
Struct
|
A Hash where each entry is
individually named and typed. |
Abstract |
Timespan
|
A type representing a duration of time. | Scalar |
Timestamp
|
A type representing a specific point in time | Scalar |
Tuple
|
An Array where each slot is typed
individually |
Abstract |
Type
|
The type of types. | Platform |
Typeset
|
Experimental. Represents a collection of Object-based data types. |
|
Undef
|
The "no value" type. | Data, Platform |
URI
|
A type representing a Uniform Resource Identifier | Data |
Variant
|
One of a selection of types. | Abstract |