Puppet Class: psick::openvpn

Defined in:
manifests/openvpn.pp

Overview

Parameters:

  • ensure (Variant[Boolean,String]) (defaults to: 'present')
  • module (Enum['psick','openvpn']) (defaults to: 'psick')
  • 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: {})


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
# File 'manifests/openvpn.pp', line 3

class psick::openvpn (

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

  # 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 = {},
) {

  # Intallation management
  case $module {
    'psick': {
      contain ::psick::openvpn::tp
      $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,
        }
      }
    }
  }

}