/**
 * KubeBlocks Cloud API
 * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources.  The API is organized around REST.  Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs.  We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
 *
 * 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 { BackupRetentionPolicy } from './backup-retention-policy';
/**
 * clusterBackup is the payload for cluster backup
 * @export
 * @interface ClusterBackup
 */
export interface ClusterBackup {
    /**
     * PITREnabled or not
     * @type {boolean}
     * @memberof ClusterBackup
     */
    'pitrEnabled'?: boolean;
    /**
     * continuous backup method for pitr
     * @type {string}
     * @memberof ClusterBackup
     */
    'continuousBackupMethod'?: string;
    /**
     * autoBackup or not
     * @type {boolean}
     * @memberof ClusterBackup
     */
    'autoBackup'?: boolean;
    /**
     * name of the backup method
     * @type {string}
     * @memberof ClusterBackup
     */
    'autoBackupMethod'?: string;
    /**
     * backupRepoName is the name of backupRepo and it is used to store the backup data
     * @type {string}
     * @memberof ClusterBackup
     */
    'backupRepo'?: string;
    /**
     * cronExpression specifies the cron expression
     * @type {string}
     * @memberof ClusterBackup
     */
    'cronExpression'?: string;
    /**
     * retentionPeriod specifies the retention period
     * @type {string}
     * @memberof ClusterBackup
     */
    'retentionPeriod'?: string;
    /**
     *
     * @type {BackupRetentionPolicy}
     * @memberof ClusterBackup
     */
    'retentionPolicy'?: BackupRetentionPolicy;
    /**
     * snapshotVolumes specifies whether to take snapshots of persistent volumes to back up
     * @type {boolean}
     * @memberof ClusterBackup
     */
    'snapshotVolumes'?: boolean | null;
    /**
     * specify whether to enable incremental backup
     * @type {boolean}
     * @memberof ClusterBackup
     */
    'incrementalBackupEnabled'?: boolean;
    /**
     * the crop expression for incremental backup schedule
     * @type {string}
     * @memberof ClusterBackup
     */
    'incrementalCronExpression'?: string;
}
//# sourceMappingURL=cluster-backup.d.ts.map