+++ /dev/null
-# Class: archive
-# ==============
-#
-# Manages archive modules dependencies.
-#
-# Parameters
-# ----------
-#
-# * seven_zip_name: 7zip package name.
-# * seven_zip_provider: 7zip package provider (accepts windows/chocolatey).
-# * seven_zip_source: alternative package source.
-# * aws_cli_install: install aws cli command (default: false).
-#
-# Examples
-# --------
-#
-# class { 'archive':
-# seven_zip_name => '7-Zip 9.20 (x64 edition)',
-# seven_zip_source => 'C:/Windows/Temp/7z920-x64.msi',
-# seven_zip_provider => 'windows',
-# }
-#
-class archive (
- Optional[String] $seven_zip_name = $archive::params::seven_zip_name,
- Optional[String] $seven_zip_provider = $archive::params::seven_zip_provider,
- Optional[String] $seven_zip_source = undef,
- Boolean $aws_cli_install = false,
-) inherits archive::params {
-
- if $facts['os']['family'] == 'Windows' and !($seven_zip_provider in ['', undef]) {
- package { '7zip':
- ensure => present,
- name => $seven_zip_name,
- source => $seven_zip_source,
- provider => $seven_zip_provider,
- }
- }
-
- if $aws_cli_install {
- # TODO: Windows support.
- if $facts['os']['family'] != 'Windows' {
- # Using bundled install option:
- # http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-bundle-other-os
-
- file { '/opt/awscli-bundle':
- ensure => 'directory',
- }
-
- archive { 'awscli-bundle.zip':
- ensure => present,
- path => '/opt/awscli-bundle/awscli-bundle.zip',
- source => 'https://s3.amazonaws.com/aws-cli/awscli-bundle.zip',
- extract => true,
- extract_path => '/opt',
- creates => '/opt/awscli-bundle/install',
- cleanup => true,
- }
-
- exec { 'install_aws_cli':
- command => '/opt/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws',
- refreshonly => true,
- subscribe => Archive['awscli-bundle.zip'],
- }
- }
- }
-}