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
|
# File 'manifests/browsers/chrome.pp', line 7
class software::browsers::chrome (
$ensure = $software::params::software_ensure,
$url = $software::params::chrome_url,
$channel = $software::params::chrome_channel,
) inherits software::params {
case $facts['os']['name'] {
'Darwin': {
package { 'google-chrome':
ensure => $ensure,
provider => brewcask,
}
}
'Debian', 'Ubuntu': {
assert_type(Stdlib::HTTPUrl, $url)
assert_type(String[1], $channel)
$apt_source_ensure = $ensure ? {
'installed' => present,
'latest' => present,
default => $ensure,
}
include '::apt'
apt::source { 'google-chrome':
ensure => $apt_source_ensure,
location => $url,
release => 'stable',
repos => 'main',
key => {
'id' => '4CCA1EAF950CEE4AB83976DCA040830F7FAC5991',
'source' => 'https://dl.google.com/linux/linux_signing_key.pub',
},
architecture => 'amd64',
}
-> Class['apt::update']
-> package { "google-chrome-${channel}":
ensure => $ensure,
}
}
'windows': {
package { 'googlechrome':
ensure => $ensure,
provider => chocolatey,
}
}
default: {
fail("The ${name} class is not supported on ${facts['os']['name']}.")
}
}
}
|