Puppet Class: software::storage::drive

Inherits:
software::params
Defined in:
manifests/storage/drive.pp

Overview

Parameters:

  • ensure (Any) (defaults to: $software::params::software_ensure)
  • url (Any) (defaults to: $software::params::drive_url)


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
# File 'manifests/storage/drive.pp', line 11

class software::storage::drive (
  $ensure = $software::params::software_ensure,
  $url    = $software::params::drive_url,
) inherits software::params {

  validate_string($ensure)

  case $::operatingsystem {
    'Darwin': {
      validate_string($url)

      package { 'GoogleDrive':
        ensure   => $ensure,
        provider => appdmg,
        source   => $url,
      }
    }
    'Ubuntu': {
      $apt_ppa_ensure = $ensure ? {
        'installed' => present,
        'latest'    => present,
        default     => $ensure,
      }

      include '::apt'
      apt::ppa { 'ppa:twodopeshaggy/drive':
        ensure         => $apt_ppa_ensure,
        package_manage => true,
      } -> Class['apt::update'] ->

      package { 'drive':
        ensure => $ensure,
      }
    }
    'windows': {
      package { 'googledrive':
        ensure   => $ensure,
        provider => chocolatey,
      }
    }
    default: {
      fail("The ${name} class is not supported on ${::operatingsystem}.")
    }
  }

}