Product HuntTerraform Automation is on Product Hunt.Terraform Automation by Buddy is live on Product Hunt today.Join the discussion

YAML for Transfer

View as Markdown

Transfer files to remote servers via SSH/SFTP, FTP, or cloud storage.

YAML parameters for Transfer

PARAMETERS
targetsrequired(string | TargetYaml)[]
Target servers for deployment.
typerequiredstring

Value: TRANSFER

actionrequiredstring
Unique identifier for the action within the pipeline.
compressboolean
Enable file compression during ssh transfer.
local_pathstring
Path in the repository to deploy. Use '/' for entire repository.
remote_pathstring
Destination path on the remote server.
deployment_excludesstring[]
Paths to exclude from deployment. One path per line.
deployment_includesstring[]
Paths to include in deployment. Only these paths will be transferred.
input_typestring enum
The source of files to deploy.
Allowed enum:
SCM_REPOSITORY,
BUILD_ARTIFACTS
deletion_disabledboolean
When true, do not delete files on remote that don't exist locally.
use_temporary_filesboolean
When true, upload to temporary location first, then move.
always_from_scratchboolean
If set to true, the action always deploys the full set of files ignoring the changeset. For PUBLISH_ARTIFACT_VERSION the artifact version contents are also cleared before upload. The action runs from scratch when this flag OR the run-level always_from_scratch flag is true.
trigger_timestring enum
Specifies when the action should be executed.
Allowed enum:
ON_EVERY_EXECUTION,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
loopstring[]
The list of variables for dynamic action execution. The action runs once for each value.
run_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
disabledboolean
When set to true the action is disabled. By default it is set to false.
timeoutinteger
The timeout in seconds.
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions.
retry_intervalinteger
Delay time between auto retries in seconds.
retry_countinteger
Number of retries if the action fails.

Constraints: ≤ 10

run_nextstring enum
Defines whether the action should run in parallel with the next one.
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
trigger_conditionsTriggerConditionYaml[]
The list of trigger conditions to meet so that the action can be triggered.
variablesVariableYaml[]
The list of variables you can use in the action.

Last modified on Oct 19, 2026

YAML examples for Transfer

Transfer files to production server

yaml
- action: Transfer files to production type: TRANSFER trigger_time: ON_EVERY_EXECUTION disabled: false input_type: BUILD_ARTIFACTS local_path: /build/dist remote_path: /var/www/html deletion_disabled: true use_temporary_files: false compress: true always_from_scratch: true deployment_excludes: - '*.log' - '*.tmp' - .git/** deployment_includes: - '*.html' - '*.css' - '*.js' - images/** ignore_errors: false retry_interval: 60 retry_count: 3 timeout: 3600 targets: - target: prod-server type: SSH name: Production Server host: prod.example.com port: 22 path: /var/www auth: method: PASSWORD username: deployer password: $DEPLOY_PASSWORD tags: - production - web

Simple file transfer

yaml
- action: Simple transfer type: TRANSFER trigger_time: ON_EVERY_EXECUTION local_path: /dist remote_path: /www targets: - target: server type: SSH host: example.com auth: method: PASSWORD username: user

Transfer files via FTP/FTPS

yaml
- action: Upload files via FTPS type: TRANSFER local_path: / remote_path: Home/www deployment_excludes: - /assets - file.txt deployment_includes: - /assets/assets-new/ - /assets/file.txt targets: - target: ftps_target type: FTP secure: true host: ftp.example.com auth: username: ftp_user password: $FTP_PASSWORD

Transfer files to DigitalOcean

yaml
- action: Transfer files to DigitalOcean type: TRANSFER local_path: / targets: - target: do_server type: DIGITAL_OCEAN host: buddy-tests port: 22 path: Home/www auth: username: root password: $DO_PASSWORD integration: digitalocean