diff --git a/google/manifests/init.pp b/google/manifests/init.pp index 81cd9e1..6c5a34c 100644 --- a/google/manifests/init.pp +++ b/google/manifests/init.pp @@ -16,7 +16,15 @@ class google::common { # Install Google Chrome browser. # -class google::chrome { +# == Parameters: +# +# $managed: +# Source for managed profile settings, defaults to none. +# +# $recommended: +# Source for recommended profile settings, defaults to none. +# +class google::chrome($managed=undef, $recommended=undef) { include google::common package { "google-chrome-beta": @@ -24,6 +32,49 @@ class google::chrome { require => Class["google::common"], } + if $managed or $recommended { + file { [ "/etc/opt", "/etc/opt/chrome", "/etc/opt/chrome/policies", ]: + ensure => directory, + mode => "0755", + owner => "root", + group => "root", + } + if $managed { + file { "/etc/opt/chrome/policies/managed": + ensure => directory, + mode => "0755", + owner => "root", + group => "root", + require => File["/etc/opt/chrome/policies"], + } + file { "/etc/opt/chrome/policies/managed/defaults.json": + ensure => present, + source => $managed, + mode => "0644", + owner => "root", + group => "root", + require => File["/etc/opt/chrome/policies/managed"], + } + } + if $recommended { + file { "/etc/opt/chrome/policies/recommended": + ensure => directory, + mode => "0755", + owner => "root", + group => "root", + require => File["/etc/opt/chrome/policies"], + } + file { "/etc/opt/chrome/policies/recommended/defaults.json": + ensure => present, + source => $recommended, + mode => "0644", + owner => "root", + group => "root", + require => File["/etc/opt/chrome/policies/recommended"], + } + } + } + }