From ae56cc9a6dbcd3846ccbcb9f8a7b9302d8b2a996 Mon Sep 17 00:00:00 2001 From: david22swan Date: Fri, 27 May 2022 18:16:12 +0100 Subject: [PATCH] (GH-cat-9) Update code to match syntax standard, part 2 Code now compliant with the following rules: - parameter_documentation - parameter_types --- .puppet-lint.rc | 2 - .sync.yml | 2 - Rakefile | 2 - manifests/balancer.pp | 8 +- manifests/balancermember.pp | 8 +- manifests/custom_config.pp | 18 +- manifests/default_confd_files.pp | 2 +- manifests/default_mods.pp | 8 +- manifests/default_mods/load.pp | 2 +- manifests/fastcgi/server.pp | 17 +- manifests/init.pp | 144 ++++---- manifests/mod.pp | 16 +- manifests/mod/alias.pp | 11 +- manifests/mod/auth_cas.pp | 49 +-- manifests/mod/auth_mellon.pp | 14 +- manifests/mod/authn_core.pp | 2 +- manifests/mod/authn_dbd.pp | 16 +- manifests/mod/authnz_ldap.pp | 4 +- manifests/mod/authz_default.pp | 2 +- manifests/mod/autoindex.pp | 5 +- manifests/mod/cluster.pp | 22 +- manifests/mod/data.pp | 2 +- manifests/mod/dav_svn.pp | 2 +- manifests/mod/dbd.pp | 3 - manifests/mod/deflate.pp | 4 +- manifests/mod/dir.pp | 14 +- manifests/mod/disk_cache.pp | 6 +- manifests/mod/event.pp | 24 +- manifests/mod/expires.pp | 6 +- manifests/mod/fcgid.pp | 18 +- manifests/mod/geoip.pp | 18 +- manifests/mod/headers.pp | 3 - manifests/mod/http2.pp | 2 +- manifests/mod/info.pp | 8 +- manifests/mod/itk.pp | 16 +- manifests/mod/jk.pp | 114 +++--- manifests/mod/ldap.pp | 18 +- manifests/mod/mime.pp | 6 +- manifests/mod/mime_magic.pp | 2 +- manifests/mod/nss.pp | 10 +- manifests/mod/pagespeed.pp | 225 +++++++++--- manifests/mod/passenger.pp | 189 +++++----- manifests/mod/peruser.pp | 38 +- manifests/mod/php.pp | 48 ++- manifests/mod/prefork.pp | 20 +- manifests/mod/proxy.pp | 14 +- manifests/mod/proxy_balancer.pp | 4 +- manifests/mod/reqtimeout.pp | 2 +- manifests/mod/rpaf.pp | 8 +- manifests/mod/security.pp | 64 ++-- manifests/mod/shib.pp | 8 +- manifests/mod/ssl.pp | 31 +- manifests/mod/status.pp | 4 +- manifests/mod/userdir.pp | 20 +- manifests/mod/version.pp | 2 +- manifests/mod/worker.pp | 20 +- manifests/mod/wsgi.pp | 16 +- manifests/mpm.pp | 4 +- manifests/package.pp | 4 +- manifests/peruser/multiplexer.pp | 6 +- manifests/peruser/processor.pp | 6 +- manifests/service.pp | 10 +- manifests/vhost.pp | 578 ++++++++++++++----------------- manifests/vhost/custom.pp | 8 +- manifests/vhost/fragment.pp | 9 +- manifests/vhosts.pp | 2 +- 66 files changed, 1075 insertions(+), 895 deletions(-) diff --git a/.puppet-lint.rc b/.puppet-lint.rc index 764bae24ed..6d61fb07e3 100644 --- a/.puppet-lint.rc +++ b/.puppet-lint.rc @@ -1,4 +1,2 @@ --relative ---no-parameter_types-check ---no-parameter_documentation-check --no-anchor_resource-check diff --git a/.sync.yml b/.sync.yml index afd2b90909..0ec6e5c8dd 100644 --- a/.sync.yml +++ b/.sync.yml @@ -37,6 +37,4 @@ Rakefile: changelog_since_tag: "3.2.0" Rakefile: extra_disabled_lint_checks: - - parameter_types - - parameter_documentation - anchor_resource diff --git a/Rakefile b/Rakefile index ff4f906f72..a959c34a12 100644 --- a/Rakefile +++ b/Rakefile @@ -42,8 +42,6 @@ def changelog_future_release end PuppetLint.configuration.send('disable_relative') -PuppetLint.configuration.send('disable_parameter_types') -PuppetLint.configuration.send('disable_parameter_documentation') PuppetLint.configuration.send('disable_anchor_resource') diff --git a/manifests/balancer.pp b/manifests/balancer.pp index 6740a73c27..b67e10b0d7 100644 --- a/manifests/balancer.pp +++ b/manifests/balancer.pp @@ -43,10 +43,10 @@ # apache::balancer { 'puppet00': } # define apache::balancer ( - $proxy_set = {}, - $collect_exported = true, - $target = undef, - $options = [], + Hash $proxy_set = {}, + Boolean $collect_exported = true, + Optional[String] $target = undef, + Array $options = [], ) { include apache::mod::proxy_balancer diff --git a/manifests/balancermember.pp b/manifests/balancermember.pp index 8a1af44302..29126ee043 100644 --- a/manifests/balancermember.pp +++ b/manifests/balancermember.pp @@ -27,7 +27,7 @@ # @param url # The url used to contact the balancer member server. # -# @param options +# @param options # Specifies an array of [options](https://httpd.apache.org/docs/current/mod/mod_proxy.html#balancermember) # after the URL, and accepts any key-value pairs available to `ProxyPass`. # @@ -39,9 +39,9 @@ # } # define apache::balancermember ( - $balancer_cluster, - $url = "http://${$facts['networking']['fqdn']}/", - $options = [], + String $balancer_cluster, + String $url = "http://${$facts['networking']['fqdn']}/", + Array $options = [], ) { concat::fragment { "BalancerMember ${name}": target => "apache_balancer_${balancer_cluster}", diff --git a/manifests/custom_config.pp b/manifests/custom_config.pp index 52b94b4891..6a348b128a 100644 --- a/manifests/custom_config.pp +++ b/manifests/custom_config.pp @@ -50,16 +50,16 @@ # define apache::custom_config ( Enum['absent', 'present'] $ensure = 'present', - $confdir = $apache::confd_dir, - $content = undef, - $priority = '25', - $source = undef, - $verify_command = $apache::params::verify_command, + String $confdir = $apache::confd_dir, + Optional[String] $content = undef, + Variant[String,Boolean] $priority = '25', + Optional[String] $source = undef, + String $verify_command = $apache::params::verify_command, Boolean $verify_config = true, - $filename = undef, - $owner = undef, - $group = undef, - $file_mode = undef, + Optional[String] $filename = undef, + Optional[String] $owner = undef, + Optional[String] $group = undef, + Optional[String] $file_mode = undef, Boolean $show_diff = true, ) { if $content and $source { diff --git a/manifests/default_confd_files.pp b/manifests/default_confd_files.pp index 5a7c7f786f..a92c53a26e 100644 --- a/manifests/default_confd_files.pp +++ b/manifests/default_confd_files.pp @@ -3,7 +3,7 @@ # # @api private class apache::default_confd_files ( - $all = true, + Boolean $all = true, ) { # The rest of the conf.d/* files only get loaded if we want them if $all { diff --git a/manifests/default_mods.pp b/manifests/default_mods.pp index 55eed95750..083f1bccd3 100644 --- a/manifests/default_mods.pp +++ b/manifests/default_mods.pp @@ -3,10 +3,10 @@ # # @api private class apache::default_mods ( - $all = true, - $mods = undef, - $apache_version = $apache::apache_version, - $use_systemd = $apache::use_systemd, + Boolean $all = true, + Optional[Variant[Array[String],String]] $mods = undef, + String $apache_version = $apache::apache_version, + Boolean $use_systemd = $apache::use_systemd, ) { # These are modules required to run the default configuration. # They are not configurable at this time, so we just include diff --git a/manifests/default_mods/load.pp b/manifests/default_mods/load.pp index fc44ebcb31..2203f8279f 100644 --- a/manifests/default_mods/load.pp +++ b/manifests/default_mods/load.pp @@ -2,7 +2,7 @@ # Helper used by `apache::default_mods` # # @api private -define apache::default_mods::load ($module = $title) { +define apache::default_mods::load (String $module = $title) { if defined("apache::mod::${module}") { include "::apache::mod::${module}" } else { diff --git a/manifests/fastcgi/server.pp b/manifests/fastcgi/server.pp index 2e372b1a14..3e6af87af2 100644 --- a/manifests/fastcgi/server.pp +++ b/manifests/fastcgi/server.pp @@ -28,14 +28,17 @@ # @param file_type # Sets the MIME `content-type` of the file to be processed by the FastCGI server. # +# @param pass_header +# Sets a header for the server +# define apache::fastcgi::server ( - $host = '127.0.0.1:9000', - $timeout = 15, - $flush = false, - $faux_path = "/var/www/${name}.fcgi", - $fcgi_alias = "/${name}.fcgi", - $file_type = 'application/x-httpd-php', - $pass_header = undef, + String $host = '127.0.0.1:9000', + Integer $timeout = 15, + Boolean $flush = false, + String $faux_path = "/var/www/${name}.fcgi", + String $fcgi_alias = "/${name}.fcgi", + String $file_type = 'application/x-httpd-php', + Optional[String] $pass_header = undef, ) { include apache::mod::fastcgi diff --git a/manifests/init.pp b/manifests/init.pp index 1043129eb5..1d9af55a8f 100755 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -461,92 +461,92 @@ # Specifies any idditional Internet media (mime) types that you wish to be configured. # class apache ( - $apache_name = $apache::params::apache_name, - $service_name = $apache::params::service_name, - $default_mods = true, + String $apache_name = $apache::params::apache_name, + String $service_name = $apache::params::service_name, + Variant[Array,Boolean] $default_mods = true, Boolean $default_vhost = true, - $default_charset = undef, + Optional[String] $default_charset = undef, Boolean $default_confd_files = true, Boolean $default_ssl_vhost = false, - $default_ssl_cert = $apache::params::default_ssl_cert, - $default_ssl_key = $apache::params::default_ssl_key, - $default_ssl_chain = undef, - $default_ssl_ca = undef, - $default_ssl_crl_path = undef, - $default_ssl_crl = undef, - $default_ssl_crl_check = undef, + String $default_ssl_cert = $apache::params::default_ssl_cert, + String $default_ssl_key = $apache::params::default_ssl_key, + Optional[String] $default_ssl_chain = undef, + Optional[String] $default_ssl_ca = undef, + Optional[String] $default_ssl_crl_path = undef, + Optional[String] $default_ssl_crl = undef, + Optional[String] $default_ssl_crl_check = undef, Boolean $default_ssl_reload_on_change = false, - $default_type = 'none', - $dev_packages = $apache::params::dev_packages, - $ip = undef, + String $default_type = 'none', + Optional[Variant[Array,String]] $dev_packages = $apache::params::dev_packages, + Optional[String] $ip = undef, Boolean $service_enable = true, Boolean $service_manage = true, - $service_ensure = 'running', - $service_restart = undef, - $purge_configs = true, - $purge_vhost_dir = undef, - $purge_vdir = false, - $serveradmin = 'root@localhost', + Variant[Boolean,String] $service_ensure = 'running', + Optional[String] $service_restart = undef, + Boolean $purge_configs = true, + Optional[Boolean] $purge_vhost_dir = undef, + Boolean $purge_vdir = false, + String $serveradmin = 'root@localhost', Enum['On', 'Off', 'on', 'off'] $sendfile = 'On', - $ldap_verify_server_cert = undef, - $ldap_trusted_mode = undef, - $error_documents = false, - $timeout = '60', - $httpd_dir = $apache::params::httpd_dir, - $server_root = $apache::params::server_root, - $conf_dir = $apache::params::conf_dir, - $confd_dir = $apache::params::confd_dir, + Optional[Enum['On', 'Off', 'on', 'off']] $ldap_verify_server_cert = undef, + Optional[String] $ldap_trusted_mode = undef, + Boolean $error_documents = false, + String $timeout = '60', + String $httpd_dir = $apache::params::httpd_dir, + String $server_root = $apache::params::server_root, + String $conf_dir = $apache::params::conf_dir, + String $confd_dir = $apache::params::confd_dir, Enum['Off', 'On', 'Double', 'off', 'on', 'double'] $hostname_lookups = $apache::params::hostname_lookups, - $conf_enabled = $apache::params::conf_enabled, - $vhost_dir = $apache::params::vhost_dir, - $vhost_enable_dir = $apache::params::vhost_enable_dir, - $mod_libs = $apache::params::mod_libs, - $mod_packages = $apache::params::mod_packages, - $vhost_include_pattern = $apache::params::vhost_include_pattern, - $mod_dir = $apache::params::mod_dir, - $mod_enable_dir = $apache::params::mod_enable_dir, - $mpm_module = $apache::params::mpm_module, - $lib_path = $apache::params::lib_path, - $conf_template = $apache::params::conf_template, - $servername = $apache::params::servername, - $pidfile = $apache::params::pidfile, + Optional[String] $conf_enabled = $apache::params::conf_enabled, + String $vhost_dir = $apache::params::vhost_dir, + Optional[String] $vhost_enable_dir = $apache::params::vhost_enable_dir, + Hash $mod_libs = $apache::params::mod_libs, + Hash $mod_packages = $apache::params::mod_packages, + String $vhost_include_pattern = $apache::params::vhost_include_pattern, + String $mod_dir = $apache::params::mod_dir, + Optional[String] $mod_enable_dir = $apache::params::mod_enable_dir, + Variant[Boolean,String] $mpm_module = $apache::params::mpm_module, + String $lib_path = $apache::params::lib_path, + String $conf_template = $apache::params::conf_template, + Optional[String] $servername = $apache::params::servername, + String $pidfile = $apache::params::pidfile, Optional[Stdlib::Absolutepath] $rewrite_lock = undef, Boolean $manage_user = true, Boolean $manage_group = true, - $user = $apache::params::user, - $group = $apache::params::group, - $http_protocol_options = $apache::params::http_protocol_options, - $supplementary_groups = [], - $keepalive = $apache::params::keepalive, - $keepalive_timeout = $apache::params::keepalive_timeout, - $max_keepalive_requests = $apache::params::max_keepalive_requests, - $limitreqfieldsize = '8190', - $limitreqfields = '100', - $logroot = $apache::params::logroot, - $logroot_mode = $apache::params::logroot_mode, + String $user = $apache::params::user, + String $group = $apache::params::group, + Optional[String] $http_protocol_options = $apache::params::http_protocol_options, + Array $supplementary_groups = [], + String $keepalive = $apache::params::keepalive, + Variant[Integer,String] $keepalive_timeout = $apache::params::keepalive_timeout, + Variant[Integer,String] $max_keepalive_requests = $apache::params::max_keepalive_requests, + String $limitreqfieldsize = '8190', + String $limitreqfields = '100', + String $logroot = $apache::params::logroot, + Optional[String] $logroot_mode = $apache::params::logroot_mode, Apache::LogLevel $log_level = $apache::params::log_level, - $log_formats = {}, - $ssl_file = undef, - $ports_file = $apache::params::ports_file, - $docroot = $apache::params::docroot, - $apache_version = $apache::version::default, - $server_tokens = 'Prod', - $server_signature = 'On', - $trace_enable = 'On', + Hash $log_formats = {}, + Optional[String] $ssl_file = undef, + String $ports_file = $apache::params::ports_file, + String $docroot = $apache::params::docroot, + String $apache_version = $apache::version::default, + String $server_tokens = 'Prod', + String $server_signature = 'On', + String $trace_enable = 'On', Optional[Enum['on', 'off', 'nodecode']] $allow_encoded_slashes = undef, - $file_e_tag = undef, + Optional[String] $file_e_tag = undef, Optional[Enum['On', 'on', 'Off', 'off', 'DNS', 'dns']] - $use_canonical_name = undef, - $package_ensure = 'installed', - Boolean $use_optional_includes = $apache::params::use_optional_includes, - $use_systemd = $apache::params::use_systemd, - $mime_types_additional = $apache::params::mime_types_additional, - $file_mode = $apache::params::file_mode, - $root_directory_options = $apache::params::root_directory_options, - Boolean $root_directory_secured = false, - $error_log = $apache::params::error_log, - $scriptalias = $apache::params::scriptalias, - $access_log_file = $apache::params::access_log_file, + $use_canonical_name = undef, + String $package_ensure = 'installed', + Boolean $use_optional_includes = $apache::params::use_optional_includes, + Boolean $use_systemd = $apache::params::use_systemd, + Hash $mime_types_additional = $apache::params::mime_types_additional, + String $file_mode = $apache::params::file_mode, + Array $root_directory_options = $apache::params::root_directory_options, + Boolean $root_directory_secured = false, + String $error_log = $apache::params::error_log, + String $scriptalias = $apache::params::scriptalias, + String $access_log_file = $apache::params::access_log_file, Array[Enum['h2', 'h2c', 'http/1.1']] $protocols = [], Optional[Boolean] $protocols_honor_order = undef, ) inherits apache::params { diff --git a/manifests/mod.pp b/manifests/mod.pp index c748d2f819..8118a55d54 100644 --- a/manifests/mod.pp +++ b/manifests/mod.pp @@ -33,14 +33,14 @@ # Specifies a path to the module. Do not manually set this parameter without a special reason. # define apache::mod ( - $package = undef, - $package_ensure = 'present', - $lib = undef, - $lib_path = $apache::lib_path, - $id = undef, - $path = undef, - $loadfile_name = undef, - $loadfiles = undef, + Optional[String] $package = undef, + String $package_ensure = 'present', + Optional[String] $lib = undef, + String $lib_path = $apache::lib_path, + Optional[String] $id = undef, + Optional[String] $path = undef, + Optional[String] $loadfile_name = undef, + Optional[Array] $loadfiles = undef, ) { if ! defined(Class['apache']) { fail('You must include the apache base class before using any apache defined resources') diff --git a/manifests/mod/alias.pp b/manifests/mod/alias.pp index c187e7661c..5271e8f2f8 100644 --- a/manifests/mod/alias.pp +++ b/manifests/mod/alias.pp @@ -14,18 +14,19 @@ # - FreeBSD: /usr/local/www/apache24/icons # - Gentoo: /var/www/icons # - Red Hat: /var/www/icons, except on Apache 2.4, where it's /usr/share/httpd/icons +# Set to 'false' to disable the alias # -# @param icons_path +# @param icons_prefix # Change the alias for /icons/. # # @see https://httpd.apache.org/docs/current/mod/mod_alias.html for additional documentation. # class apache::mod::alias ( - $apache_version = undef, - $icons_options = 'Indexes MultiViews', + Optional[String] $apache_version = undef, + String $icons_options = 'Indexes MultiViews', # set icons_path to false to disable the alias - $icons_path = $apache::params::alias_icons_path, - $icons_prefix = $apache::params::icons_prefix + String $icons_path = $apache::params::alias_icons_path, + String $icons_prefix = $apache::params::icons_prefix ) inherits apache::params { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/auth_cas.pp b/manifests/mod/auth_cas.pp index 5d130662ed..a85b9d3763 100644 --- a/manifests/mod/auth_cas.pp +++ b/manifests/mod/auth_cas.pp @@ -25,8 +25,11 @@ # Whether to validate the presented certificate. This has been deprecated and # removed from Version 1.1-RC1 onward. # -# @param cas_validatedepth +# @param cas_validate_depth # The maximum depth for chained certificate validation. +# +# @param cas_certificate_path +# The path leading to the certificate # # @param cas_proxy_validate_url # The URL to use when performing a proxy validation. @@ -84,28 +87,28 @@ class apache::mod::auth_cas ( String $cas_login_url, String $cas_validate_url, - String $cas_cookie_path = $apache::params::cas_cookie_path, - $cas_cookie_path_mode = '0750', - $cas_version = 2, - $cas_debug = 'Off', - $cas_validate_server = undef, - $cas_validate_depth = undef, - $cas_certificate_path = undef, - $cas_proxy_validate_url = undef, - $cas_root_proxied_as = undef, - $cas_cookie_entropy = undef, - $cas_timeout = undef, - $cas_idle_timeout = undef, - $cas_cache_clean_interval = undef, - $cas_cookie_domain = undef, - $cas_cookie_http_only = undef, - $cas_authoritative = undef, - $cas_validate_saml = undef, - $cas_sso_enabled = undef, - $cas_attribute_prefix = undef, - $cas_attribute_delimiter = undef, - $cas_scrub_request_headers = undef, - $suppress_warning = false, + String $cas_cookie_path = $apache::params::cas_cookie_path, + String $cas_cookie_path_mode = '0750', + Integer $cas_version = 2, + String $cas_debug = 'Off', + Optional[String] $cas_validate_server = undef, + Optional[String] $cas_validate_depth = undef, + Optional[String] $cas_certificate_path = undef, + Optional[String] $cas_proxy_validate_url = undef, + Optional[String] $cas_root_proxied_as = undef, + Optional[String] $cas_cookie_entropy = undef, + Optional[String] $cas_timeout = undef, + Optional[String] $cas_idle_timeout = undef, + Optional[String] $cas_cache_clean_interval = undef, + Optional[String] $cas_cookie_domain = undef, + Optional[String] $cas_cookie_http_only = undef, + Optional[String] $cas_authoritative = undef, + Optional[String] $cas_validate_saml = undef, + Optional[String] $cas_sso_enabled = undef, + Optional[String] $cas_attribute_prefix = undef, + Optional[String] $cas_attribute_delimiter = undef, + Optional[String] $cas_scrub_request_headers = undef, + Boolean $suppress_warning = false, ) inherits apache::params { if $facts['os']['family'] == 'RedHat' and ! $suppress_warning { warning('RedHat distributions do not have Apache mod_auth_cas in their default package repositories.') diff --git a/manifests/mod/auth_mellon.pp b/manifests/mod/auth_mellon.pp index 43a5614306..d98a4ea3eb 100644 --- a/manifests/mod/auth_mellon.pp +++ b/manifests/mod/auth_mellon.pp @@ -25,13 +25,13 @@ # @see https://github.com/Uninett/mod_auth_mellon for additional documentation. # class apache::mod::auth_mellon ( - $mellon_cache_size = $apache::params::mellon_cache_size, - $mellon_lock_file = $apache::params::mellon_lock_file, - $mellon_post_directory = $apache::params::mellon_post_directory, - $mellon_cache_entry_size = undef, - $mellon_post_ttl = undef, - $mellon_post_size = undef, - $mellon_post_count = undef + Optional[Variant[String,Integer]] $mellon_cache_size = $apache::params::mellon_cache_size, + Optional[String] $mellon_lock_file = $apache::params::mellon_lock_file, + Optional[String] $mellon_post_directory = $apache::params::mellon_post_directory, + Optional[String] $mellon_cache_entry_size = undef, + Optional[String] $mellon_post_ttl = undef, + Optional[String] $mellon_post_size = undef, + Optional[String] $mellon_post_count = undef ) inherits apache::params { include apache ::apache::mod { 'auth_mellon': } diff --git a/manifests/mod/authn_core.pp b/manifests/mod/authn_core.pp index f145982e2d..6bbfc4aea1 100644 --- a/manifests/mod/authn_core.pp +++ b/manifests/mod/authn_core.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_authn_core.html for additional documentation. # class apache::mod::authn_core ( - $apache_version = $apache::apache_version + Optional[String] $apache_version = $apache::apache_version ) { if versioncmp($apache_version, '2.4') >= 0 { ::apache::mod { 'authn_core': } diff --git a/manifests/mod/authn_dbd.pp b/manifests/mod/authn_dbd.pp index e1f78960e7..77c091fe73 100644 --- a/manifests/mod/authn_dbd.pp +++ b/manifests/mod/authn_dbd.pp @@ -28,14 +28,14 @@ # @see https://httpd.apache.org/docs/current/mod/mod_authn_dbd.html for additional documentation. # class apache::mod::authn_dbd ( - $authn_dbd_params, - $authn_dbd_dbdriver = 'mysql', - $authn_dbd_query = undef, - $authn_dbd_min = '4', - $authn_dbd_max = '20', - $authn_dbd_keep = '8', - $authn_dbd_exptime = '300', - $authn_dbd_alias = undef, + Optional[String] $authn_dbd_params, + String $authn_dbd_dbdriver = 'mysql', + Optional[String] $authn_dbd_query = undef, + String $authn_dbd_min = '4', + String $authn_dbd_max = '20', + String $authn_dbd_keep = '8', + String $authn_dbd_exptime = '300', + Optional[String] $authn_dbd_alias = undef, ) inherits apache::params { include apache include apache::mod::dbd diff --git a/manifests/mod/authnz_ldap.pp b/manifests/mod/authnz_ldap.pp index 3f194d7363..4c00ceb917 100644 --- a/manifests/mod/authnz_ldap.pp +++ b/manifests/mod/authnz_ldap.pp @@ -10,8 +10,8 @@ # @see https://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html for additional documentation. # @note Unsupported platforms: RedHat: 6, 8; CentOS: 6, 8; OracleLinux: 6, 8; Ubuntu: all; Debian: all; SLES: all class apache::mod::authnz_ldap ( - Boolean $verify_server_cert = true, - $package_name = undef, + Boolean $verify_server_cert = true, + Optional[String] $package_name = undef, ) { include apache include 'apache::mod::ldap' diff --git a/manifests/mod/authz_default.pp b/manifests/mod/authz_default.pp index 540d086ab0..ba886c2587 100644 --- a/manifests/mod/authz_default.pp +++ b/manifests/mod/authz_default.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_authz_default.html for additional documentation. # class apache::mod::authz_default ( - $apache_version = $apache::apache_version + Optional[String] $apache_version = $apache::apache_version ) { if versioncmp($apache_version, '2.4') >= 0 { warning('apache::mod::authz_default has been removed in Apache 2.4') diff --git a/manifests/mod/autoindex.pp b/manifests/mod/autoindex.pp index aa05bd2703..8bc521e22b 100644 --- a/manifests/mod/autoindex.pp +++ b/manifests/mod/autoindex.pp @@ -1,10 +1,13 @@ # @summary # Installs `mod_autoindex` # +# @param icons_prefix +# Change the alias for /icons/. +# # @see https://httpd.apache.org/docs/current/mod/mod_autoindex.html for additional documentation. # class apache::mod::autoindex ( - $icons_prefix = $apache::params::icons_prefix + String $icons_prefix = $apache::params::icons_prefix ) inherits apache::params { include apache ::apache::mod { 'autoindex': } diff --git a/manifests/mod/cluster.pp b/manifests/mod/cluster.pp index 9b827f7630..2cc920b9a1 100644 --- a/manifests/mod/cluster.pp +++ b/manifests/mod/cluster.pp @@ -49,17 +49,17 @@ # @see https://modcluster.io/ for additional documentation. # class apache::mod::cluster ( - $allowed_network, - $balancer_name, - $ip, - $version, - $enable_mcpm_receive = true, - $port = '6666', - $keep_alive_timeout = 60, - $manager_allowed_network = '127.0.0.1', - $max_keep_alive_requests = 0, - $server_advertise = true, - $advertise_frequency = undef, + String $allowed_network, + String $balancer_name, + String $ip, + String $version, + Boolean $enable_mcpm_receive = true, + String $port = '6666', + Integer $keep_alive_timeout = 60, + String $manager_allowed_network = '127.0.0.1', + Integer $max_keep_alive_requests = 0, + Boolean $server_advertise = true, + Optional[String] $advertise_frequency = undef, ) { include apache diff --git a/manifests/mod/data.pp b/manifests/mod/data.pp index 43bc2d0c90..3dd63ea9fd 100644 --- a/manifests/mod/data.pp +++ b/manifests/mod/data.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_data.html for additional documentation. # class apache::mod::data ( - $apache_version = undef, + Optional[String] $apache_version = undef, ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/dav_svn.pp b/manifests/mod/dav_svn.pp index 539e7b4ecb..ae9d4b0a54 100644 --- a/manifests/mod/dav_svn.pp +++ b/manifests/mod/dav_svn.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_dav_svn.html for additional documentation. # class apache::mod::dav_svn ( - $authz_svn_enabled = false, + Boolean $authz_svn_enabled = false, ) { Class['apache::mod::dav'] -> Class['apache::mod::dav_svn'] include apache diff --git a/manifests/mod/dbd.pp b/manifests/mod/dbd.pp index cdc9cdf6f4..5e9492f35b 100644 --- a/manifests/mod/dbd.pp +++ b/manifests/mod/dbd.pp @@ -1,9 +1,6 @@ # @summary # Installs `mod_dbd`. # -# @param apache_version -# Used to verify that the Apache version you have requested is compatible with the module. -# # @see https://httpd.apache.org/docs/current/mod/mod_dbd.html for additional documentation. # class apache::mod::dbd { diff --git a/manifests/mod/deflate.pp b/manifests/mod/deflate.pp index 777c2f8886..0d0180050c 100644 --- a/manifests/mod/deflate.pp +++ b/manifests/mod/deflate.pp @@ -10,14 +10,14 @@ # @see https://httpd.apache.org/docs/current/mod/mod_deflate.html for additional documentation. # class apache::mod::deflate ( - $types = [ + Array[String] $types = [ 'text/html text/plain text/xml', 'text/css', 'application/x-javascript application/javascript application/ecmascript', 'application/rss+xml', 'application/json', ], - $notes = { + Hash $notes = { 'Input' => 'instream', 'Output' => 'outstream', 'Ratio' => 'ratio', diff --git a/manifests/mod/dir.pp b/manifests/mod/dir.pp index 86f97a0706..23d97c1b39 100644 --- a/manifests/mod/dir.pp +++ b/manifests/mod/dir.pp @@ -1,8 +1,7 @@ # @summary # Installs and configures `mod_dir`. # -# @param types -# Specifies the text-based content types to compress. +# @param dir # # @param indexes # Provides a string for the DirectoryIndex directive @@ -14,8 +13,15 @@ # @see https://httpd.apache.org/docs/current/mod/mod_dir.html for additional documentation. # class apache::mod::dir ( - $dir = 'public_html', - Array[String] $indexes = ['index.html','index.html.var','index.cgi','index.pl','index.php','index.xhtml'], + String $dir = 'public_html', + Array[String] $indexes = [ + 'index.html', + 'index.html.var', + 'index.cgi', + 'index.pl', + 'index.php', + 'index.xhtml', + ], ) { include apache ::apache::mod { 'dir': } diff --git a/manifests/mod/disk_cache.pp b/manifests/mod/disk_cache.pp index 7851825bbc..044de457d1 100644 --- a/manifests/mod/disk_cache.pp +++ b/manifests/mod/disk_cache.pp @@ -23,9 +23,9 @@ # @see https://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html for additional documentation. # class apache::mod::disk_cache ( - $cache_root = undef, - $cache_ignore_headers = undef, - Boolean $default_cache_enable = true, + Optional[String] $cache_root = undef, + Optional[String] $cache_ignore_headers = undef, + Boolean $default_cache_enable = true, ) { include apache if $cache_root { diff --git a/manifests/mod/event.pp b/manifests/mod/event.pp index 4d48914486..fc624b5f10 100644 --- a/manifests/mod/event.pp +++ b/manifests/mod/event.pp @@ -47,18 +47,18 @@ # @see https://httpd.apache.org/docs/current/mod/event.html for additional documentation. # @note Unsupported platforms: SLES: all class apache::mod::event ( - $startservers = '2', - $maxclients = '150', - $maxrequestworkers = undef, - $minsparethreads = '25', - $maxsparethreads = '75', - $threadsperchild = '25', - $maxrequestsperchild = '0', - $maxconnectionsperchild = undef, - $serverlimit = '25', - $apache_version = undef, - $threadlimit = '64', - $listenbacklog = '511', + Variant[String,Boolean] $startservers = '2', + Variant[String,Boolean] $maxclients = '150', + Optional[Variant[String,Boolean]] $maxrequestworkers = undef, + Variant[String,Boolean] $minsparethreads = '25', + Variant[String,Boolean] $maxsparethreads = '75', + Variant[String,Boolean] $threadsperchild = '25', + Variant[String,Boolean] $maxrequestsperchild = '0', + Optional[Variant[String,Boolean]] $maxconnectionsperchild = undef, + Variant[String,Boolean] $serverlimit = '25', + Optional[String] $apache_version = undef, + Variant[String,Boolean] $threadlimit = '64', + Variant[String,Boolean] $listenbacklog = '511', ) { include apache diff --git a/manifests/mod/expires.pp b/manifests/mod/expires.pp index 7a5bfddea2..33bd11053f 100644 --- a/manifests/mod/expires.pp +++ b/manifests/mod/expires.pp @@ -15,9 +15,9 @@ # @see https://httpd.apache.org/docs/current/mod/mod_expires.html for additional documentation. # class apache::mod::expires ( - $expires_active = true, - $expires_default = undef, - $expires_by_type = undef, + Boolean $expires_active = true, + Optional[String] $expires_default = undef, + Optional[Array[Hash]] $expires_by_type = undef, ) { include apache ::apache::mod { 'expires': } diff --git a/manifests/mod/fcgid.pp b/manifests/mod/fcgid.pp index 3cfd051eba..ffec705a41 100644 --- a/manifests/mod/fcgid.pp +++ b/manifests/mod/fcgid.pp @@ -1,14 +1,14 @@ # @summary # Installs and configures `mod_fcgid`. # -# @param expires_active -# Enables generation of Expires headers. -# -# @param expires_default -# Default algorithm for calculating expiration time. -# -# @param expires_by_type -# Value of the Expires header configured by MIME type. +# @param options +# A hash used to parameterize the availible options: +# expires_active +# Enables generation of Expires headers. +# expires_default +# Default algorithm for calculating expiration time. +# expires_by_type +# Value of the Expires header configured by MIME type. # # @example The class does not individually parameterize all available options. Instead, configure mod_fcgid using the options hash. # class { 'apache::mod::fcgid': @@ -36,7 +36,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_fcgid.html for additional documentation. # class apache::mod::fcgid ( - $options = {}, + Hash $options = {}, ) { include apache if ($facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '7') >= 0) or $facts['os']['family'] == 'FreeBSD' { diff --git a/manifests/mod/geoip.pp b/manifests/mod/geoip.pp index b77ea05c6c..cacf29af23 100644 --- a/manifests/mod/geoip.pp +++ b/manifests/mod/geoip.pp @@ -19,7 +19,7 @@ # @param scan_proxy_headers # Enables the GeoIPScanProxyHeaders option. # -# @param scan_proxy_headers_field +# @param scan_proxy_header_field # Specifies the header mod_geoip uses to determine the client's IP address. # # @param use_last_xforwarededfor_ip @@ -28,14 +28,14 @@ # @see https://dev.maxmind.com/geoip/legacy/mod_geoip2 for additional documentation. # class apache::mod::geoip ( - $enable = false, - $db_file = '/usr/share/GeoIP/GeoIP.dat', - $flag = 'Standard', - $output = 'All', - $enable_utf8 = undef, - $scan_proxy_headers = undef, - $scan_proxy_header_field = undef, - $use_last_xforwarededfor_ip = undef, + Boolean $enable = false, + String $db_file = '/usr/share/GeoIP/GeoIP.dat', + String $flag = 'Standard', + String $output = 'All', + Optional[String] $enable_utf8 = undef, + Optional[String] $scan_proxy_headers = undef, + Optional[String] $scan_proxy_header_field = undef, + Optional[String] $use_last_xforwarededfor_ip = undef, ) { include apache ::apache::mod { 'geoip': } diff --git a/manifests/mod/headers.pp b/manifests/mod/headers.pp index a86dbf76a5..8f7b466915 100644 --- a/manifests/mod/headers.pp +++ b/manifests/mod/headers.pp @@ -1,9 +1,6 @@ # @summary # Installs and configures `mod_headers`. # -# @param apache_version -# Version of Apache to install module on. -# # @see https://httpd.apache.org/docs/current/mod/mod_headers.html for additional documentation. # class apache::mod::headers { diff --git a/manifests/mod/http2.pp b/manifests/mod/http2.pp index 0637aee4dd..c5d6549419 100644 --- a/manifests/mod/http2.pp +++ b/manifests/mod/http2.pp @@ -31,7 +31,7 @@ # @param h2_push_diary_size # Sets maximum number of HTTP/2 server pushes that are remembered per HTTP/2 connection. # -# @param h2_priority +# @param h2_push_priority # Require HTTP/2 connections to be "modern TLS" only # # @param h2_push_resource diff --git a/manifests/mod/info.pp b/manifests/mod/info.pp index 68afb56e23..487f764276 100644 --- a/manifests/mod/info.pp +++ b/manifests/mod/info.pp @@ -17,10 +17,10 @@ # @see https://httpd.apache.org/docs/current/mod/mod_info.html for additional documentation. # class apache::mod::info ( - $allow_from = ['127.0.0.1','::1'], - $apache_version = undef, - $restrict_access = true, - $info_path = '/server-info', + Array[String] $allow_from = ['127.0.0.1','::1'], + Optional[String] $apache_version = undef, + Boolean $restrict_access = true, + String $info_path = '/server-info', ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/itk.pp b/manifests/mod/itk.pp index 3250270cba..16dbdce51f 100644 --- a/manifests/mod/itk.pp +++ b/manifests/mod/itk.pp @@ -30,14 +30,14 @@ # @see http://mpm-itk.sesse.net for additional documentation. # @note Unsupported platforms: CentOS: 8; RedHat: 8; SLES: all class apache::mod::itk ( - $startservers = '8', - $minspareservers = '5', - $maxspareservers = '20', - $serverlimit = '256', - $maxclients = '256', - $maxrequestsperchild = '4000', - $enablecapabilities = undef, - $apache_version = undef, + String $startservers = '8', + String $minspareservers = '5', + String $maxspareservers = '20', + String $serverlimit = '256', + String $maxclients = '256', + String $maxrequestsperchild = '4000', + Optional[Variant[Boolean,String]] $enablecapabilities = undef, + Optional[String] $apache_version = undef, ) { include apache diff --git a/manifests/mod/jk.pp b/manifests/mod/jk.pp index e26f6c70dc..8f9a596dc1 100644 --- a/manifests/mod/jk.pp +++ b/manifests/mod/jk.pp @@ -128,6 +128,34 @@ # If this directive is set to On in some virtual server, the session IDs ;jsessionid=... will be removed for URLs which are not # forwarded but instead are handled by the local server. # +# @param location_list +# Global locations for mod_jk are defined in array location_list. +# Each array item is a hash with quoted* property name as key and value as value itself. +# You can define a comment in a special 'comment' key +# +# Example: +# +# # Configures jkstatus +# JkMount status +# Order deny,allow +# Deny from all +# Allow from 127.0.0.1 +# +# +# Is defined as: +# location_list = [ +# { +# 'Location' => '/jkstatus/', +# 'Comment' => 'Configures jkstatus', +# 'JkMount' => 'status', +# 'Order' => 'deny,allow', +# 'Deny from' => 'all', +# 'Allow from' => '127.0.0.1', +# }, +# ] +# * Keys must be quoted to allow arbitrary case and/or multi-word keys +# (BTW, note the case of 'Location' and 'Comment' keys) +# # @param workers_file_content # Each directive has the format worker..=. This maps as a hash of hashes, where the outer hash specifies # workers, and each inner hash specifies each worker properties and values. Plus, there are two global directives, 'worker.list' and @@ -243,56 +271,56 @@ # class apache::mod::jk ( # Binding to mod_jk - Optional[String] $ip = undef, - Integer $port = 80, - Boolean $add_listen = true, + Optional[String] $ip = undef, + Integer $port = 80, + Boolean $add_listen = true, # Conf file content - $workers_file = undef, - $worker_property = {}, - $logroot = undef, - $shm_file = 'jk-runtime-status', - $shm_size = undef, - $mount_file = undef, - $mount_file_reload = undef, - $mount = {}, - $un_mount = {}, - $auto_alias = undef, - $mount_copy = undef, - $worker_indicator = undef, - $watchdog_interval = undef, - $log_file = 'mod_jk.log', - $log_level = undef, - $log_stamp_format = undef, - $request_log_format = undef, - $extract_ssl = undef, - $https_indicator = undef, - $sslprotocol_indicator = undef, - $certs_indicator = undef, - $cipher_indicator = undef, - $certchain_prefix = undef, - $session_indicator = undef, - $keysize_indicator = undef, - $local_name_indicator = undef, - $ignore_cl_indicator = undef, - $local_addr_indicator = undef, - $local_port_indicator = undef, - $remote_host_indicator = undef, - $remote_addr_indicator = undef, - $remote_port_indicator = undef, - $remote_user_indicator = undef, - $auth_type_indicator = undef, - $options = [], - $env_var = {}, - $strip_session = undef, + Optional[String] $workers_file = undef, + Hash $worker_property = {}, + Optional[String] $logroot = undef, + String $shm_file = 'jk-runtime-status', + Optional[String] $shm_size = undef, + Optional[String] $mount_file = undef, + Optional[String] $mount_file_reload = undef, + Hash $mount = {}, + Hash $un_mount = {}, + Optional[String] $auto_alias = undef, + Optional[String] $mount_copy = undef, + Optional[String] $worker_indicator = undef, + Optional[Integer] $watchdog_interval = undef, + String $log_file = 'mod_jk.log', + Optional[String] $log_level = undef, + Optional[String] $log_stamp_format = undef, + Optional[String] $request_log_format = undef, + Optional[String] $extract_ssl = undef, + Optional[String] $https_indicator = undef, + Optional[String] $sslprotocol_indicator = undef, + Optional[String] $certs_indicator = undef, + Optional[String] $cipher_indicator = undef, + Optional[String] $certchain_prefix = undef, + Optional[String] $session_indicator = undef, + Optional[String] $keysize_indicator = undef, + Optional[String] $local_name_indicator = undef, + Optional[String] $ignore_cl_indicator = undef, + Optional[String] $local_addr_indicator = undef, + Optional[String] $local_port_indicator = undef, + Optional[String] $remote_host_indicator = undef, + Optional[String] $remote_addr_indicator = undef, + Optional[String] $remote_port_indicator = undef, + Optional[String] $remote_user_indicator = undef, + Optional[String] $auth_type_indicator = undef, + Array $options = [], + Hash $env_var = {}, + Optional[String] $strip_session = undef, # Location list # See comments in template mod/jk.conf.erb - $location_list = [], + Array $location_list = [], # Workers file content # See comments in template mod/jk/workers.properties.erb - $workers_file_content = {}, + Hash $workers_file_content = {}, # Mount file content # See comments in template mod/jk/uriworkermap.properties.erb - $mount_file_content = {}, + Hash $mount_file_content = {}, ) { # Provides important variables include apache diff --git a/manifests/mod/ldap.pp b/manifests/mod/ldap.pp index fab41a7d09..9fc2dabac0 100644 --- a/manifests/mod/ldap.pp +++ b/manifests/mod/ldap.pp @@ -49,16 +49,16 @@ # @see https://httpd.apache.org/docs/current/mod/mod_ldap.html for additional documentation. # @note Unsupported platforms: CentOS: 8; RedHat: 8 class apache::mod::ldap ( - $apache_version = undef, - $package_name = undef, - $ldap_trusted_global_cert_file = undef, + Optional[String] $apache_version = undef, + Optional[String] $package_name = undef, + Optional[String] $ldap_trusted_global_cert_file = undef, String $ldap_trusted_global_cert_type = 'CA_BASE64', - $ldap_shared_cache_size = undef, - $ldap_cache_entries = undef, - $ldap_cache_ttl = undef, - $ldap_opcache_entries = undef, - $ldap_opcache_ttl = undef, - $ldap_trusted_mode = undef, + Optional[String] $ldap_shared_cache_size = undef, + Optional[String] $ldap_cache_entries = undef, + Optional[String] $ldap_cache_ttl = undef, + Optional[String] $ldap_opcache_entries = undef, + Optional[String] $ldap_opcache_ttl = undef, + Optional[String] $ldap_trusted_mode = undef, String $ldap_path = '/ldap-status', ) { include apache diff --git a/manifests/mod/mime.pp b/manifests/mod/mime.pp index 58957795a6..f21d295735 100644 --- a/manifests/mod/mime.pp +++ b/manifests/mod/mime.pp @@ -13,9 +13,9 @@ # @see https://httpd.apache.org/docs/current/mod/mod_mime.html for additional documentation. # class apache::mod::mime ( - $mime_support_package = $apache::params::mime_support_package, - $mime_types_config = $apache::params::mime_types_config, - $mime_types_additional = undef, + String $mime_support_package = $apache::params::mime_support_package, + String $mime_types_config = $apache::params::mime_types_config, + Optional[Hash] $mime_types_additional = undef, ) inherits apache::params { include apache $_mime_types_additional = pick($mime_types_additional, $apache::mime_types_additional) diff --git a/manifests/mod/mime_magic.pp b/manifests/mod/mime_magic.pp index 99a1ec4bb1..c8bc4f6abd 100644 --- a/manifests/mod/mime_magic.pp +++ b/manifests/mod/mime_magic.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_mime_magic.html for additional documentation. # class apache::mod::mime_magic ( - $magic_file = undef, + Optional[String] $magic_file = undef, ) { include apache $_magic_file = pick($magic_file, "${apache::conf_dir}/magic") diff --git a/manifests/mod/nss.pp b/manifests/mod/nss.pp index 4c986ff81b..c7660cd262 100644 --- a/manifests/mod/nss.pp +++ b/manifests/mod/nss.pp @@ -4,7 +4,7 @@ # @param transfer_log # Path to `access.log`. # -# @param error_Log +# @param error_log # Path to `error.log` # # @param passwd_file @@ -16,10 +16,10 @@ # @see https://pagure.io/mod_nss for additional documentation. # class apache::mod::nss ( - $transfer_log = "${apache::params::logroot}/access.log", - $error_log = "${apache::params::logroot}/error.log", - $passwd_file = undef, - $port = 8443, + String $transfer_log = "${apache::params::logroot}/access.log", + String $error_log = "${apache::params::logroot}/error.log", + Optional[String] $passwd_file = undef, + Integer $port = 8443, ) { include apache include apache::mod::mime diff --git a/manifests/mod/pagespeed.pp b/manifests/mod/pagespeed.pp index 54181545ae..f0fa0cf3b9 100644 --- a/manifests/mod/pagespeed.pp +++ b/manifests/mod/pagespeed.pp @@ -1,54 +1,197 @@ # @summary -# Installs and configures `mod_pagespeed`. +# Installs and manages mod_pagespeed, which is a Google module that rewrites web pages to reduce latency and bandwidth. +# +# This module does *not* manage the software repositories needed to automatically install the +# mod-pagespeed-stable package. The module does however require that the package be installed, +# or be installable using the system's default package provider. You should ensure that this +# pre-requisite is met or declaring `apache::mod::pagespeed` will cause the puppet run to fail. # -# @todo -# Add docs +# @param inherit_vhost_config +# Whether or not to inherit the vhost config +# +# @param filter_xhtml +# Whether to filter by xhtml +# +# @param cache_path +# Where to cache any files +# +# @param log_dir +# The log directory +# +# @param memcache_servers +# +# @param rewrite_level +# The inbuilt filter level to be used. +# Can be `PassThrough`, `CoreFilters` or `OptimizeForBandwidth`. +# +# @param disable_filters +# An array of filters that you wish to disable +# +# @param enable_filters +# An array of filters that you wish to enable +# +# @param forbid_filters +# An array of filters that you wish to forbid +# +# @param rewrite_deadline_per_flush_ms +# How long to wait after attempting to rewrite an uncache/expired resource. +# +# @param additional_domains +# Any additional domains that PageSpeed should optimize resources from. +# +# @param file_cache_size_kb +# The maximum size of the cache +# +# @param file_cache_clean_interval_ms +# The interval between which the cache is cleaned +# +# @param lru_cache_per_process +# The amount of memory dedcated to each process +# +# @param lru_cache_byte_limit +# How large a cache entry the cache will accept +# +# @param css_flatten_max_bytes +# The maximum size in bytes of the flattened CSS +# +# @param css_inline_max_bytes +# The maximum size in bytes of any image that will be inlined into CSS +# +# @param css_image_inline_max_bytes +# The maximum size in bytes of any image that will be inlined into an HTML file +# +# @param image_inline_max_bytes +# The maximum size in bytes of any inlined CSS file +# +# @param js_inline_max_bytes +# The maximum size in bytes of any inlined JavaScript file +# +# @param css_outline_min_bytes +# The minimum size in bytes for a CSS file to qualify as an outline +# +# @param js_outline_min_bytes +# The minimum size in bytes for a JavaScript file to qualify as an outline +# +# @param inode_limit +# The file cache inode limit +# +# @param image_max_rewrites_at_once +# The maximum number of images to optimize concurrently +# +# @param num_rewrite_threads +# The amount of threads to use for rewrite at one time +# These threads are used for short, latency-sensitive work. +# +# @param num_expensive_rewrite_threads +# The amount of threads to use for rewrite at one time +# These threads are used for full optimization. +# +# @param collect_statistics +# Whether to collect cross-process statistics +# +# @param statistics_logging +# Whether graphs should be drawn from collected statistics +# +# @param allow_view_stats +# What sources should be allowed to view the resultant graph +# +# @param allow_pagespeed_console +# What sources to draw the graphs from +# +# @param allow_pagespeed_message +# +# @param message_buffer_size +# The amount of bytes to allocate as a buffer to hold recent log messages +# +# @param additional_configuration +# Any additional configuration no included as it's own option +# +# @param apache_version +# +# @param package_ensure +# +# @example +# class { 'apache::mod::pagespeed': +# inherit_vhost_config => 'on', +# filter_xhtml => false, +# cache_path => '/var/cache/mod_pagespeed/', +# log_dir => '/var/log/pagespeed', +# memache_servers => [], +# rewrite_level => 'CoreFilters', +# disable_filters => [], +# enable_filters => [], +# forbid_filters => [], +# rewrite_deadline_per_flush_ms => 10, +# additional_domains => undef, +# file_cache_size_kb => 102400, +# file_cache_clean_interval_ms => 3600000, +# lru_cache_per_process => 1024, +# lru_cache_byte_limit => 16384, +# css_flatten_max_bytes => 2048, +# css_inline_max_bytes => 2048, +# css_image_inline_max_bytes => 2048, +# image_inline_max_bytes => 2048, +# js_inline_max_bytes => 2048, +# css_outline_min_bytes => 3000, +# js_outline_min_bytes => 3000, +# inode_limit => 500000, +# image_max_rewrites_at_once => 8, +# num_rewrite_threads => 4, +# num_expensive_rewrite_threads => 4, +# collect_statistics => 'on', +# statistics_logging => 'on', +# allow_view_stats => [], +# allow_pagespeed_console => [], +# allow_pagespeed_message => [], +# message_buffer_size => 100000, +# additional_configuration => { } +# } # # @note # Verify that your system is compatible with the latest Google Pagespeed requirements. # -# Although this apache module requires the mod-pagespeed-stable package, Puppet does not manage the software repositories required to -# automatically install the package. If you declare this class when the package is either not installed or not available to your -# package manager, your Puppet run will fail. +# Although this apache module requires the mod-pagespeed-stable package, Puppet does not manage the software repositories required to +# automatically install the package. If you declare this class when the package is either not installed or not available to your +# package manager, your Puppet run will fail. # # @see https://developers.google.com/speed/pagespeed/module/ for additional documentation. # class apache::mod::pagespeed ( - $inherit_vhost_config = 'on', - $filter_xhtml = false, - $cache_path = '/var/cache/mod_pagespeed/', - $log_dir = '/var/log/pagespeed', - $memcache_servers = [], - $rewrite_level = 'CoreFilters', - $disable_filters = [], - $enable_filters = [], - $forbid_filters = [], - $rewrite_deadline_per_flush_ms = 10, - $additional_domains = undef, - $file_cache_size_kb = 102400, - $file_cache_clean_interval_ms = 3600000, - $lru_cache_per_process = 1024, - $lru_cache_byte_limit = 16384, - $css_flatten_max_bytes = 2048, - $css_inline_max_bytes = 2048, - $css_image_inline_max_bytes = 2048, - $image_inline_max_bytes = 2048, - $js_inline_max_bytes = 2048, - $css_outline_min_bytes = 3000, - $js_outline_min_bytes = 3000, - $inode_limit = 500000, - $image_max_rewrites_at_once = 8, - $num_rewrite_threads = 4, - $num_expensive_rewrite_threads = 4, - $collect_statistics = 'on', - $statistics_logging = 'on', - $allow_view_stats = [], - $allow_pagespeed_console = [], - $allow_pagespeed_message = [], - $message_buffer_size = 100000, - $additional_configuration = {}, - $apache_version = undef, - $package_ensure = undef, + String $inherit_vhost_config = 'on', + Boolean $filter_xhtml = false, + String $cache_path = '/var/cache/mod_pagespeed/', + String $log_dir = '/var/log/pagespeed', + Array $memcache_servers = [], + String $rewrite_level = 'CoreFilters', + Array $disable_filters = [], + Array $enable_filters = [], + Array $forbid_filters = [], + Integer $rewrite_deadline_per_flush_ms = 10, + Optional[String] $additional_domains = undef, + Integer$file_cache_size_kb = 102400, + Integer$file_cache_clean_interval_ms = 3600000, + Integer$lru_cache_per_process = 1024, + Integer$lru_cache_byte_limit = 16384, + Integer$css_flatten_max_bytes = 2048, + Integer$css_inline_max_bytes = 2048, + Integer$css_image_inline_max_bytes = 2048, + Integer$image_inline_max_bytes = 2048, + Integer$js_inline_max_bytes = 2048, + Integer$css_outline_min_bytes = 3000, + Integer$js_outline_min_bytes = 3000, + Integer$inode_limit = 500000, + Integer$image_max_rewrites_at_once = 8, + Integer$num_rewrite_threads = 4, + Integer$num_expensive_rewrite_threads = 4, + String $collect_statistics = 'on', + String $statistics_logging = 'on', + Array $allow_view_stats = [], + Array $allow_pagespeed_console = [], + Array $allow_pagespeed_message = [], + Integer $message_buffer_size = 100000, + Variant[Array,Hash] $additional_configuration = {}, + Optional[String] $apache_version = undef, + Optional[String] $package_ensure = undef, ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/passenger.pp b/manifests/mod/passenger.pp index 8821e3c7d2..9892ac9573 100644 --- a/manifests/mod/passenger.pp +++ b/manifests/mod/passenger.pp @@ -26,6 +26,9 @@ # @param passenger_allow_encoded_slashes # Toggle whether URLs with encoded slashes (%2f) can be used (by default Apache does not support this). # +# @param passenger_anonymous_telemetry_proxy +# Set an intermediate proxy for the Passenger anonymous telemetry reporting. +# # @param passenger_app_env # This option sets, for the current application, the value of the following environment variables: # - RAILS_ENV @@ -80,6 +83,12 @@ # @param passenger_default_user # Allows you to specify the user that applications must run as, if user switching fails or is disabled. # +# @param passenger_disable_anonymous_telemetry +# Whether or not to disable the Passenger anonymous telemetry reporting. +# +# @param passenger_disable_log_prefix +# Whether to stop Passenger from prefixing logs when they are written to a log file. +# # @param passenger_disable_security_update_check # Allows disabling the Passenger security update check, a daily check with https://securitycheck.phusionpassenger.com for important # security updates that might be available. @@ -207,6 +216,9 @@ # @param passenger_socket_backlog # This option can be raised if Apache manages to overflow the backlog queue. # +# @param passenger_spawn_dir +# The directory in which Passenger will record progress during startup +# # @param passenger_spawn_method # Controls whether Passenger spawns applications directly, or using a prefork copy-on-write mechanism. # @@ -225,6 +237,9 @@ # @param passenger_sticky_sessions_cookie_name # Sets the name of the sticky sessions cookie. # +# @param passenger_sticky_sessions_cookie_attributes +# Sets the attributes of the sticky sessions cookie. +# # @param passenger_thread_count # Specifies the number of threads that Passenger should spawn per Ruby application process. # @@ -307,101 +322,101 @@ # @see https://www.phusionpassenger.com/docs/references/config_reference/apache/ for additional documentation. # class apache::mod::passenger ( - $manage_repo = true, - $mod_id = undef, - $mod_lib = undef, - $mod_lib_path = undef, - $mod_package = undef, - $mod_package_ensure = undef, - $mod_path = undef, - $passenger_allow_encoded_slashes = undef, + Boolean $manage_repo = true, + Optional[String] $mod_id = undef, + Optional[String] $mod_lib = undef, + Optional[String] $mod_lib_path = undef, + Optional[String] $mod_package = undef, + Optional[String] $mod_package_ensure = undef, + Optional[String] $mod_path = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_allow_encoded_slashes = undef, Optional[String] $passenger_anonymous_telemetry_proxy = undef, - $passenger_app_env = undef, - $passenger_app_group_name = undef, - $passenger_app_root = undef, - $passenger_app_type = undef, - $passenger_base_uri = undef, - $passenger_buffer_response = undef, - $passenger_buffer_upload = undef, - $passenger_concurrency_model = undef, - $passenger_conf_file = $apache::params::passenger_conf_file, - $passenger_conf_package_file = $apache::params::passenger_conf_package_file, - $passenger_data_buffer_dir = undef, - $passenger_debug_log_file = undef, - $passenger_debugger = undef, - $passenger_default_group = undef, - $passenger_default_ruby = $apache::params::passenger_default_ruby, - $passenger_default_user = undef, + Optional[String] $passenger_app_env = undef, + Optional[String] $passenger_app_group_name = undef, + Optional[String] $passenger_app_root = undef, + Optional[String] $passenger_app_type = undef, + Optional[String] $passenger_base_uri = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_buffer_response = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_buffer_upload = undef, + Optional[String] $passenger_concurrency_model = undef, + String $passenger_conf_file = $apache::params::passenger_conf_file, + Optional[String] $passenger_conf_package_file = $apache::params::passenger_conf_package_file, + Optional[String] $passenger_data_buffer_dir = undef, + Optional[String] $passenger_debug_log_file = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_debugger = undef, + Optional[String] $passenger_default_group = undef, + Optional[String] $passenger_default_ruby = $apache::params::passenger_default_ruby, + Optional[String] $passenger_default_user = undef, Optional[Boolean] $passenger_disable_anonymous_telemetry = undef, - Optional[Boolean] $passenger_disable_log_prefix = undef, - $passenger_disable_security_update_check = undef, - $passenger_enabled = undef, - $passenger_error_override = undef, - $passenger_file_descriptor_log_file = undef, - $passenger_fly_with = undef, - $passenger_force_max_concurrent_requests_per_process = undef, - $passenger_friendly_error_pages = undef, - $passenger_group = undef, - $passenger_high_performance = undef, - $passenger_installed_version = undef, - $passenger_instance_registry_dir = undef, - $passenger_load_shell_envvars = undef, + Optional[Boolean] $passenger_disable_log_prefix = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_disable_security_update_check = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_enabled = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_error_override = undef, + Optional[String] $passenger_file_descriptor_log_file = undef, + Optional[String] $passenger_fly_with = undef, + Optional[Variant[Integer,String]] $passenger_force_max_concurrent_requests_per_process = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_friendly_error_pages = undef, + Optional[String] $passenger_group = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_high_performance = undef, + Optional[String] $passenger_installed_version = undef, + Optional[String] $passenger_instance_registry_dir = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_load_shell_envvars = undef, Optional[Boolean] $passenger_preload_bundler = undef, Optional[Stdlib::Absolutepath] $passenger_log_file = undef, - $passenger_log_level = undef, - $passenger_lve_min_uid = undef, - $passenger_max_instances = undef, - $passenger_max_instances_per_app = undef, - $passenger_max_pool_size = undef, - $passenger_max_preloader_idle_time = undef, - $passenger_max_request_queue_size = undef, - $passenger_max_request_time = undef, - $passenger_max_requests = undef, - $passenger_memory_limit = undef, - $passenger_meteor_app_settings = undef, - $passenger_min_instances = undef, - $passenger_nodejs = undef, - $passenger_pool_idle_time = undef, + Optional[Variant[Integer,String]] $passenger_log_level = undef, + Optional[Variant[Integer,String]] $passenger_lve_min_uid = undef, + Optional[Variant[Integer,String]] $passenger_max_instances = undef, + Optional[Variant[Integer,String]] $passenger_max_instances_per_app = undef, + Optional[Variant[Integer,String]] $passenger_max_pool_size = undef, + Optional[Variant[Integer,String]] $passenger_max_preloader_idle_time = undef, + Optional[Variant[Integer,String]] $passenger_max_request_queue_size = undef, + Optional[Variant[Integer,String]] $passenger_max_request_time = undef, + Optional[Variant[Integer,String]] $passenger_max_requests = undef, + Optional[Variant[Integer,String]] $passenger_memory_limit = undef, + Optional[String] $passenger_meteor_app_settings = undef, + Optional[Variant[Integer,String]] $passenger_min_instances = undef, + Optional[String] $passenger_nodejs = undef, + Optional[Variant[Integer,String]] $passenger_pool_idle_time = undef, Optional[Variant[String,Array[String]]] $passenger_pre_start = undef, - $passenger_python = undef, - $passenger_resist_deployment_errors = undef, - $passenger_resolve_symlinks_in_document_root = undef, - $passenger_response_buffer_high_watermark = undef, - $passenger_restart_dir = undef, - $passenger_rolling_restarts = undef, - $passenger_root = $apache::params::passenger_root, - $passenger_ruby = $apache::params::passenger_ruby, - $passenger_security_update_check_proxy = undef, - $passenger_show_version_in_header = undef, - $passenger_socket_backlog = undef, + Optional[String] $passenger_python = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_resist_deployment_errors = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_resolve_symlinks_in_document_root = undef, + Optional[Variant[Integer,String]] $passenger_response_buffer_high_watermark = undef, + Optional[String] $passenger_restart_dir = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_rolling_restarts = undef, + Optional[String] $passenger_root = $apache::params::passenger_root, + Optional[String] $passenger_ruby = $apache::params::passenger_ruby, + Optional[String] $passenger_security_update_check_proxy = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_show_version_in_header = undef, + Optional[Variant[Integer,String]] $passenger_socket_backlog = undef, Optional[String] $passenger_spawn_dir = undef, Optional[Enum['smart', 'direct', 'smart-lv2', 'conservative']] $passenger_spawn_method = undef, - $passenger_start_timeout = undef, - $passenger_startup_file = undef, - $passenger_stat_throttle_rate = undef, - $passenger_sticky_sessions = undef, - $passenger_sticky_sessions_cookie_name = undef, + Optional[Variant[Integer,String]] $passenger_start_timeout = undef, + Optional[String] $passenger_startup_file = undef, + Optional[Variant[Integer,String]] $passenger_stat_throttle_rate = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_sticky_sessions = undef, + Optional[String] $passenger_sticky_sessions_cookie_name = undef, Optional[String] $passenger_sticky_sessions_cookie_attributes = undef, - $passenger_thread_count = undef, - $passenger_use_global_queue = undef, - $passenger_user = undef, - $passenger_user_switching = undef, - $rack_auto_detect = undef, - $rack_autodetect = undef, - $rack_base_uri = undef, - $rack_env = undef, - $rails_allow_mod_rewrite = undef, - $rails_app_spawner_idle_time = undef, - $rails_auto_detect = undef, - $rails_autodetect = undef, - $rails_base_uri = undef, - $rails_default_user = undef, - $rails_env = undef, - $rails_framework_spawner_idle_time = undef, - $rails_ruby = undef, - $rails_spawn_method = undef, - $rails_user_switching = undef, - $wsgi_auto_detect = undef, + Optional[Variant[Integer,String]] $passenger_thread_count = undef, + Optional[String] $passenger_use_global_queue = undef, + Optional[String] $passenger_user = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $passenger_user_switching = undef, + Optional[String] $rack_auto_detect = undef, + Optional[String] $rack_autodetect = undef, + Optional[String] $rack_base_uri = undef, + Optional[String] $rack_env = undef, + Optional[String] $rails_allow_mod_rewrite = undef, + Optional[String] $rails_app_spawner_idle_time = undef, + Optional[String] $rails_auto_detect = undef, + Optional[String] $rails_autodetect = undef, + Optional[String] $rails_base_uri = undef, + Optional[String] $rails_default_user = undef, + Optional[String] $rails_env = undef, + Optional[String] $rails_framework_spawner_idle_time = undef, + Optional[String] $rails_ruby = undef, + Optional[String] $rails_spawn_method = undef, + Optional[String] $rails_user_switching = undef, + Optional[String] $wsgi_auto_detect = undef, ) inherits apache::params { include apache if $passenger_installed_version { diff --git a/manifests/mod/peruser.pp b/manifests/mod/peruser.pp index 3c649c7fed..22e9d0f627 100644 --- a/manifests/mod/peruser.pp +++ b/manifests/mod/peruser.pp @@ -1,17 +1,35 @@ # @summary # Installs `mod_peruser`. # -# @todo -# Add docs +# @param minspareprocessors +# +# @param minprocessors +# The minimum amount of processors +# +# @param maxprocessors +# The maximum amount of processors +# +# @param maxclients +# The maximum amount of clients +# +# @param maxrequestsperchild +# The maximum amount of requests per child +# +# @param idletimeout +# +# @param expiretimeout +# +# @param keepalive +# class apache::mod::peruser ( - $minspareprocessors = '2', - $minprocessors = '2', - $maxprocessors = '10', - $maxclients = '150', - $maxrequestsperchild = '1000', - $idletimeout = '120', - $expiretimeout = '120', - $keepalive = 'Off', + Variant[Integer,String] $minspareprocessors = '2', + Variant[Integer,String] $minprocessors = '2', + Variant[Integer,String] $maxprocessors = '10', + Variant[Integer,String] $maxclients = '150', + Variant[Integer,String] $maxrequestsperchild = '1000', + Variant[Integer,String] $idletimeout = '120', + Variant[Integer,String] $expiretimeout = '120', + String $keepalive = 'Off', ) { include apache case $facts['os']['family'] { diff --git a/manifests/mod/php.pp b/manifests/mod/php.pp index 4b5baac049..cb12eab092 100644 --- a/manifests/mod/php.pp +++ b/manifests/mod/php.pp @@ -1,19 +1,41 @@ # @summary # Installs `mod_php`. -# -# @todo -# Add docs +# +# @param package_name +# The package name +# +# @param package_ensure +# Whether the package is `present` or `absent` +# +# @param path +# +# @param extensions +# +# @param content +# +# @param template +# +# @param source +# +# @param root_group +# UNIX group of the root user +# +# @param php_version +# The php version +# +# @param libphp_prefix +# class apache::mod::php ( - $package_name = undef, - $package_ensure = 'present', - $path = undef, - Array $extensions = ['.php'], - $content = undef, - $template = 'apache/mod/php.conf.erb', - $source = undef, - $root_group = $apache::params::root_group, - $php_version = $apache::params::php_version, - $libphp_prefix = 'libphp' + Optional[String] $package_name = undef, + String $package_ensure = 'present', + Optional[String] $path = undef, + Array $extensions = ['.php'], + Optional[String] $content = undef, + String $template = 'apache/mod/php.conf.erb', + Optional[String] $source = undef, + Optional[String] $root_group = $apache::params::root_group, + Optional[String] $php_version = $apache::params::php_version, + String $libphp_prefix = 'libphp' ) inherits apache::params { include apache if (versioncmp($php_version, '8') < 0) { diff --git a/manifests/mod/prefork.pp b/manifests/mod/prefork.pp index 197f7513b0..0b8557d866 100644 --- a/manifests/mod/prefork.pp +++ b/manifests/mod/prefork.pp @@ -34,16 +34,16 @@ # @see https://httpd.apache.org/docs/current/mod/prefork.html for additional documentation. # class apache::mod::prefork ( - $startservers = '8', - $minspareservers = '5', - $maxspareservers = '20', - $serverlimit = '256', - $maxclients = '256', - $maxrequestworkers = undef, - $maxrequestsperchild = '4000', - $maxconnectionsperchild = undef, - $apache_version = undef, - $listenbacklog = '511' + Variant[Integer,String] $startservers = '8', + Variant[Integer,String] $minspareservers = '5', + Variant[Integer,String] $maxspareservers = '20', + Variant[Integer,String] $serverlimit = '256', + Variant[Integer,String] $maxclients = '256', + Optional[Variant[Integer,String]] $maxrequestworkers = undef, + Variant[Integer,String] $maxrequestsperchild = '4000', + Optional[Variant[Integer,String]] $maxconnectionsperchild = undef, + Optional[String] $apache_version = undef, + String $listenbacklog = '511' ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/proxy.pp b/manifests/mod/proxy.pp index 2a9eb71495..642577ce93 100644 --- a/manifests/mod/proxy.pp +++ b/manifests/mod/proxy.pp @@ -25,13 +25,13 @@ # @see https://httpd.apache.org/docs/current/mod/mod_proxy.html for additional documentation. # class apache::mod::proxy ( - $proxy_requests = 'Off', - $allow_from = undef, - $apache_version = undef, - $package_name = undef, - $proxy_via = 'On', - $proxy_timeout = undef, - $proxy_iobuffersize = undef, + String $proxy_requests = 'Off', + Optional[String] $allow_from = undef, + Optional[String] $apache_version = undef, + Optional[String] $package_name = undef, + String $proxy_via = 'On', + Optional[String] $proxy_timeout = undef, + Optional[String] $proxy_iobuffersize = undef, ) { include apache $_proxy_timeout = $apache::timeout diff --git a/manifests/mod/proxy_balancer.pp b/manifests/mod/proxy_balancer.pp index 4778689c1d..74f35ba46e 100644 --- a/manifests/mod/proxy_balancer.pp +++ b/manifests/mod/proxy_balancer.pp @@ -4,7 +4,7 @@ # @param manager # Toggle whether to enable balancer manager support. # -# @param maanger_path +# @param manager_path # Server relative path to balancer manager. # # @param allow_from @@ -19,7 +19,7 @@ Boolean $manager = false, Stdlib::Absolutepath $manager_path = '/balancer-manager', Array $allow_from = ['127.0.0.1','::1'], - $apache_version = $apache::apache_version, + Optional[String] $apache_version = $apache::apache_version, ) { include apache::mod::proxy include apache::mod::proxy_http diff --git a/manifests/mod/reqtimeout.pp b/manifests/mod/reqtimeout.pp index a971e045dd..fc64cfbfc8 100644 --- a/manifests/mod/reqtimeout.pp +++ b/manifests/mod/reqtimeout.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_reqtimeout.html for additional documentation. # class apache::mod::reqtimeout ( - $timeouts = ['header=20-40,minrate=500', 'body=10,minrate=500'] + Variant[Array[String],String] $timeouts = ['header=20-40,minrate=500', 'body=10,minrate=500'] ) { include apache ::apache::mod { 'reqtimeout': } diff --git a/manifests/mod/rpaf.pp b/manifests/mod/rpaf.pp index 7e4bab23e9..7fa97b132b 100644 --- a/manifests/mod/rpaf.pp +++ b/manifests/mod/rpaf.pp @@ -16,10 +16,10 @@ # @see https://github.com/gnif/mod_rpaf for additional documentation. # class apache::mod::rpaf ( - $sethostname = true, - $proxy_ips = ['127.0.0.1'], - $header = 'X-Forwarded-For', - $template = 'apache/mod/rpaf.conf.erb' + Variant[Boolean,String] $sethostname = true, + Array[String] $proxy_ips = ['127.0.0.1'], + String $header = 'X-Forwarded-For', + String $template = 'apache/mod/rpaf.conf.erb' ) { include apache ::apache::mod { 'rpaf': } diff --git a/manifests/mod/security.pp b/manifests/mod/security.pp index a4461cf8a2..8fbd7abdfc 100644 --- a/manifests/mod/security.pp +++ b/manifests/mod/security.pp @@ -12,7 +12,11 @@ # # @param activated_rules # An array of rules from the modsec_crs_path or absolute to activate via symlinks. +# +# @param custom_rules # +# @param custom_rules_set +# # @param modsec_dir # Defines the path where Puppet installs the modsec configuration and activated rules links. # @@ -90,36 +94,36 @@ # @see https://github.com/SpiderLabs/ModSecurity/wiki for additional documentation. # class apache::mod::security ( - $logroot = $apache::params::logroot, - $version = $apache::params::modsec_version, - $crs_package = $apache::params::modsec_crs_package, - $activated_rules = $apache::params::modsec_default_rules, - $custom_rules = $apache::params::modsec_custom_rules, - $custom_rules_set = $apache::params::modsec_custom_rules_set, - $modsec_dir = $apache::params::modsec_dir, - $modsec_secruleengine = $apache::params::modsec_secruleengine, - $audit_log_relevant_status = '^(?:5|4(?!04))', - $audit_log_parts = $apache::params::modsec_audit_log_parts, - $audit_log_type = $apache::params::modsec_audit_log_type, - $audit_log_storage_dir = undef, - $secpcrematchlimit = $apache::params::secpcrematchlimit, - $secpcrematchlimitrecursion = $apache::params::secpcrematchlimitrecursion, - $allowed_methods = 'GET HEAD POST OPTIONS', - $content_types = 'application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf', - $restricted_extensions = '.asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/', - $restricted_headers = '/Proxy-Connection/ /Lock-Token/ /Content-Range/ /Translate/ /via/ /if/', - $secdefaultaction = 'deny', - $inbound_anomaly_threshold = '5', - $outbound_anomaly_threshold = '4', - $critical_anomaly_score = '5', - $error_anomaly_score = '4', - $warning_anomaly_score = '3', - $notice_anomaly_score = '2', - $secrequestmaxnumargs = '255', - $secrequestbodylimit = '13107200', - $secrequestbodynofileslimit = '131072', - $secrequestbodyinmemorylimit = '131072', - $manage_security_crs = true, + String $logroot = $apache::params::logroot, + Integer $version = $apache::params::modsec_version, + Optional[String] $crs_package = $apache::params::modsec_crs_package, + Array[String] $activated_rules = $apache::params::modsec_default_rules, + Boolean $custom_rules = $apache::params::modsec_custom_rules, + Optional[Array[String]] $custom_rules_set = $apache::params::modsec_custom_rules_set, + String $modsec_dir = $apache::params::modsec_dir, + String $modsec_secruleengine = $apache::params::modsec_secruleengine, + String $audit_log_relevant_status = '^(?:5|4(?!04))', + String $audit_log_parts = $apache::params::modsec_audit_log_parts, + String $audit_log_type = $apache::params::modsec_audit_log_type, + Optional[String] $audit_log_storage_dir = undef, + Integer $secpcrematchlimit = $apache::params::secpcrematchlimit, + Integer $secpcrematchlimitrecursion = $apache::params::secpcrematchlimitrecursion, + String $allowed_methods = 'GET HEAD POST OPTIONS', + String $content_types = 'application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf', + String $restricted_extensions = '.asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/', + String $restricted_headers = '/Proxy-Connection/ /Lock-Token/ /Content-Range/ /Translate/ /via/ /if/', + String $secdefaultaction = 'deny', + String $inbound_anomaly_threshold = '5', + String $outbound_anomaly_threshold = '4', + String $critical_anomaly_score = '5', + String $error_anomaly_score = '4', + String $warning_anomaly_score = '3', + String $notice_anomaly_score = '2', + String $secrequestmaxnumargs = '255', + String $secrequestbodylimit = '13107200', + String $secrequestbodynofileslimit = '131072', + String $secrequestbodyinmemorylimit = '131072', + Boolean $manage_security_crs = true, ) inherits apache::params { include apache diff --git a/manifests/mod/shib.pp b/manifests/mod/shib.pp index 09a5d2ead5..ea94344a87 100644 --- a/manifests/mod/shib.pp +++ b/manifests/mod/shib.pp @@ -24,10 +24,10 @@ # @see https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig for additional documentation. # @note Unsupported platforms: RedHat: all; CentOS: all; Scientific: all; SLES: all; Debian: 7, 8; Ubuntu: all; OracleLinux: all class apache::mod::shib ( - $suppress_warning = false, - $mod_full_path = undef, - $package_name = undef, - $mod_lib = undef, + Boolean $suppress_warning = false, + Optional[String] $mod_full_path = undef, + Optional[String] $package_name = undef, + Optional[String] $mod_lib = undef, ) { include apache if $facts['os']['family'] == 'RedHat' and ! $suppress_warning { diff --git a/manifests/mod/ssl.pp b/manifests/mod/ssl.pp index 7eaed198cb..27d8bac601 100644 --- a/manifests/mod/ssl.pp +++ b/manifests/mod/ssl.pp @@ -4,6 +4,9 @@ # @param ssl_compression # Enable compression on the SSL level. # +# @param ssl_sessiontickets +# Enable or disable use of TLS session tickets +# # @param ssl_cryptodevice # Enable use of a cryptographic hardware accelerator. # @@ -52,6 +55,10 @@ # @param ssl_stapling # Enable stapling of OCSP responses in the TLS handshake. # +# @param stapling_cache +# Configures the cache used to store OCSP responses which get included in +# the TLS handshake if SSLUseStapling is enabled. +# # @param ssl_stapling_return_errors # Pass stapling related OCSP errors on to client. # @@ -82,27 +89,27 @@ class apache::mod::ssl ( Boolean $ssl_compression = false, Optional[Boolean] $ssl_sessiontickets = undef, - $ssl_cryptodevice = 'builtin', - $ssl_options = ['StdEnvVars'], - $ssl_openssl_conf_cmd = undef, + String $ssl_cryptodevice = 'builtin', + Array[String] $ssl_options = ['StdEnvVars'], + Optional[String] $ssl_openssl_conf_cmd = undef, Optional[String] $ssl_cert = undef, Optional[String] $ssl_key = undef, - $ssl_ca = undef, - $ssl_cipher = 'HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES', + Optional[String] $ssl_ca = undef, + String $ssl_cipher = 'HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES', Variant[Boolean, Enum['on', 'off']] $ssl_honorcipherorder = true, - $ssl_protocol = $apache::params::ssl_protocol, + Array[String] $ssl_protocol = $apache::params::ssl_protocol, Array $ssl_proxy_protocol = [], - $ssl_pass_phrase_dialog = 'builtin', - $ssl_random_seed_bytes = '512', + String $ssl_pass_phrase_dialog = 'builtin', + Variant[Integer,String] $ssl_random_seed_bytes = '512', String $ssl_sessioncache = $apache::params::ssl_sessioncache, - $ssl_sessioncachetimeout = '300', + Variant[Integer,String] $ssl_sessioncachetimeout = '300', Boolean $ssl_stapling = false, Optional[String] $stapling_cache = undef, Optional[Boolean] $ssl_stapling_return_errors = undef, - $ssl_mutex = undef, + Optional[String] $ssl_mutex = undef, Boolean $ssl_reload_on_change = false, - $apache_version = undef, - $package_name = undef, + Optional[String] $apache_version = undef, + Optional[String] $package_name = undef, ) inherits apache::params { include apache include apache::mod::mime diff --git a/manifests/mod/status.pp b/manifests/mod/status.pp index f6d41449df..4cd4c144a4 100644 --- a/manifests/mod/status.pp +++ b/manifests/mod/status.pp @@ -42,8 +42,8 @@ Optional[Array] $allow_from = undef, Optional[Variant[String, Array, Hash]] $requires = undef, Enum['On', 'Off', 'on', 'off'] $extended_status = 'On', - $apache_version = undef, - $status_path = '/server-status', + Optional[String] $apache_version = undef, + String $status_path = '/server-status', ) inherits apache::params { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/userdir.pp b/manifests/mod/userdir.pp index 67d7717dda..c26c33c200 100644 --- a/manifests/mod/userdir.pp +++ b/manifests/mod/userdir.pp @@ -34,16 +34,16 @@ # @see https://httpd.apache.org/docs/current/mod/mod_userdir.html for additional documentation. # class apache::mod::userdir ( - $home = undef, - $dir = undef, - Optional[String[1]] $userdir = undef, - $disable_root = true, - $apache_version = undef, - $path = '/home/*/public_html', - $overrides = ['FileInfo', 'AuthConfig', 'Limit', 'Indexes'], - $options = ['MultiViews', 'Indexes', 'SymLinksIfOwnerMatch', 'IncludesNoExec'], - $unmanaged_path = false, - $custom_fragment = undef, + Optional[String] $home = undef, + Optional[String] $dir = undef, + Optional[String[1]] $userdir = undef, + Boolean $disable_root = true, + Optional[String] $apache_version = undef, + String $path = '/home/*/public_html', + Array[String] $overrides = ['FileInfo', 'AuthConfig', 'Limit', 'Indexes'], + Array[String] $options = ['MultiViews', 'Indexes', 'SymLinksIfOwnerMatch', 'IncludesNoExec'], + Boolean $unmanaged_path = false, + Optional[String] $custom_fragment = undef, ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/version.pp b/manifests/mod/version.pp index 2f87185131..212ef4a7bd 100644 --- a/manifests/mod/version.pp +++ b/manifests/mod/version.pp @@ -7,7 +7,7 @@ # @see https://httpd.apache.org/docs/current/mod/mod_version.html for additional documentation. # class apache::mod::version ( - $apache_version = $apache::apache_version + Optional[String] $apache_version = $apache::apache_version ) { if ($facts['os']['family'] == 'debian' and versioncmp($apache_version, '2.4') >= 0) { warning("${module_name}: module version_module is built-in and can't be loaded") diff --git a/manifests/mod/worker.pp b/manifests/mod/worker.pp index 258220a232..898c184d15 100644 --- a/manifests/mod/worker.pp +++ b/manifests/mod/worker.pp @@ -43,16 +43,16 @@ # @see https://httpd.apache.org/docs/current/mod/worker.html for additional documentation. # class apache::mod::worker ( - $startservers = '2', - $maxclients = '150', - $minsparethreads = '25', - $maxsparethreads = '75', - $threadsperchild = '25', - $maxrequestsperchild = '0', - $serverlimit = '25', - $threadlimit = '64', - $listenbacklog = '511', - $apache_version = undef, + Variant[Integer,String] $startservers = '2', + Variant[Integer,String] $maxclients = '150', + Variant[Integer,String] $minsparethreads = '25', + Variant[Integer,String] $maxsparethreads = '75', + Variant[Integer,String] $threadsperchild = '25', + Variant[Integer,String] $maxrequestsperchild = '0', + Variant[Integer,String] $serverlimit = '25', + Variant[Integer,String] $threadlimit = '64', + Variant[Integer,String] $listenbacklog = '511', + Optional[String] $apache_version = undef, ) { include apache $_apache_version = pick($apache_version, $apache::apache_version) diff --git a/manifests/mod/wsgi.pp b/manifests/mod/wsgi.pp index cf3253db9d..d582702273 100644 --- a/manifests/mod/wsgi.pp +++ b/manifests/mod/wsgi.pp @@ -28,14 +28,14 @@ # @see https://github.com/GrahamDumpleton/mod_wsgi for additional documentation. # @note Unsupported platforms: SLES: all; RedHat: all; CentOS: all; OracleLinux: all; Scientific: all class apache::mod::wsgi ( - $wsgi_restrict_embedded = undef, - $wsgi_socket_prefix = $apache::params::wsgi_socket_prefix, - $wsgi_python_path = undef, - $wsgi_python_home = undef, - $wsgi_python_optimize = undef, - $wsgi_application_group = undef, - $package_name = undef, - $mod_path = undef, + Optional[String] $wsgi_restrict_embedded = undef, + Optional[String] $wsgi_socket_prefix = $apache::params::wsgi_socket_prefix, + Optional[String] $wsgi_python_path = undef, + Optional[String] $wsgi_python_home = undef, + Optional[Variant[Integer,String]] $wsgi_python_optimize = undef, + Optional[String] $wsgi_application_group = undef, + Optional[String] $package_name = undef, + Optional[String] $mod_path = undef, ) inherits apache::params { include apache if ($package_name != undef and $mod_path == undef) or ($package_name == undef and $mod_path != undef) { diff --git a/manifests/mpm.pp b/manifests/mpm.pp index 854d86027a..8d76fa796a 100644 --- a/manifests/mpm.pp +++ b/manifests/mpm.pp @@ -2,8 +2,8 @@ # # @api private define apache::mpm ( - $lib_path = $apache::lib_path, - $apache_version = $apache::apache_version, + String $lib_path = $apache::lib_path, + Optional[String] $apache_version = $apache::apache_version, ) { if ! defined(Class['apache']) { fail('You must include the apache base class before using any apache defined resources') diff --git a/manifests/package.pp b/manifests/package.pp index bc779097eb..06b8bc77bf 100644 --- a/manifests/package.pp +++ b/manifests/package.pp @@ -3,8 +3,8 @@ # # @api private class apache::package ( - $ensure = 'present', - $mpm_module = $apache::params::mpm_module, + String $ensure = 'present', + String $mpm_module = $apache::params::mpm_module, ) inherits apache::params { # The base class must be included first because it is used by parameter defaults if ! defined(Class['apache']) { diff --git a/manifests/peruser/multiplexer.pp b/manifests/peruser/multiplexer.pp index 5001090c4c..b8b271e306 100644 --- a/manifests/peruser/multiplexer.pp +++ b/manifests/peruser/multiplexer.pp @@ -5,9 +5,9 @@ # # @api private define apache::peruser::multiplexer ( - $user = $apache::user, - $group = $apache::group, - $file = undef, + String $user = $apache::user, + String $group = $apache::group, + Optional[String] $file = undef, ) { if ! $file { $filename = "${name}.conf" diff --git a/manifests/peruser/processor.pp b/manifests/peruser/processor.pp index 57c26fa9f8..9be3d6109a 100644 --- a/manifests/peruser/processor.pp +++ b/manifests/peruser/processor.pp @@ -3,9 +3,9 @@ # # @api private define apache::peruser::processor ( - $user, - $group, - $file = undef, + String $user, + String $group, + Optional[String] $file = undef, ) { if ! $file { $filename = "${name}.conf" diff --git a/manifests/service.pp b/manifests/service.pp index 7366e5fd31..6e5ce53d9f 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -3,11 +3,11 @@ # # @api private class apache::service ( - $service_name = $apache::params::service_name, - Boolean $service_enable = true, - $service_ensure = 'running', - Boolean $service_manage = true, - $service_restart = undef + String $service_name = $apache::params::service_name, + Boolean $service_enable = true, + Variant[Boolean,String] $service_ensure = 'running', + Boolean $service_manage = true, + Optional[String] $service_restart = undef ) { # The base class must be included first because parameter defaults depend on it if ! defined(Class['apache::params']) { diff --git a/manifests/vhost.pp b/manifests/vhost.pp index a732e02700..8654831f65 100644 --- a/manifests/vhost.pp +++ b/manifests/vhost.pp @@ -70,11 +70,6 @@ # Specifies whether Apache uses the `IncludeOptional` directive instead of `Include` for # `additional_includes` in Apache 2.4 or newer. # -# @param additional_includes -# Specifies paths to additional static, virtual host-specific Apache configuration files. -# You can use this parameter to implement a unique, custom configuration not supported by -# this module. -# # @param aliases # Passes a list of [hashes][hash] to the virtual host to create `Alias`, `AliasMatch`, # `ScriptAlias` or `ScriptAliasMatch` directives as per the `mod_alias` documentation.
@@ -168,10 +163,6 @@ # ] # ``` # -# @param custom_fragment -# Passes a string of custom configuration directives to place at the end of the virtual -# host configuration. -# # @param default_vhost # Sets a given `apache::vhost` defined type as the default to serve requests that do not # match any other `apache::vhost` defined types. @@ -357,10 +348,6 @@ # directive which sets the size of the window that is used for flow control from # client to server and limits the amount of data the server has to buffer. # -# @param headers -# Adds lines to replace, merge, or remove response headers. See -# [Apache's mod_headers documentation](https://httpd.apache.org/docs/current/mod/mod_headers.html#header) for more information. -# # @param ip # Sets the IP address the virtual host listens on. By default, uses Apache's default behavior # of listening on all IPs. @@ -597,7 +584,7 @@ # This directive controls whether Apache should override error pages for proxied content. # # @param options -# Sets the `Options` for the specified virtual host. For example: +# Sets the [`Options`](https://httpd.apache.org/docs/current/mod/core.html#options) for the specified virtual host. For example: # ``` puppet # apache::vhost { 'site.name.fdqn': # ... @@ -1415,31 +1402,6 @@ # } # ``` # -# @param error_documents -# An array of hashes used to override the [ErrorDocument](https://httpd.apache.org/docs/current/mod/core.html#errordocument) -# settings for the directory. -# ``` puppet -# apache::vhost { 'sample.example.net': -# directories => [ -# { path => '/srv/www', -# error_documents => [ -# { 'error_code' => '503', -# 'document' => '/service-unavail', -# }, -# ], -# }, -# ], -# } -# ``` -# -# @param h2_copy_files -# Sets the [H2CopyFiles](https://httpd.apache.org/docs/current/mod/mod_http2.html#h2copyfiles) directive.
-# Note that you must declare `class {'apache::mod::http2': }` before using this directive. -# -# @param h2_push_resource -# Sets the [H2PushResource](https://httpd.apache.org/docs/current/mod/mod_http2.html#h2pushresource) directive.
-# Note that you must declare `class {'apache::mod::http2': }` before using this directive. -# # @param headers # Adds lines for [Header](https://httpd.apache.org/docs/current/mod/mod_headers.html#header) directives. # ``` puppet @@ -1451,20 +1413,6 @@ # }, # } # ``` -# -# @param options -# Lists the [Options](https://httpd.apache.org/docs/current/mod/core.html#options) for the -# given Directory block. -# ``` puppet -# apache::vhost { 'sample.example.net': -# docroot => '/path/to/directory', -# directories => [ -# { path => '/path/to/directory', -# options => ['Indexes','FollowSymLinks','MultiViews'], -# }, -# ], -# } -# ``` # # @param shib_compat_valid_user # Default is Off, matching the behavior prior to this command's existence. Addresses a conflict @@ -1665,25 +1613,6 @@ # directive, which specifies whether the remote server certificate is checked for expiration # or not. # -# @param ssl_options -# Sets the [SSLOptions](https://httpd.apache.org/docs/current/mod/mod_ssl.html#ssloptions) -# directive, which configures various SSL engine run-time options. This is the global -# setting for the given virtual host and can be a string or an array.
-# A string: -# ``` puppet -# apache::vhost { 'sample.example.net': -# ... -# ssl_options => '+ExportCertData', -# } -# ``` -# An array: -# ``` puppet -# apache::vhost { 'sample.example.net': -# ... -# ssl_options => ['+StrictRequire', '+ExportCertData'], -# } -# ``` -# # @param ssl_openssl_conf_cmd # Sets the [SSLOpenSSLConfCmd](https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslopensslconfcmd) # directive, which provides direct configuration of OpenSSL parameters. @@ -1754,98 +1683,105 @@ # client request exceeds that limit, the server will return an error response # instead of servicing the request. # -# @param $use_servername_for_filenames +# @param use_servername_for_filenames # When set to true, default log / config file names will be derived from the sanitized # value of the $servername parameter. # When set to false (default), the existing behaviour of using the $name parameter # will remain. # -# @param $use_port_for_filenames +# @param use_port_for_filenames # When set to true and use_servername_for_filenames is also set to true, default log / # config file names will be derived from the sanitized value of both the $servername and # $port parameters. # When set to false (default), the port is not included in the file names and may lead to # duplicate declarations if two virtual hosts use the same domain. # -# @param $mdomain +# @param mdomain # All the names in the list are managed as one Managed Domain (MD). mod_md will request # one single certificate that is valid for all these names. +# +# @param proxy_requests +# Whether to accept proxy requests +# +# @param userdir +# Instances of apache::mod::userdir +# define apache::vhost ( Variant[Boolean,String] $docroot, - $manage_docroot = true, - $virtual_docroot = false, - $virtual_use_default_docroot = false, - $port = undef, - $ip = undef, - Boolean $ip_based = false, - $add_listen = true, - $docroot_owner = 'root', - $docroot_group = $apache::params::root_group, - $docroot_mode = undef, - Array[Enum['h2', 'h2c', 'http/1.1']] $protocols = [], - Optional[Boolean] $protocols_honor_order = undef, - $serveradmin = undef, - Boolean $ssl = false, - $ssl_cert = $apache::default_ssl_cert, - $ssl_key = $apache::default_ssl_key, - $ssl_chain = $apache::default_ssl_chain, - $ssl_ca = $apache::default_ssl_ca, - $ssl_crl_path = $apache::default_ssl_crl_path, - $ssl_crl = $apache::default_ssl_crl, - $ssl_crl_check = $apache::default_ssl_crl_check, - $ssl_certs_dir = $apache::params::ssl_certs_dir, - Boolean $ssl_reload_on_change = $apache::default_ssl_reload_on_change, - $ssl_protocol = undef, - $ssl_cipher = undef, - Variant[Boolean, Enum['on', 'On', 'off', 'Off'], Undef] $ssl_honorcipherorder = undef, - Optional[Enum['none', 'optional', 'require', 'optional_no_ca']] $ssl_verify_client = undef, - $ssl_verify_depth = undef, - Optional[Enum['none', 'optional', 'require', 'optional_no_ca']] $ssl_proxy_verify = undef, - Optional[Integer[0]] $ssl_proxy_verify_depth = undef, - $ssl_proxy_ca_cert = undef, - Optional[Enum['on', 'off']] $ssl_proxy_check_peer_cn = undef, - Optional[Enum['on', 'off']] $ssl_proxy_check_peer_name = undef, - Optional[Enum['on', 'off']] $ssl_proxy_check_peer_expire = undef, - $ssl_proxy_machine_cert = undef, - $ssl_proxy_machine_cert_chain = undef, - $ssl_proxy_cipher_suite = undef, - $ssl_proxy_protocol = undef, - $ssl_options = undef, - $ssl_openssl_conf_cmd = undef, - Boolean $ssl_proxyengine = false, - Optional[Boolean] $ssl_stapling = undef, - $ssl_stapling_timeout = undef, - $ssl_stapling_return_errors = undef, - Optional[String] $ssl_user_name = undef, - $priority = undef, - Boolean $default_vhost = false, - $servername = $name, - $serveraliases = [], - $options = ['Indexes','FollowSymLinks','MultiViews'], - $override = ['None'], - $directoryindex = '', - $vhost_name = '*', - $logroot = $apache::logroot, - Enum['directory', 'absent'] $logroot_ensure = 'directory', - $logroot_mode = undef, - $logroot_owner = undef, - $logroot_group = undef, - Optional[Apache::LogLevel] $log_level = undef, - Boolean $access_log = true, - $access_log_file = false, - $access_log_pipe = false, - $access_log_syslog = false, - $access_log_format = false, - $access_log_env_var = false, - Optional[Array] $access_logs = undef, - Boolean $use_servername_for_filenames = false, - Boolean $use_port_for_filenames = false, - $aliases = undef, - Optional[Variant[Hash, Array[Variant[Array,Hash]]]] $directories = undef, - Boolean $error_log = true, - $error_log_file = undef, - $error_log_pipe = undef, - $error_log_syslog = undef, + Boolean $manage_docroot = true, + Variant[Boolean,String] $virtual_docroot = false, + Boolean $virtual_use_default_docroot = false, + Optional[Variant[Array[Integer],Array[String],Integer,String]] $port = undef, + Optional[Variant[Array[String],String]] $ip = undef, + Boolean $ip_based = false, + Boolean $add_listen = true, + String $docroot_owner = 'root', + String $docroot_group = $apache::params::root_group, + Optional[Variant[Integer,String]] $docroot_mode = undef, + Array[Enum['h2', 'h2c', 'http/1.1']] $protocols = [], + Optional[Boolean] $protocols_honor_order = undef, + Optional[String] $serveradmin = undef, + Boolean $ssl = false, + Optional[String] $ssl_cert = $apache::default_ssl_cert, + Optional[String] $ssl_key = $apache::default_ssl_key, + Optional[String] $ssl_chain = $apache::default_ssl_chain, + Optional[String] $ssl_ca = $apache::default_ssl_ca, + Optional[String] $ssl_crl_path = $apache::default_ssl_crl_path, + Optional[String] $ssl_crl = $apache::default_ssl_crl, + Optional[String] $ssl_crl_check = $apache::default_ssl_crl_check, + Optional[String] $ssl_certs_dir = $apache::params::ssl_certs_dir, + Boolean $ssl_reload_on_change = $apache::default_ssl_reload_on_change, + Optional[Variant[Array[String],String]] $ssl_protocol = undef, + Optional[Variant[Array[String],String]] $ssl_cipher = undef, + Variant[Boolean, Enum['on', 'On', 'off', 'Off'], Undef] $ssl_honorcipherorder = undef, + Optional[Enum['none', 'optional', 'require', 'optional_no_ca']] $ssl_verify_client = undef, + Optional[Variant[Integer,String]] $ssl_verify_depth = undef, + Optional[Enum['none', 'optional', 'require', 'optional_no_ca']] $ssl_proxy_verify = undef, + Optional[Integer[0]] $ssl_proxy_verify_depth = undef, + Optional[String] $ssl_proxy_ca_cert = undef, + Optional[Enum['on', 'off']] $ssl_proxy_check_peer_cn = undef, + Optional[Enum['on', 'off']] $ssl_proxy_check_peer_name = undef, + Optional[Enum['on', 'off']] $ssl_proxy_check_peer_expire = undef, + Optional[String] $ssl_proxy_machine_cert = undef, + Optional[String] $ssl_proxy_machine_cert_chain = undef, + Optional[String] $ssl_proxy_cipher_suite = undef, + Optional[String] $ssl_proxy_protocol = undef, + Optional[Variant[Array[String],String]] $ssl_options = undef, + Optional[String] $ssl_openssl_conf_cmd = undef, + Boolean $ssl_proxyengine = false, + Optional[Boolean] $ssl_stapling = undef, + Optional[Variant[Integer,String]] $ssl_stapling_timeout = undef, + Optional[Enum['on', 'off']] $ssl_stapling_return_errors = undef, + Optional[String] $ssl_user_name = undef, + Optional[Variant[Integer,String,Boolean]] $priority = undef, + Boolean $default_vhost = false, + Optional[String] $servername = $name, + Variant[Array[String],String] $serveraliases = [], + Array[String] $options = ['Indexes','FollowSymLinks','MultiViews'], + Array[String] $override = ['None'], + Optional[String] $directoryindex = undef, + String $vhost_name = '*', + String $logroot = $apache::logroot, + Enum['directory', 'absent'] $logroot_ensure = 'directory', + Optional[String] $logroot_mode = undef, + Optional[String] $logroot_owner = undef, + Optional[String] $logroot_group = undef, + Optional[Apache::LogLevel] $log_level = undef, + Boolean $access_log = true, + Variant[Boolean,String] $access_log_file = false, + Variant[Boolean,String] $access_log_pipe = false, + Variant[Boolean,String] $access_log_syslog = false, + Variant[Boolean,String] $access_log_format = false, + Variant[Boolean,String] $access_log_env_var = false, + Optional[Array] $access_logs = undef, + Boolean $use_servername_for_filenames = false, + Boolean $use_port_for_filenames = false, + Optional[Variant[Array[Hash],Hash,String]] $aliases = undef, + Optional[Variant[Hash, Array[Variant[Array,Hash]]]] $directories = undef, + Boolean $error_log = true, + Optional[String] $error_log_file = undef, + Optional[String] $error_log_pipe = undef, + Optional[Variant[String,Boolean]] $error_log_syslog = undef, Optional[ Array[ Variant[ @@ -1853,179 +1789,179 @@ Hash[String, Enum['connection', 'request']] ] ] - ] $error_log_format = undef, + ] $error_log_format = undef, Optional[Pattern[/^((Strict|Unsafe)?\s*(\b(Registered|Lenient)Methods)?\s*(\b(Allow0\.9|Require1\.0))?)$/]] $http_protocol_options = undef, - $modsec_audit_log = undef, - $modsec_audit_log_file = undef, - $modsec_audit_log_pipe = undef, - $error_documents = [], - Optional[Variant[Stdlib::Absolutepath, Enum['disabled']]] $fallbackresource = undef, - $scriptalias = undef, - $scriptaliases = [], - Optional[Integer] $limitreqfieldsize = undef, - Optional[Integer] $limitreqfields = undef, - Optional[Integer] $limitreqline = undef, - Optional[Integer] $limitreqbody = undef, - $proxy_dest = undef, - $proxy_dest_match = undef, - $proxy_dest_reverse_match = undef, - $proxy_pass = undef, - $proxy_pass_match = undef, - Boolean $proxy_requests = false, - $suphp_addhandler = $apache::params::suphp_addhandler, - Enum['on', 'off'] $suphp_engine = $apache::params::suphp_engine, - $suphp_configpath = $apache::params::suphp_configpath, - $php_flags = {}, - $php_values = {}, - $php_admin_flags = {}, - $php_admin_values = {}, - $no_proxy_uris = [], - $no_proxy_uris_match = [], - $proxy_preserve_host = false, - $proxy_add_headers = undef, - $proxy_error_override = false, - $redirect_source = '/', - $redirect_dest = undef, - $redirect_status = undef, - $redirectmatch_status = undef, - $redirectmatch_regexp = undef, - $redirectmatch_dest = undef, - $headers = undef, - $request_headers = undef, - $filters = undef, - Optional[Array] $rewrites = undef, - $rewrite_base = undef, - $rewrite_rule = undef, - $rewrite_cond = undef, - $rewrite_inherit = false, - $setenv = [], - $setenvif = [], - $setenvifnocase = [], - $block = [], - Enum['absent', 'present'] $ensure = 'present', - $wsgi_application_group = undef, - Optional[Variant[String,Hash]] $wsgi_daemon_process = undef, - Optional[Hash] $wsgi_daemon_process_options = undef, - $wsgi_import_script = undef, - Optional[Hash] $wsgi_import_script_options = undef, - $wsgi_process_group = undef, - Optional[Hash] $wsgi_script_aliases_match = undef, - Optional[Hash] $wsgi_script_aliases = undef, - Optional[Enum['on', 'off', 'On', 'Off']] $wsgi_pass_authorization = undef, - $wsgi_chunked_request = undef, - Optional[String] $custom_fragment = undef, - Optional[Hash] $itk = undef, - $action = undef, - $fastcgi_server = undef, - $fastcgi_socket = undef, - $fastcgi_dir = undef, - $fastcgi_idle_timeout = undef, - $additional_includes = [], - $use_optional_includes = $apache::use_optional_includes, - $apache_version = $apache::apache_version, - Optional[Enum['on', 'off', 'nodecode']] $allow_encoded_slashes = undef, - Optional[Pattern[/^[\w-]+ [\w-]+$/]] $suexec_user_group = undef, - - Optional[Boolean] $h2_copy_files = undef, - Optional[Boolean] $h2_direct = undef, - Optional[Boolean] $h2_early_hints = undef, - Optional[Integer] $h2_max_session_streams = undef, - Optional[Boolean] $h2_modern_tls_only = undef, - Optional[Boolean] $h2_push = undef, - Optional[Integer] $h2_push_diary_size = undef, - Array[String] $h2_push_priority = [], - Array[String] $h2_push_resource = [], - Optional[Boolean] $h2_serialize_headers = undef, - Optional[Integer] $h2_stream_max_mem_size = undef, - Optional[Integer] $h2_tls_cool_down_secs = undef, - Optional[Integer] $h2_tls_warm_up_size = undef, - Optional[Boolean] $h2_upgrade = undef, - Optional[Integer] $h2_window_size = undef, - - Optional[Boolean] $passenger_enabled = undef, - Optional[String] $passenger_base_uri = undef, - Optional[Stdlib::Absolutepath] $passenger_ruby = undef, - Optional[Stdlib::Absolutepath] $passenger_python = undef, - Optional[Stdlib::Absolutepath] $passenger_nodejs = undef, - Optional[String] $passenger_meteor_app_settings = undef, - Optional[String] $passenger_app_env = undef, - Optional[Stdlib::Absolutepath] $passenger_app_root = undef, - Optional[String] $passenger_app_group_name = undef, - Optional[String] $passenger_app_start_command = undef, - Optional[Enum['meteor', 'node', 'rack', 'wsgi']] $passenger_app_type = undef, - Optional[String] $passenger_startup_file = undef, - Optional[String] $passenger_restart_dir = undef, - Optional[Enum['direct', 'smart']] $passenger_spawn_method = undef, - Optional[Boolean] $passenger_load_shell_envvars = undef, - Optional[Boolean] $passenger_preload_bundler = undef, - Optional[Boolean] $passenger_rolling_restarts = undef, - Optional[Boolean] $passenger_resist_deployment_errors = undef, - Optional[String] $passenger_user = undef, - Optional[String] $passenger_group = undef, - Optional[Boolean] $passenger_friendly_error_pages = undef, - Optional[Integer] $passenger_min_instances = undef, - Optional[Integer] $passenger_max_instances = undef, - Optional[Integer] $passenger_max_preloader_idle_time = undef, - Optional[Integer] $passenger_force_max_concurrent_requests_per_process = undef, - Optional[Integer] $passenger_start_timeout = undef, - Optional[Enum['process', 'thread']] $passenger_concurrency_model = undef, - Optional[Integer] $passenger_thread_count = undef, - Optional[Integer] $passenger_max_requests = undef, - Optional[Integer] $passenger_max_request_time = undef, - Optional[Integer] $passenger_memory_limit = undef, - Optional[Integer] $passenger_stat_throttle_rate = undef, - Optional[Variant[String,Array[String]]] $passenger_pre_start = undef, - Optional[Boolean] $passenger_high_performance = undef, - Optional[Boolean] $passenger_buffer_upload = undef, - Optional[Boolean] $passenger_buffer_response = undef, - Optional[Boolean] $passenger_error_override = undef, - Optional[Integer] $passenger_max_request_queue_size = undef, - Optional[Integer] $passenger_max_request_queue_time = undef, - Optional[Boolean] $passenger_sticky_sessions = undef, - Optional[String] $passenger_sticky_sessions_cookie_name = undef, - Optional[String] $passenger_sticky_sessions_cookie_attributes = undef, - Optional[Boolean] $passenger_allow_encoded_slashes = undef, - Optional[String] $passenger_app_log_file = undef, - Optional[Boolean] $passenger_debugger = undef, - Optional[Integer] $passenger_lve_min_uid = undef, - $add_default_charset = undef, - $modsec_disable_vhost = undef, - Optional[Variant[Hash, Array]] $modsec_disable_ids = undef, - $modsec_disable_ips = undef, - Optional[Variant[Hash, Array]] $modsec_disable_msgs = undef, - Optional[Variant[Hash, Array]] $modsec_disable_tags = undef, - $modsec_body_limit = undef, - $jk_mounts = undef, - Boolean $auth_kerb = false, - $krb_method_negotiate = 'on', - $krb_method_k5passwd = 'on', - $krb_authoritative = 'on', - $krb_auth_realms = [], - $krb_5keytab = undef, - $krb_local_user_mapping = undef, - $krb_verify_kdc = 'on', - $krb_servicename = 'HTTP', - $krb_save_credentials = 'off', - Optional[Enum['on', 'off']] $keepalive = undef, - $keepalive_timeout = undef, - $max_keepalive_requests = undef, - $cas_attribute_prefix = undef, - $cas_attribute_delimiter = undef, - $cas_root_proxied_as = undef, - $cas_scrub_request_headers = undef, - $cas_sso_enabled = undef, - $cas_login_url = undef, - $cas_validate_url = undef, - $cas_validate_saml = undef, - $cas_cookie_path = undef, - Optional[String] $shib_compat_valid_user = undef, - Optional[Enum['On', 'on', 'Off', 'off', 'DNS', 'dns']] $use_canonical_name = undef, - Optional[Variant[String,Array[String]]] $comment = undef, - Hash $define = {}, - Boolean $auth_oidc = false, - Optional[Apache::OIDCSettings] $oidc_settings = undef, - Optional[Variant[Boolean,String]] $mdomain = undef, - Optional[Variant[String[1],Array[String[1]]]] $userdir = undef, + Optional[Variant[String,Boolean]] $modsec_audit_log = undef, + Optional[String] $modsec_audit_log_file = undef, + Optional[String] $modsec_audit_log_pipe = undef, + Variant[Array[Hash],String] $error_documents = [], + Optional[Variant[Stdlib::Absolutepath, Enum['disabled']]] $fallbackresource = undef, + Optional[String] $scriptalias = undef, + Array[Hash] $scriptaliases = [], + Optional[Integer] $limitreqfieldsize = undef, + Optional[Integer] $limitreqfields = undef, + Optional[Integer] $limitreqline = undef, + Optional[Integer] $limitreqbody = undef, + Optional[String] $proxy_dest = undef, + Optional[String] $proxy_dest_match = undef, + Optional[String] $proxy_dest_reverse_match = undef, + Optional[Variant[Array[Hash],Hash]] $proxy_pass = undef, + Optional[Variant[Array[Hash],Hash]] $proxy_pass_match = undef, + Boolean $proxy_requests = false, + String $suphp_addhandler = $apache::params::suphp_addhandler, + Enum['on', 'off'] $suphp_engine = $apache::params::suphp_engine, + Optional[String] $suphp_configpath = $apache::params::suphp_configpath, + Hash $php_flags = {}, + Hash $php_values = {}, + Variant[Array[String],Hash] $php_admin_flags = {}, + Variant[Array[String],Hash] $php_admin_values = {}, + Variant[Array[String],String] $no_proxy_uris = [], + Variant[Array[String],String] $no_proxy_uris_match = [], + Boolean $proxy_preserve_host = false, + Optional[Variant[String,Boolean]] $proxy_add_headers = undef, + Boolean $proxy_error_override = false, + Variant[String,Array[String]] $redirect_source = '/', + Optional[Variant[Array[String],String]] $redirect_dest = undef, + Optional[Variant[Array[String],String]] $redirect_status = undef, + Optional[Variant[Array[String],String]] $redirectmatch_status = undef, + Optional[Variant[Array[String],String]] $redirectmatch_regexp = undef, + Optional[Variant[Array[String],String]] $redirectmatch_dest = undef, + Optional[String] $headers = undef, + Optional[Array[String]] $request_headers = undef, + Optional[Array[String]] $filters = undef, + Optional[Array] $rewrites = undef, + Optional[String] $rewrite_base = undef, + Optional[Variant[Array[String],String]] $rewrite_rule = undef, + Optional[Variant[Array[String],String]] $rewrite_cond = undef, + Boolean $rewrite_inherit = false, + Variant[Array[String],String] $setenv = [], + Variant[Array[String],String] $setenvif = [], + Variant[Array[String],String] $setenvifnocase = [], + Variant[Array[String],String] $block = [], + Enum['absent', 'present'] $ensure = 'present', + Optional[String] $wsgi_application_group = undef, + Optional[Variant[String,Hash]] $wsgi_daemon_process = undef, + Optional[Hash] $wsgi_daemon_process_options = undef, + Optional[String] $wsgi_import_script = undef, + Optional[Hash] $wsgi_import_script_options = undef, + Optional[String] $wsgi_process_group = undef, + Optional[Hash] $wsgi_script_aliases_match = undef, + Optional[Hash] $wsgi_script_aliases = undef, + Optional[Enum['on', 'off', 'On', 'Off']] $wsgi_pass_authorization = undef, + Optional[Enum['On', 'Off']] $wsgi_chunked_request = undef, + Optional[String] $custom_fragment = undef, + Optional[Hash] $itk = undef, + Optional[String] $action = undef, + Optional[String] $fastcgi_server = undef, + Optional[String] $fastcgi_socket = undef, + Optional[String] $fastcgi_dir = undef, + Optional[Variant[Integer,String]] $fastcgi_idle_timeout = undef, + Variant[Array[String],String] $additional_includes = [], + Boolean $use_optional_includes = $apache::use_optional_includes, + Optional[String] $apache_version = $apache::apache_version, + Optional[Enum['on', 'off', 'nodecode']] $allow_encoded_slashes = undef, + Optional[Pattern[/^[\w-]+ [\w-]+$/]] $suexec_user_group = undef, + + Optional[Boolean] $h2_copy_files = undef, + Optional[Boolean] $h2_direct = undef, + Optional[Boolean] $h2_early_hints = undef, + Optional[Integer] $h2_max_session_streams = undef, + Optional[Boolean] $h2_modern_tls_only = undef, + Optional[Boolean] $h2_push = undef, + Optional[Integer] $h2_push_diary_size = undef, + Array[String] $h2_push_priority = [], + Array[String] $h2_push_resource = [], + Optional[Boolean] $h2_serialize_headers = undef, + Optional[Integer] $h2_stream_max_mem_size = undef, + Optional[Integer] $h2_tls_cool_down_secs = undef, + Optional[Integer] $h2_tls_warm_up_size = undef, + Optional[Boolean] $h2_upgrade = undef, + Optional[Integer] $h2_window_size = undef, + + Optional[Boolean] $passenger_enabled = undef, + Optional[String] $passenger_base_uri = undef, + Optional[Stdlib::Absolutepath] $passenger_ruby = undef, + Optional[Stdlib::Absolutepath] $passenger_python = undef, + Optional[Stdlib::Absolutepath] $passenger_nodejs = undef, + Optional[String] $passenger_meteor_app_settings = undef, + Optional[String] $passenger_app_env = undef, + Optional[Stdlib::Absolutepath] $passenger_app_root = undef, + Optional[String] $passenger_app_group_name = undef, + Optional[String] $passenger_app_start_command = undef, + Optional[Enum['meteor', 'node', 'rack', 'wsgi']] $passenger_app_type = undef, + Optional[String] $passenger_startup_file = undef, + Optional[String] $passenger_restart_dir = undef, + Optional[Enum['direct', 'smart']] $passenger_spawn_method = undef, + Optional[Boolean] $passenger_load_shell_envvars = undef, + Optional[Boolean] $passenger_preload_bundler = undef, + Optional[Boolean] $passenger_rolling_restarts = undef, + Optional[Boolean] $passenger_resist_deployment_errors = undef, + Optional[String] $passenger_user = undef, + Optional[String] $passenger_group = undef, + Optional[Boolean] $passenger_friendly_error_pages = undef, + Optional[Integer] $passenger_min_instances = undef, + Optional[Integer] $passenger_max_instances = undef, + Optional[Integer] $passenger_max_preloader_idle_time = undef, + Optional[Integer] $passenger_force_max_concurrent_requests_per_process = undef, + Optional[Integer] $passenger_start_timeout = undef, + Optional[Enum['process', 'thread']] $passenger_concurrency_model = undef, + Optional[Integer] $passenger_thread_count = undef, + Optional[Integer] $passenger_max_requests = undef, + Optional[Integer] $passenger_max_request_time = undef, + Optional[Integer] $passenger_memory_limit = undef, + Optional[Integer] $passenger_stat_throttle_rate = undef, + Optional[Variant[String,Array[String]]] $passenger_pre_start = undef, + Optional[Boolean] $passenger_high_performance = undef, + Optional[Boolean] $passenger_buffer_upload = undef, + Optional[Boolean] $passenger_buffer_response = undef, + Optional[Boolean] $passenger_error_override = undef, + Optional[Integer] $passenger_max_request_queue_size = undef, + Optional[Integer] $passenger_max_request_queue_time = undef, + Optional[Boolean] $passenger_sticky_sessions = undef, + Optional[String] $passenger_sticky_sessions_cookie_name = undef, + Optional[String] $passenger_sticky_sessions_cookie_attributes = undef, + Optional[Boolean] $passenger_allow_encoded_slashes = undef, + Optional[String] $passenger_app_log_file = undef, + Optional[Boolean] $passenger_debugger = undef, + Optional[Integer] $passenger_lve_min_uid = undef, + Optional[String] $add_default_charset = undef, + Boolean $modsec_disable_vhost = false, + Optional[Variant[Hash, Array]] $modsec_disable_ids = undef, + Optional[Array[String]] $modsec_disable_ips = undef, + Optional[Variant[Hash, Array]] $modsec_disable_msgs = undef, + Optional[Variant[Hash, Array]] $modsec_disable_tags = undef, + Optional[String] $modsec_body_limit = undef, + Optional[Array[Hash]] $jk_mounts = undef, + Boolean $auth_kerb = false, + Enum['on', 'off'] $krb_method_negotiate = 'on', + Enum['on', 'off'] $krb_method_k5passwd = 'on', + Enum['on', 'off'] $krb_authoritative = 'on', + Array[String] $krb_auth_realms = [], + Optional[String] $krb_5keytab = undef, + Optional[Enum['on', 'off']] $krb_local_user_mapping = undef, + Enum['on', 'off'] $krb_verify_kdc = 'on', + String $krb_servicename = 'HTTP', + Enum['on', 'off'] $krb_save_credentials = 'off', + Optional[Enum['on', 'off']] $keepalive = undef, + Optional[Variant[Integer,String]] $keepalive_timeout = undef, + Optional[Variant[Integer,String]] $max_keepalive_requests = undef, + Optional[String] $cas_attribute_prefix = undef, + Optional[String] $cas_attribute_delimiter = undef, + Optional[String] $cas_root_proxied_as = undef, + Boolean $cas_scrub_request_headers = false, + Boolean $cas_sso_enabled = false, + Optional[String] $cas_login_url = undef, + Optional[String] $cas_validate_url = undef, + Boolean $cas_validate_saml = false, + Optional[String] $cas_cookie_path = undef, + Optional[String] $shib_compat_valid_user = undef, + Optional[Enum['On', 'on', 'Off', 'off', 'DNS', 'dns']] $use_canonical_name = undef, + Optional[Variant[String,Array[String]]] $comment = undef, + Hash $define = {}, + Boolean $auth_oidc = false, + Optional[Apache::OIDCSettings] $oidc_settings = undef, + Optional[Variant[Boolean,String]] $mdomain = undef, + Optional[Variant[String[1],Array[String[1]]]] $userdir = undef, ) { # The base class must be included first because it is used by parameter defaults if ! defined(Class['apache']) { diff --git a/manifests/vhost/custom.pp b/manifests/vhost/custom.pp index 966f7bba54..3e6d261b08 100644 --- a/manifests/vhost/custom.pp +++ b/manifests/vhost/custom.pp @@ -16,10 +16,10 @@ # Specifies whether to validate the configuration file before notifying the Apache service. # define apache::vhost::custom ( - $content, - $ensure = 'present', - Variant[Integer,String,Boolean] $priority = '25', - $verify_config = true, + String $content, + String $ensure = 'present', + Variant[Integer,String] $priority = '25', + Boolean $verify_config = true, ) { include apache diff --git a/manifests/vhost/fragment.pp b/manifests/vhost/fragment.pp index 459839de0a..fa5ea36ab1 100644 --- a/manifests/vhost/fragment.pp +++ b/manifests/vhost/fragment.pp @@ -14,6 +14,9 @@ # @param order # The order to insert the fragment at # +# @param port +# The port to use +# # @example With a vhost without priority # include apache # apache::vhost { 'myvhost': @@ -55,10 +58,10 @@ # define apache::vhost::fragment ( String[1] $vhost, - Optional[Integer[0]] $port = undef, + Optional[Integer[0]] $port = undef, Optional[Variant[Integer,String,Boolean]] $priority = undef, - Optional[String] $content = undef, - Integer[0] $order = 900, + Optional[String] $content = undef, + Integer[0] $order = 900, ) { # This copies the logic from apache::vhost if $priority { diff --git a/manifests/vhosts.pp b/manifests/vhosts.pp index 6d0fcf27f2..a212a5c31a 100644 --- a/manifests/vhosts.pp +++ b/manifests/vhosts.pp @@ -19,7 +19,7 @@ # `apache::vhost` defined type's parameters. # class apache::vhosts ( - $vhosts = {}, + Hash $vhosts = {}, ) { include apache create_resources('apache::vhost', $vhosts)