Merge pull request #2 from puppetlabs/cve-2018-6508
[puppet-modules/puppetlabs-apt.git] / tasks / init.rb
1 #!/opt/puppetlabs/puppet/bin/ruby
2 require 'json'
3 require 'open3'
4 require 'puppet'
5
6 def apt_get(action)
7   cmd = ['apt-get', action]
8   cmd << ' -y' if action == 'upgrade'
9   stdout, stderr, status = Open3.capture3(*cmd)
10   raise Puppet::Error, stderr if status != 0
11   { status: stdout.strip }
12 end
13
14 params = JSON.parse(STDIN.read)
15 action = params['action']
16
17 begin
18   result = apt_get(action)
19   puts result.to_json
20   exit 0
21 rescue Puppet::Error => e
22   puts({ status: 'failure', error: e.message }.to_json)
23   exit 1
24 end