azure-native.recoveryservices.ProtectionPolicy
Explore with Pulumi AI
Base class for backup policy. Workload-specific backup policies are derived from this class. Azure REST API version: 2023-04-01. Prior API version in Azure Native 1.x: 2021-02-01.
Other available API versions: 2023-06-01, 2023-08-01, 2024-01-01, 2024-02-01, 2024-04-01, 2024-04-30-preview, 2024-07-30-preview, 2024-10-01.
Example Usage
Create or Update Daily Azure Storage Protection Policy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "dailyPolicy2",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureFileShareProtectionPolicyArgs
        {
            BackupManagementType = "AzureStorage",
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 5,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-09-29T08:00:00.000Z",
                    },
                },
                MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 60,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-09-29T08:00:00.000Z",
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
                WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 12,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-09-29T08:00:00.000Z",
                    },
                },
                YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                {
                    MonthsOfYear = new[]
                    {
                        AzureNative.RecoveryServices.MonthOfYear.January,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 10,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-09-29T08:00:00.000Z",
                    },
                },
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
            {
                SchedulePolicyType = "SimpleSchedulePolicy",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Daily,
                ScheduleRunTimes = new[]
                {
                    "2021-09-29T08:00:00.000Z",
                },
            },
            TimeZone = "UTC",
            WorkLoadType = AzureNative.RecoveryServices.WorkloadType.AzureFileShare,
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "swaggertestvault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("dailyPolicy2"),
			Properties: &recoveryservices.AzureFileShareProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureStorage"),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					DailySchedule: recoveryservices.DailyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        5,
							DurationType: recoveryservices.RetentionDurationTypeDays,
						},
						RetentionTimes: []string{
							"2021-09-29T08:00:00.000Z",
						},
					},
					MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        60,
							DurationType: recoveryservices.RetentionDurationTypeMonths,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-09-29T08:00:00.000Z",
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
					WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
						DaysOfTheWeek: []recoveryservices.DayOfWeek{
							recoveryservices.DayOfWeekSunday,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        12,
							DurationType: recoveryservices.RetentionDurationTypeWeeks,
						},
						RetentionTimes: []string{
							"2021-09-29T08:00:00.000Z",
						},
					},
					YearlySchedule: recoveryservices.YearlyRetentionSchedule{
						MonthsOfYear: []recoveryservices.MonthOfYear{
							recoveryservices.MonthOfYearJanuary,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        10,
							DurationType: recoveryservices.RetentionDurationTypeYears,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-09-29T08:00:00.000Z",
						},
					},
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
					SchedulePolicyType:   "SimpleSchedulePolicy",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeDaily,
					ScheduleRunTimes: []string{
						"2021-09-29T08:00:00.000Z",
					},
				},
				TimeZone:     pulumi.String("UTC"),
				WorkLoadType: pulumi.String(recoveryservices.WorkloadTypeAzureFileShare),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("swaggertestvault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("dailyPolicy2")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureStorage")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .dailySchedule(DailyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(5)
                            .durationType("Days")
                            .build())
                        .retentionTimes("2021-09-29T08:00:00.000Z")
                        .build())
                    .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(60)
                            .durationType("Months")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-09-29T08:00:00.000Z")
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                        .daysOfTheWeek("Sunday")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(12)
                            .durationType("Weeks")
                            .build())
                        .retentionTimes("2021-09-29T08:00:00.000Z")
                        .build())
                    .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                        .monthsOfYear("January")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(10)
                            .durationType("Years")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-09-29T08:00:00.000Z")
                        .build())
                    .build())
                .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                    .schedulePolicyType("SimpleSchedulePolicy")
                    .scheduleRunFrequency("Daily")
                    .scheduleRunTimes("2021-09-29T08:00:00.000Z")
                    .build())
                .timeZone("UTC")
                .workLoadType("AzureFileShare")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("swaggertestvault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "dailyPolicy2",
    properties: {
        backupManagementType: "AzureStorage",
        retentionPolicy: {
            dailySchedule: {
                retentionDuration: {
                    count: 5,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                },
                retentionTimes: ["2021-09-29T08:00:00.000Z"],
            },
            monthlySchedule: {
                retentionDuration: {
                    count: 60,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-09-29T08:00:00.000Z"],
            },
            retentionPolicyType: "LongTermRetentionPolicy",
            weeklySchedule: {
                daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                retentionDuration: {
                    count: 12,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                },
                retentionTimes: ["2021-09-29T08:00:00.000Z"],
            },
            yearlySchedule: {
                monthsOfYear: [azure_native.recoveryservices.MonthOfYear.January],
                retentionDuration: {
                    count: 10,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-09-29T08:00:00.000Z"],
            },
        },
        schedulePolicy: {
            schedulePolicyType: "SimpleSchedulePolicy",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Daily,
            scheduleRunTimes: ["2021-09-29T08:00:00.000Z"],
        },
        timeZone: "UTC",
        workLoadType: azure_native.recoveryservices.WorkloadType.AzureFileShare,
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "swaggertestvault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="dailyPolicy2",
    properties={
        "backup_management_type": "AzureStorage",
        "retention_policy": {
            "daily_schedule": {
                "retention_duration": {
                    "count": 5,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                },
                "retention_times": ["2021-09-29T08:00:00.000Z"],
            },
            "monthly_schedule": {
                "retention_duration": {
                    "count": 60,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-09-29T08:00:00.000Z"],
            },
            "retention_policy_type": "LongTermRetentionPolicy",
            "weekly_schedule": {
                "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                "retention_duration": {
                    "count": 12,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                },
                "retention_times": ["2021-09-29T08:00:00.000Z"],
            },
            "yearly_schedule": {
                "months_of_year": [azure_native.recoveryservices.MonthOfYear.JANUARY],
                "retention_duration": {
                    "count": 10,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-09-29T08:00:00.000Z"],
            },
        },
        "schedule_policy": {
            "schedule_policy_type": "SimpleSchedulePolicy",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.DAILY,
            "schedule_run_times": ["2021-09-29T08:00:00.000Z"],
        },
        "time_zone": "UTC",
        "work_load_type": azure_native.recoveryservices.WorkloadType.AZURE_FILE_SHARE,
    },
    resource_group_name="SwaggerTestRg",
    vault_name="swaggertestvault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: dailyPolicy2
      properties:
        backupManagementType: AzureStorage
        retentionPolicy:
          dailySchedule:
            retentionDuration:
              count: 5
              durationType: Days
            retentionTimes:
              - 2021-09-29T08:00:00.000Z
          monthlySchedule:
            retentionDuration:
              count: 60
              durationType: Months
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-09-29T08:00:00.000Z
          retentionPolicyType: LongTermRetentionPolicy
          weeklySchedule:
            daysOfTheWeek:
              - Sunday
            retentionDuration:
              count: 12
              durationType: Weeks
            retentionTimes:
              - 2021-09-29T08:00:00.000Z
          yearlySchedule:
            monthsOfYear:
              - January
            retentionDuration:
              count: 10
              durationType: Years
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-09-29T08:00:00.000Z
        schedulePolicy:
          schedulePolicyType: SimpleSchedulePolicy
          scheduleRunFrequency: Daily
          scheduleRunTimes:
            - 2021-09-29T08:00:00.000Z
        timeZone: UTC
        workLoadType: AzureFileShare
      resourceGroupName: SwaggerTestRg
      vaultName: swaggertestvault
Create or Update Enhanced Azure Vm Protection Policy with Hourly backup
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "v2-daily-sample",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureIaaSVMProtectionPolicyArgs
        {
            BackupManagementType = "AzureIaasVM",
            InstantRpRetentionRangeInDays = 30,
            PolicyType = AzureNative.RecoveryServices.IAASVMPolicyType.V2,
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 180,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 60,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
                WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 12,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                {
                    MonthsOfYear = new[]
                    {
                        AzureNative.RecoveryServices.MonthOfYear.January,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 10,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2Args
            {
                HourlySchedule = new AzureNative.RecoveryServices.Inputs.HourlyScheduleArgs
                {
                    Interval = 4,
                    ScheduleWindowDuration = 16,
                    ScheduleWindowStartTime = "2021-12-17T08:00:00Z",
                },
                SchedulePolicyType = "SimpleSchedulePolicyV2",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Hourly,
            },
            TimeZone = "India Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("v2-daily-sample"),
			Properties: &recoveryservices.AzureIaaSVMProtectionPolicyArgs{
				BackupManagementType:          pulumi.String("AzureIaasVM"),
				InstantRpRetentionRangeInDays: pulumi.Int(30),
				PolicyType:                    pulumi.String(recoveryservices.IAASVMPolicyTypeV2),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					DailySchedule: recoveryservices.DailyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        180,
							DurationType: recoveryservices.RetentionDurationTypeDays,
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        60,
							DurationType: recoveryservices.RetentionDurationTypeMonths,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
					WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
						DaysOfTheWeek: []recoveryservices.DayOfWeek{
							recoveryservices.DayOfWeekSunday,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        12,
							DurationType: recoveryservices.RetentionDurationTypeWeeks,
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					YearlySchedule: recoveryservices.YearlyRetentionSchedule{
						MonthsOfYear: []recoveryservices.MonthOfYear{
							recoveryservices.MonthOfYearJanuary,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        10,
							DurationType: recoveryservices.RetentionDurationTypeYears,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicyV2{
					HourlySchedule: recoveryservices.HourlySchedule{
						Interval:                4,
						ScheduleWindowDuration:  16,
						ScheduleWindowStartTime: "2021-12-17T08:00:00Z",
					},
					SchedulePolicyType:   "SimpleSchedulePolicyV2",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeHourly,
				},
				TimeZone: pulumi.String("India Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("v2-daily-sample")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureIaasVM")
                .instantRpRetentionRangeInDays(30)
                .policyType("V2")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .dailySchedule(DailyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(180)
                            .durationType("Days")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(60)
                            .durationType("Months")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                        .daysOfTheWeek("Sunday")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(12)
                            .durationType("Weeks")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                        .monthsOfYear("January")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(10)
                            .durationType("Years")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .build())
                .schedulePolicy(SimpleSchedulePolicyV2Args.builder()
                    .hourlySchedule(HourlyScheduleArgs.builder()
                        .interval(4)
                        .scheduleWindowDuration(16)
                        .scheduleWindowStartTime("2021-12-17T08:00:00Z")
                        .build())
                    .schedulePolicyType("SimpleSchedulePolicyV2")
                    .scheduleRunFrequency("Hourly")
                    .build())
                .timeZone("India Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "v2-daily-sample",
    properties: {
        backupManagementType: "AzureIaasVM",
        instantRpRetentionRangeInDays: 30,
        policyType: azure_native.recoveryservices.IAASVMPolicyType.V2,
        retentionPolicy: {
            dailySchedule: {
                retentionDuration: {
                    count: 180,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            monthlySchedule: {
                retentionDuration: {
                    count: 60,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            retentionPolicyType: "LongTermRetentionPolicy",
            weeklySchedule: {
                daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                retentionDuration: {
                    count: 12,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            yearlySchedule: {
                monthsOfYear: [azure_native.recoveryservices.MonthOfYear.January],
                retentionDuration: {
                    count: 10,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
        },
        schedulePolicy: {
            hourlySchedule: {
                interval: 4,
                scheduleWindowDuration: 16,
                scheduleWindowStartTime: "2021-12-17T08:00:00Z",
            },
            schedulePolicyType: "SimpleSchedulePolicyV2",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Hourly,
        },
        timeZone: "India Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="v2-daily-sample",
    properties={
        "backup_management_type": "AzureIaasVM",
        "instant_rp_retention_range_in_days": 30,
        "policy_type": azure_native.recoveryservices.IAASVMPolicyType.V2,
        "retention_policy": {
            "daily_schedule": {
                "retention_duration": {
                    "count": 180,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "monthly_schedule": {
                "retention_duration": {
                    "count": 60,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "retention_policy_type": "LongTermRetentionPolicy",
            "weekly_schedule": {
                "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                "retention_duration": {
                    "count": 12,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "yearly_schedule": {
                "months_of_year": [azure_native.recoveryservices.MonthOfYear.JANUARY],
                "retention_duration": {
                    "count": 10,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
        },
        "schedule_policy": {
            "hourly_schedule": {
                "interval": 4,
                "schedule_window_duration": 16,
                "schedule_window_start_time": "2021-12-17T08:00:00Z",
            },
            "schedule_policy_type": "SimpleSchedulePolicyV2",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.HOURLY,
        },
        "time_zone": "India Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: v2-daily-sample
      properties:
        backupManagementType: AzureIaasVM
        instantRpRetentionRangeInDays: 30
        policyType: V2
        retentionPolicy:
          dailySchedule:
            retentionDuration:
              count: 180
              durationType: Days
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          monthlySchedule:
            retentionDuration:
              count: 60
              durationType: Months
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          retentionPolicyType: LongTermRetentionPolicy
          weeklySchedule:
            daysOfTheWeek:
              - Sunday
            retentionDuration:
              count: 12
              durationType: Weeks
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          yearlySchedule:
            monthsOfYear:
              - January
            retentionDuration:
              count: 10
              durationType: Years
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
        schedulePolicy:
          hourlySchedule:
            interval: 4
            scheduleWindowDuration: 16
            scheduleWindowStartTime: 2021-12-17T08:00:00Z
          schedulePolicyType: SimpleSchedulePolicyV2
          scheduleRunFrequency: Hourly
        timeZone: India Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Create or Update Enhanced Azure Vm Protection Policy with daily backup
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "v2-daily-sample",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureIaaSVMProtectionPolicyArgs
        {
            BackupManagementType = "AzureIaasVM",
            InstantRpRetentionRangeInDays = 30,
            PolicyType = AzureNative.RecoveryServices.IAASVMPolicyType.V2,
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 180,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 60,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
                WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 12,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
                YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                {
                    MonthsOfYear = new[]
                    {
                        AzureNative.RecoveryServices.MonthOfYear.January,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 10,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2021-12-17T08:00:00+00:00",
                    },
                },
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2Args
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyScheduleArgs
                {
                    ScheduleRunTimes = new[]
                    {
                        "2018-01-24T10:00:00Z",
                    },
                },
                SchedulePolicyType = "SimpleSchedulePolicyV2",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Daily,
            },
            TimeZone = "India Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("v2-daily-sample"),
			Properties: &recoveryservices.AzureIaaSVMProtectionPolicyArgs{
				BackupManagementType:          pulumi.String("AzureIaasVM"),
				InstantRpRetentionRangeInDays: pulumi.Int(30),
				PolicyType:                    pulumi.String(recoveryservices.IAASVMPolicyTypeV2),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					DailySchedule: recoveryservices.DailyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        180,
							DurationType: recoveryservices.RetentionDurationTypeDays,
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        60,
							DurationType: recoveryservices.RetentionDurationTypeMonths,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
					WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
						DaysOfTheWeek: []recoveryservices.DayOfWeek{
							recoveryservices.DayOfWeekSunday,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        12,
							DurationType: recoveryservices.RetentionDurationTypeWeeks,
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
					YearlySchedule: recoveryservices.YearlyRetentionSchedule{
						MonthsOfYear: []recoveryservices.MonthOfYear{
							recoveryservices.MonthOfYearJanuary,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        10,
							DurationType: recoveryservices.RetentionDurationTypeYears,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
						RetentionTimes: []string{
							"2021-12-17T08:00:00+00:00",
						},
					},
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicyV2{
					DailySchedule: recoveryservices.DailySchedule{
						ScheduleRunTimes: []string{
							"2018-01-24T10:00:00Z",
						},
					},
					SchedulePolicyType:   "SimpleSchedulePolicyV2",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeDaily,
				},
				TimeZone: pulumi.String("India Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("v2-daily-sample")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureIaasVM")
                .instantRpRetentionRangeInDays(30)
                .policyType("V2")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .dailySchedule(DailyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(180)
                            .durationType("Days")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(60)
                            .durationType("Months")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                        .daysOfTheWeek("Sunday")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(12)
                            .durationType("Weeks")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                        .monthsOfYear("January")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(10)
                            .durationType("Years")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .retentionTimes("2021-12-17T08:00:00+00:00")
                        .build())
                    .build())
                .schedulePolicy(SimpleSchedulePolicyV2Args.builder()
                    .dailySchedule(DailyScheduleArgs.builder()
                        .scheduleRunTimes("2018-01-24T10:00:00Z")
                        .build())
                    .schedulePolicyType("SimpleSchedulePolicyV2")
                    .scheduleRunFrequency("Daily")
                    .build())
                .timeZone("India Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "v2-daily-sample",
    properties: {
        backupManagementType: "AzureIaasVM",
        instantRpRetentionRangeInDays: 30,
        policyType: azure_native.recoveryservices.IAASVMPolicyType.V2,
        retentionPolicy: {
            dailySchedule: {
                retentionDuration: {
                    count: 180,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            monthlySchedule: {
                retentionDuration: {
                    count: 60,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            retentionPolicyType: "LongTermRetentionPolicy",
            weeklySchedule: {
                daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                retentionDuration: {
                    count: 12,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
            yearlySchedule: {
                monthsOfYear: [azure_native.recoveryservices.MonthOfYear.January],
                retentionDuration: {
                    count: 10,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["2021-12-17T08:00:00+00:00"],
            },
        },
        schedulePolicy: {
            dailySchedule: {
                scheduleRunTimes: ["2018-01-24T10:00:00Z"],
            },
            schedulePolicyType: "SimpleSchedulePolicyV2",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Daily,
        },
        timeZone: "India Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="v2-daily-sample",
    properties={
        "backup_management_type": "AzureIaasVM",
        "instant_rp_retention_range_in_days": 30,
        "policy_type": azure_native.recoveryservices.IAASVMPolicyType.V2,
        "retention_policy": {
            "daily_schedule": {
                "retention_duration": {
                    "count": 180,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "monthly_schedule": {
                "retention_duration": {
                    "count": 60,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "retention_policy_type": "LongTermRetentionPolicy",
            "weekly_schedule": {
                "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                "retention_duration": {
                    "count": 12,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
            "yearly_schedule": {
                "months_of_year": [azure_native.recoveryservices.MonthOfYear.JANUARY],
                "retention_duration": {
                    "count": 10,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["2021-12-17T08:00:00+00:00"],
            },
        },
        "schedule_policy": {
            "daily_schedule": {
                "schedule_run_times": ["2018-01-24T10:00:00Z"],
            },
            "schedule_policy_type": "SimpleSchedulePolicyV2",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.DAILY,
        },
        "time_zone": "India Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: v2-daily-sample
      properties:
        backupManagementType: AzureIaasVM
        instantRpRetentionRangeInDays: 30
        policyType: V2
        retentionPolicy:
          dailySchedule:
            retentionDuration:
              count: 180
              durationType: Days
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          monthlySchedule:
            retentionDuration:
              count: 60
              durationType: Months
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          retentionPolicyType: LongTermRetentionPolicy
          weeklySchedule:
            daysOfTheWeek:
              - Sunday
            retentionDuration:
              count: 12
              durationType: Weeks
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
          yearlySchedule:
            monthsOfYear:
              - January
            retentionDuration:
              count: 10
              durationType: Years
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
            retentionTimes:
              - 2021-12-17T08:00:00+00:00
        schedulePolicy:
          dailySchedule:
            scheduleRunTimes:
              - 2018-01-24T10:00:00Z
          schedulePolicyType: SimpleSchedulePolicyV2
          scheduleRunFrequency: Daily
        timeZone: India Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Create or Update Full Azure Vm Protection Policy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "testPolicy1",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureIaaSVMProtectionPolicyArgs
        {
            BackupManagementType = "AzureIaasVM",
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 2,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Wednesday,
                            AzureNative.RecoveryServices.DayOfWeek.Thursday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                            AzureNative.RecoveryServices.WeekOfMonth.Third,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2018-01-24T10:00:00Z",
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
                WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Monday,
                        AzureNative.RecoveryServices.DayOfWeek.Wednesday,
                        AzureNative.RecoveryServices.DayOfWeek.Thursday,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 1,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                    },
                    RetentionTimes = new[]
                    {
                        "2018-01-24T10:00:00Z",
                    },
                },
                YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                {
                    MonthsOfYear = new[]
                    {
                        AzureNative.RecoveryServices.MonthOfYear.February,
                        AzureNative.RecoveryServices.MonthOfYear.November,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 4,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Monday,
                            AzureNative.RecoveryServices.DayOfWeek.Thursday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.Fourth,
                        },
                    },
                    RetentionTimes = new[]
                    {
                        "2018-01-24T10:00:00Z",
                    },
                },
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
            {
                SchedulePolicyType = "SimpleSchedulePolicy",
                ScheduleRunDays = new[]
                {
                    AzureNative.RecoveryServices.DayOfWeek.Monday,
                    AzureNative.RecoveryServices.DayOfWeek.Wednesday,
                    AzureNative.RecoveryServices.DayOfWeek.Thursday,
                },
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Weekly,
                ScheduleRunTimes = new[]
                {
                    "2018-01-24T10:00:00Z",
                },
            },
            TimeZone = "Pacific Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("testPolicy1"),
			Properties: &recoveryservices.AzureIaaSVMProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureIaasVM"),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        2,
							DurationType: recoveryservices.RetentionDurationTypeMonths,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekWednesday,
								recoveryservices.DayOfWeekThursday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
								recoveryservices.WeekOfMonthThird,
							},
						},
						RetentionTimes: []string{
							"2018-01-24T10:00:00Z",
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
					WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
						DaysOfTheWeek: []recoveryservices.DayOfWeek{
							recoveryservices.DayOfWeekMonday,
							recoveryservices.DayOfWeekWednesday,
							recoveryservices.DayOfWeekThursday,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        1,
							DurationType: recoveryservices.RetentionDurationTypeWeeks,
						},
						RetentionTimes: []string{
							"2018-01-24T10:00:00Z",
						},
					},
					YearlySchedule: recoveryservices.YearlyRetentionSchedule{
						MonthsOfYear: []recoveryservices.MonthOfYear{
							recoveryservices.MonthOfYearFebruary,
							recoveryservices.MonthOfYearNovember,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        4,
							DurationType: recoveryservices.RetentionDurationTypeYears,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekMonday,
								recoveryservices.DayOfWeekThursday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFourth,
							},
						},
						RetentionTimes: []string{
							"2018-01-24T10:00:00Z",
						},
					},
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
					SchedulePolicyType: "SimpleSchedulePolicy",
					ScheduleRunDays: []recoveryservices.DayOfWeek{
						recoveryservices.DayOfWeekMonday,
						recoveryservices.DayOfWeekWednesday,
						recoveryservices.DayOfWeekThursday,
					},
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeWeekly,
					ScheduleRunTimes: []string{
						"2018-01-24T10:00:00Z",
					},
				},
				TimeZone: pulumi.String("Pacific Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("testPolicy1")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureIaasVM")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(2)
                            .durationType("Months")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek(                            
                                "Wednesday",
                                "Thursday")
                            .weeksOfTheMonth(                            
                                "First",
                                "Third")
                            .build())
                        .retentionTimes("2018-01-24T10:00:00Z")
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                        .daysOfTheWeek(                        
                            "Monday",
                            "Wednesday",
                            "Thursday")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(1)
                            .durationType("Weeks")
                            .build())
                        .retentionTimes("2018-01-24T10:00:00Z")
                        .build())
                    .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                        .monthsOfYear(                        
                            "February",
                            "November")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(4)
                            .durationType("Years")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek(                            
                                "Monday",
                                "Thursday")
                            .weeksOfTheMonth("Fourth")
                            .build())
                        .retentionTimes("2018-01-24T10:00:00Z")
                        .build())
                    .build())
                .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                    .schedulePolicyType("SimpleSchedulePolicy")
                    .scheduleRunDays(                    
                        "Monday",
                        "Wednesday",
                        "Thursday")
                    .scheduleRunFrequency("Weekly")
                    .scheduleRunTimes("2018-01-24T10:00:00Z")
                    .build())
                .timeZone("Pacific Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "testPolicy1",
    properties: {
        backupManagementType: "AzureIaasVM",
        retentionPolicy: {
            monthlySchedule: {
                retentionDuration: {
                    count: 2,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [
                        azure_native.recoveryservices.DayOfWeek.Wednesday,
                        azure_native.recoveryservices.DayOfWeek.Thursday,
                    ],
                    weeksOfTheMonth: [
                        azure_native.recoveryservices.WeekOfMonth.First,
                        azure_native.recoveryservices.WeekOfMonth.Third,
                    ],
                },
                retentionTimes: ["2018-01-24T10:00:00Z"],
            },
            retentionPolicyType: "LongTermRetentionPolicy",
            weeklySchedule: {
                daysOfTheWeek: [
                    azure_native.recoveryservices.DayOfWeek.Monday,
                    azure_native.recoveryservices.DayOfWeek.Wednesday,
                    azure_native.recoveryservices.DayOfWeek.Thursday,
                ],
                retentionDuration: {
                    count: 1,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                },
                retentionTimes: ["2018-01-24T10:00:00Z"],
            },
            yearlySchedule: {
                monthsOfYear: [
                    azure_native.recoveryservices.MonthOfYear.February,
                    azure_native.recoveryservices.MonthOfYear.November,
                ],
                retentionDuration: {
                    count: 4,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [
                        azure_native.recoveryservices.DayOfWeek.Monday,
                        azure_native.recoveryservices.DayOfWeek.Thursday,
                    ],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.Fourth],
                },
                retentionTimes: ["2018-01-24T10:00:00Z"],
            },
        },
        schedulePolicy: {
            schedulePolicyType: "SimpleSchedulePolicy",
            scheduleRunDays: [
                azure_native.recoveryservices.DayOfWeek.Monday,
                azure_native.recoveryservices.DayOfWeek.Wednesday,
                azure_native.recoveryservices.DayOfWeek.Thursday,
            ],
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Weekly,
            scheduleRunTimes: ["2018-01-24T10:00:00Z"],
        },
        timeZone: "Pacific Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="testPolicy1",
    properties={
        "backup_management_type": "AzureIaasVM",
        "retention_policy": {
            "monthly_schedule": {
                "retention_duration": {
                    "count": 2,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [
                        azure_native.recoveryservices.DayOfWeek.WEDNESDAY,
                        azure_native.recoveryservices.DayOfWeek.THURSDAY,
                    ],
                    "weeks_of_the_month": [
                        azure_native.recoveryservices.WeekOfMonth.FIRST,
                        azure_native.recoveryservices.WeekOfMonth.THIRD,
                    ],
                },
                "retention_times": ["2018-01-24T10:00:00Z"],
            },
            "retention_policy_type": "LongTermRetentionPolicy",
            "weekly_schedule": {
                "days_of_the_week": [
                    azure_native.recoveryservices.DayOfWeek.MONDAY,
                    azure_native.recoveryservices.DayOfWeek.WEDNESDAY,
                    azure_native.recoveryservices.DayOfWeek.THURSDAY,
                ],
                "retention_duration": {
                    "count": 1,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                },
                "retention_times": ["2018-01-24T10:00:00Z"],
            },
            "yearly_schedule": {
                "months_of_year": [
                    azure_native.recoveryservices.MonthOfYear.FEBRUARY,
                    azure_native.recoveryservices.MonthOfYear.NOVEMBER,
                ],
                "retention_duration": {
                    "count": 4,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [
                        azure_native.recoveryservices.DayOfWeek.MONDAY,
                        azure_native.recoveryservices.DayOfWeek.THURSDAY,
                    ],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FOURTH],
                },
                "retention_times": ["2018-01-24T10:00:00Z"],
            },
        },
        "schedule_policy": {
            "schedule_policy_type": "SimpleSchedulePolicy",
            "schedule_run_days": [
                azure_native.recoveryservices.DayOfWeek.MONDAY,
                azure_native.recoveryservices.DayOfWeek.WEDNESDAY,
                azure_native.recoveryservices.DayOfWeek.THURSDAY,
            ],
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.WEEKLY,
            "schedule_run_times": ["2018-01-24T10:00:00Z"],
        },
        "time_zone": "Pacific Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: testPolicy1
      properties:
        backupManagementType: AzureIaasVM
        retentionPolicy:
          monthlySchedule:
            retentionDuration:
              count: 2
              durationType: Months
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Wednesday
                - Thursday
              weeksOfTheMonth:
                - First
                - Third
            retentionTimes:
              - 2018-01-24T10:00:00Z
          retentionPolicyType: LongTermRetentionPolicy
          weeklySchedule:
            daysOfTheWeek:
              - Monday
              - Wednesday
              - Thursday
            retentionDuration:
              count: 1
              durationType: Weeks
            retentionTimes:
              - 2018-01-24T10:00:00Z
          yearlySchedule:
            monthsOfYear:
              - February
              - November
            retentionDuration:
              count: 4
              durationType: Years
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Monday
                - Thursday
              weeksOfTheMonth:
                - Fourth
            retentionTimes:
              - 2018-01-24T10:00:00Z
        schedulePolicy:
          schedulePolicyType: SimpleSchedulePolicy
          scheduleRunDays:
            - Monday
            - Wednesday
            - Thursday
          scheduleRunFrequency: Weekly
          scheduleRunTimes:
            - 2018-01-24T10:00:00Z
        timeZone: Pacific Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Create or Update Full Azure Workload Protection Policy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "testPolicy1",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureVmWorkloadProtectionPolicyArgs
        {
            BackupManagementType = "AzureWorkload",
            Settings = new AzureNative.RecoveryServices.Inputs.SettingsArgs
            {
                Issqlcompression = false,
                TimeZone = "Pacific Standard Time",
            },
            SubProtectionPolicy = new[]
            {
                new AzureNative.RecoveryServices.Inputs.SubProtectionPolicyArgs
                {
                    PolicyType = AzureNative.RecoveryServices.PolicyType.Full,
                    RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
                    {
                        MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                        {
                            RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                            {
                                Count = 1,
                                DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                            },
                            RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                            RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                            {
                                DaysOfTheWeek = new[]
                                {
                                    AzureNative.RecoveryServices.DayOfWeek.Sunday,
                                },
                                WeeksOfTheMonth = new[]
                                {
                                    AzureNative.RecoveryServices.WeekOfMonth.Second,
                                },
                            },
                            RetentionTimes = new[]
                            {
                                "2018-01-24T10:00:00Z",
                            },
                        },
                        RetentionPolicyType = "LongTermRetentionPolicy",
                        WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                        {
                            DaysOfTheWeek = new[]
                            {
                                AzureNative.RecoveryServices.DayOfWeek.Sunday,
                                AzureNative.RecoveryServices.DayOfWeek.Tuesday,
                            },
                            RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                            {
                                Count = 2,
                                DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                            },
                            RetentionTimes = new[]
                            {
                                "2018-01-24T10:00:00Z",
                            },
                        },
                        YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                        {
                            MonthsOfYear = new[]
                            {
                                AzureNative.RecoveryServices.MonthOfYear.January,
                                AzureNative.RecoveryServices.MonthOfYear.June,
                                AzureNative.RecoveryServices.MonthOfYear.December,
                            },
                            RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                            {
                                Count = 1,
                                DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                            },
                            RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                            RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                            {
                                DaysOfTheWeek = new[]
                                {
                                    AzureNative.RecoveryServices.DayOfWeek.Sunday,
                                },
                                WeeksOfTheMonth = new[]
                                {
                                    AzureNative.RecoveryServices.WeekOfMonth.Last,
                                },
                            },
                            RetentionTimes = new[]
                            {
                                "2018-01-24T10:00:00Z",
                            },
                        },
                    },
                    SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
                    {
                        SchedulePolicyType = "SimpleSchedulePolicy",
                        ScheduleRunDays = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                            AzureNative.RecoveryServices.DayOfWeek.Tuesday,
                        },
                        ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Weekly,
                        ScheduleRunTimes = new[]
                        {
                            "2018-01-24T10:00:00Z",
                        },
                    },
                },
                new AzureNative.RecoveryServices.Inputs.SubProtectionPolicyArgs
                {
                    PolicyType = AzureNative.RecoveryServices.PolicyType.Differential,
                    RetentionPolicy = new AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicyArgs
                    {
                        RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                        {
                            Count = 8,
                            DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                        },
                        RetentionPolicyType = "SimpleRetentionPolicy",
                    },
                    SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
                    {
                        SchedulePolicyType = "SimpleSchedulePolicy",
                        ScheduleRunDays = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Friday,
                        },
                        ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Weekly,
                        ScheduleRunTimes = new[]
                        {
                            "2018-01-24T10:00:00Z",
                        },
                    },
                },
                new AzureNative.RecoveryServices.Inputs.SubProtectionPolicyArgs
                {
                    PolicyType = AzureNative.RecoveryServices.PolicyType.Log,
                    RetentionPolicy = new AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicyArgs
                    {
                        RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                        {
                            Count = 7,
                            DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                        },
                        RetentionPolicyType = "SimpleRetentionPolicy",
                    },
                    SchedulePolicy = new AzureNative.RecoveryServices.Inputs.LogSchedulePolicyArgs
                    {
                        ScheduleFrequencyInMins = 60,
                        SchedulePolicyType = "LogSchedulePolicy",
                    },
                },
            },
            WorkLoadType = AzureNative.RecoveryServices.WorkloadType.SQLDataBase,
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("testPolicy1"),
			Properties: &recoveryservices.AzureVmWorkloadProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureWorkload"),
				Settings: &recoveryservices.SettingsArgs{
					Issqlcompression: pulumi.Bool(false),
					TimeZone:         pulumi.String("Pacific Standard Time"),
				},
				SubProtectionPolicy: recoveryservices.SubProtectionPolicyArray{
					&recoveryservices.SubProtectionPolicyArgs{
						PolicyType: pulumi.String(recoveryservices.PolicyTypeFull),
						RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
							MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
								RetentionDuration: recoveryservices.RetentionDuration{
									Count:        1,
									DurationType: recoveryservices.RetentionDurationTypeMonths,
								},
								RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
								RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
									DaysOfTheWeek: []recoveryservices.DayOfWeek{
										recoveryservices.DayOfWeekSunday,
									},
									WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
										recoveryservices.WeekOfMonthSecond,
									},
								},
								RetentionTimes: []string{
									"2018-01-24T10:00:00Z",
								},
							},
							RetentionPolicyType: "LongTermRetentionPolicy",
							WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
								DaysOfTheWeek: []recoveryservices.DayOfWeek{
									recoveryservices.DayOfWeekSunday,
									recoveryservices.DayOfWeekTuesday,
								},
								RetentionDuration: recoveryservices.RetentionDuration{
									Count:        2,
									DurationType: recoveryservices.RetentionDurationTypeWeeks,
								},
								RetentionTimes: []string{
									"2018-01-24T10:00:00Z",
								},
							},
							YearlySchedule: recoveryservices.YearlyRetentionSchedule{
								MonthsOfYear: []recoveryservices.MonthOfYear{
									recoveryservices.MonthOfYearJanuary,
									recoveryservices.MonthOfYearJune,
									recoveryservices.MonthOfYearDecember,
								},
								RetentionDuration: recoveryservices.RetentionDuration{
									Count:        1,
									DurationType: recoveryservices.RetentionDurationTypeYears,
								},
								RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
								RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
									DaysOfTheWeek: []recoveryservices.DayOfWeek{
										recoveryservices.DayOfWeekSunday,
									},
									WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
										recoveryservices.WeekOfMonthLast,
									},
								},
								RetentionTimes: []string{
									"2018-01-24T10:00:00Z",
								},
							},
						},
						SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
							SchedulePolicyType: "SimpleSchedulePolicy",
							ScheduleRunDays: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
								recoveryservices.DayOfWeekTuesday,
							},
							ScheduleRunFrequency: recoveryservices.ScheduleRunTypeWeekly,
							ScheduleRunTimes: []string{
								"2018-01-24T10:00:00Z",
							},
						},
					},
					&recoveryservices.SubProtectionPolicyArgs{
						PolicyType: pulumi.String(recoveryservices.PolicyTypeDifferential),
						RetentionPolicy: recoveryservices.SimpleRetentionPolicy{
							RetentionDuration: recoveryservices.RetentionDuration{
								Count:        8,
								DurationType: recoveryservices.RetentionDurationTypeDays,
							},
							RetentionPolicyType: "SimpleRetentionPolicy",
						},
						SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
							SchedulePolicyType: "SimpleSchedulePolicy",
							ScheduleRunDays: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekFriday,
							},
							ScheduleRunFrequency: recoveryservices.ScheduleRunTypeWeekly,
							ScheduleRunTimes: []string{
								"2018-01-24T10:00:00Z",
							},
						},
					},
					&recoveryservices.SubProtectionPolicyArgs{
						PolicyType: pulumi.String(recoveryservices.PolicyTypeLog),
						RetentionPolicy: recoveryservices.SimpleRetentionPolicy{
							RetentionDuration: recoveryservices.RetentionDuration{
								Count:        7,
								DurationType: recoveryservices.RetentionDurationTypeDays,
							},
							RetentionPolicyType: "SimpleRetentionPolicy",
						},
						SchedulePolicy: recoveryservices.LogSchedulePolicy{
							ScheduleFrequencyInMins: 60,
							SchedulePolicyType:      "LogSchedulePolicy",
						},
					},
				},
				WorkLoadType: pulumi.String(recoveryservices.WorkloadTypeSQLDataBase),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("testPolicy1")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureWorkload")
                .settings(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .subProtectionPolicy(                
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .workLoadType("SQLDataBase")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "testPolicy1",
    properties: {
        backupManagementType: "AzureWorkload",
        settings: {
            issqlcompression: false,
            timeZone: "Pacific Standard Time",
        },
        subProtectionPolicy: [
            {
                policyType: azure_native.recoveryservices.PolicyType.Full,
                retentionPolicy: {
                    monthlySchedule: {
                        retentionDuration: {
                            count: 1,
                            durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                        },
                        retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                        retentionScheduleWeekly: {
                            daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                            weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.Second],
                        },
                        retentionTimes: ["2018-01-24T10:00:00Z"],
                    },
                    retentionPolicyType: "LongTermRetentionPolicy",
                    weeklySchedule: {
                        daysOfTheWeek: [
                            azure_native.recoveryservices.DayOfWeek.Sunday,
                            azure_native.recoveryservices.DayOfWeek.Tuesday,
                        ],
                        retentionDuration: {
                            count: 2,
                            durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                        },
                        retentionTimes: ["2018-01-24T10:00:00Z"],
                    },
                    yearlySchedule: {
                        monthsOfYear: [
                            azure_native.recoveryservices.MonthOfYear.January,
                            azure_native.recoveryservices.MonthOfYear.June,
                            azure_native.recoveryservices.MonthOfYear.December,
                        ],
                        retentionDuration: {
                            count: 1,
                            durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                        },
                        retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                        retentionScheduleWeekly: {
                            daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                            weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.Last],
                        },
                        retentionTimes: ["2018-01-24T10:00:00Z"],
                    },
                },
                schedulePolicy: {
                    schedulePolicyType: "SimpleSchedulePolicy",
                    scheduleRunDays: [
                        azure_native.recoveryservices.DayOfWeek.Sunday,
                        azure_native.recoveryservices.DayOfWeek.Tuesday,
                    ],
                    scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Weekly,
                    scheduleRunTimes: ["2018-01-24T10:00:00Z"],
                },
            },
            {
                policyType: azure_native.recoveryservices.PolicyType.Differential,
                retentionPolicy: {
                    retentionDuration: {
                        count: 8,
                        durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                    },
                    retentionPolicyType: "SimpleRetentionPolicy",
                },
                schedulePolicy: {
                    schedulePolicyType: "SimpleSchedulePolicy",
                    scheduleRunDays: [azure_native.recoveryservices.DayOfWeek.Friday],
                    scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Weekly,
                    scheduleRunTimes: ["2018-01-24T10:00:00Z"],
                },
            },
            {
                policyType: azure_native.recoveryservices.PolicyType.Log,
                retentionPolicy: {
                    retentionDuration: {
                        count: 7,
                        durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                    },
                    retentionPolicyType: "SimpleRetentionPolicy",
                },
                schedulePolicy: {
                    scheduleFrequencyInMins: 60,
                    schedulePolicyType: "LogSchedulePolicy",
                },
            },
        ],
        workLoadType: azure_native.recoveryservices.WorkloadType.SQLDataBase,
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="testPolicy1",
    properties={
        "backup_management_type": "AzureWorkload",
        "settings": {
            "issqlcompression": False,
            "time_zone": "Pacific Standard Time",
        },
        "sub_protection_policy": [
            {
                "policy_type": azure_native.recoveryservices.PolicyType.FULL,
                "retention_policy": {
                    "monthly_schedule": {
                        "retention_duration": {
                            "count": 1,
                            "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                        },
                        "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                        "retention_schedule_weekly": {
                            "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                            "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.SECOND],
                        },
                        "retention_times": ["2018-01-24T10:00:00Z"],
                    },
                    "retention_policy_type": "LongTermRetentionPolicy",
                    "weekly_schedule": {
                        "days_of_the_week": [
                            azure_native.recoveryservices.DayOfWeek.SUNDAY,
                            azure_native.recoveryservices.DayOfWeek.TUESDAY,
                        ],
                        "retention_duration": {
                            "count": 2,
                            "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                        },
                        "retention_times": ["2018-01-24T10:00:00Z"],
                    },
                    "yearly_schedule": {
                        "months_of_year": [
                            azure_native.recoveryservices.MonthOfYear.JANUARY,
                            azure_native.recoveryservices.MonthOfYear.JUNE,
                            azure_native.recoveryservices.MonthOfYear.DECEMBER,
                        ],
                        "retention_duration": {
                            "count": 1,
                            "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                        },
                        "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                        "retention_schedule_weekly": {
                            "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                            "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.LAST],
                        },
                        "retention_times": ["2018-01-24T10:00:00Z"],
                    },
                },
                "schedule_policy": {
                    "schedule_policy_type": "SimpleSchedulePolicy",
                    "schedule_run_days": [
                        azure_native.recoveryservices.DayOfWeek.SUNDAY,
                        azure_native.recoveryservices.DayOfWeek.TUESDAY,
                    ],
                    "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.WEEKLY,
                    "schedule_run_times": ["2018-01-24T10:00:00Z"],
                },
            },
            {
                "policy_type": azure_native.recoveryservices.PolicyType.DIFFERENTIAL,
                "retention_policy": {
                    "retention_duration": {
                        "count": 8,
                        "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                    },
                    "retention_policy_type": "SimpleRetentionPolicy",
                },
                "schedule_policy": {
                    "schedule_policy_type": "SimpleSchedulePolicy",
                    "schedule_run_days": [azure_native.recoveryservices.DayOfWeek.FRIDAY],
                    "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.WEEKLY,
                    "schedule_run_times": ["2018-01-24T10:00:00Z"],
                },
            },
            {
                "policy_type": azure_native.recoveryservices.PolicyType.LOG,
                "retention_policy": {
                    "retention_duration": {
                        "count": 7,
                        "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                    },
                    "retention_policy_type": "SimpleRetentionPolicy",
                },
                "schedule_policy": {
                    "schedule_frequency_in_mins": 60,
                    "schedule_policy_type": "LogSchedulePolicy",
                },
            },
        ],
        "work_load_type": azure_native.recoveryservices.WorkloadType.SQL_DATA_BASE,
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: testPolicy1
      properties:
        backupManagementType: AzureWorkload
        settings:
          issqlcompression: false
          timeZone: Pacific Standard Time
        subProtectionPolicy:
          - policyType: Full
            retentionPolicy:
              monthlySchedule:
                retentionDuration:
                  count: 1
                  durationType: Months
                retentionScheduleFormatType: Weekly
                retentionScheduleWeekly:
                  daysOfTheWeek:
                    - Sunday
                  weeksOfTheMonth:
                    - Second
                retentionTimes:
                  - 2018-01-24T10:00:00Z
              retentionPolicyType: LongTermRetentionPolicy
              weeklySchedule:
                daysOfTheWeek:
                  - Sunday
                  - Tuesday
                retentionDuration:
                  count: 2
                  durationType: Weeks
                retentionTimes:
                  - 2018-01-24T10:00:00Z
              yearlySchedule:
                monthsOfYear:
                  - January
                  - June
                  - December
                retentionDuration:
                  count: 1
                  durationType: Years
                retentionScheduleFormatType: Weekly
                retentionScheduleWeekly:
                  daysOfTheWeek:
                    - Sunday
                  weeksOfTheMonth:
                    - Last
                retentionTimes:
                  - 2018-01-24T10:00:00Z
            schedulePolicy:
              schedulePolicyType: SimpleSchedulePolicy
              scheduleRunDays:
                - Sunday
                - Tuesday
              scheduleRunFrequency: Weekly
              scheduleRunTimes:
                - 2018-01-24T10:00:00Z
          - policyType: Differential
            retentionPolicy:
              retentionDuration:
                count: 8
                durationType: Days
              retentionPolicyType: SimpleRetentionPolicy
            schedulePolicy:
              schedulePolicyType: SimpleSchedulePolicy
              scheduleRunDays:
                - Friday
              scheduleRunFrequency: Weekly
              scheduleRunTimes:
                - 2018-01-24T10:00:00Z
          - policyType: Log
            retentionPolicy:
              retentionDuration:
                count: 7
                durationType: Days
              retentionPolicyType: SimpleRetentionPolicy
            schedulePolicy:
              scheduleFrequencyInMins: 60
              schedulePolicyType: LogSchedulePolicy
        workLoadType: SQLDataBase
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Create or Update Hourly Azure Storage Protection Policy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "newPolicy2",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureFileShareProtectionPolicyArgs
        {
            BackupManagementType = "AzureStorage",
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 5,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                    },
                },
                MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 60,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Months,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
                WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 12,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Weeks,
                    },
                },
                YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
                {
                    MonthsOfYear = new[]
                    {
                        AzureNative.RecoveryServices.MonthOfYear.January,
                    },
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 10,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Years,
                    },
                    RetentionScheduleFormatType = AzureNative.RecoveryServices.RetentionScheduleFormat.Weekly,
                    RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                    {
                        DaysOfTheWeek = new[]
                        {
                            AzureNative.RecoveryServices.DayOfWeek.Sunday,
                        },
                        WeeksOfTheMonth = new[]
                        {
                            AzureNative.RecoveryServices.WeekOfMonth.First,
                        },
                    },
                },
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
            {
                HourlySchedule = new AzureNative.RecoveryServices.Inputs.HourlyScheduleArgs
                {
                    Interval = 4,
                    ScheduleWindowDuration = 12,
                    ScheduleWindowStartTime = "2021-09-29T08:00:00.000Z",
                },
                SchedulePolicyType = "SimpleSchedulePolicy",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Hourly,
            },
            TimeZone = "UTC",
            WorkLoadType = AzureNative.RecoveryServices.WorkloadType.AzureFileShare,
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "swaggertestvault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("newPolicy2"),
			Properties: &recoveryservices.AzureFileShareProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureStorage"),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					DailySchedule: recoveryservices.DailyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        5,
							DurationType: recoveryservices.RetentionDurationTypeDays,
						},
					},
					MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        60,
							DurationType: recoveryservices.RetentionDurationTypeMonths,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
					WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
						DaysOfTheWeek: []recoveryservices.DayOfWeek{
							recoveryservices.DayOfWeekSunday,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        12,
							DurationType: recoveryservices.RetentionDurationTypeWeeks,
						},
					},
					YearlySchedule: recoveryservices.YearlyRetentionSchedule{
						MonthsOfYear: []recoveryservices.MonthOfYear{
							recoveryservices.MonthOfYearJanuary,
						},
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        10,
							DurationType: recoveryservices.RetentionDurationTypeYears,
						},
						RetentionScheduleFormatType: recoveryservices.RetentionScheduleFormatWeekly,
						RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
								recoveryservices.WeekOfMonthFirst,
							},
						},
					},
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
					HourlySchedule: recoveryservices.HourlySchedule{
						Interval:                4,
						ScheduleWindowDuration:  12,
						ScheduleWindowStartTime: "2021-09-29T08:00:00.000Z",
					},
					SchedulePolicyType:   "SimpleSchedulePolicy",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeHourly,
				},
				TimeZone:     pulumi.String("UTC"),
				WorkLoadType: pulumi.String(recoveryservices.WorkloadTypeAzureFileShare),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("swaggertestvault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("newPolicy2")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureStorage")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .dailySchedule(DailyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(5)
                            .durationType("Days")
                            .build())
                        .build())
                    .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(60)
                            .durationType("Months")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                        .daysOfTheWeek("Sunday")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(12)
                            .durationType("Weeks")
                            .build())
                        .build())
                    .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                        .monthsOfYear("January")
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(10)
                            .durationType("Years")
                            .build())
                        .retentionScheduleFormatType("Weekly")
                        .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .weeksOfTheMonth("First")
                            .build())
                        .build())
                    .build())
                .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                    .hourlySchedule(HourlyScheduleArgs.builder()
                        .interval(4)
                        .scheduleWindowDuration(12)
                        .scheduleWindowStartTime("2021-09-29T08:00:00.000Z")
                        .build())
                    .schedulePolicyType("SimpleSchedulePolicy")
                    .scheduleRunFrequency("Hourly")
                    .build())
                .timeZone("UTC")
                .workLoadType("AzureFileShare")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("swaggertestvault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "newPolicy2",
    properties: {
        backupManagementType: "AzureStorage",
        retentionPolicy: {
            dailySchedule: {
                retentionDuration: {
                    count: 5,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                },
            },
            monthlySchedule: {
                retentionDuration: {
                    count: 60,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Months,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
            },
            retentionPolicyType: "LongTermRetentionPolicy",
            weeklySchedule: {
                daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                retentionDuration: {
                    count: 12,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                },
            },
            yearlySchedule: {
                monthsOfYear: [azure_native.recoveryservices.MonthOfYear.January],
                retentionDuration: {
                    count: 10,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Years,
                },
                retentionScheduleFormatType: azure_native.recoveryservices.RetentionScheduleFormat.Weekly,
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
            },
        },
        schedulePolicy: {
            hourlySchedule: {
                interval: 4,
                scheduleWindowDuration: 12,
                scheduleWindowStartTime: "2021-09-29T08:00:00.000Z",
            },
            schedulePolicyType: "SimpleSchedulePolicy",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Hourly,
        },
        timeZone: "UTC",
        workLoadType: azure_native.recoveryservices.WorkloadType.AzureFileShare,
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "swaggertestvault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="newPolicy2",
    properties={
        "backup_management_type": "AzureStorage",
        "retention_policy": {
            "daily_schedule": {
                "retention_duration": {
                    "count": 5,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                },
            },
            "monthly_schedule": {
                "retention_duration": {
                    "count": 60,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.MONTHS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
            },
            "retention_policy_type": "LongTermRetentionPolicy",
            "weekly_schedule": {
                "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                "retention_duration": {
                    "count": 12,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.WEEKS,
                },
            },
            "yearly_schedule": {
                "months_of_year": [azure_native.recoveryservices.MonthOfYear.JANUARY],
                "retention_duration": {
                    "count": 10,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.YEARS,
                },
                "retention_schedule_format_type": azure_native.recoveryservices.RetentionScheduleFormat.WEEKLY,
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
            },
        },
        "schedule_policy": {
            "hourly_schedule": {
                "interval": 4,
                "schedule_window_duration": 12,
                "schedule_window_start_time": "2021-09-29T08:00:00.000Z",
            },
            "schedule_policy_type": "SimpleSchedulePolicy",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.HOURLY,
        },
        "time_zone": "UTC",
        "work_load_type": azure_native.recoveryservices.WorkloadType.AZURE_FILE_SHARE,
    },
    resource_group_name="SwaggerTestRg",
    vault_name="swaggertestvault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: newPolicy2
      properties:
        backupManagementType: AzureStorage
        retentionPolicy:
          dailySchedule:
            retentionDuration:
              count: 5
              durationType: Days
          monthlySchedule:
            retentionDuration:
              count: 60
              durationType: Months
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
          retentionPolicyType: LongTermRetentionPolicy
          weeklySchedule:
            daysOfTheWeek:
              - Sunday
            retentionDuration:
              count: 12
              durationType: Weeks
          yearlySchedule:
            monthsOfYear:
              - January
            retentionDuration:
              count: 10
              durationType: Years
            retentionScheduleFormatType: Weekly
            retentionScheduleWeekly:
              daysOfTheWeek:
                - Sunday
              weeksOfTheMonth:
                - First
        schedulePolicy:
          hourlySchedule:
            interval: 4
            scheduleWindowDuration: 12
            scheduleWindowStartTime: 2021-09-29T08:00:00.000Z
          schedulePolicyType: SimpleSchedulePolicy
          scheduleRunFrequency: Hourly
        timeZone: UTC
        workLoadType: AzureFileShare
      resourceGroupName: SwaggerTestRg
      vaultName: swaggertestvault
Create or Update Simple Azure Vm Protection Policy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var protectionPolicy = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicy", new()
    {
        PolicyName = "testPolicy1",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureIaaSVMProtectionPolicyArgs
        {
            BackupManagementType = "AzureIaasVM",
            RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
            {
                DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                {
                    RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                    {
                        Count = 1,
                        DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                    },
                    RetentionTimes = new[]
                    {
                        "2018-01-24T02:00:00Z",
                    },
                },
                RetentionPolicyType = "LongTermRetentionPolicy",
            },
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
            {
                SchedulePolicyType = "SimpleSchedulePolicy",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Daily,
                ScheduleRunTimes = new[]
                {
                    "2018-01-24T02:00:00Z",
                },
            },
            TimeZone = "Pacific Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });
});
package main
import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicy", &recoveryservices.ProtectionPolicyArgs{
			PolicyName: pulumi.String("testPolicy1"),
			Properties: &recoveryservices.AzureIaaSVMProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureIaasVM"),
				RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
					DailySchedule: recoveryservices.DailyRetentionSchedule{
						RetentionDuration: recoveryservices.RetentionDuration{
							Count:        1,
							DurationType: recoveryservices.RetentionDurationTypeDays,
						},
						RetentionTimes: []string{
							"2018-01-24T02:00:00Z",
						},
					},
					RetentionPolicyType: "LongTermRetentionPolicy",
				},
				SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
					SchedulePolicyType:   "SimpleSchedulePolicy",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeDaily,
					ScheduleRunTimes: []string{
						"2018-01-24T02:00:00Z",
					},
				},
				TimeZone: pulumi.String("Pacific Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		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.azurenative.recoveryservices.ProtectionPolicy;
import com.pulumi.azurenative.recoveryservices.ProtectionPolicyArgs;
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 protectionPolicy = new ProtectionPolicy("protectionPolicy", ProtectionPolicyArgs.builder()
            .policyName("testPolicy1")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureIaasVM")
                .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                    .dailySchedule(DailyRetentionScheduleArgs.builder()
                        .retentionDuration(RetentionDurationArgs.builder()
                            .count(1)
                            .durationType("Days")
                            .build())
                        .retentionTimes("2018-01-24T02:00:00Z")
                        .build())
                    .retentionPolicyType("LongTermRetentionPolicy")
                    .build())
                .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                    .schedulePolicyType("SimpleSchedulePolicy")
                    .scheduleRunFrequency("Daily")
                    .scheduleRunTimes("2018-01-24T02:00:00Z")
                    .build())
                .timeZone("Pacific Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "testPolicy1",
    properties: {
        backupManagementType: "AzureIaasVM",
        retentionPolicy: {
            dailySchedule: {
                retentionDuration: {
                    count: 1,
                    durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                },
                retentionTimes: ["2018-01-24T02:00:00Z"],
            },
            retentionPolicyType: "LongTermRetentionPolicy",
        },
        schedulePolicy: {
            schedulePolicyType: "SimpleSchedulePolicy",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Daily,
            scheduleRunTimes: ["2018-01-24T02:00:00Z"],
        },
        timeZone: "Pacific Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
import pulumi
import pulumi_azure_native as azure_native
protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="testPolicy1",
    properties={
        "backup_management_type": "AzureIaasVM",
        "retention_policy": {
            "daily_schedule": {
                "retention_duration": {
                    "count": 1,
                    "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                },
                "retention_times": ["2018-01-24T02:00:00Z"],
            },
            "retention_policy_type": "LongTermRetentionPolicy",
        },
        "schedule_policy": {
            "schedule_policy_type": "SimpleSchedulePolicy",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.DAILY,
            "schedule_run_times": ["2018-01-24T02:00:00Z"],
        },
        "time_zone": "Pacific Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: testPolicy1
      properties:
        backupManagementType: AzureIaasVM
        retentionPolicy:
          dailySchedule:
            retentionDuration:
              count: 1
              durationType: Days
            retentionTimes:
              - 2018-01-24T02:00:00Z
          retentionPolicyType: LongTermRetentionPolicy
        schedulePolicy:
          schedulePolicyType: SimpleSchedulePolicy
          scheduleRunFrequency: Daily
          scheduleRunTimes:
            - 2018-01-24T02:00:00Z
        timeZone: Pacific Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Create ProtectionPolicy Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ProtectionPolicy(name: string, args: ProtectionPolicyArgs, opts?: CustomResourceOptions);@overload
def ProtectionPolicy(resource_name: str,
                     args: ProtectionPolicyArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def ProtectionPolicy(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     resource_group_name: Optional[str] = None,
                     vault_name: Optional[str] = None,
                     e_tag: Optional[str] = None,
                     location: Optional[str] = None,
                     policy_name: Optional[str] = None,
                     properties: Optional[Union[AzureFileShareProtectionPolicyArgs, AzureIaaSVMProtectionPolicyArgs, AzureSqlProtectionPolicyArgs, AzureVmWorkloadProtectionPolicyArgs, GenericProtectionPolicyArgs, MabProtectionPolicyArgs]] = None,
                     tags: Optional[Mapping[str, str]] = None)func NewProtectionPolicy(ctx *Context, name string, args ProtectionPolicyArgs, opts ...ResourceOption) (*ProtectionPolicy, error)public ProtectionPolicy(string name, ProtectionPolicyArgs args, CustomResourceOptions? opts = null)
public ProtectionPolicy(String name, ProtectionPolicyArgs args)
public ProtectionPolicy(String name, ProtectionPolicyArgs args, CustomResourceOptions options)
type: azure-native:recoveryservices:ProtectionPolicy
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ProtectionPolicyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ProtectionPolicyArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ProtectionPolicyArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ProtectionPolicyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ProtectionPolicyArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var protectionPolicyResource = new AzureNative.RecoveryServices.ProtectionPolicy("protectionPolicyResource", new()
{
    ResourceGroupName = "string",
    VaultName = "string",
    ETag = "string",
    Location = "string",
    PolicyName = "string",
    Properties = new AzureNative.RecoveryServices.Inputs.AzureFileShareProtectionPolicyArgs
    {
        BackupManagementType = "AzureStorage",
        ProtectedItemsCount = 0,
        ResourceGuardOperationRequests = new[]
        {
            "string",
        },
        RetentionPolicy = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
        {
            RetentionPolicyType = "LongTermRetentionPolicy",
            DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
            {
                RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                {
                    Count = 0,
                    DurationType = "string",
                },
                RetentionTimes = new[]
                {
                    "string",
                },
            },
            MonthlySchedule = new AzureNative.RecoveryServices.Inputs.MonthlyRetentionScheduleArgs
            {
                RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                {
                    Count = 0,
                    DurationType = "string",
                },
                RetentionScheduleDaily = new AzureNative.RecoveryServices.Inputs.DailyRetentionFormatArgs
                {
                    DaysOfTheMonth = new[]
                    {
                        new AzureNative.RecoveryServices.Inputs.DayArgs
                        {
                            Date = 0,
                            IsLast = false,
                        },
                    },
                },
                RetentionScheduleFormatType = "string",
                RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    WeeksOfTheMonth = new[]
                    {
                        AzureNative.RecoveryServices.WeekOfMonth.First,
                    },
                },
                RetentionTimes = new[]
                {
                    "string",
                },
            },
            WeeklySchedule = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionScheduleArgs
            {
                DaysOfTheWeek = new[]
                {
                    AzureNative.RecoveryServices.DayOfWeek.Sunday,
                },
                RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                {
                    Count = 0,
                    DurationType = "string",
                },
                RetentionTimes = new[]
                {
                    "string",
                },
            },
            YearlySchedule = new AzureNative.RecoveryServices.Inputs.YearlyRetentionScheduleArgs
            {
                MonthsOfYear = new[]
                {
                    AzureNative.RecoveryServices.MonthOfYear.Invalid,
                },
                RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                {
                    Count = 0,
                    DurationType = "string",
                },
                RetentionScheduleDaily = new AzureNative.RecoveryServices.Inputs.DailyRetentionFormatArgs
                {
                    DaysOfTheMonth = new[]
                    {
                        new AzureNative.RecoveryServices.Inputs.DayArgs
                        {
                            Date = 0,
                            IsLast = false,
                        },
                    },
                },
                RetentionScheduleFormatType = "string",
                RetentionScheduleWeekly = new AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatArgs
                {
                    DaysOfTheWeek = new[]
                    {
                        AzureNative.RecoveryServices.DayOfWeek.Sunday,
                    },
                    WeeksOfTheMonth = new[]
                    {
                        AzureNative.RecoveryServices.WeekOfMonth.First,
                    },
                },
                RetentionTimes = new[]
                {
                    "string",
                },
            },
        },
        SchedulePolicy = new AzureNative.RecoveryServices.Inputs.LogSchedulePolicyArgs
        {
            SchedulePolicyType = "LogSchedulePolicy",
            ScheduleFrequencyInMins = 0,
        },
        TimeZone = "string",
        WorkLoadType = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := recoveryservices.NewProtectionPolicy(ctx, "protectionPolicyResource", &recoveryservices.ProtectionPolicyArgs{
	ResourceGroupName: pulumi.String("string"),
	VaultName:         pulumi.String("string"),
	ETag:              pulumi.String("string"),
	Location:          pulumi.String("string"),
	PolicyName:        pulumi.String("string"),
	Properties: &recoveryservices.AzureFileShareProtectionPolicyArgs{
		BackupManagementType: pulumi.String("AzureStorage"),
		ProtectedItemsCount:  pulumi.Int(0),
		ResourceGuardOperationRequests: pulumi.StringArray{
			pulumi.String("string"),
		},
		RetentionPolicy: recoveryservices.LongTermRetentionPolicy{
			RetentionPolicyType: "LongTermRetentionPolicy",
			DailySchedule: recoveryservices.DailyRetentionSchedule{
				RetentionDuration: recoveryservices.RetentionDuration{
					Count:        0,
					DurationType: "string",
				},
				RetentionTimes: []string{
					"string",
				},
			},
			MonthlySchedule: recoveryservices.MonthlyRetentionSchedule{
				RetentionDuration: recoveryservices.RetentionDuration{
					Count:        0,
					DurationType: "string",
				},
				RetentionScheduleDaily: recoveryservices.DailyRetentionFormat{
					DaysOfTheMonth: []recoveryservices.Day{
						{
							Date:   0,
							IsLast: false,
						},
					},
				},
				RetentionScheduleFormatType: "string",
				RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
					DaysOfTheWeek: []recoveryservices.DayOfWeek{
						recoveryservices.DayOfWeekSunday,
					},
					WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
						recoveryservices.WeekOfMonthFirst,
					},
				},
				RetentionTimes: []string{
					"string",
				},
			},
			WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
				DaysOfTheWeek: []recoveryservices.DayOfWeek{
					recoveryservices.DayOfWeekSunday,
				},
				RetentionDuration: recoveryservices.RetentionDuration{
					Count:        0,
					DurationType: "string",
				},
				RetentionTimes: []string{
					"string",
				},
			},
			YearlySchedule: recoveryservices.YearlyRetentionSchedule{
				MonthsOfYear: []recoveryservices.MonthOfYear{
					recoveryservices.MonthOfYearInvalid,
				},
				RetentionDuration: recoveryservices.RetentionDuration{
					Count:        0,
					DurationType: "string",
				},
				RetentionScheduleDaily: recoveryservices.DailyRetentionFormat{
					DaysOfTheMonth: []recoveryservices.Day{
						{
							Date:   0,
							IsLast: false,
						},
					},
				},
				RetentionScheduleFormatType: "string",
				RetentionScheduleWeekly: recoveryservices.WeeklyRetentionFormat{
					DaysOfTheWeek: []recoveryservices.DayOfWeek{
						recoveryservices.DayOfWeekSunday,
					},
					WeeksOfTheMonth: []recoveryservices.WeekOfMonth{
						recoveryservices.WeekOfMonthFirst,
					},
				},
				RetentionTimes: []string{
					"string",
				},
			},
		},
		SchedulePolicy: recoveryservices.LogSchedulePolicy{
			SchedulePolicyType:      "LogSchedulePolicy",
			ScheduleFrequencyInMins: 0,
		},
		TimeZone:     pulumi.String("string"),
		WorkLoadType: pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var protectionPolicyResource = new ProtectionPolicy("protectionPolicyResource", ProtectionPolicyArgs.builder()
    .resourceGroupName("string")
    .vaultName("string")
    .eTag("string")
    .location("string")
    .policyName("string")
    .properties(AzureFileShareProtectionPolicyArgs.builder()
        .backupManagementType("AzureStorage")
        .protectedItemsCount(0)
        .resourceGuardOperationRequests("string")
        .retentionPolicy(LongTermRetentionPolicyArgs.builder()
            .retentionPolicyType("LongTermRetentionPolicy")
            .dailySchedule(DailyRetentionScheduleArgs.builder()
                .retentionDuration(RetentionDurationArgs.builder()
                    .count(0)
                    .durationType("string")
                    .build())
                .retentionTimes("string")
                .build())
            .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                .retentionDuration(RetentionDurationArgs.builder()
                    .count(0)
                    .durationType("string")
                    .build())
                .retentionScheduleDaily(DailyRetentionFormatArgs.builder()
                    .daysOfTheMonth(DayArgs.builder()
                        .date(0)
                        .isLast(false)
                        .build())
                    .build())
                .retentionScheduleFormatType("string")
                .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                    .daysOfTheWeek("Sunday")
                    .weeksOfTheMonth("First")
                    .build())
                .retentionTimes("string")
                .build())
            .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                .daysOfTheWeek("Sunday")
                .retentionDuration(RetentionDurationArgs.builder()
                    .count(0)
                    .durationType("string")
                    .build())
                .retentionTimes("string")
                .build())
            .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                .monthsOfYear("Invalid")
                .retentionDuration(RetentionDurationArgs.builder()
                    .count(0)
                    .durationType("string")
                    .build())
                .retentionScheduleDaily(DailyRetentionFormatArgs.builder()
                    .daysOfTheMonth(DayArgs.builder()
                        .date(0)
                        .isLast(false)
                        .build())
                    .build())
                .retentionScheduleFormatType("string")
                .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                    .daysOfTheWeek("Sunday")
                    .weeksOfTheMonth("First")
                    .build())
                .retentionTimes("string")
                .build())
            .build())
        .schedulePolicy(LogSchedulePolicyArgs.builder()
            .schedulePolicyType("LogSchedulePolicy")
            .scheduleFrequencyInMins(0)
            .build())
        .timeZone("string")
        .workLoadType("string")
        .build())
    .tags(Map.of("string", "string"))
    .build());
protection_policy_resource = azure_native.recoveryservices.ProtectionPolicy("protectionPolicyResource",
    resource_group_name="string",
    vault_name="string",
    e_tag="string",
    location="string",
    policy_name="string",
    properties={
        "backup_management_type": "AzureStorage",
        "protected_items_count": 0,
        "resource_guard_operation_requests": ["string"],
        "retention_policy": {
            "retention_policy_type": "LongTermRetentionPolicy",
            "daily_schedule": {
                "retention_duration": {
                    "count": 0,
                    "duration_type": "string",
                },
                "retention_times": ["string"],
            },
            "monthly_schedule": {
                "retention_duration": {
                    "count": 0,
                    "duration_type": "string",
                },
                "retention_schedule_daily": {
                    "days_of_the_month": [{
                        "date": 0,
                        "is_last": False,
                    }],
                },
                "retention_schedule_format_type": "string",
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["string"],
            },
            "weekly_schedule": {
                "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                "retention_duration": {
                    "count": 0,
                    "duration_type": "string",
                },
                "retention_times": ["string"],
            },
            "yearly_schedule": {
                "months_of_year": [azure_native.recoveryservices.MonthOfYear.INVALID],
                "retention_duration": {
                    "count": 0,
                    "duration_type": "string",
                },
                "retention_schedule_daily": {
                    "days_of_the_month": [{
                        "date": 0,
                        "is_last": False,
                    }],
                },
                "retention_schedule_format_type": "string",
                "retention_schedule_weekly": {
                    "days_of_the_week": [azure_native.recoveryservices.DayOfWeek.SUNDAY],
                    "weeks_of_the_month": [azure_native.recoveryservices.WeekOfMonth.FIRST],
                },
                "retention_times": ["string"],
            },
        },
        "schedule_policy": {
            "schedule_policy_type": "LogSchedulePolicy",
            "schedule_frequency_in_mins": 0,
        },
        "time_zone": "string",
        "work_load_type": "string",
    },
    tags={
        "string": "string",
    })
const protectionPolicyResource = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicyResource", {
    resourceGroupName: "string",
    vaultName: "string",
    eTag: "string",
    location: "string",
    policyName: "string",
    properties: {
        backupManagementType: "AzureStorage",
        protectedItemsCount: 0,
        resourceGuardOperationRequests: ["string"],
        retentionPolicy: {
            retentionPolicyType: "LongTermRetentionPolicy",
            dailySchedule: {
                retentionDuration: {
                    count: 0,
                    durationType: "string",
                },
                retentionTimes: ["string"],
            },
            monthlySchedule: {
                retentionDuration: {
                    count: 0,
                    durationType: "string",
                },
                retentionScheduleDaily: {
                    daysOfTheMonth: [{
                        date: 0,
                        isLast: false,
                    }],
                },
                retentionScheduleFormatType: "string",
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["string"],
            },
            weeklySchedule: {
                daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                retentionDuration: {
                    count: 0,
                    durationType: "string",
                },
                retentionTimes: ["string"],
            },
            yearlySchedule: {
                monthsOfYear: [azure_native.recoveryservices.MonthOfYear.Invalid],
                retentionDuration: {
                    count: 0,
                    durationType: "string",
                },
                retentionScheduleDaily: {
                    daysOfTheMonth: [{
                        date: 0,
                        isLast: false,
                    }],
                },
                retentionScheduleFormatType: "string",
                retentionScheduleWeekly: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    weeksOfTheMonth: [azure_native.recoveryservices.WeekOfMonth.First],
                },
                retentionTimes: ["string"],
            },
        },
        schedulePolicy: {
            schedulePolicyType: "LogSchedulePolicy",
            scheduleFrequencyInMins: 0,
        },
        timeZone: "string",
        workLoadType: "string",
    },
    tags: {
        string: "string",
    },
});
type: azure-native:recoveryservices:ProtectionPolicy
properties:
    eTag: string
    location: string
    policyName: string
    properties:
        backupManagementType: AzureStorage
        protectedItemsCount: 0
        resourceGuardOperationRequests:
            - string
        retentionPolicy:
            dailySchedule:
                retentionDuration:
                    count: 0
                    durationType: string
                retentionTimes:
                    - string
            monthlySchedule:
                retentionDuration:
                    count: 0
                    durationType: string
                retentionScheduleDaily:
                    daysOfTheMonth:
                        - date: 0
                          isLast: false
                retentionScheduleFormatType: string
                retentionScheduleWeekly:
                    daysOfTheWeek:
                        - Sunday
                    weeksOfTheMonth:
                        - First
                retentionTimes:
                    - string
            retentionPolicyType: LongTermRetentionPolicy
            weeklySchedule:
                daysOfTheWeek:
                    - Sunday
                retentionDuration:
                    count: 0
                    durationType: string
                retentionTimes:
                    - string
            yearlySchedule:
                monthsOfYear:
                    - Invalid
                retentionDuration:
                    count: 0
                    durationType: string
                retentionScheduleDaily:
                    daysOfTheMonth:
                        - date: 0
                          isLast: false
                retentionScheduleFormatType: string
                retentionScheduleWeekly:
                    daysOfTheWeek:
                        - Sunday
                    weeksOfTheMonth:
                        - First
                retentionTimes:
                    - string
        schedulePolicy:
            scheduleFrequencyInMins: 0
            schedulePolicyType: LogSchedulePolicy
        timeZone: string
        workLoadType: string
    resourceGroupName: string
    tags:
        string: string
    vaultName: string
ProtectionPolicy Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ProtectionPolicy resource accepts the following input properties:
- ResourceGroup stringName 
- The name of the resource group where the recovery services vault is present.
- VaultName string
- The name of the recovery services vault.
- ETag string
- Optional ETag.
- Location string
- Resource location.
- PolicyName string
- Backup policy to be created.
- Properties
Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Azure File Share Protection Policy Azure | Pulumi.Native. Recovery Services. Inputs. Azure Iaa SVMProtection Policy Azure | Pulumi.Native. Recovery Services. Inputs. Azure Sql Protection Policy Azure | Pulumi.Native. Recovery Services. Inputs. Azure Vm Workload Protection Policy Azure | Pulumi.Native. Recovery Services. Inputs. Generic Protection Policy Azure Native. Recovery Services. Inputs. Mab Protection Policy 
- ProtectionPolicyResource properties
- Dictionary<string, string>
- Resource tags.
- ResourceGroup stringName 
- The name of the resource group where the recovery services vault is present.
- VaultName string
- The name of the recovery services vault.
- ETag string
- Optional ETag.
- Location string
- Resource location.
- PolicyName string
- Backup policy to be created.
- Properties
AzureFile | AzureShare Protection Policy Args Iaa | AzureSVMProtection Policy Args Sql | AzureProtection Policy Args Vm | GenericWorkload Protection Policy Args Protection | MabPolicy Args Protection Policy Args 
- ProtectionPolicyResource properties
- map[string]string
- Resource tags.
- resourceGroup StringName 
- The name of the resource group where the recovery services vault is present.
- vaultName String
- The name of the recovery services vault.
- eTag String
- Optional ETag.
- location String
- Resource location.
- policyName String
- Backup policy to be created.
- properties
AzureFile | AzureShare Protection Policy Iaa | AzureSVMProtection Policy Sql | AzureProtection Policy Vm | GenericWorkload Protection Policy Protection | MabPolicy Protection Policy 
- ProtectionPolicyResource properties
- Map<String,String>
- Resource tags.
- resourceGroup stringName 
- The name of the resource group where the recovery services vault is present.
- vaultName string
- The name of the recovery services vault.
- eTag string
- Optional ETag.
- location string
- Resource location.
- policyName string
- Backup policy to be created.
- properties
AzureFile | AzureShare Protection Policy Iaa | AzureSVMProtection Policy Sql | AzureProtection Policy Vm | GenericWorkload Protection Policy Protection | MabPolicy Protection Policy 
- ProtectionPolicyResource properties
- {[key: string]: string}
- Resource tags.
- resource_group_ strname 
- The name of the resource group where the recovery services vault is present.
- vault_name str
- The name of the recovery services vault.
- e_tag str
- Optional ETag.
- location str
- Resource location.
- policy_name str
- Backup policy to be created.
- properties
AzureFile | AzureShare Protection Policy Args Iaa | AzureSVMProtection Policy Args Sql | AzureProtection Policy Args Vm | GenericWorkload Protection Policy Args Protection | MabPolicy Args Protection Policy Args 
- ProtectionPolicyResource properties
- Mapping[str, str]
- Resource tags.
- resourceGroup StringName 
- The name of the resource group where the recovery services vault is present.
- vaultName String
- The name of the recovery services vault.
- eTag String
- Optional ETag.
- location String
- Resource location.
- policyName String
- Backup policy to be created.
- properties Property Map | Property Map | Property Map | Property Map | Property Map | Property Map
- ProtectionPolicyResource properties
- Map<String>
- Resource tags.
Outputs
All input properties are implicitly available as output properties. Additionally, the ProtectionPolicy resource produces the following output properties:
Supporting Types
AzureFileShareProtectionPolicy, AzureFileShareProtectionPolicyArgs          
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Azure Native. Recovery Services. Inputs. Simple Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- WorkLoad string | Pulumi.Type Azure Native. Recovery Services. Workload Type 
- Type of workload for the backup management
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- WorkLoad string | WorkloadType Type 
- Type of workload for the backup management
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad String | WorkloadType Type 
- Type of workload for the backup management
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad string | WorkloadType Type 
- Type of workload for the backup management
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- work_load_ str | Workloadtype Type 
- Type of workload for the backup management
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad String | "Invalid" | "VM" | "FileType Folder" | "Azure Sql Db" | "SQLDB" | "Exchange" | "Sharepoint" | "VMware VM" | "System State" | "Client" | "Generic Data Source" | "SQLData Base" | "Azure File Share" | "SAPHana Database" | "SAPAse Database" | "SAPHana DBInstance" 
- Type of workload for the backup management
AzureFileShareProtectionPolicyResponse, AzureFileShareProtectionPolicyResponseArgs            
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Response Azure Native. Recovery Services. Inputs. Simple Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Response Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- WorkLoad stringType 
- Type of workload for the backup management
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- WorkLoad stringType 
- Type of workload for the backup management
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad StringType 
- Type of workload for the backup management
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad stringType 
- Type of workload for the backup management
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- work_load_ strtype 
- Type of workload for the backup management
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- workLoad StringType 
- Type of workload for the backup management
AzureIaaSVMProtectionPolicy, AzureIaaSVMProtectionPolicyArgs        
- InstantRPDetails Pulumi.Azure Native. Recovery Services. Inputs. Instant RPAdditional Details 
- InstantRp intRetention Range In Days 
- Instant RP retention policy range in days
- PolicyType string | Pulumi.Azure Native. Recovery Services. IAASVMPolicy Type 
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Azure Native. Recovery Services. Inputs. Simple Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TieringPolicy Dictionary<string, Pulumi.Azure Native. Recovery Services. Inputs. Tiering Policy> 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- InstantRPDetails InstantRPAdditional Details 
- InstantRp intRetention Range In Days 
- Instant RP retention policy range in days
- PolicyType string | IAASVMPolicyType 
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TieringPolicy map[string]TieringPolicy 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails InstantRPAdditional Details 
- instantRp IntegerRetention Range In Days 
- Instant RP retention policy range in days
- policyType String | IAASVMPolicyType 
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<String,TieringPolicy> 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails InstantRPAdditional Details 
- instantRp numberRetention Range In Days 
- Instant RP retention policy range in days
- policyType string | IAASVMPolicyType 
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tieringPolicy {[key: string]: TieringPolicy} 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instant_rp_ Instantdetails RPAdditional Details 
- instant_rp_ intretention_ range_ in_ days 
- Instant RP retention policy range in days
- policy_type str | IAASVMPolicyType 
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tiering_policy Mapping[str, TieringPolicy] 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails Property Map
- instantRp NumberRetention Range In Days 
- Instant RP retention policy range in days
- policyType String | "Invalid" | "V1" | "V2"
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<Property Map>
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
AzureIaaSVMProtectionPolicyResponse, AzureIaaSVMProtectionPolicyResponseArgs          
- InstantRPDetails Pulumi.Azure Native. Recovery Services. Inputs. Instant RPAdditional Details Response 
- InstantRp intRetention Range In Days 
- Instant RP retention policy range in days
- PolicyType string
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Response Azure Native. Recovery Services. Inputs. Simple Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Response Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TieringPolicy Dictionary<string, Pulumi.Azure Native. Recovery Services. Inputs. Tiering Policy Response> 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- InstantRPDetails InstantRPAdditional Details Response 
- InstantRp intRetention Range In Days 
- Instant RP retention policy range in days
- PolicyType string
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TieringPolicy map[string]TieringPolicy Response 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails InstantRPAdditional Details Response 
- instantRp IntegerRetention Range In Days 
- Instant RP retention policy range in days
- policyType String
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<String,TieringPolicy Response> 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails InstantRPAdditional Details Response 
- instantRp numberRetention Range In Days 
- Instant RP retention policy range in days
- policyType string
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tieringPolicy {[key: string]: TieringPolicy Response} 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instant_rp_ Instantdetails RPAdditional Details Response 
- instant_rp_ intretention_ range_ in_ days 
- Instant RP retention policy range in days
- policy_type str
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tiering_policy Mapping[str, TieringPolicy Response] 
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- instantRPDetails Property Map
- instantRp NumberRetention Range In Days 
- Instant RP retention policy range in days
- policyType String
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<Property Map>
- Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
AzureSqlProtectionPolicy, AzureSqlProtectionPolicyArgs        
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Azure Native. Recovery Services. Inputs. Simple Retention Policy 
- Retention policy details.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy details.
AzureSqlProtectionPolicyResponse, AzureSqlProtectionPolicyResponseArgs          
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Response Azure Native. Recovery Services. Inputs. Simple Retention Policy Response 
- Retention policy details.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy details.
AzureVmWorkloadProtectionPolicy, AzureVmWorkloadProtectionPolicyArgs          
- MakePolicy boolConsistent 
- Fix the policy inconsistency
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- Settings
Pulumi.Azure Native. Recovery Services. Inputs. Settings 
- Common settings for the backup management
- SubProtection List<Pulumi.Policy Azure Native. Recovery Services. Inputs. Sub Protection Policy> 
- List of sub-protection policies which includes schedule and retention
- WorkLoad string | Pulumi.Type Azure Native. Recovery Services. Workload Type 
- Type of workload for the backup management
- MakePolicy boolConsistent 
- Fix the policy inconsistency
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- Settings Settings
- Common settings for the backup management
- SubProtection []SubPolicy Protection Policy 
- List of sub-protection policies which includes schedule and retention
- WorkLoad string | WorkloadType Type 
- Type of workload for the backup management
- makePolicy BooleanConsistent 
- Fix the policy inconsistency
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- settings Settings
- Common settings for the backup management
- subProtection List<SubPolicy Protection Policy> 
- List of sub-protection policies which includes schedule and retention
- workLoad String | WorkloadType Type 
- Type of workload for the backup management
- makePolicy booleanConsistent 
- Fix the policy inconsistency
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- settings Settings
- Common settings for the backup management
- subProtection SubPolicy Protection Policy[] 
- List of sub-protection policies which includes schedule and retention
- workLoad string | WorkloadType Type 
- Type of workload for the backup management
- make_policy_ boolconsistent 
- Fix the policy inconsistency
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- settings Settings
- Common settings for the backup management
- sub_protection_ Sequence[Subpolicy Protection Policy] 
- List of sub-protection policies which includes schedule and retention
- work_load_ str | Workloadtype Type 
- Type of workload for the backup management
- makePolicy BooleanConsistent 
- Fix the policy inconsistency
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- settings Property Map
- Common settings for the backup management
- subProtection List<Property Map>Policy 
- List of sub-protection policies which includes schedule and retention
- workLoad String | "Invalid" | "VM" | "FileType Folder" | "Azure Sql Db" | "SQLDB" | "Exchange" | "Sharepoint" | "VMware VM" | "System State" | "Client" | "Generic Data Source" | "SQLData Base" | "Azure File Share" | "SAPHana Database" | "SAPAse Database" | "SAPHana DBInstance" 
- Type of workload for the backup management
AzureVmWorkloadProtectionPolicyResponse, AzureVmWorkloadProtectionPolicyResponseArgs            
- MakePolicy boolConsistent 
- Fix the policy inconsistency
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- Settings
Pulumi.Azure Native. Recovery Services. Inputs. Settings Response 
- Common settings for the backup management
- SubProtection List<Pulumi.Policy Azure Native. Recovery Services. Inputs. Sub Protection Policy Response> 
- List of sub-protection policies which includes schedule and retention
- WorkLoad stringType 
- Type of workload for the backup management
- MakePolicy boolConsistent 
- Fix the policy inconsistency
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- Settings
SettingsResponse 
- Common settings for the backup management
- SubProtection []SubPolicy Protection Policy Response 
- List of sub-protection policies which includes schedule and retention
- WorkLoad stringType 
- Type of workload for the backup management
- makePolicy BooleanConsistent 
- Fix the policy inconsistency
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- settings
SettingsResponse 
- Common settings for the backup management
- subProtection List<SubPolicy Protection Policy Response> 
- List of sub-protection policies which includes schedule and retention
- workLoad StringType 
- Type of workload for the backup management
- makePolicy booleanConsistent 
- Fix the policy inconsistency
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- settings
SettingsResponse 
- Common settings for the backup management
- subProtection SubPolicy Protection Policy Response[] 
- List of sub-protection policies which includes schedule and retention
- workLoad stringType 
- Type of workload for the backup management
- make_policy_ boolconsistent 
- Fix the policy inconsistency
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- settings
SettingsResponse 
- Common settings for the backup management
- sub_protection_ Sequence[Subpolicy Protection Policy Response] 
- List of sub-protection policies which includes schedule and retention
- work_load_ strtype 
- Type of workload for the backup management
- makePolicy BooleanConsistent 
- Fix the policy inconsistency
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- settings Property Map
- Common settings for the backup management
- subProtection List<Property Map>Policy 
- List of sub-protection policies which includes schedule and retention
- workLoad StringType 
- Type of workload for the backup management
DailyRetentionFormat, DailyRetentionFormatArgs      
- DaysOf List<Pulumi.The Month Azure Native. Recovery Services. Inputs. Day> 
- List of days of the month.
- DaysOf []DayThe Month 
- List of days of the month.
- daysOf List<Day>The Month 
- List of days of the month.
- daysOf Day[]The Month 
- List of days of the month.
- days_of_ Sequence[Day]the_ month 
- List of days of the month.
- daysOf List<Property Map>The Month 
- List of days of the month.
DailyRetentionFormatResponse, DailyRetentionFormatResponseArgs        
- DaysOf List<Pulumi.The Month Azure Native. Recovery Services. Inputs. Day Response> 
- List of days of the month.
- DaysOf []DayThe Month Response 
- List of days of the month.
- daysOf List<DayThe Month Response> 
- List of days of the month.
- daysOf DayThe Month Response[] 
- List of days of the month.
- days_of_ Sequence[Daythe_ month Response] 
- List of days of the month.
- daysOf List<Property Map>The Month 
- List of days of the month.
DailyRetentionSchedule, DailyRetentionScheduleArgs      
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration 
- Retention duration of retention Policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- RetentionDuration RetentionDuration 
- Retention duration of retention Policy.
- RetentionTimes []string
- Retention times of retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionTimes string[]
- Retention times of retention policy.
- retention_duration RetentionDuration 
- Retention duration of retention Policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
DailyRetentionScheduleResponse, DailyRetentionScheduleResponseArgs        
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration Response 
- Retention duration of retention Policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- RetentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- RetentionTimes []string
- Retention times of retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionTimes string[]
- Retention times of retention policy.
- retention_duration RetentionDuration Response 
- Retention duration of retention Policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
DailySchedule, DailyScheduleArgs    
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
DailyScheduleResponse, DailyScheduleResponseArgs      
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
Day, DayArgs  
DayOfWeek, DayOfWeekArgs      
- Sunday
- Sunday
- Monday
- Monday
- Tuesday
- Tuesday
- Wednesday
- Wednesday
- Thursday
- Thursday
- Friday
- Friday
- Saturday
- Saturday
- DayOf Week Sunday 
- Sunday
- DayOf Week Monday 
- Monday
- DayOf Week Tuesday 
- Tuesday
- DayOf Week Wednesday 
- Wednesday
- DayOf Week Thursday 
- Thursday
- DayOf Week Friday 
- Friday
- DayOf Week Saturday 
- Saturday
- Sunday
- Sunday
- Monday
- Monday
- Tuesday
- Tuesday
- Wednesday
- Wednesday
- Thursday
- Thursday
- Friday
- Friday
- Saturday
- Saturday
- Sunday
- Sunday
- Monday
- Monday
- Tuesday
- Tuesday
- Wednesday
- Wednesday
- Thursday
- Thursday
- Friday
- Friday
- Saturday
- Saturday
- SUNDAY
- Sunday
- MONDAY
- Monday
- TUESDAY
- Tuesday
- WEDNESDAY
- Wednesday
- THURSDAY
- Thursday
- FRIDAY
- Friday
- SATURDAY
- Saturday
- "Sunday"
- Sunday
- "Monday"
- Monday
- "Tuesday"
- Tuesday
- "Wednesday"
- Wednesday
- "Thursday"
- Thursday
- "Friday"
- Friday
- "Saturday"
- Saturday
DayResponse, DayResponseArgs    
GenericProtectionPolicy, GenericProtectionPolicyArgs      
- FabricName string
- Name of this policy's fabric.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- SubProtection List<Pulumi.Policy Azure Native. Recovery Services. Inputs. Sub Protection Policy> 
- List of sub-protection policies which includes schedule and retention
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- FabricName string
- Name of this policy's fabric.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- SubProtection []SubPolicy Protection Policy 
- List of sub-protection policies which includes schedule and retention
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName String
- Name of this policy's fabric.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- subProtection List<SubPolicy Protection Policy> 
- List of sub-protection policies which includes schedule and retention
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName string
- Name of this policy's fabric.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- subProtection SubPolicy Protection Policy[] 
- List of sub-protection policies which includes schedule and retention
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabric_name str
- Name of this policy's fabric.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- sub_protection_ Sequence[Subpolicy Protection Policy] 
- List of sub-protection policies which includes schedule and retention
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName String
- Name of this policy's fabric.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- subProtection List<Property Map>Policy 
- List of sub-protection policies which includes schedule and retention
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
GenericProtectionPolicyResponse, GenericProtectionPolicyResponseArgs        
- FabricName string
- Name of this policy's fabric.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- SubProtection List<Pulumi.Policy Azure Native. Recovery Services. Inputs. Sub Protection Policy Response> 
- List of sub-protection policies which includes schedule and retention
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- FabricName string
- Name of this policy's fabric.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- SubProtection []SubPolicy Protection Policy Response 
- List of sub-protection policies which includes schedule and retention
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName String
- Name of this policy's fabric.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- subProtection List<SubPolicy Protection Policy Response> 
- List of sub-protection policies which includes schedule and retention
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName string
- Name of this policy's fabric.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- subProtection SubPolicy Protection Policy Response[] 
- List of sub-protection policies which includes schedule and retention
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabric_name str
- Name of this policy's fabric.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- sub_protection_ Sequence[Subpolicy Protection Policy Response] 
- List of sub-protection policies which includes schedule and retention
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- fabricName String
- Name of this policy's fabric.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- subProtection List<Property Map>Policy 
- List of sub-protection policies which includes schedule and retention
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
HourlySchedule, HourlyScheduleArgs    
- Interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- ScheduleWindow intDuration 
- To specify duration of the backup window
- ScheduleWindow stringStart Time 
- To specify start time of the backup window
- Interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- ScheduleWindow intDuration 
- To specify duration of the backup window
- ScheduleWindow stringStart Time 
- To specify start time of the backup window
- interval Integer
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow IntegerDuration 
- To specify duration of the backup window
- scheduleWindow StringStart Time 
- To specify start time of the backup window
- interval number
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow numberDuration 
- To specify duration of the backup window
- scheduleWindow stringStart Time 
- To specify start time of the backup window
- interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- schedule_window_ intduration 
- To specify duration of the backup window
- schedule_window_ strstart_ time 
- To specify start time of the backup window
- interval Number
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow NumberDuration 
- To specify duration of the backup window
- scheduleWindow StringStart Time 
- To specify start time of the backup window
HourlyScheduleResponse, HourlyScheduleResponseArgs      
- Interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- ScheduleWindow intDuration 
- To specify duration of the backup window
- ScheduleWindow stringStart Time 
- To specify start time of the backup window
- Interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- ScheduleWindow intDuration 
- To specify duration of the backup window
- ScheduleWindow stringStart Time 
- To specify start time of the backup window
- interval Integer
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow IntegerDuration 
- To specify duration of the backup window
- scheduleWindow StringStart Time 
- To specify start time of the backup window
- interval number
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow numberDuration 
- To specify duration of the backup window
- scheduleWindow stringStart Time 
- To specify start time of the backup window
- interval int
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- schedule_window_ intduration 
- To specify duration of the backup window
- schedule_window_ strstart_ time 
- To specify start time of the backup window
- interval Number
- Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12
- scheduleWindow NumberDuration 
- To specify duration of the backup window
- scheduleWindow StringStart Time 
- To specify start time of the backup window
IAASVMPolicyType, IAASVMPolicyTypeArgs    
- Invalid
- Invalid
- V1
- V1
- V2
- V2
- IAASVMPolicyType Invalid 
- Invalid
- IAASVMPolicyType V1 
- V1
- IAASVMPolicyType V2 
- V2
- Invalid
- Invalid
- V1
- V1
- V2
- V2
- Invalid
- Invalid
- V1
- V1
- V2
- V2
- INVALID
- Invalid
- V1
- V1
- V2
- V2
- "Invalid"
- Invalid
- "V1"
- V1
- "V2"
- V2
InstantRPAdditionalDetails, InstantRPAdditionalDetailsArgs      
- AzureBackup stringRGName Prefix 
- AzureBackup stringRGName Suffix 
- AzureBackup stringRGName Prefix 
- AzureBackup stringRGName Suffix 
- azureBackup StringRGName Prefix 
- azureBackup StringRGName Suffix 
- azureBackup stringRGName Prefix 
- azureBackup stringRGName Suffix 
- azureBackup StringRGName Prefix 
- azureBackup StringRGName Suffix 
InstantRPAdditionalDetailsResponse, InstantRPAdditionalDetailsResponseArgs        
- AzureBackup stringRGName Prefix 
- AzureBackup stringRGName Suffix 
- AzureBackup stringRGName Prefix 
- AzureBackup stringRGName Suffix 
- azureBackup StringRGName Prefix 
- azureBackup StringRGName Suffix 
- azureBackup stringRGName Prefix 
- azureBackup stringRGName Suffix 
- azureBackup StringRGName Prefix 
- azureBackup StringRGName Suffix 
LogSchedulePolicy, LogSchedulePolicyArgs      
- ScheduleFrequency intIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- ScheduleFrequency intIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency IntegerIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency numberIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- schedule_frequency_ intin_ mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency NumberIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
LogSchedulePolicyResponse, LogSchedulePolicyResponseArgs        
- ScheduleFrequency intIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- ScheduleFrequency intIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency IntegerIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency numberIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
- schedule_frequency_ intin_ mins 
- Frequency of the log schedule operation of this policy in minutes.
- scheduleFrequency NumberIn Mins 
- Frequency of the log schedule operation of this policy in minutes.
LongTermRetentionPolicy, LongTermRetentionPolicyArgs        
- DailySchedule Pulumi.Azure Native. Recovery Services. Inputs. Daily Retention Schedule 
- Daily retention schedule of the protection policy.
- MonthlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Monthly Retention Schedule 
- Monthly retention schedule of the protection policy.
- WeeklySchedule Pulumi.Azure Native. Recovery Services. Inputs. Weekly Retention Schedule 
- Weekly retention schedule of the protection policy.
- YearlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Yearly Retention Schedule 
- Yearly retention schedule of the protection policy.
- DailySchedule DailyRetention Schedule 
- Daily retention schedule of the protection policy.
- MonthlySchedule MonthlyRetention Schedule 
- Monthly retention schedule of the protection policy.
- WeeklySchedule WeeklyRetention Schedule 
- Weekly retention schedule of the protection policy.
- YearlySchedule YearlyRetention Schedule 
- Yearly retention schedule of the protection policy.
- dailySchedule DailyRetention Schedule 
- Daily retention schedule of the protection policy.
- monthlySchedule MonthlyRetention Schedule 
- Monthly retention schedule of the protection policy.
- weeklySchedule WeeklyRetention Schedule 
- Weekly retention schedule of the protection policy.
- yearlySchedule YearlyRetention Schedule 
- Yearly retention schedule of the protection policy.
- dailySchedule DailyRetention Schedule 
- Daily retention schedule of the protection policy.
- monthlySchedule MonthlyRetention Schedule 
- Monthly retention schedule of the protection policy.
- weeklySchedule WeeklyRetention Schedule 
- Weekly retention schedule of the protection policy.
- yearlySchedule YearlyRetention Schedule 
- Yearly retention schedule of the protection policy.
- daily_schedule DailyRetention Schedule 
- Daily retention schedule of the protection policy.
- monthly_schedule MonthlyRetention Schedule 
- Monthly retention schedule of the protection policy.
- weekly_schedule WeeklyRetention Schedule 
- Weekly retention schedule of the protection policy.
- yearly_schedule YearlyRetention Schedule 
- Yearly retention schedule of the protection policy.
- dailySchedule Property Map
- Daily retention schedule of the protection policy.
- monthlySchedule Property Map
- Monthly retention schedule of the protection policy.
- weeklySchedule Property Map
- Weekly retention schedule of the protection policy.
- yearlySchedule Property Map
- Yearly retention schedule of the protection policy.
LongTermRetentionPolicyResponse, LongTermRetentionPolicyResponseArgs          
- DailySchedule Pulumi.Azure Native. Recovery Services. Inputs. Daily Retention Schedule Response 
- Daily retention schedule of the protection policy.
- MonthlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Monthly Retention Schedule Response 
- Monthly retention schedule of the protection policy.
- WeeklySchedule Pulumi.Azure Native. Recovery Services. Inputs. Weekly Retention Schedule Response 
- Weekly retention schedule of the protection policy.
- YearlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Yearly Retention Schedule Response 
- Yearly retention schedule of the protection policy.
- DailySchedule DailyRetention Schedule Response 
- Daily retention schedule of the protection policy.
- MonthlySchedule MonthlyRetention Schedule Response 
- Monthly retention schedule of the protection policy.
- WeeklySchedule WeeklyRetention Schedule Response 
- Weekly retention schedule of the protection policy.
- YearlySchedule YearlyRetention Schedule Response 
- Yearly retention schedule of the protection policy.
- dailySchedule DailyRetention Schedule Response 
- Daily retention schedule of the protection policy.
- monthlySchedule MonthlyRetention Schedule Response 
- Monthly retention schedule of the protection policy.
- weeklySchedule WeeklyRetention Schedule Response 
- Weekly retention schedule of the protection policy.
- yearlySchedule YearlyRetention Schedule Response 
- Yearly retention schedule of the protection policy.
- dailySchedule DailyRetention Schedule Response 
- Daily retention schedule of the protection policy.
- monthlySchedule MonthlyRetention Schedule Response 
- Monthly retention schedule of the protection policy.
- weeklySchedule WeeklyRetention Schedule Response 
- Weekly retention schedule of the protection policy.
- yearlySchedule YearlyRetention Schedule Response 
- Yearly retention schedule of the protection policy.
- daily_schedule DailyRetention Schedule Response 
- Daily retention schedule of the protection policy.
- monthly_schedule MonthlyRetention Schedule Response 
- Monthly retention schedule of the protection policy.
- weekly_schedule WeeklyRetention Schedule Response 
- Weekly retention schedule of the protection policy.
- yearly_schedule YearlyRetention Schedule Response 
- Yearly retention schedule of the protection policy.
- dailySchedule Property Map
- Daily retention schedule of the protection policy.
- monthlySchedule Property Map
- Monthly retention schedule of the protection policy.
- weeklySchedule Property Map
- Weekly retention schedule of the protection policy.
- yearlySchedule Property Map
- Yearly retention schedule of the protection policy.
LongTermSchedulePolicy, LongTermSchedulePolicyArgs        
LongTermSchedulePolicyResponse, LongTermSchedulePolicyResponseArgs          
MabProtectionPolicy, MabProtectionPolicyArgs      
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Azure Native. Recovery Services. Inputs. Simple Retention Policy 
- Retention policy details.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2 
- Backup schedule of backup policy.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- SchedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule of backup policy.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule of backup policy.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule of backup policy.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy details.
- schedule_policy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule of backup policy.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy details.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule of backup policy.
MabProtectionPolicyResponse, MabProtectionPolicyResponseArgs        
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard List<string>Operation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Response Azure Native. Recovery Services. Inputs. Simple Retention Policy Response 
- Retention policy details.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Response Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2Response 
- Backup schedule of backup policy.
- ProtectedItems intCount 
- Number of items associated with this policy.
- ResourceGuard []stringOperation Requests 
- ResourceGuard Operation Requests
- RetentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- SchedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule of backup policy.
- protectedItems IntegerCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule of backup policy.
- protectedItems numberCount 
- Number of items associated with this policy.
- resourceGuard string[]Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule of backup policy.
- protected_items_ intcount 
- Number of items associated with this policy.
- resource_guard_ Sequence[str]operation_ requests 
- ResourceGuard Operation Requests
- retention_policy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy details.
- schedule_policy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule of backup policy.
- protectedItems NumberCount 
- Number of items associated with this policy.
- resourceGuard List<String>Operation Requests 
- ResourceGuard Operation Requests
- retentionPolicy Property Map | Property Map
- Retention policy details.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule of backup policy.
MonthOfYear, MonthOfYearArgs      
- Invalid
- Invalid
- January
- January
- February
- February
- March
- March
- April
- April
- May
- May
- June
- June
- July
- July
- August
- August
- September
- September
- October
- October
- November
- November
- December
- December
- MonthOf Year Invalid 
- Invalid
- MonthOf Year January 
- January
- MonthOf Year February 
- February
- MonthOf Year March 
- March
- MonthOf Year April 
- April
- MonthOf Year May 
- May
- MonthOf Year June 
- June
- MonthOf Year July 
- July
- MonthOf Year August 
- August
- MonthOf Year September 
- September
- MonthOf Year October 
- October
- MonthOf Year November 
- November
- MonthOf Year December 
- December
- Invalid
- Invalid
- January
- January
- February
- February
- March
- March
- April
- April
- May
- May
- June
- June
- July
- July
- August
- August
- September
- September
- October
- October
- November
- November
- December
- December
- Invalid
- Invalid
- January
- January
- February
- February
- March
- March
- April
- April
- May
- May
- June
- June
- July
- July
- August
- August
- September
- September
- October
- October
- November
- November
- December
- December
- INVALID
- Invalid
- JANUARY
- January
- FEBRUARY
- February
- MARCH
- March
- APRIL
- April
- MAY
- May
- JUNE
- June
- JULY
- July
- AUGUST
- August
- SEPTEMBER
- September
- OCTOBER
- October
- NOVEMBER
- November
- DECEMBER
- December
- "Invalid"
- Invalid
- "January"
- January
- "February"
- February
- "March"
- March
- "April"
- April
- "May"
- May
- "June"
- June
- "July"
- July
- "August"
- August
- "September"
- September
- "October"
- October
- "November"
- November
- "December"
- December
MonthlyRetentionSchedule, MonthlyRetentionScheduleArgs      
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration 
- Retention duration of retention Policy.
- RetentionSchedule Pulumi.Daily Azure Native. Recovery Services. Inputs. Daily Retention Format 
- Daily retention format for monthly retention policy.
- RetentionSchedule string | Pulumi.Format Type Azure Native. Recovery Services. Retention Schedule Format 
- Retention schedule format type for monthly retention policy.
- RetentionSchedule Pulumi.Weekly Azure Native. Recovery Services. Inputs. Weekly Retention Format 
- Weekly retention format for monthly retention policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- RetentionDuration RetentionDuration 
- Retention duration of retention Policy.
- RetentionSchedule DailyDaily Retention Format 
- Daily retention format for monthly retention policy.
- RetentionSchedule string | RetentionFormat Type Schedule Format 
- Retention schedule format type for monthly retention policy.
- RetentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for monthly retention policy.
- RetentionTimes []string
- Retention times of retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format 
- Daily retention format for monthly retention policy.
- retentionSchedule String | RetentionFormat Type Schedule Format 
- Retention schedule format type for monthly retention policy.
- retentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for monthly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format 
- Daily retention format for monthly retention policy.
- retentionSchedule string | RetentionFormat Type Schedule Format 
- Retention schedule format type for monthly retention policy.
- retentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for monthly retention policy.
- retentionTimes string[]
- Retention times of retention policy.
- retention_duration RetentionDuration 
- Retention duration of retention Policy.
- retention_schedule_ Dailydaily Retention Format 
- Daily retention format for monthly retention policy.
- retention_schedule_ str | Retentionformat_ type Schedule Format 
- Retention schedule format type for monthly retention policy.
- retention_schedule_ Weeklyweekly Retention Format 
- Weekly retention format for monthly retention policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionSchedule Property MapDaily 
- Daily retention format for monthly retention policy.
- retentionSchedule String | "Invalid" | "Daily" | "Weekly"Format Type 
- Retention schedule format type for monthly retention policy.
- retentionSchedule Property MapWeekly 
- Weekly retention format for monthly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
MonthlyRetentionScheduleResponse, MonthlyRetentionScheduleResponseArgs        
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration Response 
- Retention duration of retention Policy.
- RetentionSchedule Pulumi.Daily Azure Native. Recovery Services. Inputs. Daily Retention Format Response 
- Daily retention format for monthly retention policy.
- RetentionSchedule stringFormat Type 
- Retention schedule format type for monthly retention policy.
- RetentionSchedule Pulumi.Weekly Azure Native. Recovery Services. Inputs. Weekly Retention Format Response 
- Weekly retention format for monthly retention policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- RetentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- RetentionSchedule DailyDaily Retention Format Response 
- Daily retention format for monthly retention policy.
- RetentionSchedule stringFormat Type 
- Retention schedule format type for monthly retention policy.
- RetentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for monthly retention policy.
- RetentionTimes []string
- Retention times of retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format Response 
- Daily retention format for monthly retention policy.
- retentionSchedule StringFormat Type 
- Retention schedule format type for monthly retention policy.
- retentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for monthly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format Response 
- Daily retention format for monthly retention policy.
- retentionSchedule stringFormat Type 
- Retention schedule format type for monthly retention policy.
- retentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for monthly retention policy.
- retentionTimes string[]
- Retention times of retention policy.
- retention_duration RetentionDuration Response 
- Retention duration of retention Policy.
- retention_schedule_ Dailydaily Retention Format Response 
- Daily retention format for monthly retention policy.
- retention_schedule_ strformat_ type 
- Retention schedule format type for monthly retention policy.
- retention_schedule_ Weeklyweekly Retention Format Response 
- Weekly retention format for monthly retention policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionSchedule Property MapDaily 
- Daily retention format for monthly retention policy.
- retentionSchedule StringFormat Type 
- Retention schedule format type for monthly retention policy.
- retentionSchedule Property MapWeekly 
- Weekly retention format for monthly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
PolicyType, PolicyTypeArgs    
- Invalid
- Invalid
- Full
- Full
- Differential
- Differential
- Log
- Log
- CopyOnly Full 
- CopyOnlyFull
- Incremental
- Incremental
- SnapshotFull 
- SnapshotFull
- SnapshotCopy Only Full 
- SnapshotCopyOnlyFull
- PolicyType Invalid 
- Invalid
- PolicyType Full 
- Full
- PolicyType Differential 
- Differential
- PolicyType Log 
- Log
- PolicyType Copy Only Full 
- CopyOnlyFull
- PolicyType Incremental 
- Incremental
- PolicyType Snapshot Full 
- SnapshotFull
- PolicyType Snapshot Copy Only Full 
- SnapshotCopyOnlyFull
- Invalid
- Invalid
- Full
- Full
- Differential
- Differential
- Log
- Log
- CopyOnly Full 
- CopyOnlyFull
- Incremental
- Incremental
- SnapshotFull 
- SnapshotFull
- SnapshotCopy Only Full 
- SnapshotCopyOnlyFull
- Invalid
- Invalid
- Full
- Full
- Differential
- Differential
- Log
- Log
- CopyOnly Full 
- CopyOnlyFull
- Incremental
- Incremental
- SnapshotFull 
- SnapshotFull
- SnapshotCopy Only Full 
- SnapshotCopyOnlyFull
- INVALID
- Invalid
- FULL
- Full
- DIFFERENTIAL
- Differential
- LOG
- Log
- COPY_ONLY_FULL
- CopyOnlyFull
- INCREMENTAL
- Incremental
- SNAPSHOT_FULL
- SnapshotFull
- SNAPSHOT_COPY_ONLY_FULL
- SnapshotCopyOnlyFull
- "Invalid"
- Invalid
- "Full"
- Full
- "Differential"
- Differential
- "Log"
- Log
- "CopyOnly Full" 
- CopyOnlyFull
- "Incremental"
- Incremental
- "SnapshotFull" 
- SnapshotFull
- "SnapshotCopy Only Full" 
- SnapshotCopyOnlyFull
RetentionDuration, RetentionDurationArgs    
- Count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- DurationType string | Pulumi.Azure Native. Recovery Services. Retention Duration Type 
- Retention duration type of retention policy.
- Count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- DurationType string | RetentionDuration Type 
- Retention duration type of retention policy.
- count Integer
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType String | RetentionDuration Type 
- Retention duration type of retention policy.
- count number
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType string | RetentionDuration Type 
- Retention duration type of retention policy.
- count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- duration_type str | RetentionDuration Type 
- Retention duration type of retention policy.
- count Number
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType String | "Invalid" | "Days" | "Weeks" | "Months" | "Years"
- Retention duration type of retention policy.
RetentionDurationResponse, RetentionDurationResponseArgs      
- Count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- DurationType string
- Retention duration type of retention policy.
- Count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- DurationType string
- Retention duration type of retention policy.
- count Integer
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType String
- Retention duration type of retention policy.
- count number
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType string
- Retention duration type of retention policy.
- count int
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- duration_type str
- Retention duration type of retention policy.
- count Number
- Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.
- durationType String
- Retention duration type of retention policy.
RetentionDurationType, RetentionDurationTypeArgs      
- Invalid
- Invalid
- Days
- Days
- Weeks
- Weeks
- Months
- Months
- Years
- Years
- RetentionDuration Type Invalid 
- Invalid
- RetentionDuration Type Days 
- Days
- RetentionDuration Type Weeks 
- Weeks
- RetentionDuration Type Months 
- Months
- RetentionDuration Type Years 
- Years
- Invalid
- Invalid
- Days
- Days
- Weeks
- Weeks
- Months
- Months
- Years
- Years
- Invalid
- Invalid
- Days
- Days
- Weeks
- Weeks
- Months
- Months
- Years
- Years
- INVALID
- Invalid
- DAYS
- Days
- WEEKS
- Weeks
- MONTHS
- Months
- YEARS
- Years
- "Invalid"
- Invalid
- "Days"
- Days
- "Weeks"
- Weeks
- "Months"
- Months
- "Years"
- Years
RetentionScheduleFormat, RetentionScheduleFormatArgs      
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- RetentionSchedule Format Invalid 
- Invalid
- RetentionSchedule Format Daily 
- Daily
- RetentionSchedule Format Weekly 
- Weekly
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- INVALID
- Invalid
- DAILY
- Daily
- WEEKLY
- Weekly
- "Invalid"
- Invalid
- "Daily"
- Daily
- "Weekly"
- Weekly
ScheduleRunType, ScheduleRunTypeArgs      
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- Hourly
- Hourly
- ScheduleRun Type Invalid 
- Invalid
- ScheduleRun Type Daily 
- Daily
- ScheduleRun Type Weekly 
- Weekly
- ScheduleRun Type Hourly 
- Hourly
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- Hourly
- Hourly
- Invalid
- Invalid
- Daily
- Daily
- Weekly
- Weekly
- Hourly
- Hourly
- INVALID
- Invalid
- DAILY
- Daily
- WEEKLY
- Weekly
- HOURLY
- Hourly
- "Invalid"
- Invalid
- "Daily"
- Daily
- "Weekly"
- Weekly
- "Hourly"
- Hourly
Settings, SettingsArgs  
- IsCompression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- Issqlcompression bool
- SQL compression flag
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- IsCompression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- Issqlcompression bool
- SQL compression flag
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression Boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression Boolean
- SQL compression flag
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression boolean
- SQL compression flag
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- is_compression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression bool
- SQL compression flag
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression Boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression Boolean
- SQL compression flag
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
SettingsResponse, SettingsResponseArgs    
- IsCompression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- Issqlcompression bool
- SQL compression flag
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- IsCompression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- Issqlcompression bool
- SQL compression flag
- TimeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression Boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression Boolean
- SQL compression flag
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression boolean
- SQL compression flag
- timeZone string
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- is_compression bool
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression bool
- SQL compression flag
- time_zone str
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
- isCompression Boolean
- Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag.
- issqlcompression Boolean
- SQL compression flag
- timeZone String
- TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
SimpleRetentionPolicy, SimpleRetentionPolicyArgs      
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration 
- Retention duration of the protection policy.
- RetentionDuration RetentionDuration 
- Retention duration of the protection policy.
- retentionDuration RetentionDuration 
- Retention duration of the protection policy.
- retentionDuration RetentionDuration 
- Retention duration of the protection policy.
- retention_duration RetentionDuration 
- Retention duration of the protection policy.
- retentionDuration Property Map
- Retention duration of the protection policy.
SimpleRetentionPolicyResponse, SimpleRetentionPolicyResponseArgs        
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration Response 
- Retention duration of the protection policy.
- RetentionDuration RetentionDuration Response 
- Retention duration of the protection policy.
- retentionDuration RetentionDuration Response 
- Retention duration of the protection policy.
- retentionDuration RetentionDuration Response 
- Retention duration of the protection policy.
- retention_duration RetentionDuration Response 
- Retention duration of the protection policy.
- retentionDuration Property Map
- Retention duration of the protection policy.
SimpleSchedulePolicy, SimpleSchedulePolicyArgs      
- HourlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Hourly Schedule 
- Hourly Schedule of this Policy
- ScheduleRun List<Pulumi.Days Azure Native. Recovery Services. Day Of Week> 
- List of days of week this schedule has to be run.
- ScheduleRun string | Pulumi.Frequency Azure Native. Recovery Services. Schedule Run Type 
- Frequency of the schedule operation of this policy.
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleWeekly intFrequency 
- At every number weeks this schedule has to be run.
- HourlySchedule HourlySchedule 
- Hourly Schedule of this Policy
- ScheduleRun []DayDays Of Week 
- List of days of week this schedule has to be run.
- ScheduleRun string | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- ScheduleWeekly intFrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule HourlySchedule 
- Hourly Schedule of this Policy
- scheduleRun List<DayDays Of Week> 
- List of days of week this schedule has to be run.
- scheduleRun String | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleWeekly IntegerFrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule HourlySchedule 
- Hourly Schedule of this Policy
- scheduleRun DayDays Of Week[] 
- List of days of week this schedule has to be run.
- scheduleRun string | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- scheduleWeekly numberFrequency 
- At every number weeks this schedule has to be run.
- hourly_schedule HourlySchedule 
- Hourly Schedule of this Policy
- schedule_run_ Sequence[Daydays Of Week] 
- List of days of week this schedule has to be run.
- schedule_run_ str | Schedulefrequency Run Type 
- Frequency of the schedule operation of this policy.
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- schedule_weekly_ intfrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule Property Map
- Hourly Schedule of this Policy
- scheduleRun List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">Days 
- List of days of week this schedule has to be run.
- scheduleRun String | "Invalid" | "Daily" | "Weekly" | "Hourly"Frequency 
- Frequency of the schedule operation of this policy.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleWeekly NumberFrequency 
- At every number weeks this schedule has to be run.
SimpleSchedulePolicyResponse, SimpleSchedulePolicyResponseArgs        
- HourlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Hourly Schedule Response 
- Hourly Schedule of this Policy
- ScheduleRun List<string>Days 
- List of days of week this schedule has to be run.
- ScheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleWeekly intFrequency 
- At every number weeks this schedule has to be run.
- HourlySchedule HourlySchedule Response 
- Hourly Schedule of this Policy
- ScheduleRun []stringDays 
- List of days of week this schedule has to be run.
- ScheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- ScheduleWeekly intFrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule HourlySchedule Response 
- Hourly Schedule of this Policy
- scheduleRun List<String>Days 
- List of days of week this schedule has to be run.
- scheduleRun StringFrequency 
- Frequency of the schedule operation of this policy.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleWeekly IntegerFrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule HourlySchedule Response 
- Hourly Schedule of this Policy
- scheduleRun string[]Days 
- List of days of week this schedule has to be run.
- scheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- scheduleWeekly numberFrequency 
- At every number weeks this schedule has to be run.
- hourly_schedule HourlySchedule Response 
- Hourly Schedule of this Policy
- schedule_run_ Sequence[str]days 
- List of days of week this schedule has to be run.
- schedule_run_ strfrequency 
- Frequency of the schedule operation of this policy.
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- schedule_weekly_ intfrequency 
- At every number weeks this schedule has to be run.
- hourlySchedule Property Map
- Hourly Schedule of this Policy
- scheduleRun List<String>Days 
- List of days of week this schedule has to be run.
- scheduleRun StringFrequency 
- Frequency of the schedule operation of this policy.
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleWeekly NumberFrequency 
- At every number weeks this schedule has to be run.
SimpleSchedulePolicyV2, SimpleSchedulePolicyV2Args        
- DailySchedule Pulumi.Azure Native. Recovery Services. Inputs. Daily Schedule 
- Daily schedule of this policy
- HourlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Hourly Schedule 
- hourly schedule of this policy
- ScheduleRun string | Pulumi.Frequency Azure Native. Recovery Services. Schedule Run Type 
- Frequency of the schedule operation of this policy.
- WeeklySchedule Pulumi.Azure Native. Recovery Services. Inputs. Weekly Schedule 
- Weekly schedule of this policy
- DailySchedule DailySchedule 
- Daily schedule of this policy
- HourlySchedule HourlySchedule 
- hourly schedule of this policy
- ScheduleRun string | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- WeeklySchedule WeeklySchedule 
- Weekly schedule of this policy
- dailySchedule DailySchedule 
- Daily schedule of this policy
- hourlySchedule HourlySchedule 
- hourly schedule of this policy
- scheduleRun String | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- weeklySchedule WeeklySchedule 
- Weekly schedule of this policy
- dailySchedule DailySchedule 
- Daily schedule of this policy
- hourlySchedule HourlySchedule 
- hourly schedule of this policy
- scheduleRun string | ScheduleFrequency Run Type 
- Frequency of the schedule operation of this policy.
- weeklySchedule WeeklySchedule 
- Weekly schedule of this policy
- daily_schedule DailySchedule 
- Daily schedule of this policy
- hourly_schedule HourlySchedule 
- hourly schedule of this policy
- schedule_run_ str | Schedulefrequency Run Type 
- Frequency of the schedule operation of this policy.
- weekly_schedule WeeklySchedule 
- Weekly schedule of this policy
- dailySchedule Property Map
- Daily schedule of this policy
- hourlySchedule Property Map
- hourly schedule of this policy
- scheduleRun String | "Invalid" | "Daily" | "Weekly" | "Hourly"Frequency 
- Frequency of the schedule operation of this policy.
- weeklySchedule Property Map
- Weekly schedule of this policy
SimpleSchedulePolicyV2Response, SimpleSchedulePolicyV2ResponseArgs        
- DailySchedule Pulumi.Azure Native. Recovery Services. Inputs. Daily Schedule Response 
- Daily schedule of this policy
- HourlySchedule Pulumi.Azure Native. Recovery Services. Inputs. Hourly Schedule Response 
- hourly schedule of this policy
- ScheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- WeeklySchedule Pulumi.Azure Native. Recovery Services. Inputs. Weekly Schedule Response 
- Weekly schedule of this policy
- DailySchedule DailySchedule Response 
- Daily schedule of this policy
- HourlySchedule HourlySchedule Response 
- hourly schedule of this policy
- ScheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- WeeklySchedule WeeklySchedule Response 
- Weekly schedule of this policy
- dailySchedule DailySchedule Response 
- Daily schedule of this policy
- hourlySchedule HourlySchedule Response 
- hourly schedule of this policy
- scheduleRun StringFrequency 
- Frequency of the schedule operation of this policy.
- weeklySchedule WeeklySchedule Response 
- Weekly schedule of this policy
- dailySchedule DailySchedule Response 
- Daily schedule of this policy
- hourlySchedule HourlySchedule Response 
- hourly schedule of this policy
- scheduleRun stringFrequency 
- Frequency of the schedule operation of this policy.
- weeklySchedule WeeklySchedule Response 
- Weekly schedule of this policy
- daily_schedule DailySchedule Response 
- Daily schedule of this policy
- hourly_schedule HourlySchedule Response 
- hourly schedule of this policy
- schedule_run_ strfrequency 
- Frequency of the schedule operation of this policy.
- weekly_schedule WeeklySchedule Response 
- Weekly schedule of this policy
- dailySchedule Property Map
- Daily schedule of this policy
- hourlySchedule Property Map
- hourly schedule of this policy
- scheduleRun StringFrequency 
- Frequency of the schedule operation of this policy.
- weeklySchedule Property Map
- Weekly schedule of this policy
SubProtectionPolicy, SubProtectionPolicyArgs      
- PolicyType string | Pulumi.Azure Native. Recovery Services. Policy Type 
- Type of backup policy type
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Azure Native. Recovery Services. Inputs. Simple Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TieringPolicy Dictionary<string, Pulumi.Azure Native. Recovery Services. Inputs. Tiering Policy> 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- PolicyType string | PolicyType 
- Type of backup policy type
- RetentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- TieringPolicy map[string]TieringPolicy 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType String | PolicyType 
- Type of backup policy type
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<String,TieringPolicy> 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType string | PolicyType 
- Type of backup policy type
- retentionPolicy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tieringPolicy {[key: string]: TieringPolicy} 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policy_type str | PolicyType 
- Type of backup policy type
- retention_policy LongTerm | SimpleRetention Policy Retention Policy 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Term | SimpleSchedule Policy Schedule | SimplePolicy Schedule Policy V2 
- Backup schedule specified as part of backup policy.
- tiering_policy Mapping[str, TieringPolicy] 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType String | "Invalid" | "Full" | "Differential" | "Log" | "CopyOnly Full" | "Incremental" | "Snapshot Full" | "Snapshot Copy Only Full" 
- Type of backup policy type
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<Property Map>
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
SubProtectionPolicyResponse, SubProtectionPolicyResponseArgs        
- PolicyType string
- Type of backup policy type
- RetentionPolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Retention Policy Response Azure Native. Recovery Services. Inputs. Simple Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy Pulumi.Azure | Pulumi.Native. Recovery Services. Inputs. Log Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Long Term Schedule Policy Response Azure | Pulumi.Native. Recovery Services. Inputs. Simple Schedule Policy Response Azure Native. Recovery Services. Inputs. Simple Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TieringPolicy Dictionary<string, Pulumi.Azure Native. Recovery Services. Inputs. Tiering Policy Response> 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- PolicyType string
- Type of backup policy type
- RetentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- SchedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- TieringPolicy map[string]TieringPolicy Response 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType String
- Type of backup policy type
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<String,TieringPolicy Response> 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType string
- Type of backup policy type
- retentionPolicy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tieringPolicy {[key: string]: TieringPolicy Response} 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policy_type str
- Type of backup policy type
- retention_policy LongTerm | SimpleRetention Policy Response Retention Policy Response 
- Retention policy with the details on backup copy retention ranges.
- schedule_policy LogSchedule | LongPolicy Response Term | SimpleSchedule Policy Response Schedule | SimplePolicy Response Schedule Policy V2Response 
- Backup schedule specified as part of backup policy.
- tiering_policy Mapping[str, TieringPolicy Response] 
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
- policyType String
- Type of backup policy type
- retentionPolicy Property Map | Property Map
- Retention policy with the details on backup copy retention ranges.
- schedulePolicy Property Map | Property Map | Property Map | Property Map
- Backup schedule specified as part of backup policy.
- tieringPolicy Map<Property Map>
- Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier.
TieringMode, TieringModeArgs    
- Invalid
- Invalid
- TierRecommended 
- TierRecommended
- TierAfter 
- TierAfter
- DoNot Tier 
- DoNotTier
- TieringMode Invalid 
- Invalid
- TieringMode Tier Recommended 
- TierRecommended
- TieringMode Tier After 
- TierAfter
- TieringMode Do Not Tier 
- DoNotTier
- Invalid
- Invalid
- TierRecommended 
- TierRecommended
- TierAfter 
- TierAfter
- DoNot Tier 
- DoNotTier
- Invalid
- Invalid
- TierRecommended 
- TierRecommended
- TierAfter 
- TierAfter
- DoNot Tier 
- DoNotTier
- INVALID
- Invalid
- TIER_RECOMMENDED
- TierRecommended
- TIER_AFTER
- TierAfter
- DO_NOT_TIER
- DoNotTier
- "Invalid"
- Invalid
- "TierRecommended" 
- TierRecommended
- "TierAfter" 
- TierAfter
- "DoNot Tier" 
- DoNotTier
TieringPolicy, TieringPolicyArgs    
- Duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- DurationType string | Pulumi.Azure Native. Recovery Services. Retention Duration Type 
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- TieringMode string | Pulumi.Azure Native. Recovery Services. Tiering Mode 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- Duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- DurationType string | RetentionDuration Type 
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- TieringMode string | TieringMode 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration Integer
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType String | RetentionDuration Type 
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode String | TieringMode 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration number
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType string | RetentionDuration Type 
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode string | TieringMode 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- duration_type str | RetentionDuration Type 
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tiering_mode str | TieringMode 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration Number
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType String | "Invalid" | "Days" | "Weeks" | "Months" | "Years"
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode String | "Invalid" | "TierRecommended" | "Tier After" | "Do Not Tier" 
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
TieringPolicyResponse, TieringPolicyResponseArgs      
- Duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- DurationType string
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- TieringMode string
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- Duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- DurationType string
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- TieringMode string
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration Integer
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType String
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode String
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration number
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType string
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode string
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration int
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- duration_type str
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tiering_mode str
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
- duration Number
- Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter
- durationType String
- Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
- tieringMode String
- Tiering Mode to control automatic tiering of recovery points. Supported values are:- TierRecommended: Tier all recovery points recommended to be tiered
- TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
- DoNotTier: Do not tier any recovery points
 
WeekOfMonth, WeekOfMonthArgs      
- First
- First
- Second
- Second
- Third
- Third
- Fourth
- Fourth
- Last
- Last
- Invalid
- Invalid
- WeekOf Month First 
- First
- WeekOf Month Second 
- Second
- WeekOf Month Third 
- Third
- WeekOf Month Fourth 
- Fourth
- WeekOf Month Last 
- Last
- WeekOf Month Invalid 
- Invalid
- First
- First
- Second
- Second
- Third
- Third
- Fourth
- Fourth
- Last
- Last
- Invalid
- Invalid
- First
- First
- Second
- Second
- Third
- Third
- Fourth
- Fourth
- Last
- Last
- Invalid
- Invalid
- FIRST
- First
- SECOND
- Second
- THIRD
- Third
- FOURTH
- Fourth
- LAST
- Last
- INVALID
- Invalid
- "First"
- First
- "Second"
- Second
- "Third"
- Third
- "Fourth"
- Fourth
- "Last"
- Last
- "Invalid"
- Invalid
WeeklyRetentionFormat, WeeklyRetentionFormatArgs      
- DaysOf List<Pulumi.The Week Azure Native. Recovery Services. Day Of Week> 
- List of days of the week.
- WeeksOf List<Pulumi.The Month Azure Native. Recovery Services. Week Of Month> 
- List of weeks of month.
- DaysOf []DayThe Week Of Week 
- List of days of the week.
- WeeksOf []WeekThe Month Of Month 
- List of weeks of month.
- daysOf List<DayThe Week Of Week> 
- List of days of the week.
- weeksOf List<WeekThe Month Of Month> 
- List of weeks of month.
- daysOf DayThe Week Of Week[] 
- List of days of the week.
- weeksOf WeekThe Month Of Month[] 
- List of weeks of month.
- days_of_ Sequence[Daythe_ week Of Week] 
- List of days of the week.
- weeks_of_ Sequence[Weekthe_ month Of Month] 
- List of weeks of month.
- daysOf List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">The Week 
- List of days of the week.
- weeksOf List<"First" | "Second" | "Third" | "Fourth" | "Last" | "Invalid">The Month 
- List of weeks of month.
WeeklyRetentionFormatResponse, WeeklyRetentionFormatResponseArgs        
- DaysOf List<string>The Week 
- List of days of the week.
- WeeksOf List<string>The Month 
- List of weeks of month.
- DaysOf []stringThe Week 
- List of days of the week.
- WeeksOf []stringThe Month 
- List of weeks of month.
- daysOf List<String>The Week 
- List of days of the week.
- weeksOf List<String>The Month 
- List of weeks of month.
- daysOf string[]The Week 
- List of days of the week.
- weeksOf string[]The Month 
- List of weeks of month.
- days_of_ Sequence[str]the_ week 
- List of days of the week.
- weeks_of_ Sequence[str]the_ month 
- List of weeks of month.
- daysOf List<String>The Week 
- List of days of the week.
- weeksOf List<String>The Month 
- List of weeks of month.
WeeklyRetentionSchedule, WeeklyRetentionScheduleArgs      
- DaysOf List<Pulumi.The Week Azure Native. Recovery Services. Day Of Week> 
- List of days of week for weekly retention policy.
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration 
- Retention duration of retention Policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- DaysOf []DayThe Week Of Week 
- List of days of week for weekly retention policy.
- RetentionDuration RetentionDuration 
- Retention duration of retention Policy.
- RetentionTimes []string
- Retention times of retention policy.
- daysOf List<DayThe Week Of Week> 
- List of days of week for weekly retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
- daysOf DayThe Week Of Week[] 
- List of days of week for weekly retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionTimes string[]
- Retention times of retention policy.
- days_of_ Sequence[Daythe_ week Of Week] 
- List of days of week for weekly retention policy.
- retention_duration RetentionDuration 
- Retention duration of retention Policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- daysOf List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">The Week 
- List of days of week for weekly retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
WeeklyRetentionScheduleResponse, WeeklyRetentionScheduleResponseArgs        
- DaysOf List<string>The Week 
- List of days of week for weekly retention policy.
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration Response 
- Retention duration of retention Policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- DaysOf []stringThe Week 
- List of days of week for weekly retention policy.
- RetentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- RetentionTimes []string
- Retention times of retention policy.
- daysOf List<String>The Week 
- List of days of week for weekly retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
- daysOf string[]The Week 
- List of days of week for weekly retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionTimes string[]
- Retention times of retention policy.
- days_of_ Sequence[str]the_ week 
- List of days of week for weekly retention policy.
- retention_duration RetentionDuration Response 
- Retention duration of retention Policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- daysOf List<String>The Week 
- List of days of week for weekly retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionTimes List<String>
- Retention times of retention policy.
WeeklySchedule, WeeklyScheduleArgs    
- ScheduleRun List<Pulumi.Days Azure Native. Recovery Services. Day Of Week> 
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleRun []DayDays Of Week 
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- scheduleRun List<DayDays Of Week> 
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleRun DayDays Of Week[] 
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- schedule_run_ Sequence[Daydays Of Week] 
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- scheduleRun List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">Days 
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
WeeklyScheduleResponse, WeeklyScheduleResponseArgs      
- ScheduleRun List<string>Days 
- ScheduleRun List<string>Times 
- List of times of day this schedule has to be run.
- ScheduleRun []stringDays 
- ScheduleRun []stringTimes 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Days 
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
- scheduleRun string[]Days 
- scheduleRun string[]Times 
- List of times of day this schedule has to be run.
- schedule_run_ Sequence[str]days 
- schedule_run_ Sequence[str]times 
- List of times of day this schedule has to be run.
- scheduleRun List<String>Days 
- scheduleRun List<String>Times 
- List of times of day this schedule has to be run.
WorkloadType, WorkloadTypeArgs    
- Invalid
- Invalid
- VM
- VM
- FileFolder 
- FileFolder
- AzureSql Db 
- AzureSqlDb
- SQLDB
- SQLDB
- Exchange
- Exchange
- Sharepoint
- Sharepoint
- VMwareVM 
- VMwareVM
- SystemState 
- SystemState
- Client
- Client
- GenericData Source 
- GenericDataSource
- SQLDataBase 
- SQLDataBase
- AzureFile Share 
- AzureFileShare
- SAPHanaDatabase 
- SAPHanaDatabase
- SAPAseDatabase 
- SAPAseDatabase
- SAPHanaDBInstance 
- SAPHanaDBInstance
- WorkloadType Invalid 
- Invalid
- WorkloadType VM 
- VM
- WorkloadType File Folder 
- FileFolder
- WorkloadType Azure Sql Db 
- AzureSqlDb
- WorkloadType SQLDB 
- SQLDB
- WorkloadType Exchange 
- Exchange
- WorkloadType Sharepoint 
- Sharepoint
- WorkloadType VMware VM 
- VMwareVM
- WorkloadType System State 
- SystemState
- WorkloadType Client 
- Client
- WorkloadType Generic Data Source 
- GenericDataSource
- WorkloadType SQLData Base 
- SQLDataBase
- WorkloadType Azure File Share 
- AzureFileShare
- WorkloadType SAPHana Database 
- SAPHanaDatabase
- WorkloadType SAPAse Database 
- SAPAseDatabase
- WorkloadType SAPHana DBInstance 
- SAPHanaDBInstance
- Invalid
- Invalid
- VM
- VM
- FileFolder 
- FileFolder
- AzureSql Db 
- AzureSqlDb
- SQLDB
- SQLDB
- Exchange
- Exchange
- Sharepoint
- Sharepoint
- VMwareVM 
- VMwareVM
- SystemState 
- SystemState
- Client
- Client
- GenericData Source 
- GenericDataSource
- SQLDataBase 
- SQLDataBase
- AzureFile Share 
- AzureFileShare
- SAPHanaDatabase 
- SAPHanaDatabase
- SAPAseDatabase 
- SAPAseDatabase
- SAPHanaDBInstance 
- SAPHanaDBInstance
- Invalid
- Invalid
- VM
- VM
- FileFolder 
- FileFolder
- AzureSql Db 
- AzureSqlDb
- SQLDB
- SQLDB
- Exchange
- Exchange
- Sharepoint
- Sharepoint
- VMwareVM 
- VMwareVM
- SystemState 
- SystemState
- Client
- Client
- GenericData Source 
- GenericDataSource
- SQLDataBase 
- SQLDataBase
- AzureFile Share 
- AzureFileShare
- SAPHanaDatabase 
- SAPHanaDatabase
- SAPAseDatabase 
- SAPAseDatabase
- SAPHanaDBInstance 
- SAPHanaDBInstance
- INVALID
- Invalid
- VM
- VM
- FILE_FOLDER
- FileFolder
- AZURE_SQL_DB
- AzureSqlDb
- SQLDB
- SQLDB
- EXCHANGE
- Exchange
- SHAREPOINT
- Sharepoint
- V_MWARE_VM
- VMwareVM
- SYSTEM_STATE
- SystemState
- CLIENT
- Client
- GENERIC_DATA_SOURCE
- GenericDataSource
- SQL_DATA_BASE
- SQLDataBase
- AZURE_FILE_SHARE
- AzureFileShare
- SAP_HANA_DATABASE
- SAPHanaDatabase
- SAPASE_DATABASE
- SAPAseDatabase
- SAP_HANA_DB_INSTANCE
- SAPHanaDBInstance
- "Invalid"
- Invalid
- "VM"
- VM
- "FileFolder" 
- FileFolder
- "AzureSql Db" 
- AzureSqlDb
- "SQLDB"
- SQLDB
- "Exchange"
- Exchange
- "Sharepoint"
- Sharepoint
- "VMwareVM" 
- VMwareVM
- "SystemState" 
- SystemState
- "Client"
- Client
- "GenericData Source" 
- GenericDataSource
- "SQLDataBase" 
- SQLDataBase
- "AzureFile Share" 
- AzureFileShare
- "SAPHanaDatabase" 
- SAPHanaDatabase
- "SAPAseDatabase" 
- SAPAseDatabase
- "SAPHanaDBInstance" 
- SAPHanaDBInstance
YearlyRetentionSchedule, YearlyRetentionScheduleArgs      
- MonthsOf List<Pulumi.Year Azure Native. Recovery Services. Month Of Year> 
- List of months of year of yearly retention policy.
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration 
- Retention duration of retention Policy.
- RetentionSchedule Pulumi.Daily Azure Native. Recovery Services. Inputs. Daily Retention Format 
- Daily retention format for yearly retention policy.
- RetentionSchedule string | Pulumi.Format Type Azure Native. Recovery Services. Retention Schedule Format 
- Retention schedule format for yearly retention policy.
- RetentionSchedule Pulumi.Weekly Azure Native. Recovery Services. Inputs. Weekly Retention Format 
- Weekly retention format for yearly retention policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- MonthsOf []MonthYear Of Year 
- List of months of year of yearly retention policy.
- RetentionDuration RetentionDuration 
- Retention duration of retention Policy.
- RetentionSchedule DailyDaily Retention Format 
- Daily retention format for yearly retention policy.
- RetentionSchedule string | RetentionFormat Type Schedule Format 
- Retention schedule format for yearly retention policy.
- RetentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for yearly retention policy.
- RetentionTimes []string
- Retention times of retention policy.
- monthsOf List<MonthYear Of Year> 
- List of months of year of yearly retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format 
- Daily retention format for yearly retention policy.
- retentionSchedule String | RetentionFormat Type Schedule Format 
- Retention schedule format for yearly retention policy.
- retentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for yearly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
- monthsOf MonthYear Of Year[] 
- List of months of year of yearly retention policy.
- retentionDuration RetentionDuration 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format 
- Daily retention format for yearly retention policy.
- retentionSchedule string | RetentionFormat Type Schedule Format 
- Retention schedule format for yearly retention policy.
- retentionSchedule WeeklyWeekly Retention Format 
- Weekly retention format for yearly retention policy.
- retentionTimes string[]
- Retention times of retention policy.
- months_of_ Sequence[Monthyear Of Year] 
- List of months of year of yearly retention policy.
- retention_duration RetentionDuration 
- Retention duration of retention Policy.
- retention_schedule_ Dailydaily Retention Format 
- Daily retention format for yearly retention policy.
- retention_schedule_ str | Retentionformat_ type Schedule Format 
- Retention schedule format for yearly retention policy.
- retention_schedule_ Weeklyweekly Retention Format 
- Weekly retention format for yearly retention policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- monthsOf List<"Invalid" | "January" | "February" | "March" | "April" | "May" | "June" | "July" | "August" | "September" | "October" | "November" | "December">Year 
- List of months of year of yearly retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionSchedule Property MapDaily 
- Daily retention format for yearly retention policy.
- retentionSchedule String | "Invalid" | "Daily" | "Weekly"Format Type 
- Retention schedule format for yearly retention policy.
- retentionSchedule Property MapWeekly 
- Weekly retention format for yearly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
YearlyRetentionScheduleResponse, YearlyRetentionScheduleResponseArgs        
- MonthsOf List<string>Year 
- List of months of year of yearly retention policy.
- RetentionDuration Pulumi.Azure Native. Recovery Services. Inputs. Retention Duration Response 
- Retention duration of retention Policy.
- RetentionSchedule Pulumi.Daily Azure Native. Recovery Services. Inputs. Daily Retention Format Response 
- Daily retention format for yearly retention policy.
- RetentionSchedule stringFormat Type 
- Retention schedule format for yearly retention policy.
- RetentionSchedule Pulumi.Weekly Azure Native. Recovery Services. Inputs. Weekly Retention Format Response 
- Weekly retention format for yearly retention policy.
- RetentionTimes List<string>
- Retention times of retention policy.
- MonthsOf []stringYear 
- List of months of year of yearly retention policy.
- RetentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- RetentionSchedule DailyDaily Retention Format Response 
- Daily retention format for yearly retention policy.
- RetentionSchedule stringFormat Type 
- Retention schedule format for yearly retention policy.
- RetentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for yearly retention policy.
- RetentionTimes []string
- Retention times of retention policy.
- monthsOf List<String>Year 
- List of months of year of yearly retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format Response 
- Daily retention format for yearly retention policy.
- retentionSchedule StringFormat Type 
- Retention schedule format for yearly retention policy.
- retentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for yearly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
- monthsOf string[]Year 
- List of months of year of yearly retention policy.
- retentionDuration RetentionDuration Response 
- Retention duration of retention Policy.
- retentionSchedule DailyDaily Retention Format Response 
- Daily retention format for yearly retention policy.
- retentionSchedule stringFormat Type 
- Retention schedule format for yearly retention policy.
- retentionSchedule WeeklyWeekly Retention Format Response 
- Weekly retention format for yearly retention policy.
- retentionTimes string[]
- Retention times of retention policy.
- months_of_ Sequence[str]year 
- List of months of year of yearly retention policy.
- retention_duration RetentionDuration Response 
- Retention duration of retention Policy.
- retention_schedule_ Dailydaily Retention Format Response 
- Daily retention format for yearly retention policy.
- retention_schedule_ strformat_ type 
- Retention schedule format for yearly retention policy.
- retention_schedule_ Weeklyweekly Retention Format Response 
- Weekly retention format for yearly retention policy.
- retention_times Sequence[str]
- Retention times of retention policy.
- monthsOf List<String>Year 
- List of months of year of yearly retention policy.
- retentionDuration Property Map
- Retention duration of retention Policy.
- retentionSchedule Property MapDaily 
- Daily retention format for yearly retention policy.
- retentionSchedule StringFormat Type 
- Retention schedule format for yearly retention policy.
- retentionSchedule Property MapWeekly 
- Weekly retention format for yearly retention policy.
- retentionTimes List<String>
- Retention times of retention policy.
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:recoveryservices:ProtectionPolicy testPolicy1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName} 
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0