Forge Home


A collection of useful composite datatypes to use as validators


16,815 latest version

4.1 quality score

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.