Skip to main content
Version: 3.3

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.

warning

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.

info

For Rclone official documentation, refer to Amazon S3 Storage Providers.

JSON Properties

PropertyDescriptionExpected Value(s)Required
typeIdentifies the Rclone backend."s3"Yes
providerIdentifies the S3 provider."AWS"Yes
bucketIdentifies 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_idThe access key identifier.
"{{ pipeline_credentials.key }}"
Yes
secret_access_keyThe secret access key.
"{{ pipeline_credentials.value }}"
Yes
regionThe AWS region associated with the bucket.User-defined ("us-east-1")Yes

Credentials Mapping

Property in Configuration JSONCorresponding Field in Key Pair CredentialDescriptionExample
access_key_idSecret KeyThe AWS access key ID.AKIAIOSFODNN7EXAMPLE
secret_access_keySecret ValueThe 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.

info

For Rclone official documentation, refer to Google Cloud Storage.

JSON Properties

PropertyDescriptionExpected Value(s)Required
typeIdentifies the Rclone backend."google cloud storage"Yes
projectThe Google Cloud project identifier associated with the storage configuration (Project ID).User-defined ("udmg-470213")Yes
bucketIdentifies 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_credentialsThe service account credential value.
"{{ pipeline_credentials.value }}"

Yes
bucket_policy_onlyThe flag that controls if you want to require access checks to use bucket-level IAM policies on upload of objects to a bucket.

"true"

No. By default it is set to "false"

Credentials Mapping

Property in Configuration JSONCorresponding Field in Key Pair CredentialRepresentsExample
service_account_credentialsSecret ValueThe Google Cloud service account credentials.
{
"type": "service_account",
"project_id": "<PROJECT_ID>",
"private_key_id": "<KEY_ID>",
...,
}

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.

info

For Rclone official documentation, refer to Microsoft Azure Blob Storage.

JSON Properties

PropertyDescriptionExpected Value(s)Required
typeIdentifies the Rclone backend."azureblob"Yes
accountThe Azure storage account name.User-defined ("udmgblob")Yes
keyThe Azure storage account key.
"{{ pipeline_credentials.value }}"
Yes
containerThe Azure Blob container name.User-defined ("udmgcontainer")No

Credentials Mapping

Property in Configuration JSONCorresponding Field in Key Pair CredentialRepresentsExample
keySecret ValueThe 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.

info

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

PropertyDescriptionExpected Value(s)Required
typeIdentifies the Rclone backend."azurefiles"Yes
accountThe Azure storage account name.User-defined ("udmgfiles")Yes
keyThe Azure storage account key.
"{{ pipeline_credentials.value }}"
Yes
shareThe Azure file share name.User-defined ("udmgfileshare")No

Credentials Mapping

Property in Configuration JSONCorresponding Field in Key Pair CredentialRepresentsExample
keySecret ValueThe 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:

  1. Run rclone config dump to export all configured remotes in JSON format.
  2. Locate the JSON object corresponding to the remote you want to use.
  3. Copy only the inner JSON object (excluding the remote name and outer structure) into the Configuration JSON field.
  4. Replace any credential values with the required placeholders.
  5. 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.