BackupPolicy

class BackupPolicy : KotlinCustomResource

A backup policy is used to schedule backups at regular daily, weekly, or monthly intervals. Backup policies allow you to attach a backup schedule to a volume. The policy defines how many backups to retain at daily, weekly, or monthly intervals. To get more information about backupPolicy, see:

Example Usage

Netapp Backup Policy Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const testBackupPolicyFull = new gcp.netapp.BackupPolicy("test_backup_policy_full", {
name: "test-backup-policy-full",
location: "us-central1",
dailyBackupLimit: 2,
weeklyBackupLimit: 1,
monthlyBackupLimit: 1,
description: "TF test backup schedule",
enabled: true,
labels: {
foo: "bar",
},
});
import pulumi
import pulumi_gcp as gcp
test_backup_policy_full = gcp.netapp.BackupPolicy("test_backup_policy_full",
name="test-backup-policy-full",
location="us-central1",
daily_backup_limit=2,
weekly_backup_limit=1,
monthly_backup_limit=1,
description="TF test backup schedule",
enabled=True,
labels={
"foo": "bar",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var testBackupPolicyFull = new Gcp.Netapp.BackupPolicy("test_backup_policy_full", new()
{
Name = "test-backup-policy-full",
Location = "us-central1",
DailyBackupLimit = 2,
WeeklyBackupLimit = 1,
MonthlyBackupLimit = 1,
Description = "TF test backup schedule",
Enabled = true,
Labels =
{
{ "foo", "bar" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/netapp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := netapp.NewBackupPolicy(ctx, "test_backup_policy_full", &netapp.BackupPolicyArgs{
Name: pulumi.String("test-backup-policy-full"),
Location: pulumi.String("us-central1"),
DailyBackupLimit: pulumi.Int(2),
WeeklyBackupLimit: pulumi.Int(1),
MonthlyBackupLimit: pulumi.Int(1),
Description: pulumi.String("TF test backup schedule"),
Enabled: pulumi.Bool(true),
Labels: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.netapp.BackupPolicy;
import com.pulumi.gcp.netapp.BackupPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var testBackupPolicyFull = new BackupPolicy("testBackupPolicyFull", BackupPolicyArgs.builder()
.name("test-backup-policy-full")
.location("us-central1")
.dailyBackupLimit(2)
.weeklyBackupLimit(1)
.monthlyBackupLimit(1)
.description("TF test backup schedule")
.enabled(true)
.labels(Map.of("foo", "bar"))
.build());
}
}
resources:
testBackupPolicyFull:
type: gcp:netapp:BackupPolicy
name: test_backup_policy_full
properties:
name: test-backup-policy-full
location: us-central1
dailyBackupLimit: 2
weeklyBackupLimit: 1
monthlyBackupLimit: 1
description: TF test backup schedule
enabled: true
labels:
foo: bar

Import

backupPolicy can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/backupPolicies/{{name}}

  • {{project}}/{{location}}/{{name}}

  • {{location}}/{{name}} When using the pulumi import command, backupPolicy can be imported using one of the formats above. For example:

$ pulumi import gcp:netapp/backupPolicy:BackupPolicy default projects/{{project}}/locations/{{location}}/backupPolicies/{{name}}
$ pulumi import gcp:netapp/backupPolicy:BackupPolicy default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:netapp/backupPolicy:BackupPolicy default {{location}}/{{name}}

Properties

Link copied to clipboard

The total number of volumes assigned by this backup policy.

Link copied to clipboard
val createTime: Output<String>

Create time of the backup policy. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".

Link copied to clipboard
val dailyBackupLimit: Output<Int>

Number of daily backups to keep. Note that the minimum daily backup limit is 2.

Link copied to clipboard
val description: Output<String>?

An optional description of this resource.

Link copied to clipboard

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

Link copied to clipboard
val enabled: Output<Boolean>?

If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val labels: Output<Map<String, String>>?

Labels as key value pairs. Example: { "owner": "Bob", "department": "finance", "purpose": "testing" }. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Link copied to clipboard
val location: Output<String>

Name of the region for the policy to apply to.

Link copied to clipboard
val monthlyBackupLimit: Output<Int>

Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.

Link copied to clipboard
val name: Output<String>

The name of the backup policy. Needs to be unique per location.

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
val pulumiLabels: Output<Map<String, String>>

The combination of labels configured directly on the resource and default labels configured on the provider.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val state: Output<String>

The state of the backup policy.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val weeklyBackupLimit: Output<Int>

Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.