Backup

Fudo allows configuring multiple backup target destinations, where data can be stored. Each backup target can have S3, Backblaze, FTP, or SFTP as a destination place.


Data Structures

BackupModel

Attribute

Type

Required

Description

id

string

Unique and read-only object Identifier

name

string

yes

Unique, case insensitive object name

type

string {backblaze, ftp, s3, sftp}

yes

Immutable, case insensitive

backblaze_bucket

string

If type == backblaze

Backblaze bucket name.

backblaze_directory

string

If type == backblaze

Directory within the Backblaze bucket.

backblaze_keyid

string

If type == backblaze

Backblaze key ID.

backblaze_applicationkey

string

If type == backblaze

Protected. Backblaze application key.

ftp_address

string

If type == ftp

FTP server address.

ftp_username

string

If type == ftp

FTP login username.

ftp_password

string

If type == ftp & ftp_username provided

Protected. FTP password.

ftp_directory

string

If type == ftp

Target directory on the FTP server.

s3_bucket

string

If type == s3

S3 bucket name.

s3_directory

string

If type == s3

Directory within the S3 bucket.

s3_access_key_id

string

If type == s3

AWS access key ID.

s3_secret_access_key

string

If type == s3

Protected. AWS secret access key.

s3_endpoint

string

If type == s3

Custom S3 endpoint URL.

s3_region

string

If type == s3

AWS region name.

sftp_address

string

If type == sftp

SFTP server address.

sftp_port

number; default value 22

If type == sftp

SFTP server port.

sftp_username

string

If type == sftp

SFTP login username.

sftp_userkey

string

If type == sftp

Protected. User SSH private key.

sftp_userkey_passphrase

string

If sftp_userkey provided

Protected. Passphrase to decrypt user SSH private key.

sftp_directory

string

If type == sftp

Directory on the SFTP server.

sftp_serverkey

string

If type == sftp

SFTP server SSH public key.

created_at

datetime

Read-only. Creation timestamp.

modified_at

datetime

Read-only. Modification timestamp.

session_replica_count

number

Read-only. Hidden. Expensive to use.

removed

boolean

Read-only.

Retrieve Available Attributes of the BackupModel

Request

Method

GET

Path

/api/v2/objspec/backup

GET /api/v2/objspec/backup

Example Request

curl -s -k -X GET \
  -H 'Authorization: sgfeea6jsaz4mum9su8w6' \
  'https://10.0.214.98/api/v2/objspec/backup'

Create Backup Target

Request

Method

POST

Path

/api/v2/backup

Headers

Content-Type: application/json

Body

BackupModel

Example Request

POST /api/v2/backup

curl -s -k -X POST \
  -H 'Authorization: sgfeea6jsaz4mum9su8w6' \
  -H 'Content-Type: application/json' \
  'https://10.0.214.98/api/v2/backup' \
  -d'{"name": "FTP_Backup","type": "ftp","ftp_address": "10.0.130.100"}'

Response

{
    "result": "success",
    "backup": {
        "id": "801640733671948290"
    }
}

Get Backup Definitions List

Request

Method

GET

Path

/api/v2/backup

Example Request

GET /api/v2/backup

"result": "success",
"backup": [
    {
        "id": "9124292845052624897",
        "name": "FTP_Backup",
        "type": "ftp",
        "path": "",
        "created_at": "2024-06-16 13:50:42.355762-07",
        "modified_at": "2024-06-16 14:29:47.217872-07"
    },
    {
        "id": "9124292845052624898",
        "name": "Backblaze_Backup",
        "type": "backblaze",
        "path": "myBucket\/",
        "created_at": "2024-06-16 14:29:47.226305-07",
        "modified_at": "2024-06-16 14:29:47.226305-07"
    }
]

Get a Backup Definition by ID

Request

Method

GET

Path

/api/v2/backup/<id>

GET /api/v2/backup/<id>

Assign Backup Definition to Session

Request

Method

POST

Path

/api/v2/session/<session_id>/backup/<backup_id>

POST /api/v2/session/<session_id>/backup/<backup_id>

Delete Backup Definition

Request

Method

DELETE

Path

/api/v2/backup/<id>

DELETE /api/v2/backup/<id>