UNPKG

@gridscale/api

Version:
217 lines (216 loc) 9.52 kB
import { GridscaleObjects } from './GridscaleObjects'; import { APIClass, ApiResult, VoidApiResult, RequestOptions, GenericApiResult } from '../api'; import * as models from './../Specs'; import { CreateResponse, StorageCreate, StorageUpdate, SnapshotUpdate, SnapshotExportToS3Payload, SnapshotCreate, SnapshotScheduleUpdate, SnapshotScheduleCreate } from './../Specs'; interface Storage { list(_options?: RequestOptions, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StoragesGetResponse>>; get(_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StorageGetResponse>>; create(_attributes: StorageCreate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.CreateResponse>>; patch(_uuid: string, _attributes: StorageUpdate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; } declare class Storage extends GridscaleObjects { constructor(_api: APIClass); /** * Clone a Storage * * @param _uuid Object UUID to Clone * @param _callback Callback Function */ clone(_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<CreateResponse>>; /** * Snapshots * */ /** * Get Storages for this Object * * @param _uuid Object UUID * @param _callback Callback Function */ snapshots(_uuid: string, _options?: RequestOptions, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.SnapshotsGetResponse>>; /** * Get Single Snapshot * * @param _uuid * @param _snapshot_uuid * @param _callback * @returns {Promise<ApiResult<models.SnapshotGetResponse>>} */ snapshot(_uuid: string, _snapshot_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.SnapshotGetResponse>>; /** * Patch Snapshot * * Attribures * name * labels * * * @param _uuid * @param _storage_uuid * @param _attribute * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ patchSnapshot(_uuid: string, _snapshot_uuid: string, _attribute: SnapshotUpdate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Rollback Storage to this Snapshot * * Attribures * name * labels * * @param _uuid * @param _storage_uuid * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ rollbackSnapshot(_uuid: string, _snapshot_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Rollback Storage to this Snapshot * * Attribures * - name * - labels * * @param _uuid * @param _storage_uuid * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ exportSnapshot(_uuid: string, _snapshot_uuid: string, _data: SnapshotExportToS3Payload, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Create a Snapshot of this Storage * * @param _uuid * @param _attribute * @param _callback * @returns {Promise<ApiResult<CreateResponse>>} */ createSnapshot(_uuid: string, _attribute: SnapshotCreate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<CreateResponse>>; /** * Remove Snapshot * * * @param _uuid Storage UUID * @param _snapshot_uuid IP UUID * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ removeSnapshot(_uuid: string, _snapshot_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Snapshots Scheduler * */ /** * Get Snapshot Schedler for this Storage * * @param _uuid Object UUID * @param _callback Callback Function */ snapshotSchedulers(_uuid: string, _options?: RequestOptions, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.SnapshotSchedulesGetResponse>>; /** * Get Single Snapshot Schedler * * @param _uuid * @param _snapshot_scheduler_uuid * @param _callback * @returns {Promise<ApiResult<models.SnapshotScheduleGetResponse>>} */ snapshotScheduler(_uuid: string, _snapshot_scheduler_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.SnapshotScheduleGetResponse>>; /** * Patch Snapshot Schedler * * * @param _uuid * @param _snapshot_scheduler_uuid * @param _attribute * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ patchSnapshotScheduler(_uuid: string, _snapshot_scheduler_uuid: string, _attribute: SnapshotScheduleUpdate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Create a Snapshot Schedler for this Storage * * @param _uuid * @param _attribute * @param _callback * @returns {Promise<ApiResult<CreateResponse>>} */ createSnapshotScheduler(_uuid: string, _attribute: SnapshotScheduleCreate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<CreateResponse>>; /** * Remove Snapshot Schedler * * * @param _uuid Storage UUID * @param _snapshot_scheduler_uuid IP UUID * @param _callback * @returns {Promise<ApiResult<VoidApiResult>>} */ removeSnapshotScheduler(_uuid: string, _snapshot_scheduler_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * List all backup schedules for the storage * * @param _uuid Storage UUID * @param _options requestOptions * @param _callback * @returns {Promise<ApiResult<models.StorageBackupSchedulesGetResponse>>} */ backupSchedules(_uuid: string, _options?: RequestOptions, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StorageBackupSchedulesGetResponse>>; /** * Fetches one backup schedule * * @param _uuid Storage UUID * @param _backup_schedule_uuid Backup-Schedule UUID * @param _callback */ backupScheduler(_uuid: string, _backup_schedule_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StorageBackupScheduleGetResponse>>; /** * Creates a new backup schedule * * @param _uuid Storage UUID * @param _backup_schedule_options * @param _callback */ createBackupScheduler(_uuid: string, _backup_schedule_options: models.StorageBackupScheduleCreate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<CreateResponse>>; /** * Modifies existing backup schedule * * @param _uuid Storage UUID * @param _backup_schedule_uuid Backup-Schedule UUID * @param backup_schedule_options * @param callback */ patchBackupSchedule(_uuid: string, _backup_schedule_uuid: string, _backup_schedule_options: models.StorageBackupScheduleUpdate, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StorageBackupScheduleUpdate>>; /** * Remove existing backup schedule * * @param _uuid Storage UUID * @param _backup_schedule_uuid Backup-Schedule UUID * @param callback */ removeStorageBackupSchedule(_uuid: string, _backup_schedule_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * List all backups of the storage * * @param _uuid Storage UUID * @param _callback */ backups(_uuid: string, _options?: RequestOptions, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<models.StorageBackupsGetResponse>>; /** * Remove existing backup * * @param _uuid Storage UUID * @param _backup_uuid * @param _callback */ deleteStorageBackup(_uuid: string, _backup_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; rollbackStorageBackup(_uuid: string, _backup_uuid: string, _attributes: models.StorageRollback, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<VoidApiResult>>; /** * Creates a new storage from an existing backup * @param _name Name of the new storage * @param _backup_uuid Backup-UUID to restore from * @param _callback */ createFromBackup(_name: string, _backup_uuid: string, _callback?: (response: Response, result: ApiResult<GenericApiResult>) => void): Promise<ApiResult<CreateResponse>>; } export { Storage };