cisco / cisco.nxos / 7.0.0 / module / nxos_file_copy Copy a file to a remote NXOS device. | "added in version" 1.0.0 of cisco.nxos" Authors: Jason Edelman (@jedelman8), Gabriele Gerbino (@GGabriele), Rewritten as a plugin by (@mikewiebe)cisco.nxos.nxos_file_copy (7.0.0) — module
Install with ansible-galaxy collection install cisco.nxos:==7.0.0
collections: - name: cisco.nxos version: 7.0.0
This module supports two different workflows for copying a file to flash (or bootflash) on NXOS devices. Files can either be (1) pushed from the Ansible controller to the device or (2) pulled from a remote SCP file server to the device. File copies are initiated from the NXOS device to the remote SCP server. This module only supports the use of connection C(network_cli) or C(Cli) transport with connection C(local).
# File copy from ansible controller to nxos device - name: copy from server to device cisco.nxos.nxos_file_copy: local_file: ./test_file.txt remote_file: test_file.txt
# Initiate file copy from the nxos device to transfer file from an SCP server back to the nxos device - name: initiate file copy from device cisco.nxos.nxos_file_copy: file_pull: true local_file: xyz local_file_directory: dir1/dir2/dir3 remote_file: /mydir/abc remote_scp_server: 192.168.0.1 remote_scp_server_user: myUser remote_scp_server_password: myPassword vrf: management
# Initiate file copy from the nxos device to transfer file from a ftp server back to the nxos device. # remote_scp_server_user and remote_scp_server_password are used to login to the FTP server. - name: initiate file copy from device cisco.nxos.nxos_file_copy: file_pull: true file_pull_protocol: ftp local_file: xyz remote_file: /mydir/abc remote_scp_server: 192.168.0.1 remote_scp_server_user: myUser remote_scp_server_password: myPassword vrf: management
vrf: default: management description: - The VRF used to pull the file. Useful when no vrf management is defined. - This option is not applicable for MDS switches. type: str file_pull: default: false description: - When (False) file is copied from the Ansible controller to the NXOS device. - When (True) file is copied from a remote SCP server to the NXOS device. In this mode, the file copy is initiated from the NXOS device. - If the file is already present on the device it will be overwritten and therefore the operation is NOT idempotent. type: bool local_file: description: - When (file_pull is False) this is the path to the local file on the Ansible controller. The local directory must exist. - When (file_pull is True) this is the target file name on the NXOS device. type: path file_system: default: 'bootflash:' description: - The remote file system on the nxos device. If omitted, devices that support a I(file_system) parameter will use their default values. type: str remote_file: description: - When (file_pull is False) this is the remote file path on the NXOS device. If omitted, the name of the local file will be used. The remote directory must exist. - When (file_pull is True) this is the full path to the file on the remote SCP server to be copied to the NXOS device. type: path connect_ssh_port: default: 22 description: - B(Deprecated) - This option has been deprecated and will be removed in a release after 2024-06-01. - To maintain backwards compatibility, this option will continue to override the value of I(ansible_port) until removed. - HORIZONTALLINE - SSH server port used for file transfer. - Only used when I(file_pull) is C(True). type: int file_pull_kstack: default: false description: - When file_pull is True, this can be used to speed up file copies when the nxos running image supports the use-kstack option. - When (file_pull is False), this is not used. type: bool file_pull_compact: default: false description: - When file_pull is True, this is used to compact nxos image files. This option can only be used with nxos image files. - When (file_pull is False), this is not used. type: bool file_pull_timeout: default: 300 description: - B(Deprecated) - This option has been deprecated and will be removed in a release after 2024-06-01. - To maintain backwards compatibility, this option will continue to override the value of I(ansible_command_timeout) until removed. - HORIZONTALLINE - Use this parameter to set timeout in seconds, when transferring large files or when the network is slow. - When (file_pull is False), this is not used. type: int remote_scp_server: description: - The remote scp server address when file_pull is True. This is required if file_pull is True. - When (file_pull is False), this is not used. type: str file_pull_protocol: choices: - scp - sftp - ftp - http - https - tftp default: scp description: - When file_pull is True, this can be used to define the transfer protocol for copying file from remote to the NXOS device. - When (file_pull is False), this is not used. type: str local_file_directory: description: - When (file_pull is True) file is copied from a remote SCP server to the NXOS device, and written to this directory on the NXOS device. If the directory does not exist, it will be created under the file_system. This is an optional parameter. - When (file_pull is False), this is not used. type: path remote_scp_server_user: description: - The remote scp server username when file_pull is True. This is required if file_pull is True. - When (file_pull is False), this is not used. type: str remote_scp_server_password: description: - The remote scp server password when file_pull is True. This is required if file_pull is True. - When (file_pull is False), this is not used. type: str
changed: description: Indicates whether or not the file was copied. returned: success sample: true type: bool local_file: description: The path of the local file. returned: success sample: /path/to/local/file type: str remote_file: description: The path of the remote file. returned: success sample: /path/to/remote/file type: str remote_scp_server: description: The name of the scp server when file_pull is True. returned: success sample: fileserver.example.com type: str transfer_status: description: Whether a file was transferred to the nxos device. returned: success sample: Sent type: str