Configuration JSON
The Configuration JSON defines the Rclone remote configuration for the selected cloud provider and object storage service (Type). It provides the connection parameters and credential variables that UDMG requires to authenticate and connect to a cloud provider.
This configuration must be provided as a JSON object compatible with the format used by Rclone. The Configuration JSON:
- Identifies the target remote cloud storage provider
- Specifies the required connection parameters
- Uses credential placeholders instead of hardcoded secrets
Credentials
Authentication credentials for the cloud provider are configured at the Pipeline level. Any Pipeline that uses a Remote Cloud Storage Endpoint as a Source Endpoint or Destination Endpoint uses a Key Pair credential for authentication.
From the Remote Cloud Storage Endpoint perspective, the Configuration JSON only references that credential using the following placeholders:
{{ pipeline_credentials.key }}, which maps to the Key Pair Secret Key field.{{ pipeline_credentials.value }}, which maps to the Key Pair Secret Value field.
When connecting to the cloud provider defined for the Remote Cloud Storage Endpoint at runtime, UDMG injects the associated Pipeline credential values.
Depending on the selected cloud provider, the Key Pair Secret Key and Secret Value fields may represent different authentication values. For details for each provider, see the Credentials Mapping section in the corresponding provider section.
Do not include credential values directly in the Configuration JSON. Use the specified placeholders to ensure credentials are stored securely, injected at runtime, and managed centrally.
Required JSON Structure and Parameters
The Configuration JSON must follow the required JSON structure and include a type property that identifies the cloud provider, along with the provider-specific parameters required by Rclone.
The following sections describe the important JSON keys for each Remote Cloud Storage Endpoint type. Additional parameters (keys) can be added based your specific cloud provider and transfer needs.
AWS S3
AWS S3 is an object storage service provided by Amazon Web Services. In UDMG, it is used to connect to an S3 bucket.
The Configuration JSON must define the connection properties required for the selected S3 provider and reference credentials using placeholders. These values are resolved at runtime from the Key Pair Credential associated with the Pipeline.
For Rclone official documentation, refer to Amazon S3 Storage Providers.
JSON Properties
| Property | Description | Expected Value(s) | Required |
|---|---|---|---|
type | Identifies the Rclone backend. | "s3" | Yes |
provider | Identifies the S3 provider. | "AWS" | Yes |
bucket | Identifies the S3 bucket (container for objects stored). It must be unique and already exist. The Cloud Base Storage Path is appended as a suffix. | User-defined ("udmg-sales") | Yes |
access_key_id | The access key identifier. | | Yes |
secret_access_key | The secret access key. | | Yes |
region | The AWS region associated with the bucket. | User-defined ("us-east-1") | Yes |
Credentials Mapping
| Property in Configuration JSON | Corresponding Field in Key Pair Credential | Description | Example |
|---|---|---|---|
access_key_id | Secret Key | The AWS access key ID. | AKIAIOSFODNN7EXAMPLE |
secret_access_key | Secret Value | The AWS secret access key. | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY |
Example
{
"type": "s3",
"provider": "AWS",
"bucket": "udmg-sales",
"access_key_id": "{{ pipeline_credentials.key }}",
"secret_access_key": "{{ pipeline_credentials.value }}",
"region": "us-east-1"
}
Google Cloud Storage
Google Cloud Storage is an object storage service provided by Google Cloud. In UDMG, it is used to connect to a Google Cloud Storage bucket.
The Configuration JSON must define the connection properties required for Google Cloud Storage and reference credentials using placeholders. These values are resolved at runtime from the Key Pair Credential associated with the Pipeline.
For Rclone official documentation, refer to Google Cloud Storage.
JSON Properties
| Property | Description | Expected Value(s) | Required |
|---|---|---|---|
type | Identifies the Rclone backend. | "google cloud storage" | Yes |
project | The Google Cloud project identifier associated with the storage configuration (Project ID). | User-defined ("udmg-470213") | Yes |
bucket | Identifies the Google Cloud bucket (container for objects stored). It must be unique and already exist. The Cloud Base Storage Path is appended as a suffix. | User-defined ("udmgsales") | Yes |
service_account_credentials | The service account credential value. | | Yes |
bucket_policy_only | The flag that controls if you want to require access checks to use bucket-level IAM policies on upload of objects to a bucket. |
| No. By default it is set to "false" |
Credentials Mapping
| Property in Configuration JSON | Corresponding Field in Key Pair Credential | Represents | Example |
|---|---|---|---|
service_account_credentials | Secret Value | The Google Cloud service account credentials. | |
Example
{
"type": "google cloud storage",
"project": "udmg-470213",
"bucket": "udmgsales",
"service_account_credentials": "{{ pipeline_credentials.value }}",
"bucket_policy_only": true
}
Microsoft Azure Blob
Microsoft Azure Blob is an object storage service provided by Microsoft Azure. In UDMG, it is used to connect to an Azure Blob container.
The Configuration JSON must define the connection properties required for Microsoft Azure Blob and reference credentials using placeholders. These values are resolved at runtime from the Key Pair Credential associated with the Pipeline.
For Rclone official documentation, refer to Microsoft Azure Blob Storage.
JSON Properties
| Property | Description | Expected Value(s) | Required |
|---|---|---|---|
type | Identifies the Rclone backend. | "azureblob" | Yes |
account | The Azure storage account name. | User-defined ("udmgblob") | Yes |
key | The Azure storage account key. | | Yes |
container | The Azure Blob container name. | User-defined ("udmgcontainer") | No |
Credentials Mapping
| Property in Configuration JSON | Corresponding Field in Key Pair Credential | Represents | Example |
|---|---|---|---|
key | Secret Value | The Azure storage account key. | qwerty1234567890examplekey== |
Example
{
"type": "azureblob",
"account": "udmgblob",
"key": "{{ pipeline_credentials.value }}",
"container": "udmgcontainer"
}
Microsoft Azure File Storage
Microsoft Azure File Storage is a file storage service provided by Microsoft Azure. In UDMG, it is used to connect to an Azure file share.
The Configuration JSON must define the connection properties required for Microsoft Azure File Storage and reference credentials using placeholders. These values are resolved at runtime from the Key Pair Credential associated with the Pipeline.
For Rclone official documentation, refer to Microsoft Azure Files.
For detailed Azure File Storage-specific file transfer logic, see Cloud Storage - Azure File Exception.
JSON Properties
| Property | Description | Expected Value(s) | Required |
|---|---|---|---|
type | Identifies the Rclone backend. | "azurefiles" | Yes |
account | The Azure storage account name. | User-defined ("udmgfiles") | Yes |
key | The Azure storage account key. | | Yes |
share | The Azure file share name. | User-defined ("udmgfileshare") | No |
Credentials Mapping
| Property in Configuration JSON | Corresponding Field in Key Pair Credential | Represents | Example |
|---|---|---|---|
key | Secret Value | The Azure storage account key. | qwerty1234567890examplekey== |
Example
{
"type": "azurefiles",
"account": "udmgfiles",
"key": "{{ pipeline_credentials.value }}",
"share": "udmgfileshare"
}
How to Create the Configuration
Option 1: Generate from Rclone
This option may be useful if you already use Rclone and have an existing configuration for the selected cloud provider.
Rclone is a command-line tool that runs outside of UDMG. When you create a remote with Rclone, the configuration is stored in an INI-style format. UDMG does not use that format directly. Instead, the configuration must be converted into JSON before it is pasted into the Configuration JSON field.
To generate the JSON, follow these steps:
- Run
rclone config dumpto export all configured remotes in JSON format. - Locate the JSON object corresponding to the remote you want to use.
- Copy only the inner JSON object (excluding the remote name and outer structure) into the Configuration JSON field.
- Replace any credential values with the required placeholders.
- Verify that the resulting JSON complies with the Required JSON Structure and Properties.
Option 2: Create Manually
You can write the Configuration JSON directly instead of generating it from an existing Rclone configuration.
When using this approach, ensure that the JSON structure, property names, and expected values match comply with the Required JSON Structure and Properties.