1 #!/opt/puppetlabs/puppet/bin/ruby
2 # frozen_string_literal: true
9 cmd = ['apt-get', action]
10 cmd << '-y' if ['upgrade', 'dist-upgrade', 'autoremove'].include?(action)
11 stdout, stderr, status = Open3.capture3(*cmd)
12 raise Puppet::Error, stderr if status != 0
13 { status: stdout.strip }
16 params = JSON.parse(STDIN.read)
17 action = params['action']
20 result = apt_get(action)
23 rescue Puppet::Error => e
24 puts({ status: 'failure', error: e.message }.to_json)