Puppet Class: dynatrace::role::java_agent

Inherits:
dynatrace
Defined in:
manifests/role/java_agent.pp

Overview

java_agent

Parameters:

  • ensure (Any) (defaults to: 'present')
  • role_name (Any) (defaults to: 'Dynatrace Java Agent')
  • env_var_name (Any) (defaults to: $dynatrace::java_agent_env_var_name)
  • env_var_file_name (Any) (defaults to: $dynatrace::java_agent_env_var_file_name)
  • agent_name (Any) (defaults to: $dynatrace::java_agent_name)
  • collector_hostname (Any) (defaults to: $dynatrace::java_agent_collector_hostname)
  • collector_port (Any) (defaults to: $dynatrace::java_agent_collector_port)
  • java_agent_linux_agent_path (Any) (defaults to: $dynatrace::java_agent_linux_agent_path)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'manifests/role/java_agent.pp', line 2

class dynatrace::role::java_agent (

  $ensure             = 'present',
  $role_name          = 'Dynatrace Java Agent',
  $env_var_name       = $dynatrace::java_agent_env_var_name,
  $env_var_file_name  = $dynatrace::java_agent_env_var_file_name,
  $agent_name         = $dynatrace::java_agent_name,
  $collector_hostname = $dynatrace::java_agent_collector_hostname,
  $collector_port     = $dynatrace::java_agent_collector_port,
  $java_agent_linux_agent_path = $dynatrace::java_agent_linux_agent_path
) inherits dynatrace {

  validate_re($ensure, ['^present$', '^absent$'])
  validate_string($env_var_name, $env_var_file_name)
  validate_string($agent_name, $collector_hostname, $collector_port)

  case $::kernel {
    'Linux': {
      $agent_path = $dynatrace::java_agent_linux_agent_path
    }
    default: {}
  }

  file { $env_var_file_name :
    ensure => file,
  }

  file_line { "Inject the ${role_name} into ${env_var_file_name}":
    ensure => $ensure,
    path   => $env_var_file_name,
    line   => "export ${env_var_name}=\"$${env_var_name} -agentpath:${agent_path}=name=${agent_name},collector=${collector_hostname}:${collector_port}\"",
    match  => '^.+-agentpath:.+'
  }
}