## Modules Documentation

Starting with the snippet view, you can create your task from pre-formatted scratch.

Ansible Terminal

     ansible-doc copy -s

    - name: Copies files to remote locations
      copy:
          attributes:            # Attributes the file or directory should have. To get supported flags look at the man page for `chattr' on the target system. This string
                                   should contain the attributes in the same order as the one displayed by `lsattr'.
          backup:                # Create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly.
          checksum:              # SHA1 checksum of the file being transferred. Used to validate that the copy of the file was successful. If this is not provided, ansible
                                   will use the local calculated checksum of the src file.
          content:               # When used instead of `src', sets the contents of a file directly to the specified value. For anything advanced or with formatting also
                                   look at the template module.
          decrypt:               # This option controls the autodecryption of source files using vault.
          dest:                  # (required) Remote absolute path where the file should be copied to. If `src' is a directory, this must be a directory too. If `dest' is a
                                   nonexistent path and if either `dest' ends with "/" or `src' is a directory, `dest' is created. If `src'
                                   and `dest' are files, the parent directory of `dest' isn't created: the task fails if it doesn't already
                                   exist.
          directory_mode:        # When doing a recursive copy set the mode for the directories. If this is not set we will use the system defaults. The mode is only set on
                                   directories which are newly created, and will not affect those that already existed.
          follow:                # This flag indicates that filesystem links in the destination, if they exist, should be followed.
          force:                 # the default is `yes', which will replace the remote file when contents are different than the source. If `no', the file will only be
                                   transferred if the destination does not exist.
          group:                 # Name of the group that should own the file/directory, as would be fed to `chown'.
          local_follow:          # This flag indicates that filesystem links in the source tree, if they exist, should be followed.
          mode:                  # Mode the file or directory should be. For those used to `/usr/bin/chmod' remember that modes are actually octal numbers.  You must either
                                   specify the leading zero so that Ansible's YAML parser knows it is an octal number (like `0644' or
                                   `01777') or quote it (like `'644'' or `'0644'' so Ansible receives a string and can do its own conversion
                                   from string into number.  Giving Ansible a number without following one of these rules will end up with a
                                   decimal number which will have unexpected results.  As of version 1.8, the mode may be specified as a
                                   symbolic mode (for example, `u+rwx' or `u=rw,g=r,o=r').  As of version 2.3, the mode may also be the
                                   special string `preserve'.  `preserve' means that the file will be given the same permissions as the
                                   source file.
          owner:                 # Name of the user that should own the file/directory, as would be fed to `chown'.
          remote_src:            # If `no', it will search for `src' at originating/master machine. If `yes' it will go to the remote/target machine for the `src'. Default
                                   is `no'. Currently `remote_src' does not support recursive copying. `remote_src' only works with
                                   `mode=preserve' as of version 2.6.
          selevel:               # Level part of the SELinux file context. This is the MLS/MCS attribute, sometimes known as the `range'. `_default' feature works as for
                                   `seuser'.
          serole:                # Role part of SELinux file context, `_default' feature works as for `seuser'.
          setype:                # Type part of SELinux file context, `_default' feature works as for `seuser'.
          seuser:                # User part of SELinux file context. Will default to system policy, if applicable. If set to `_default', it will use the `user' portion of
                                   the policy if available.
          src:                   # Local path to a file to copy to the remote server; can be absolute or relative. If path is a directory, it is copied recursively. In this
                                   case, if path ends with "/", only inside contents of that directory are copied to destination. Otherwise,
                                   if it does not end with "/", the directory itself with all contents is copied. This behavior is similar to
                                   Rsync.
          unsafe_writes:         # Normally this module uses atomic operations to prevent data corruption or inconsistent reads from the target files, sometimes systems are
                                   configured or just broken in ways that prevent this. One example are docker mounted files, they cannot be
                                   updated atomically and can only be done in an unsafe manner. This boolean option allows ansible to fall
                                   back to unsafe methods of updating files for those cases in which you do not have any other choice. Be
                                   aware that this is subject to race conditions and can lead to data corruption.
          validate:              # The validation command to run before copying into place. The path to the file to validate is passed in via '%s' which must be present as
                                   in the example below. The command is passed securely so shell features like expansion and pipes won't
                                   work.

TO Make This List SCROLL, click anywhere on the terminal window

TO Make This List STOP, click the "Ansible Terminal" text on top of the console