UDMG File Transfer
Disclaimer
Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/
Overview
UDMG (Universal Data Mover Gateway) is a business-to-business MFT (Managed File Transfer) Solution. It provides the capabilities to securely manage File transfers with external business partners (i.e. Customers or Suppliers), and between any endpoint in today’s Hybrid-IT infrastructure, on-premises, or in the cloud (public and or private).
This Universal Extension provides the capability to perform file transfer where UDMG is the client and upload or download files to remote partners.
Version Information
Template Name | Extension Name | Extension Version |
---|---|---|
UDMG File Transfer | ue-mft-transfer | 1.0.0 |
Software Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
Software Requirements for Universal Template and Universal Task
Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.
Software Requirements for Universal Agent
Both Windows and Linux agents are supported.
- Universal Agent for Windows x64 Version 7.1.0.0 and later with python options installed.
- Universal Agent for Linux Version 7.1.0.0 and later with python options installed.
Software Requirements for Universal Controller
Universal Controller Version 7.2.0.0 and later.
Network and Connectivity Requirements
Universal Agent requires connectivity towards the UDMG server REST API.
Key Features
This Universal Extension provides the following key features:
- Actions
- Trigger a File Transfer on UDMG to download a file from a remote partner.
- Trigger a File Transfer on UDMG to upload a file to a remote partner.
- File Transfer Control
- Capability to pause a partial transfer.
- Capability to resume a paused transfer.
- Capability to cancel a transfer (from planned, running, paused, or error status).
- Task is synchronous with the UDMG transfer and terminates when the transfer is completed (either with success or error)
- Input/Output
- Capability for the UAC task author, to retrieve the list of partners from UDMG for a given protocol.
- Capability for the UAC task author, to retrieve the list of transfer rules from UDMG for a given partner.
- Monitor of the transfer with periodic polling from UDMG and display to output-only fields and extension output.
- Other
- Support for
SFTP
,HTTP
, andHTTPS
file transfer protocol
- Support for
Import Universal Template
To use the Universal Template, you first must perform the following steps.
This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
To import the Universal Template into your Controller, follow the instructions here.
When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
Input Fields
The input fields for this Universal Extension are described below.
Field | Input type | Default value | Type | Description |
---|---|---|---|---|
Action | Required | PUT | Choice | Action performed upon the task execution. Available actions:
|
Protocol | Required | SFTP | Choice | The transfer protocol. Available values:
Note The protocol serves as a filter for the Partner list. The actual protocol for the file transfer is the one that is configured on UDMG for the selected Partner |
MFT Server | Required | - | Text | UDMG Server URL. For example: http://localhost:8080/api |
MFT Credentials | Required | - | Credentials | UDMG Server Credentials. The Credentials definition should be as follows.
|
File | Required | - | Text | The name of file,
|
Partner | Required | - | Dynamic Choice | Dynamically fetched list of partner names. The list is restricted to the partners that support the selected Protocol. The user can select the required partner name from a drop-down list. |
Rule | Required | - | Dynamic Choice | Dynamically fetched list of transfer rules. The list is restricted to the rules that are assigned to the selected Partner. The user can select the required rule from a drop-down list. |
Partner Account | Required | - | Text | The name of the account to use for the connection to the selected Partner. The account credentials are configured on UDMG. |
Advanced | Optional | False | Boolean | By checking this field, more fields are available for advanced configuration. |
Polling Interval | Optional | 5 | Integer | The amount of time (in seconds) the task will wait before polling to check the transfer status. Valid values from 0. |
Task Examples
PUT a file to HTTPS partner
Example for sending a file to a HTTPS
server.
The configuration on UDMG for the partner:
GET a file from an SFTP server
Example for downloading a file from an SFTP
server.
The configuration on UDMG for the partner:
Task Execution
Dynamic Commands
Command Name | Allowed Task Instance Status | Description |
---|---|---|
Pause | RUNNING | Issue the pause command on the UDMG transfer |
Resume | RUNNING | Issue the resume command on the UDMG transfer |
Cancelation
When the task instance is canceled on the Controller, a cancel command is issued on the UDMG transfer to attempt a graceful termination.
Task Output
Output Only Fields
The output fields for this Universal Extension are described below.
Field | Type | Description |
---|---|---|
Transfer ID | Text | The unique identifier of the transfer on UDMG |
Transfer Status | Text | The current status of the transfer One of PLANNED, RUNNING, PAUSED, INTERRUPTED, DONE, CANCELLLED or ERROR |
Transfer Start Time | Text | The date and time the transfer has started |
Transfer End Time | Text | The date and time the transfer has ended |
Transfer Step | Text | The current processing step of the transfer One of NONE, PRE TASKS, DATA, POST TASKS, ERROR TASKS or FINALIZATION |
Transfer Progress | Integer | The progress (in bytes) of the data transfer |
Error Code | Text | The error code of the transfer (if an error occurred) |
Error Message | Text | The error message (if an error occurred) |
Transfer Task Number | Text | The number of the task in the processing step. Especially for the steps 'PRE TASKS', 'POST TASKS', and 'ERROR TASKS' |
Local File | Text | Local file path |
Remote File | Text | Remote file path |
Exit Codes
The exit codes for this Universal Extension are described below.
Exit Code | Status Classification Code | Status Classification Description | Status Description |
---|---|---|---|
0 | SUCCESS | Successful Execution | SUCCESS |
1 | FAIL | Failed Execution | FAIL: < Error Description > |
2 | AUTHENTICATION_ERROR | Bad credentials | AUTHENTICATION_ERROR: Account cannot be authenticated. |
3 | AUTHORIZATION_ERROR | Insufficient Permissions | AUTHORIZATION_ERROR: Account is not authorized to perform the requested action. |
10 | CONNECTION_ERROR | Bad connection data or connection timed out | CONNECTION_ERROR: < Error Description > |
11 | CONNECTION_ERROR | Extension specific connection error | CONNECTION_ERROR: 404 page not found |
20 | DATA_VALIDATION_ERROR | Input fields Validation Error | DATA_VALIDATION_ERROR: 400 bad request: |
21 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeUnknown |
22 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeInternal |
23 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeUnimplemented |
24 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeConnection |
25 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeConnectionReset |
26 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeUnknownRemote |
27 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeExceededLimit |
28 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeBadAuthentication |
29 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeDataTransfer |
30 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeIntegrity |
31 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeFinalization |
32 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeExternalOperation |
33 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeWarning |
34 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeStopped |
35 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeCanceled |
36 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeFileNotFound |
37 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeForbidden |
38 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeBadSize |
39 | TRANSFER_STATUS_ERROR | Transfer Execution Error | TRANSFER_STATUS_ERROR: Transfer failed with error code: TeShuttingDown |
100 | TRANSFER_STATUS_CANCEL | Unexpected Transfer Status | TRANSFER_STATUS_CANCEL: Unexpected CANCELLED status |
See description of the Transfer Error Code: https://doc.waarp.org/waarp-gateway/0.5.1/fr/reference/errorcodes.html
Extension Output
In the context of a workflow, subsequent tasks can rely on the information provided by this integration as Extension Output.
The Extension output contains attribute result
. Attribute result
contains the following sub-attributes:
Attribute | Type | Description |
---|---|---|
transfer_id | string | The unique identifier of the transfer on UDMG |
status | string | The current status of the transfer One of PLANNED, RUNNING, PAUSED, INTERRUPTED, DONE, CANCELLLED or ERROR |
start | string | The date and time the transfer has started |
stop | string | The date and time the transfer has ended |
step | string | The current processing step of the transfer One of NONE, PRE TASKS, DATA, POST TASKS, ERROR TASKS or FINALIZATION |
progress | number | The progress (in bytes) of the data transfer |
error_code | string | The error code of the transfer (if an error occurred) |
error_msg | string | The error message (if an error occurred) |
task_number | string | The number of the task in the processing step. Especially for the steps 'PRE TASKS', 'POST TASKS', and 'ERROR TASKS' |
local_file | string | Local file path |
remote_file | string | Remote file path |
An example of the Extension Output for an upload to HTTPS
is presented below.
{
"exit_code": 0,
"status_description": "SUCCESS",
"invocation": {
"fields": {
"credentials_user": "admin",
"credentials_password": "****",
"action": "PUT",
"protocol": "https",
"mft_server": "http://b2bmft.stonebranch.com:9180/api",
"file": "hello.txt",
"partner": "beeceptor",
"rule": "beeceptor_send",
"user": "bee",
"advanced": false,
"transfer_date": null,
"polling_interval": 5
}
},
"result": {
"status": "SUCCESS",
"mft_transfer": {
"transfer_id": "237",
"start": "2022-06-28T14:06:19.135894+00:00",
"stop": "2022-06-28T14:06:20.836079+00:00",
"status": "DONE",
"step": null,
"progress": 20,
"task_number": null,
"error_code": null,
"error_msg": null,
"local_file": "/atests/work/out/hello.txt",
"remote_file": "/hello.txt"
}
}
}
STDOUT and STDERR
STDOUT
and STDERR
provide additional information to User. The populated content can be changed in future versions of this extension without notice. Backward compatibility is not guaranteed.
Document References
This document references the following documents.
Document Link | Description |
---|---|
Universal Templates | User documentation for creating, working with and understanding Universal Templates and Integrations. |
Universal Tasks | User documentation for creating Universal Tasks in the Universal Controller user interface. |
Credentials | User documentation for creating and working with credentials. |
Resolvable Credentials Permitted Property | User documentation for Resolvable Credentials Permitted Property. |