4 # Manages archive modules dependencies.
9 # * seven_zip_name: 7zip package name.
10 # * seven_zip_provider: 7zip package provider (accepts windows/chocolatey).
11 # * seven_zip_source: alternative package source.
12 # * aws_cli_install: install aws cli command (default: false).
18 # seven_zip_name => '7-Zip 9.20 (x64 edition)',
19 # seven_zip_source => 'C:/Windows/Temp/7z920-x64.msi',
20 # seven_zip_provider => 'windows',
24 Optional[String] $seven_zip_name = $archive::params::seven_zip_name,
25 Optional[String] $seven_zip_provider = $archive::params::seven_zip_provider,
26 Optional[String] $seven_zip_source = undef,
27 Boolean $aws_cli_install = false,
28 ) inherits archive::params {
30 if $facts['os']['family'] == 'Windows' and !($seven_zip_provider in ['', undef]) {
33 name => $seven_zip_name,
34 source => $seven_zip_source,
35 provider => $seven_zip_provider,
40 # TODO: Windows support.
41 if $facts['os']['family'] != 'Windows' {
42 # Using bundled install option:
43 # http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-bundle-other-os
45 file { '/opt/awscli-bundle':
46 ensure => 'directory',
49 archive { 'awscli-bundle.zip':
51 path => '/opt/awscli-bundle/awscli-bundle.zip',
52 source => 'https://s3.amazonaws.com/aws-cli/awscli-bundle.zip',
54 extract_path => '/opt',
55 creates => '/opt/awscli-bundle/install',
59 exec { 'install_aws_cli':
60 command => '/opt/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws',
62 subscribe => Archive['awscli-bundle.zip'],