Unverified Commit 4f09aaed authored by Jonathan's avatar Jonathan Committed by GitHub
Browse files

Merge pull request #130 from djjudas21/data_types

Add type validation to all parameters
parents fe4fd491 4f118df4
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
# Install FreeRADIUS config snippets
define freeradius::attr (
  $source,
  $ensure = present,
  $key = 'User-Name',
  $prefix = 'filter',
  String $source,
  Freeradius::Ensure $ensure = present,
  Optional[String] $key      = 'User-Name',
  Optional[String] $prefix   = 'filter',
) {
  $fr_package          = $::freeradius::params::fr_package
  $fr_service          = $::freeradius::params::fr_service
+4 −4
Original line number Diff line number Diff line
# Install FreeRADIUS certificates
define freeradius::cert (
  $source = undef,
  $content = undef,
  $type = 'key',
  $ensure = present,
  Optional[String] $source   = undef,
  Optional[String] $content  = undef,
  Optional[String] $type     = 'key',
  Freeradius::Ensure $ensure = present,
) {
  $fr_package  = $::freeradius::params::fr_package
  $fr_service  = $::freeradius::params::fr_service
+22 −39
Original line number Diff line number Diff line
# Install FreeRADIUS clients (WISMs or testing servers)
define freeradius::client (
  $secret,
  $shortname                     = $title,
  $ip                            = undef,
  $ip6                           = undef,
  $proto                         = undef,
  $require_message_authenticator = 'no',
  $virtual_server                = undef,
  $nastype                       = undef,
  $login                         = undef,
  $password                      = undef,
  $coa_server                    = undef,
  $response_window               = undef,
  $max_connections               = undef,
  $lifetime                      = undef,
  $idle_timeout                  = undef,
  $redirect                      = undef,
  $port                          = undef,
  $srcip                         = undef,
  $firewall                      = false,
  $ensure                        = present,
  $attributes                    = [],
  $huntgroups                    = undef,
  String $secret,
  Optional[String] $shortname                        = $title,
  Optional[String] $ip                               = undef,
  Optional[String] $ip6                              = undef,
  Enum['*', 'udp', 'tcp'] $proto                     = undef,
  Freeradius::Boolean $require_message_authenticator = 'no',
  Optional[String] $virtual_server                   = undef,
  Enum['cisco', 'computone', 'livingston', 'juniper', 'max40xx', 'multitech', 'netserver', 'pathras', 'patton', 'portslave', 'tc', 'usrhiper', 'other'] $nastype = undef,
  Optional[String] $login                            = undef,
  Optional[String] $password                         = undef,
  Optional[String] $coa_server                       = undef,
  Optional[String] $response_window                  = undef,
  Optional[Integer] $max_connections                 = undef,
  Optional[Integer] $lifetime                        = undef,
  Optional[Integer] $idle_timeout                    = undef,
  Optional[String] $redirect                         = undef,
  Optional[Integer] $port                            = undef,
  Optional[String] $srcip                            = undef,
  Boolean $firewall                                  = false,
  Freeradius::Ensure $ensure                         = present,
  Array $attributes                    = [],
  Optional[String] $huntgroups                    = undef,
) {
  $fr_package  = $::freeradius::params::fr_package
  $fr_service  = $::freeradius::params::fr_service
  $fr_basepath = $::freeradius::params::fr_basepath
  $fr_group    = $::freeradius::params::fr_group

  if $proto {
    unless $proto in ['*', 'udp', 'tcp'] {
      fail('$proto must be one of udp, tcp or *')
    }
  }

  unless $require_message_authenticator in ['yes', 'no'] {
    fail('$require_message_authenticator must be one of yes or no')
  }

  if $nastype {
    unless $nastype in ['cisco', 'computone', 'livingston', 'juniper', 'max40xx',
    'multitech', 'netserver', 'pathras', 'patton', 'portslave', 'tc', 'usrhiper', 'other'] {
      fail('$nastype must be one of cisco, computone, livingston, juniper, max40xx, multitech, netserver, pathras, patton, portslave, tc, usrhiper, other')
    }
  }

  file { "${fr_basepath}/clients.d/${shortname}.conf":
    ensure  => $ensure,
    mode    => '0640',
+3 −3
Original line number Diff line number Diff line
# Install FreeRADIUS config snippets
define freeradius::config (
  $source = undef,
  $content = undef,
  $ensure = present,
  Optional[String] $source   = undef,
  Optional[String] $content  = undef,
  Freeradius::Ensure $ensure = present,
) {
  $fr_package          = $::freeradius::params::fr_package
  $fr_service          = $::freeradius::params::fr_service
+5 −5
Original line number Diff line number Diff line
# Install FreeRADIUS custom dictionaries
define freeradius::dictionary (
  $source = undef,
  $content = undef,
  $order = 50,
  $ensure = present,
  Optional[String] $source   = undef,
  Optional[String] $content  = undef,
  Optional[Integer] $order   = 50,
  Freeradius::Ensure $ensure = 'present',
) {
  $fr_package  = $::freeradius::params::fr_package
  $fr_service  = $::freeradius::params::fr_service
@@ -11,7 +11,7 @@ define freeradius::dictionary (
  $fr_group    = $::freeradius::params::fr_group

  if !$source and !$content {
    fail('source or content parameter should be provided')
    fail('source or content parameter must be provided')
  }

  # Install dictionary in dictionary.d
Loading