# == Define: openvpn::client_specific_config # # This define configures options which will be pushed by the server to a # specific client only. # http://openvpn.net/index.php/open-source/documentation/howto.html#policy # # === Parameters # # [*server*] # String. Name of the corresponding openvpn endpoint # Required # # [*iroute*] # Array. Array of iroute combinations. # Default: [] # # [*ifconfig*] # String. IP configuration to push to the client. # Default: false # # [*dhcp_options] # Array. DHCP options to push to the client. # Default: [] # # # === Examples # # openvpn::client_specific_config { # 'vpn_client': # server => 'contractors', # iroute => ['10.0.1.0 255.255.255.0'], # ifconfig => '10.10.10.2 255.255.255.0', # dhcp_options => ['DNS 8.8.8.8'] # } # # * Removal: # Manual process right now, todo for the future # # # === Authors # # * Raffael Schmid # define openvpn::client_specific_config( $server, $iroute = [], $ifconfig = false, $dhcp_options = [] ) { Openvpn::Server[$server] -> Openvpn::Client[$name] -> Openvpn::Client_specific_config[$name] file { "/etc/openvpn/${server}/client-configs/${name}": ensure => present, content => template('openvpn/client_specific_config.erb') } }