Documentation

win_get_url - Downloads file from HTTP, HTTPS, or FTP to node

New in version 1.7.

Synopsis

  • Downloads files from HTTP, HTTPS, or FTP to the remote server. The remote server must have direct access to the remote resource.
  • For non-Windows targets, use the get_url module instead.

Parameters

Parameter Choices/Defaults Comments
dest
path

required
The location to save the file at the URL.
Be sure to include a filename and extension as appropriate.
force
bool

(added in 2.0)
    Choices:
  • no
  • yes ←
If yes, will always download the file. If no, will only download the file if it does not exist or the remote file has been modified more recently than the local file.
This works by sending an http HEAD request to retrieve last modified time of the requested resource, so for this to work, the remote web server must support HEAD requests.
force_basic_auth
bool

(added in 2.5)
    Choices:
  • no ←
  • yes
If yes, will add a Basic authentication header on the initial request.
If no, will use Microsoft's WebClient to handle authentication.
headers
dict

(added in 2.4)
Add custom HTTP headers to a request (as a dictionary).
proxy_password
(added in 2.0)
Proxy authentication password.
proxy_url
(added in 2.0)
The full URL of the proxy server to download through.
proxy_username
(added in 2.0)
Proxy authentication username.
skip_certificate_validation
bool
    Choices:
  • no ←
  • yes
This option is deprecated since v2.4, please use validate_certs instead.
If yes, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
timeout
int

(added in 2.4)
Default:
10
Timeout in seconds for URL request.
url
required
The full URL of a file to download.
url_password
Basic authentication password.

aliases: password
url_username
Basic authentication username.

aliases: username
use_proxy
bool

(added in 2.4)
    Choices:
  • no
  • yes ←
If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.
validate_certs
bool

(added in 2.4)
    Choices:
  • no
  • yes ←
If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
If skip_certificate_validation was set, it overrides this option.

Examples

- name: Download earthrise.jpg to specified path
  win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg

- name: Download earthrise.jpg to specified path only if modified
  win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg
    force: no

- name: Download earthrise.jpg to specified path through a proxy server.
  win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg
    proxy_url: http://10.0.0.1:8080
    proxy_username: username
    proxy_password: password

- name: Download file from FTP with authentication
  win_get_url:
    url: ftp://server/file.txt
    dest: '%TEMP%\ftp-file.txt'
    url_username: ftp-user
    url_password: ftp-password

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
dest
string
always
destination file/path

Sample:
C:\Users\RandomUser\earthrise.jpg
msg
string
always
Error message, or HTTP status message from web-server

Sample:
OK
status_code
int
always
HTTP status code

Sample:
200
url
string
always
requested url

Sample:
http://www.example.com/earthrise.jpg


Status

This module is flagged as stableinterface which means that the maintainers for this module guarantee that no backward incompatible interface changes will be made.

Maintenance

This module is flagged as core which means that it is maintained by the Ansible Core Team. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Core Team, see here.

Support

For more information about Red Hat’s support of this module, please refer to this Knowledge Base article

Author

  • Paul Durivage (@angstwad)
  • Takeshi Kuramochi (@tksarah)

Hint

If you notice any issues in this documentation you can edit this document to improve it.