autorestic/src/types.ts

70 lines
1.1 KiB
TypeScript

type BackendLocal = {
type: 'local',
key: string,
path: string
}
type BackendSFTP = {
type: 'sftp',
key: string,
path: string,
password?: string,
}
type BackendREST = {
type: 'rest',
key: string,
path: string,
user?: string,
password?: string
}
type BackendS3 = {
type: 's3',
key: string,
path: string,
aws_access_key_id: string,
aws_secret_access_key: string,
}
type BackendB2 = {
type: 'b2',
key: string,
path: string,
b2_account_id: string,
b2_account_key: string
}
type BackendAzure = {
type: 'azure',
key: string,
path: string,
azure_account_name: string,
azure_account_key: string
}
type BackendGS = {
type: 'gs',
key: string,
path: string,
google_project_id: string,
google_application_credentials: string
}
export type Backend = BackendAzure | BackendB2 | BackendGS | BackendLocal | BackendREST | BackendS3 | BackendSFTP
export type Backends = { [name: string]: Backend }
export type Location = {
from: string,
to: string | string[]
}
export type Locations = { [name: string]: Location }
export type Config = {
locations: Locations
backends: Backends
}
export type Flags = { [arg: string]: any }