Forge Home


A collection of useful composite datatypes to use as validators


16,873 latest version

4.1 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.15 (latest)
  • 0.2.14
  • 0.2.13
  • 0.2.12
  • 0.2.11
  • 0.2.10
  • 0.2.8
  • 0.2.5
released Oct 6th 2017
This version is compatible with:

    Start using this module

    • r10k or Code Manager
    • Bolt
    • Manual installation
    • Direct download

    Add this module to your Puppetfile:

    mod 'icann-tea', '0.2.15'
    Learn more about managing modules with a Puppetfile

    Add this module to your Bolt project:

    bolt module add icann-tea
    Learn more about using this module with an existing project

    Manually install this module globally with Puppet module tool:

    puppet module install icann-tea --version 0.2.15

    Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



    icann/tea — version 0.2.15 Oct 6th 2017

    Build Status Puppet Forge Puppet Forge Downloads

    Table of Contents

    1. Overview
    2. Module Description - What the module does and why it is useful
    3. Reference - An under-the-hood peek at what the module is doing and how
    4. Limitations - OS compatibility, etc.
    5. Development - Guide for contributing to the module


    :tea: Types: Abstracted & Extracted

    This module provides a set of Puppet 4.4+ compatible datatypes for use of validation in defined types and class declarations.

    Module Description

    The basic idea behind this module is to retire puppetlabs-stdlib's validate_XYZ() functions. Unlike validate_(), these datatypes can be verified by the parser, instead of being validated during compilation.

    Installing this module will make it so that puppet auto-loads all types defined in types/


    public types

    • Absolutepath: matches http/https URLs
    • HTTPUrl: matches http/https URLs
    • HTTPSUrl: matches https URLs
    • Port: all valid TCP/UDP ports
    • Privilegedport: ports which need rootly power to bind to
    • Unprivilegedport: ports which do not need rootly power
    • IPv4: Matches valid IPv4 address
    • IPv6: Matches valid IPv6 address
    • ipaddress: Matches valid IPv4 or IPv6 address
    • IPv4_cird: Matches valid IPv4 address in CIDR notation
    • IPv6_cidr: Matches valid IPv6 address in CIDR notation
    • Puppetsource: matches values that can be used for a file type source parameter
    • Puppetcontent: matches values that can be used for a file type content parameter
    • Base64: matches base64 strings
    • Base32: matches base64 strings

    private types

    • fileuri: Matches file:/// uris, used by Puppetsource
    • puppeturi: Matches puppet:/// uris, used by Puppetsource


    This module is compatible with any platform puppet 4.4+ is compatible with.


    Please see for how this module is developed, and how you can help.