Puppet Class: cassandra::java

Inherits:
cassandra::params
Defined in:
manifests/java.pp

Overview

A class to install Java and JNA packages.

Parameters:

  • aptkey (hash) (defaults to: undef)

    If supplied, this should be a hash of ‘apt::key` resources that will be passed to the create_resources function. This is ignored on non-Debian systems.

  • aptsource (hash) (defaults to: undef)

    If supplied, this should be a hash of ‘apt::source` resources that will be passed to the create_resources function. This is ignored on non-Red Hat`

  • jna_ensure (string) (defaults to: present)

    Is passed to the package reference for the JNA package. Valid values are ‘present` or a version number.

  • jna_package_name (string) (defaults to: $cassandra::params::jna_package_name)

    The name of the JNA package.

  • package_ensure (string) (defaults to: present)

    Is passed to the package reference for the JRE/JDK package. Valid values are ‘present` or a version number.

  • package_name (string) (defaults to: $cassandra::params::java_package)

    The name of the Java package to be installed.

  • yumrepo (hash) (defaults to: undef)

    If supplied, this should be a hash of yumrepo resources that will be passed to the create_resources function. This is ignored on non-Red Hat systems.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'manifests/java.pp', line 17

class cassandra::java (
  $aptkey           = undef,
  $aptsource        = undef,
  $jna_ensure       = present,
  $jna_package_name = $cassandra::params::jna_package_name,
  $package_ensure   = present,
  $package_name     = $cassandra::params::java_package,
  $yumrepo          = undef,
) inherits cassandra::params {
  if $facts['os']['family'] == 'RedHat' and $yumrepo != undef {
    $yumrepo_defaults = {
      'before' => Package[$package_name],
    }

    create_resources(yumrepo, $yumrepo, $yumrepo_defaults)
  }

  if $facts['os']['family'] == 'Debian' {
    if $aptkey != undef {
      $aptkey_defaults = {
        'before' => Package[$package_name],
      }

      include apt
      create_resources(apt::key, $aptkey, $aptkey_defaults)
    }

    if $aptsource != undef {
      exec { 'cassandra::java::apt_update':
        refreshonly => true,
        command     => '/bin/true',
        require     => Exec['apt_update'],
        before      => Package[$package_name],
      }

      $aptsource_defaults = {
        'notify' => Exec['cassandra::java::apt_update'],
      }

      create_resources(apt::source, $aptsource, $aptsource_defaults)
    }
  }

  package { $package_name:
    ensure => $package_ensure,
  }

  package { $jna_package_name:
    ensure => $jna_ensure,
  }
}