import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Automatic snapshot policy * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const storageEBSSnapshotPolicyDemo = new volcenginecc.storageebs.SnapshotPolicy("StorageEBSSnapshotPolicyDemo", { * autoSnapshotPolicyName: "ccapi-test", * timePoints: [ * "0", * "1", * ], * repeatWeekdays: [ * "2", * "5", * ], * retentionDays: 7, * projectName: "default", * addVolumeIds: [ * "vol-3x594jtg0g4cxxxxx", * "vol-3x594j4dvp4i4txxxxx", * ], * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:storageebs/snapshotPolicy:SnapshotPolicy example "auto_snapshot_policy_id" * ``` */ export declare class SnapshotPolicy extends pulumi.CustomResource { /** * Get an existing SnapshotPolicy 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, state?: SnapshotPolicyState, opts?: pulumi.CustomResourceOptions): SnapshotPolicy; /** * Returns true if the given object is an instance of SnapshotPolicy. 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 SnapshotPolicy; /** * List of cloud disk IDs to associate with the automatic snapshot policy. */ readonly addVolumeIds: pulumi.Output; /** * Automatic snapshot policy ID. */ readonly autoSnapshotPolicyId: pulumi.Output; /** * Automatic snapshot policy name. Naming rules: The first character must be Chinese, a letter, or an underscore (*). It can include Chinese, letters, numbers, underscores (*), hyphens (-), or periods (.). Length must be between 1 and 128 characters. */ readonly autoSnapshotPolicyName: pulumi.Output; /** * Creation time of the automatic snapshot policy. */ readonly createdAt: pulumi.Output; /** * Project associated with the automatic snapshot policy. */ readonly projectName: pulumi.Output; /** * List of cloud disk IDs to disassociate from the automatic snapshot policy. */ readonly removeVolumeIds: pulumi.Output; /** * Create snapshots on a daily basis, with a specified interval in days. The value range is [1, 30]. When repeating snapshot creation daily, the day you create the automatic snapshot policy is considered Day 1. Snapshots will not be created for past time points. If all scheduled snapshot times for the day have passed, the day is still counted as Day 1. */ readonly repeatDays: pulumi.Output; /** * Create snapshots on a weekly basis by selecting one or more days from Monday to Sunday. The value range is 1–7. When creating an automatic snapshot policy, you must set either the RepeatWeekdays.N or RepeatDays parameter. Setting both parameters at the same time is not supported. */ readonly repeatWeekdays: pulumi.Output; /** * Retention period for automatic snapshots, in days. -1: Save permanently; 1–65536: Specify number of days to retain. */ readonly retentionDays: pulumi.Output; /** * Reserved parameter. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Snapshot creation time points, using UTC +8 time. Unit: hour. Value range: 0–23. */ readonly timePoints: pulumi.Output; /** * Update time of the automatic snapshot policy. */ readonly updatedAt: pulumi.Output; /** * Total number of cloud disks. */ readonly volumeNums: pulumi.Output; /** * Create a SnapshotPolicy 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: SnapshotPolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SnapshotPolicy resources. */ export interface SnapshotPolicyState { /** * List of cloud disk IDs to associate with the automatic snapshot policy. */ addVolumeIds?: pulumi.Input[]>; /** * Automatic snapshot policy ID. */ autoSnapshotPolicyId?: pulumi.Input; /** * Automatic snapshot policy name. Naming rules: The first character must be Chinese, a letter, or an underscore (*). It can include Chinese, letters, numbers, underscores (*), hyphens (-), or periods (.). Length must be between 1 and 128 characters. */ autoSnapshotPolicyName?: pulumi.Input; /** * Creation time of the automatic snapshot policy. */ createdAt?: pulumi.Input; /** * Project associated with the automatic snapshot policy. */ projectName?: pulumi.Input; /** * List of cloud disk IDs to disassociate from the automatic snapshot policy. */ removeVolumeIds?: pulumi.Input[]>; /** * Create snapshots on a daily basis, with a specified interval in days. The value range is [1, 30]. When repeating snapshot creation daily, the day you create the automatic snapshot policy is considered Day 1. Snapshots will not be created for past time points. If all scheduled snapshot times for the day have passed, the day is still counted as Day 1. */ repeatDays?: pulumi.Input; /** * Create snapshots on a weekly basis by selecting one or more days from Monday to Sunday. The value range is 1–7. When creating an automatic snapshot policy, you must set either the RepeatWeekdays.N or RepeatDays parameter. Setting both parameters at the same time is not supported. */ repeatWeekdays?: pulumi.Input[]>; /** * Retention period for automatic snapshots, in days. -1: Save permanently; 1–65536: Specify number of days to retain. */ retentionDays?: pulumi.Input; /** * Reserved parameter. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Snapshot creation time points, using UTC +8 time. Unit: hour. Value range: 0–23. */ timePoints?: pulumi.Input[]>; /** * Update time of the automatic snapshot policy. */ updatedAt?: pulumi.Input; /** * Total number of cloud disks. */ volumeNums?: pulumi.Input; } /** * The set of arguments for constructing a SnapshotPolicy resource. */ export interface SnapshotPolicyArgs { /** * List of cloud disk IDs to associate with the automatic snapshot policy. */ addVolumeIds?: pulumi.Input[]>; /** * Automatic snapshot policy name. Naming rules: The first character must be Chinese, a letter, or an underscore (*). It can include Chinese, letters, numbers, underscores (*), hyphens (-), or periods (.). Length must be between 1 and 128 characters. */ autoSnapshotPolicyName: pulumi.Input; /** * Project associated with the automatic snapshot policy. */ projectName?: pulumi.Input; /** * List of cloud disk IDs to disassociate from the automatic snapshot policy. */ removeVolumeIds?: pulumi.Input[]>; /** * Create snapshots on a daily basis, with a specified interval in days. The value range is [1, 30]. When repeating snapshot creation daily, the day you create the automatic snapshot policy is considered Day 1. Snapshots will not be created for past time points. If all scheduled snapshot times for the day have passed, the day is still counted as Day 1. */ repeatDays?: pulumi.Input; /** * Create snapshots on a weekly basis by selecting one or more days from Monday to Sunday. The value range is 1–7. When creating an automatic snapshot policy, you must set either the RepeatWeekdays.N or RepeatDays parameter. Setting both parameters at the same time is not supported. */ repeatWeekdays?: pulumi.Input[]>; /** * Retention period for automatic snapshots, in days. -1: Save permanently; 1–65536: Specify number of days to retain. */ retentionDays: pulumi.Input; tags?: pulumi.Input[]>; /** * Snapshot creation time points, using UTC +8 time. Unit: hour. Value range: 0–23. */ timePoints: pulumi.Input[]>; }