Defined Type: squid::refresh_pattern

Defined in:
manifests/refresh_pattern.pp

Summary

Defines refresh_pattern entries for a squid server.

Overview

Examples:

squid::refresh_pattern { '^ftp:':
  min     => 1440,
  max     => 10080,
  percent => 20,
  order   => 60,
}

squid::refresh_pattern { '(/cgi-bin/|\?)':
  case_sensitive => false,
  min            => 0,
  max            => 0,
  percent        => 0,
  order          => 61,
}

would result in the following squid refresh patterns:
# refresh_pattern fragment for ^ftp
refresh_pattern ^ftp: 1440 20% 10080
# refresh_pattern fragment for (/cgi-bin/|\?)
refresh_pattern (/cgi-bin/|\?) -i 0 0% 0

YAML example

squid::refresh_patterns:
  '^ftp':
    max:     10080
    min:     1440
    percent: 20
    order:   '60'
  '^gopher':
    max:     1440
    min:     1440
    percent: 0
    order:   '61'
  '(/cgi-bin/|\?)':
    case_sensitive: false
    max:            0
    min:            0
    percent:        0
    order:          '62'
  '.':
    max:     4320
    min:     0
    percent: 20
    order:   '63'

Parameters:

  • case_sensitive (Boolean) (defaults to: true)

    If true (default) the regex is case sensitive, when false the case insensitive flag ‘-i’ is added to the pattern

  • comment (String) (defaults to: "refresh_pattern fragment for ${pattern}")

    Comment added before refresh rule, defaults to refresh_pattern fragment for ‘title`

  • min (Integer)

    Must be defined, the time (in minutes) an object without an explicit expiry time should be considered fresh.

  • max (Integer)

    Must be defined, the upper limit (in minutes) on how long objects without an explicit expiry time will be considered fresh.

  • percent (Integer)

    Must be defined, is a percentage of the objects age (time since last modification age)

  • options (Optional[String[1]]) (defaults to: undef)

    See squid documentation for available options.

  • order (String) (defaults to: '05')

    Each refresh_pattern has an order ‘05` by default this can be specified if order of refresh_pattern definition matters.

  • pattern (String) (defaults to: $title)

See Also:



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'manifests/refresh_pattern.pp', line 65

define squid::refresh_pattern (
  Integer $max,
  Integer $min,
  Integer $percent,
  Boolean $case_sensitive      = true,
  Optional[String[1]] $options = undef,
  String  $order               = '05',
  String  $pattern             = $title,
  String  $comment             = "refresh_pattern fragment for ${pattern}",
) {
  concat::fragment { "squid_refresh_pattern_${pattern}":
    target  => $squid::config,
    content => epp('squid/squid.conf.refresh_pattern.epp', {
        'comment'        => $comment,
        'case_sensitive' => $case_sensitive,
        'pattern'        => $pattern,
        'max'            => $max,
        'min'            => $min,
        'options'        => $options,
        'percent'        => $percent,
    }),
    order   => "45-${order}",
  }
}