/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { BackupMethodOption } from './backup-method-option';
import type { BackupOptionOfflineBackupOption } from './backup-option-offline-backup-option';
import type { BackupOptionRestoreOption } from './backup-option-restore-option';
import type { ParametersValueValue } from './parameters-value-value';
import type { SelectiveMethodOption } from './selective-method-option';
/**
 * If present, it must be set defaultMethod and fullMethod
 * @export
 * @interface BackupOption
 */
export interface BackupOption {
    /**
     *
     * @type {string}
     * @memberof BackupOption
     */
    'defaultMethod': string;
    /**
     * If set, the default backup method will be applied to the specified component. If not set, the default backup method will be applied to all components.
     * @type {string}
     * @memberof BackupOption
     */
    'defaultComponent'?: string;
    /**
     * selector for the default backup policy template. this is necessary when referencing other addon components
     * @type {{ [key: string]: string; }}
     * @memberof BackupOption
     */
    'defaultBPTSelector'?: {
        [key: string]: string;
    };
    /**
     *
     * @type {BackupOptionRestoreOption}
     * @memberof BackupOption
     */
    'restoreOption'?: BackupOptionRestoreOption;
    /**
     *
     * @type {BackupOptionOfflineBackupOption}
     * @memberof BackupOption
     */
    'offlineBackupOption'?: BackupOptionOfflineBackupOption;
    /**
     *
     * @type {{ [key: string]: { [key: string]: ParametersValueValue; }; }}
     * @memberof BackupOption
     */
    'backupParameters'?: {
        [key: string]: {
            [key: string]: ParametersValueValue;
        };
    };
    /**
     *
     * @type {{ [key: string]: { [key: string]: ParametersValueValue; }; }}
     * @memberof BackupOption
     */
    'restoreParameters'?: {
        [key: string]: {
            [key: string]: ParametersValueValue;
        };
    };
    /**
     *
     * @type {Array<BackupMethodOption>}
     * @memberof BackupOption
     */
    'fullMethod': Array<BackupMethodOption>;
    /**
     *
     * @type {Array<BackupMethodOption>}
     * @memberof BackupOption
     */
    'incrementalMethod'?: Array<BackupMethodOption>;
    /**
     *
     * @type {Array<BackupMethodOption>}
     * @memberof BackupOption
     */
    'continuousMethod'?: Array<BackupMethodOption>;
    /**
     * Selective backup methods that support backing up specific objects
     * @type {Array<SelectiveMethodOption>}
     * @memberof BackupOption
     */
    'selectiveMethod'?: Array<SelectiveMethodOption>;
}
//# sourceMappingURL=backup-option.d.ts.map