fetch 2.27 KB
Newer Older
1
# this is a virtual module that is entirely implemented server side
2 3 4 5 6 7 8 9

DOCUMENTATION = '''
---
module: fetch
short_description: Fetches a file from remote nodes
description:
     - This module works like M(copy), but in reverse. It is used for fetching
       files from remote machines and storing them locally in a file tree,
James Martin committed
10
       organized by hostname. Note that this module is written to transfer
11 12
       log files that might not be present, so a missing remote file won't
       be an error unless fail_on_missing is set to 'yes'.
13
version_added: "0.2"
14 15 16
options:
  src:
    description:
Jan-Piet Mens committed
17
      - The file on the remote system to fetch. This I(must) be a file, not a
18 19 20 21 22 23 24
        directory. Recursive fetching may be supported in a later release.
    required: true
    default: null
    aliases: []
  dest:
    description:
      - A directory to save the file into. For example, if the I(dest)
Jan-Piet Mens committed
25
        directory is C(/backup) a I(src) file named C(/etc/profile) on host
26 27 28 29
        C(host.example.com), would be saved into
        C(/backup/host.example.com/etc/profile)
    required: true
    default: null
30
  fail_on_missing:
31
    version_added: "1.1"
32
    description:
33
      - Makes it fails when the source file is missing.
34 35 36
    required: false
    choices: [ "yes", "no" ]
    default: "no"
37
  validate_md5:
38
    version_added: "1.4"
39
    description:
40
      - Verify that the source and destination md5sums match after the files are fetched.
41 42
    required: false
    choices: [ "yes", "no" ]
43
    default: "yes"
James Martin committed
44 45 46 47 48
  flat:
    version_added: "1.2"
    description:
      Allows you to override the default behavior of prepending hostname/path/to/file to
      the destination.  If dest ends with '/', it will use the basename of the source
Ben Podoll committed
49
      file, similar to the copy module.  Obviously this is only handy if the filenames
50
      are unique.
51 52 53
requirements: []
author: Michael DeHaan
'''
54 55 56

EXAMPLES = '''
# Store file into /tmp/fetched/host.example.com/tmp/somefile
57
- fetch: src=/tmp/somefile dest=/tmp/fetched
58 59

# Specifying a path directly
60
- fetch: src=/tmp/somefile dest=/tmp/prefix-{{ ansible_hostname }} flat=yes
61 62

# Specifying a destination path
63
- fetch: src=/tmp/uniquefile dest=/tmp/special/ flat=yes
64 65

# Storing in a path relative to the playbook
66
- fetch: src=/tmp/uniquefile dest=special/prefix-{{ ansible_hostname }} flat=yes
67
'''