Backup Policy Args
data class BackupPolicyArgs(val backupPolicyName: Output<String>? = null, val properties: Output<BackupPolicyArgs>? = null, val resourceGroupName: Output<String>? = null, val vaultName: Output<String>? = null) : ConvertibleToJava<BackupPolicyArgs>
BaseBackupPolicy resource Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2023-01-01. Other available API versions: 2023-01-01, 2023-04-01-preview, 2023-05-01, 2023-06-01-preview, 2023-08-01-preview, 2023-11-01, 2023-12-01, 2024-02-01-preview, 2024-03-01, 2024-04-01, 2025-02-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native dataprotection [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
CreateOrUpdate BackupPolicy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var backupPolicy = new AzureNative.DataProtection.BackupPolicy("backupPolicy", new()
{
BackupPolicyName = "OSSDBPolicy",
Properties = new AzureNative.DataProtection.Inputs.BackupPolicyArgs
{
DatasourceTypes = new[]
{
"OssDB",
},
ObjectType = "BackupPolicy",
PolicyRules =
{
new AzureNative.DataProtection.Inputs.AzureBackupRuleArgs
{
BackupParameters = new AzureNative.DataProtection.Inputs.AzureBackupParamsArgs
{
BackupType = "Full",
ObjectType = "AzureBackupParams",
},
DataStore = new AzureNative.DataProtection.Inputs.DataStoreInfoBaseArgs
{
DataStoreType = AzureNative.DataProtection.DataStoreTypes.VaultStore,
ObjectType = "DataStoreInfoBase",
},
Name = "BackupWeekly",
ObjectType = "AzureBackupRule",
Trigger = new AzureNative.DataProtection.Inputs.ScheduleBasedTriggerContextArgs
{
ObjectType = "ScheduleBasedTriggerContext",
Schedule = new AzureNative.DataProtection.Inputs.BackupScheduleArgs
{
RepeatingTimeIntervals = new[]
{
"R/2019-11-20T08:00:00-08:00/P1W",
},
},
TaggingCriteria = new[]
{
new AzureNative.DataProtection.Inputs.TaggingCriteriaArgs
{
IsDefault = true,
TagInfo = new AzureNative.DataProtection.Inputs.RetentionTagArgs
{
TagName = "Default",
},
TaggingPriority = 99,
},
new AzureNative.DataProtection.Inputs.TaggingCriteriaArgs
{
Criteria = new[]
{
new AzureNative.DataProtection.Inputs.ScheduleBasedBackupCriteriaArgs
{
DaysOfTheWeek = new[]
{
AzureNative.DataProtection.DayOfWeek.Sunday,
},
ObjectType = "ScheduleBasedBackupCriteria",
ScheduleTimes = new[]
{
"2019-03-01T13:00:00Z",
},
},
},
IsDefault = false,
TagInfo = new AzureNative.DataProtection.Inputs.RetentionTagArgs
{
TagName = "Weekly",
},
TaggingPriority = 20,
},
},
},
},
new AzureNative.DataProtection.Inputs.AzureRetentionRuleArgs
{
IsDefault = true,
Lifecycles = new[]
{
new AzureNative.DataProtection.Inputs.SourceLifeCycleArgs
{
DeleteAfter = new AzureNative.DataProtection.Inputs.AbsoluteDeleteOptionArgs
{
Duration = "P1W",
ObjectType = "AbsoluteDeleteOption",
},
SourceDataStore = new AzureNative.DataProtection.Inputs.DataStoreInfoBaseArgs
{
DataStoreType = AzureNative.DataProtection.DataStoreTypes.VaultStore,
ObjectType = "DataStoreInfoBase",
},
},
},
Name = "Default",
ObjectType = "AzureRetentionRule",
},
new AzureNative.DataProtection.Inputs.AzureRetentionRuleArgs
{
IsDefault = false,
Lifecycles = new[]
{
new AzureNative.DataProtection.Inputs.SourceLifeCycleArgs
{
DeleteAfter = new AzureNative.DataProtection.Inputs.AbsoluteDeleteOptionArgs
{
Duration = "P12W",
ObjectType = "AbsoluteDeleteOption",
},
SourceDataStore = new AzureNative.DataProtection.Inputs.DataStoreInfoBaseArgs
{
DataStoreType = AzureNative.DataProtection.DataStoreTypes.VaultStore,
ObjectType = "DataStoreInfoBase",
},
},
},
Name = "Weekly",
ObjectType = "AzureRetentionRule",
},
},
},
ResourceGroupName = "000pikumar",
VaultName = "PrivatePreviewVault",
});
});
Content copied to clipboard
package main
import (
dataprotection "github.com/pulumi/pulumi-azure-native-sdk/dataprotection/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dataprotection.NewBackupPolicy(ctx, "backupPolicy", &dataprotection.BackupPolicyArgs{
BackupPolicyName: pulumi.String("OSSDBPolicy"),
Properties: &dataprotection.BackupPolicyTypeArgs{
DatasourceTypes: pulumi.StringArray{
pulumi.String("OssDB"),
},
ObjectType: pulumi.String("BackupPolicy"),
PolicyRules: pulumi.Array{
dataprotection.AzureBackupRule{
BackupParameters: dataprotection.AzureBackupParams{
BackupType: "Full",
ObjectType: "AzureBackupParams",
},
DataStore: dataprotection.DataStoreInfoBase{
DataStoreType: dataprotection.DataStoreTypesVaultStore,
ObjectType: "DataStoreInfoBase",
},
Name: "BackupWeekly",
ObjectType: "AzureBackupRule",
Trigger: dataprotection.ScheduleBasedTriggerContext{
ObjectType: "ScheduleBasedTriggerContext",
Schedule: dataprotection.BackupSchedule{
RepeatingTimeIntervals: []string{
"R/2019-11-20T08:00:00-08:00/P1W",
},
},
TaggingCriteria: []dataprotection.TaggingCriteria{
{
IsDefault: true,
TagInfo: {
TagName: "Default",
},
TaggingPriority: 99,
},
{
Criteria: []dataprotection.ScheduleBasedBackupCriteria{
{
DaysOfTheWeek: []dataprotection.DayOfWeek{
dataprotection.DayOfWeekSunday,
},
ObjectType: "ScheduleBasedBackupCriteria",
ScheduleTimes: []string{
"2019-03-01T13:00:00Z",
},
},
},
IsDefault: false,
TagInfo: {
TagName: "Weekly",
},
TaggingPriority: 20,
},
},
},
},
dataprotection.AzureRetentionRule{
IsDefault: true,
Lifecycles: []dataprotection.SourceLifeCycle{
{
DeleteAfter: {
Duration: "P1W",
ObjectType: "AbsoluteDeleteOption",
},
SourceDataStore: {
DataStoreType: dataprotection.DataStoreTypesVaultStore,
ObjectType: "DataStoreInfoBase",
},
},
},
Name: "Default",
ObjectType: "AzureRetentionRule",
},
dataprotection.AzureRetentionRule{
IsDefault: false,
Lifecycles: []dataprotection.SourceLifeCycle{
{
DeleteAfter: {
Duration: "P12W",
ObjectType: "AbsoluteDeleteOption",
},
SourceDataStore: {
DataStoreType: dataprotection.DataStoreTypesVaultStore,
ObjectType: "DataStoreInfoBase",
},
},
},
Name: "Weekly",
ObjectType: "AzureRetentionRule",
},
},
},
ResourceGroupName: pulumi.String("000pikumar"),
VaultName: pulumi.String("PrivatePreviewVault"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.dataprotection.BackupPolicy;
import com.pulumi.azurenative.dataprotection.BackupPolicyArgs;
import com.pulumi.azurenative.dataprotection.inputs.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 backupPolicy = new BackupPolicy("backupPolicy", BackupPolicyArgs.builder()
.backupPolicyName("OSSDBPolicy")
.properties(BackupPolicyArgs.builder()
.datasourceTypes("OssDB")
.objectType("BackupPolicy")
.policyRules(
AzureBackupRuleArgs.builder()
.backupParameters(AzureBackupParamsArgs.builder()
.backupType("Full")
.objectType("AzureBackupParams")
.build())
.dataStore(DataStoreInfoBaseArgs.builder()
.dataStoreType("VaultStore")
.objectType("DataStoreInfoBase")
.build())
.name("BackupWeekly")
.objectType("AzureBackupRule")
.trigger(ScheduleBasedTriggerContextArgs.builder()
.objectType("ScheduleBasedTriggerContext")
.schedule(BackupScheduleArgs.builder()
.repeatingTimeIntervals("R/2019-11-20T08:00:00-08:00/P1W")
.build())
.taggingCriteria(
TaggingCriteriaArgs.builder()
.isDefault(true)
.tagInfo(RetentionTagArgs.builder()
.tagName("Default")
.build())
.taggingPriority(99)
.build(),
TaggingCriteriaArgs.builder()
.criteria(ScheduleBasedBackupCriteriaArgs.builder()
.daysOfTheWeek("Sunday")
.objectType("ScheduleBasedBackupCriteria")
.scheduleTimes("2019-03-01T13:00:00Z")
.build())
.isDefault(false)
.tagInfo(RetentionTagArgs.builder()
.tagName("Weekly")
.build())
.taggingPriority(20)
.build())
.build())
.build(),
AzureRetentionRuleArgs.builder()
.isDefault(true)
.lifecycles(SourceLifeCycleArgs.builder()
.deleteAfter(AbsoluteDeleteOptionArgs.builder()
.duration("P1W")
.objectType("AbsoluteDeleteOption")
.build())
.sourceDataStore(DataStoreInfoBaseArgs.builder()
.dataStoreType("VaultStore")
.objectType("DataStoreInfoBase")
.build())
.build())
.name("Default")
.objectType("AzureRetentionRule")
.build(),
AzureRetentionRuleArgs.builder()
.isDefault(false)
.lifecycles(SourceLifeCycleArgs.builder()
.deleteAfter(AbsoluteDeleteOptionArgs.builder()
.duration("P12W")
.objectType("AbsoluteDeleteOption")
.build())
.sourceDataStore(DataStoreInfoBaseArgs.builder()
.dataStoreType("VaultStore")
.objectType("DataStoreInfoBase")
.build())
.build())
.name("Weekly")
.objectType("AzureRetentionRule")
.build())
.build())
.resourceGroupName("000pikumar")
.vaultName("PrivatePreviewVault")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:dataprotection:BackupPolicy OSSDBPolicy /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(backupPolicyName: Output<String>? = null, properties: Output<BackupPolicyArgs>? = null, resourceGroupName: Output<String>? = null, vaultName: Output<String>? = null)