Puppet Class: modern_shell_tools::install::jc

Defined in:
manifests/install/jc.pp

Summary

jc converts the output of many commands and file-types to JSON

Overview

Examples:

include modern_shell_tools::install::jc

Parameters:

  • arch (String[1]) (defaults to: 'x86_64')
  • build (String[1]) (defaults to: 'linux')
  • version (String[1]) (defaults to: '1.20.0')
  • archive_name (String[1]) (defaults to: "jc-${version}-${build}-${arch}.tar.gz")
  • install_path (Stdlib::Absolutepath) (defaults to: "/opt/mst/jc-${version}")
  • bin_path (Stdlib::Absolutepath) (defaults to: '/usr/local/sbin')
  • create_path (Stdlib::Absolutepath) (defaults to: "${install_path}/jc")


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
# File 'manifests/install/jc.pp', line 14

class modern_shell_tools::install::jc (
  String[1] $arch                    = 'x86_64',
  String[1] $build                   = 'linux',
  String[1] $version                 = '1.20.0',
  String[1] $archive_name            = "jc-${version}-${build}-${arch}.tar.gz",
  Stdlib::Absolutepath $install_path = "/opt/mst/jc-${version}",
  Stdlib::Absolutepath $bin_path     = '/usr/local/sbin',
  Stdlib::Absolutepath $create_path  = "${install_path}/jc",
) {
  include modern_shell_tools::install

  file { $install_path:
    ensure => directory,
  }

  -> archive { $archive_name:
    path         => "/tmp/${archive_name}",
    source       => "https://github.com/kellyjonbrazil/jc/releases/download/v${version}/${archive_name}",
    extract      => true,
    extract_path => $install_path,
    creates      => $create_path,
    cleanup      => false,
  }

  -> file { "${bin_path}/jc":
    ensure => link,
    target => $create_path,
  }
}