puppetlabs/puppetlabs-apache — pull request #818 by smerrill (2014-08-13 20:39:14+00:00)
Title: Allow other manifests to define ::apache::mod{ 'ssl': }.

This will allow Apache from the httpd24 SCL on RHELish systems to include the proper mod_ssl package while still letting SSL-enabled `::apache::vhost` defines work as expected.

puppetlabs-apache works quite well with the RHEL/CentOS SCLs, like so:

```puppet
softwarecollectionsorg { 'httpd24': }
class { '::apache':
service_name => 'httpd24-httpd',
apache_version => '2.4',
mpm_module => 'event',
httpd_dir => '/opt/rh/httpd24/root/etc/httpd',
vhost_dir => '/opt/rh/httpd24/root/etc/httpd/conf.d',
require => Softwarecollectionsorg['httpd24'],
}
```

That said, its mod_ssl package is named httpd24-mod_ssl. This can also be worked around on its own:

```puppet
apache::mod { 'ssl':
package => 'httpd24-mod_ssl',
require => Softwarecollectionsorg['httpd24'],
}
```

When an `apache::vhost` is instantiated with the SSL parameter set to true, however, it will include `::apache::mod::ssl`, which happens to instantiate `::apache::mod { 'ssl': }` without any parameters. This PR allows the details of which package to use for `::apache::mod { 'ssl': }` to be defined and still allow SSL-enabled `::apache::vhost` defines to work.