Puppet Class: psick::openvpn

Defined in:
manifests/openvpn.pp

Overview

Parameters:

  • ensure (Variant[Boolean,String]) (defaults to: 'present')
  • module (Enum['tp_profile','openvpn']) (defaults to: 'tp_profile')
  • connections (Hash) (defaults to: {})
  • deploy_exports (Hash) (defaults to: {})
  • deploy_clients (Hash) (defaults to: {})
  • ca_hash (Hash) (defaults to: {})
  • ca_defaults (Hash) (defaults to: {})
  • server_hash (Hash) (defaults to: {})
  • server_defaults (Hash) (defaults to: {})
  • revoke_hash (Hash) (defaults to: {})
  • revoke_defaults (Hash) (defaults to: {})
  • client_hash (Hash) (defaults to: {})
  • client_defaults (Hash) (defaults to: {})
  • client_specific_config_hash (Hash) (defaults to: {})
  • client_specific_config_defaults (Hash) (defaults to: {})
  • deploy_client_hash (Hash) (defaults to: {})
  • deploy_client_defaults (Hash) (defaults to: {})
  • deploy_export_hash (Hash) (defaults to: {})
  • deploy_export_defaults (Hash) (defaults to: {})
  • manage (Boolean) (defaults to: $::psick::manage)
  • noop_manage (Boolean) (defaults to: $::psick::noop_manage)
  • noop_value (Boolean) (defaults to: $::psick::noop_value)


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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'manifests/openvpn.pp', line 3

class psick::openvpn (

  Variant[Boolean,String]    $ensure         = 'present',
  Enum['tp_profile','openvpn'] $module       = 'tp_profile',

  # Used with module = psick
  Hash                       $connections    = {},
  Hash                       $deploy_exports = {},
  Hash                       $deploy_clients = {},

  # Used with module = openvpn (vopupuli one as reference)
  Hash                              $ca_hash = {},
  Hash                          $ca_defaults = {},

  Hash                          $server_hash = {},
  Hash                      $server_defaults = {},

  Hash                          $revoke_hash = {},
  Hash                      $revoke_defaults = {},

  Hash                          $client_hash = {},
  Hash                      $client_defaults = {},

  Hash          $client_specific_config_hash = {},
  Hash      $client_specific_config_defaults = {},

  Hash                   $deploy_client_hash = {},
  Hash               $deploy_client_defaults = {},

  Hash                   $deploy_export_hash = {},
  Hash               $deploy_export_defaults = {},

  Boolean              $manage               = $::psick::manage,
  Boolean              $noop_manage          = $::psick::noop_manage,
  Boolean              $noop_value           = $::psick::noop_value,

) {

  if $manage {
    if $noop_manage {
      noop($noop_value)
    }

    case $module {
      'tp_profile': {
        contain ::tp_profile::openvpn
        $connections.each |$k,$v| {
          psick::openvpn::connection { $k:
            * => $v,
          }
        }
      }
      default: {
        $deploy_exports.each |$k,$v| {
          openvpn::deploy::export { $k:
            * => $v,
          }
        }
        $deploy_clients.each |$k,$v| {
          openvpn::deploy::client { $k:
            * => $v,
          }
        }
        contain ::openvpn
        $ca_hash.each |$k,$v| {
          openvpn::ca { $k:
            * => $ca_defaults + $v,
          }
        }
        $server_hash.each |$k,$v| {
          openvpn::server { $k:
            * => $server_defaults + $v,
          }
        }
        $revoke_hash.each |$k,$v| {
          openvpn::revoke { $k:
            * => $revoke_defaults + $v,
          }
        }
        $client_hash.each |$k,$v| {
          openvpn::client { $k:
            * => $client_defaults + $v,
          }
        }
        $client_specific_config_hash.each |$k,$v| {
          openvpn::client_specific_configs { $k:
            * => $client_specific_config_defaults + $v,
          }
        }
        $deploy_client_hash.each |$k,$v| {
          openvpn::deploy::client { $k:
            * => $deploy_client_defaults + $v,
          }
        }
        $deploy_export_hash.each |$k,$v| {
          openvpn::deploy::export { $k:
            * => $deploy_export_defaults + $v,
          }
        }
      }
    }
  }
}