Installs the AWS CLI version 2

University of Maryland



1,036 latest version

4.1 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.0
released Jul 14th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • RedHat

Start using this module


umd/awscli2 — version 0.2.0 Jul 14th 2020

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with awscli2
  4. Usage - Configuration options and additional functionality
  5. Limitations - OS compatibility, etc.


This module installs (or upgrades, or un-installs) the AWS CLI v2. Redhat has dropped the AWS CLI v1 from its repositories, and AWS has packaged up v2 of the CLI with all dependencies included (but not packaged it as an RPM).

Module Description

This module, by default, will place symlinks in /usr/bin (rather than the AWS default of /usr/local/bin. This was chosen because the previous AWS CLI command (provided by redhat) was installed into that location, and we do not want to break any scripts that do not have /usr/local/bin in their path or may have hard-coded /usr/bin/aws.

This module requires the manual specification of the version of the CLI to install. This was done to prevent having to download the latest zip file from AWS on every puppet run just to see if it has been updated. This module will remove older versions after a successful upgrade to keep disk space down.

This module delivers a custom fact (umd_awscliv2_version) which is used to determine if an upgrade or clean install is needed (it will do nothing if the requested version is already installed).

This module is not a complete replacement for a package management system, and it is possible for it to fail to un-install older versions on upgrade or absent. In particular, the currently installed version fact is based on the current value of $bin_path, and changing this parameter after an install has happened will leave the previous installation abandoned.


What awscli2 affects

  • By default, it will install the CLI into /usr/local/aws-cli.
  • By default, it will symlink binaries (aws, aws_completer) into /usr/bin.


Include the awscli2 class and define the following parameters as required:

Required Parameters

  • version: The version of the CLI to install

Optional Parameters

  • ensure: Set to absent to un-install the AWS CLI.
  • install_dir: Path to install the CLI into. Defaults to /usr/local/aws-cli.
  • bin_dir: Path to create symlinks to binaries. Defaults to /usr/bin.


  - awscli2
awscli2::version: '2.0.28'