Forge Home

download_file

A module that will download files for use on Windows servers. Requires the server to have PowerShell 2.0 and above

12,070 downloads

10,163 latest version

3.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 1.5.2 (latest)
  • 1.4.4
  • 1.4.3
  • 1.4.1
  • 1.4.0
  • 1.3.1
  • 1.2.3
  • 1.2.2
  • 1.2.1
released Jan 22nd 2015
This version is compatible with:

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'dna-download_file', '1.5.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add dna-download_file
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install dna-download_file --version 1.5.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

dna/download_file — version 1.5.2 Jan 22nd 2015

Brood Travis License Github Issues Github Release

dna-download_file

####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 download_file
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

##Overview The download_file module allows you to download files on Windows

##Module Description

The download_file module introduced a small define download_file that will allow you to download a file over http(s) for usage during an installation. This was created because the package resource does not support http as a source for packages. It is only supported on Windows.

##Setup ###What download_file affects

  • Downloads files onto each node

###Setup Requirements

  • download_file makes use of Powershell so you will need to have at least version 2.0 installed in order to use this module.

##Begining

To download dotnet 4.0

    download_file { "Download dotnet 4.0" :
      url                   => 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe',
      destination_directory => 'c:\temp'
    }

To download dotnet 4.0 using a proxy

    download_file { "Download dotnet 4.0" :
      url                   => 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe',
      destination_directory => 'c:\temp',
      proxyAddress          => 'http://corporateproxy.net:8080'
    }

The proxy will be used as part of the download using PowerShell. This does not set a system wide proxy

##Usage

###Classes and Defined Types

####Defined Type: download_file

Parameters within download_file: #####url The http(s) destination of the file that you are looking to download

#####destination_directory The full path to the directory on the system where the file will be downloaded to

#####destination_file The optional name of the file to download onto the system.

#####proxy_address The optional http proxy address to use when downloading the file

#####proxy_user The optional http proxy user to use when downloading the file. proxy_address and proxy_password must be specified or this has no effect.

#####proxy_password The optional http proxy password to use when downloading the file. proxy_address and proxy_user must be specified or this has no effect. By default this value accepts secure strings. A secure string is (unfortunately) tied to the machine that it is ued for. To generate a secure string for a given machine, users should run the following powershell command on that machine (replacing PASSWORD with the desired password):

ConvertFrom-SecureString -securestring $(ConvertTo-SecureString "PASSWORD" -AsPlainText -Force)

It is possible to get this information then clear the command from history, but it's important to note that the -Force argument is there to suppress warnings that the plaintext password is in the history.

If this process sounds unappealing, you can send the password in plaintext (which sits in the download-.ps1 file on the machine being provisioned) by changing the is_password_secure variable to false.

#####is_password_secure The optional switch to change the way that proxy_password is interpreted from secure string to plaintext. This will send the password in plaintext to the machine being provisioned, which may be a security concern.

##Reference

###Defined Types ####Public Types

##Limitations

This module is tested on the following platforms:

  • Windows 2008
  • Windows 2008 R2
  • Windows 2012
  • Windows 2012 R2
  • Windows 7
  • Windows 8

It is tested with the OSS version of Puppet only.

###Contributing

Please read CONTRIBUTING.md for full details on contributing to this project.