import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a resource to manage rds postgresql backup policy
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const example = new volcengine.rds_postgresql.BackupPolicy("example", {
 *     backupRetentionPeriod: 7,
 *     dataIncrBackupPeriods: "Tuesday,Sunday",
 *     fullBackupPeriod: "Monday,Wednesday,Friday",
 *     fullBackupTime: "18:00Z-19:00Z",
 *     hourlyIncrBackupEnable: true,
 *     incrementBackupFrequency: 12,
 *     instanceId: "postgres-72715e0d9f58",
 *     walLogSpaceLimitEnable: false,
 * });
 * ```
 *
 * ## Import
 *
 * RdsPostgresqlBackupPolicy can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:rds_postgresql/backupPolicy:BackupPolicy default resource_id
 * ```
 */
export declare class BackupPolicy extends pulumi.CustomResource {
    /**
     * Get an existing BackupPolicy resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BackupPolicyState, opts?: pulumi.CustomResourceOptions): BackupPolicy;
    /**
     * Returns true if the given object is an instance of BackupPolicy.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is BackupPolicy;
    /**
     * The number of days to retain backups, with a value range of 7 to 365.
     */
    readonly backupRetentionPeriod: pulumi.Output<number | undefined>;
    /**
     * The incremental backup method follows the backup frequency for normal increments, with multiple values separated by English commas (,). The selected values must not overlap with the full backup cycle. Can select at most six days a week for incremental backup.
     */
    readonly dataIncrBackupPeriods: pulumi.Output<string | undefined>;
    /**
     * Full backup period. Separate multiple values with an English comma (,).Select at least one day per week for a full backup.
     */
    readonly fullBackupPeriod: pulumi.Output<string | undefined>;
    /**
     * The time when the backup task is executed. Format: HH:mmZ-HH:mmZ (UTC time).
     */
    readonly fullBackupTime: pulumi.Output<string | undefined>;
    /**
     * Whether to enable the high-frequency backup function. To disable incremental backup, need to pass an empty string for the parameter dataIncrBackupPeriods and pass false for the parameter hourly_incr_backup_enable.
     */
    readonly hourlyIncrBackupEnable: pulumi.Output<boolean | undefined>;
    /**
     * The method of incremental backup is the backup frequency for high-frequency increments. The Unit: hours. The valid values are 1, 2, 4, 6, and 12.
     */
    readonly incrementBackupFrequency: pulumi.Output<number | undefined>;
    /**
     * The id of the PostgreSQL instance.
     */
    readonly instanceId: pulumi.Output<string>;
    /**
     * Status of the local remaining available space protection function. When enabled, it will automatically start clearing the earliest local WAL logs when the total storage space usage rate of the instance exceeds 80% or the remaining space is less than 5GB, until the total space usage rate is below 80% and the remaining space is greater than 5GB.
     */
    readonly walLogSpaceLimitEnable: pulumi.Output<boolean | undefined>;
    /**
     * Create a BackupPolicy resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: BackupPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering BackupPolicy resources.
 */
export interface BackupPolicyState {
    /**
     * The number of days to retain backups, with a value range of 7 to 365.
     */
    backupRetentionPeriod?: pulumi.Input<number>;
    /**
     * The incremental backup method follows the backup frequency for normal increments, with multiple values separated by English commas (,). The selected values must not overlap with the full backup cycle. Can select at most six days a week for incremental backup.
     */
    dataIncrBackupPeriods?: pulumi.Input<string>;
    /**
     * Full backup period. Separate multiple values with an English comma (,).Select at least one day per week for a full backup.
     */
    fullBackupPeriod?: pulumi.Input<string>;
    /**
     * The time when the backup task is executed. Format: HH:mmZ-HH:mmZ (UTC time).
     */
    fullBackupTime?: pulumi.Input<string>;
    /**
     * Whether to enable the high-frequency backup function. To disable incremental backup, need to pass an empty string for the parameter dataIncrBackupPeriods and pass false for the parameter hourly_incr_backup_enable.
     */
    hourlyIncrBackupEnable?: pulumi.Input<boolean>;
    /**
     * The method of incremental backup is the backup frequency for high-frequency increments. The Unit: hours. The valid values are 1, 2, 4, 6, and 12.
     */
    incrementBackupFrequency?: pulumi.Input<number>;
    /**
     * The id of the PostgreSQL instance.
     */
    instanceId?: pulumi.Input<string>;
    /**
     * Status of the local remaining available space protection function. When enabled, it will automatically start clearing the earliest local WAL logs when the total storage space usage rate of the instance exceeds 80% or the remaining space is less than 5GB, until the total space usage rate is below 80% and the remaining space is greater than 5GB.
     */
    walLogSpaceLimitEnable?: pulumi.Input<boolean>;
}
/**
 * The set of arguments for constructing a BackupPolicy resource.
 */
export interface BackupPolicyArgs {
    /**
     * The number of days to retain backups, with a value range of 7 to 365.
     */
    backupRetentionPeriod?: pulumi.Input<number>;
    /**
     * The incremental backup method follows the backup frequency for normal increments, with multiple values separated by English commas (,). The selected values must not overlap with the full backup cycle. Can select at most six days a week for incremental backup.
     */
    dataIncrBackupPeriods?: pulumi.Input<string>;
    /**
     * Full backup period. Separate multiple values with an English comma (,).Select at least one day per week for a full backup.
     */
    fullBackupPeriod?: pulumi.Input<string>;
    /**
     * The time when the backup task is executed. Format: HH:mmZ-HH:mmZ (UTC time).
     */
    fullBackupTime?: pulumi.Input<string>;
    /**
     * Whether to enable the high-frequency backup function. To disable incremental backup, need to pass an empty string for the parameter dataIncrBackupPeriods and pass false for the parameter hourly_incr_backup_enable.
     */
    hourlyIncrBackupEnable?: pulumi.Input<boolean>;
    /**
     * The method of incremental backup is the backup frequency for high-frequency increments. The Unit: hours. The valid values are 1, 2, 4, 6, and 12.
     */
    incrementBackupFrequency?: pulumi.Input<number>;
    /**
     * The id of the PostgreSQL instance.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Status of the local remaining available space protection function. When enabled, it will automatically start clearing the earliest local WAL logs when the total storage space usage rate of the instance exceeds 80% or the remaining space is less than 5GB, until the total space usage rate is below 80% and the remaining space is greater than 5GB.
     */
    walLogSpaceLimitEnable?: pulumi.Input<boolean>;
}
