1. Packages
  2. Azure Native
  3. API Docs
  4. recoveryservices
  5. ProtectionPolicy
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi

azure-native.recoveryservices.ProtectionPolicy

Explore with Pulumi AI

Base class for backup policy. Workload-specific backup policies are derived from this class.

Uses Azure REST API version 2024-10-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01.

Other available API versions: 2023-02-01, 2023-04-01, 2023-06-01, 2023-08-01, 2024-01-01, 2024-02-01, 2024-04-01, 2024-04-30-preview, 2024-07-30-preview, 2024-11-01-preview, 2025-01-01, 2025-02-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native recoveryservices [ApiVersion]. See the version guide for details.

Example Usage

Create or Update Azure Storage Vault Standard 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 = "newPolicyV2",
        Properties = new AzureNative.RecoveryServices.Inputs.AzureFileShareProtectionPolicyArgs
        {
            BackupManagementType = "AzureStorage",
            SchedulePolicy = new AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyArgs
            {
                SchedulePolicyType = "SimpleSchedulePolicy",
                ScheduleRunFrequency = AzureNative.RecoveryServices.ScheduleRunType.Daily,
                ScheduleRunTimes = new[]
                {
                    "2023-07-18T09:30:00.000Z",
                },
            },
            TimeZone = "UTC",
            VaultRetentionPolicy = new AzureNative.RecoveryServices.Inputs.VaultRetentionPolicyArgs
            {
                SnapshotRetentionInDays = 5,
                VaultRetention = new AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyArgs
                {
                    DailySchedule = new AzureNative.RecoveryServices.Inputs.DailyRetentionScheduleArgs
                    {
                        RetentionDuration = new AzureNative.RecoveryServices.Inputs.RetentionDurationArgs
                        {
                            Count = 30,
                            DurationType = AzureNative.RecoveryServices.RetentionDurationType.Days,
                        },
                        RetentionTimes = new[]
                        {
                            "2023-07-18T09:30: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[]
                        {
                            "2023-07-18T09:30: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[]
                        {
                            "2023-07-18T09:30: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[]
                        {
                            "2023-07-18T09:30:00.000Z",
                        },
                    },
                },
            },
            WorkLoadType = AzureNative.RecoveryServices.WorkloadType.AzureFileShare,
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "swaggertestvault",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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("newPolicyV2"),
			Properties: &recoveryservices.AzureFileShareProtectionPolicyArgs{
				BackupManagementType: pulumi.String("AzureStorage"),
				SchedulePolicy: recoveryservices.SimpleSchedulePolicy{
					SchedulePolicyType:   "SimpleSchedulePolicy",
					ScheduleRunFrequency: recoveryservices.ScheduleRunTypeDaily,
					ScheduleRunTimes: []string{
						"2023-07-18T09:30:00.000Z",
					},
				},
				TimeZone: pulumi.String("UTC"),
				VaultRetentionPolicy: &recoveryservices.VaultRetentionPolicyArgs{
					SnapshotRetentionInDays: pulumi.Int(5),
					VaultRetention: recoveryservices.LongTermRetentionPolicy{
						DailySchedule: recoveryservices.DailyRetentionSchedule{
							RetentionDuration: recoveryservices.RetentionDuration{
								Count:        30,
								DurationType: recoveryservices.RetentionDurationTypeDays,
							},
							RetentionTimes: []string{
								"2023-07-18T09:30: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{
								"2023-07-18T09:30:00.000Z",
							},
						},
						RetentionPolicyType: "LongTermRetentionPolicy",
						WeeklySchedule: recoveryservices.WeeklyRetentionSchedule{
							DaysOfTheWeek: []recoveryservices.DayOfWeek{
								recoveryservices.DayOfWeekSunday,
							},
							RetentionDuration: recoveryservices.RetentionDuration{
								Count:        12,
								DurationType: recoveryservices.RetentionDurationTypeWeeks,
							},
							RetentionTimes: []string{
								"2023-07-18T09:30: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{
								"2023-07-18T09:30:00.000Z",
							},
						},
					},
				},
				WorkLoadType: pulumi.String(recoveryservices.WorkloadTypeAzureFileShare),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("swaggertestvault"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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("newPolicyV2")
            .properties(AzureFileShareProtectionPolicyArgs.builder()
                .backupManagementType("AzureStorage")
                .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                    .schedulePolicyType("SimpleSchedulePolicy")
                    .scheduleRunFrequency("Daily")
                    .scheduleRunTimes("2023-07-18T09:30:00.000Z")
                    .build())
                .timeZone("UTC")
                .vaultRetentionPolicy(VaultRetentionPolicyArgs.builder()
                    .snapshotRetentionInDays(5)
                    .vaultRetention(LongTermRetentionPolicyArgs.builder()
                        .dailySchedule(DailyRetentionScheduleArgs.builder()
                            .retentionDuration(RetentionDurationArgs.builder()
                                .count(30)
                                .durationType("Days")
                                .build())
                            .retentionTimes("2023-07-18T09:30: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("2023-07-18T09:30:00.000Z")
                            .build())
                        .retentionPolicyType("LongTermRetentionPolicy")
                        .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                            .daysOfTheWeek("Sunday")
                            .retentionDuration(RetentionDurationArgs.builder()
                                .count(12)
                                .durationType("Weeks")
                                .build())
                            .retentionTimes("2023-07-18T09:30: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("2023-07-18T09:30:00.000Z")
                            .build())
                        .build())
                    .build())
                .workLoadType("AzureFileShare")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("swaggertestvault")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const protectionPolicy = new azure_native.recoveryservices.ProtectionPolicy("protectionPolicy", {
    policyName: "newPolicyV2",
    properties: {
        backupManagementType: "AzureStorage",
        schedulePolicy: {
            schedulePolicyType: "SimpleSchedulePolicy",
            scheduleRunFrequency: azure_native.recoveryservices.ScheduleRunType.Daily,
            scheduleRunTimes: ["2023-07-18T09:30:00.000Z"],
        },
        timeZone: "UTC",
        vaultRetentionPolicy: {
            snapshotRetentionInDays: 5,
            vaultRetention: {
                dailySchedule: {
                    retentionDuration: {
                        count: 30,
                        durationType: azure_native.recoveryservices.RetentionDurationType.Days,
                    },
                    retentionTimes: ["2023-07-18T09:30: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: ["2023-07-18T09:30:00.000Z"],
                },
                retentionPolicyType: "LongTermRetentionPolicy",
                weeklySchedule: {
                    daysOfTheWeek: [azure_native.recoveryservices.DayOfWeek.Sunday],
                    retentionDuration: {
                        count: 12,
                        durationType: azure_native.recoveryservices.RetentionDurationType.Weeks,
                    },
                    retentionTimes: ["2023-07-18T09:30: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: ["2023-07-18T09:30:00.000Z"],
                },
            },
        },
        workLoadType: azure_native.recoveryservices.WorkloadType.AzureFileShare,
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "swaggertestvault",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

protection_policy = azure_native.recoveryservices.ProtectionPolicy("protectionPolicy",
    policy_name="newPolicyV2",
    properties={
        "backup_management_type": "AzureStorage",
        "schedule_policy": {
            "schedule_policy_type": "SimpleSchedulePolicy",
            "schedule_run_frequency": azure_native.recoveryservices.ScheduleRunType.DAILY,
            "schedule_run_times": ["2023-07-18T09:30:00.000Z"],
        },
        "time_zone": "UTC",
        "vault_retention_policy": {
            "snapshot_retention_in_days": 5,
            "vault_retention": {
                "daily_schedule": {
                    "retention_duration": {
                        "count": 30,
                        "duration_type": azure_native.recoveryservices.RetentionDurationType.DAYS,
                    },
                    "retention_times": ["2023-07-18T09:30: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": ["2023-07-18T09:30: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": ["2023-07-18T09:30: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": ["2023-07-18T09:30:00.000Z"],
                },
            },
        },
        "work_load_type": azure_native.recoveryservices.WorkloadType.AZURE_FILE_SHARE,
    },
    resource_group_name="SwaggerTestRg",
    vault_name="swaggertestvault")
Copy
resources:
  protectionPolicy:
    type: azure-native:recoveryservices:ProtectionPolicy
    properties:
      policyName: newPolicyV2
      properties:
        backupManagementType: AzureStorage
        schedulePolicy:
          schedulePolicyType: SimpleSchedulePolicy
          scheduleRunFrequency: Daily
          scheduleRunTimes:
            - 2023-07-18T09:30:00.000Z
        timeZone: UTC
        vaultRetentionPolicy:
          snapshotRetentionInDays: 5
          vaultRetention:
            dailySchedule:
              retentionDuration:
                count: 30
                durationType: Days
              retentionTimes:
                - 2023-07-18T09:30:00.000Z
            monthlySchedule:
              retentionDuration:
                count: 60
                durationType: Months
              retentionScheduleFormatType: Weekly
              retentionScheduleWeekly:
                daysOfTheWeek:
                  - Sunday
                weeksOfTheMonth:
                  - First
              retentionTimes:
                - 2023-07-18T09:30:00.000Z
            retentionPolicyType: LongTermRetentionPolicy
            weeklySchedule:
              daysOfTheWeek:
                - Sunday
              retentionDuration:
                count: 12
                durationType: Weeks
              retentionTimes:
                - 2023-07-18T09:30:00.000Z
            yearlySchedule:
              monthsOfYear:
                - January
              retentionDuration:
                count: 10
                durationType: Years
              retentionScheduleFormatType: Weekly
              retentionScheduleWeekly:
                daysOfTheWeek:
                  - Sunday
                weeksOfTheMonth:
                  - First
              retentionTimes:
                - 2023-07-18T09:30:00.000Z
        workLoadType: AzureFileShare
      resourceGroupName: SwaggerTestRg
      vaultName: swaggertestvault
Copy

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",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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
	})
}
Copy
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());

    }
}
Copy
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",
});
Copy
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")
Copy
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
Copy

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,
            },
            SnapshotConsistencyType = AzureNative.RecoveryServices.IaasVMSnapshotConsistencyType.OnlyCrashConsistent,
            TimeZone = "India Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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,
				},
				SnapshotConsistencyType: pulumi.String(recoveryservices.IaasVMSnapshotConsistencyTypeOnlyCrashConsistent),
				TimeZone:                pulumi.String("India Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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(AzureIaaSVMProtectionPolicyArgs.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())
                .snapshotConsistencyType("OnlyCrashConsistent")
                .timeZone("India Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());

    }
}
Copy
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,
        },
        snapshotConsistencyType: azure_native.recoveryservices.IaasVMSnapshotConsistencyType.OnlyCrashConsistent,
        timeZone: "India Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
Copy
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,
        },
        "snapshot_consistency_type": azure_native.recoveryservices.IaasVMSnapshotConsistencyType.ONLY_CRASH_CONSISTENT,
        "time_zone": "India Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
Copy
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
        snapshotConsistencyType: OnlyCrashConsistent
        timeZone: India Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Copy

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,
            },
            SnapshotConsistencyType = AzureNative.RecoveryServices.IaasVMSnapshotConsistencyType.OnlyCrashConsistent,
            TimeZone = "India Standard Time",
        },
        ResourceGroupName = "SwaggerTestRg",
        VaultName = "NetSDKTestRsVault",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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,
				},
				SnapshotConsistencyType: pulumi.String(recoveryservices.IaasVMSnapshotConsistencyTypeOnlyCrashConsistent),
				TimeZone:                pulumi.String("India Standard Time"),
			},
			ResourceGroupName: pulumi.String("SwaggerTestRg"),
			VaultName:         pulumi.String("NetSDKTestRsVault"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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(AzureIaaSVMProtectionPolicyArgs.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())
                .snapshotConsistencyType("OnlyCrashConsistent")
                .timeZone("India Standard Time")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());

    }
}
Copy
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,
        },
        snapshotConsistencyType: azure_native.recoveryservices.IaasVMSnapshotConsistencyType.OnlyCrashConsistent,
        timeZone: "India Standard Time",
    },
    resourceGroupName: "SwaggerTestRg",
    vaultName: "NetSDKTestRsVault",
});
Copy
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,
        },
        "snapshot_consistency_type": azure_native.recoveryservices.IaasVMSnapshotConsistencyType.ONLY_CRASH_CONSISTENT,
        "time_zone": "India Standard Time",
    },
    resource_group_name="SwaggerTestRg",
    vault_name="NetSDKTestRsVault")
Copy
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
        snapshotConsistencyType: OnlyCrashConsistent
        timeZone: India Standard Time
      resourceGroupName: SwaggerTestRg
      vaultName: NetSDKTestRsVault
Copy

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",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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
	})
}
Copy
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(AzureIaaSVMProtectionPolicyArgs.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());

    }
}
Copy
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",
});
Copy
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")
Copy
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
Copy

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",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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
	})
}
Copy
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(AzureVmWorkloadProtectionPolicyArgs.builder()
                .backupManagementType("AzureWorkload")
                .settings(SettingsArgs.builder()
                    .issqlcompression(false)
                    .timeZone("Pacific Standard Time")
                    .build())
                .subProtectionPolicy(                
                    SubProtectionPolicyArgs.builder()
                        .policyType("Full")
                        .retentionPolicy(LongTermRetentionPolicyArgs.builder()
                            .monthlySchedule(MonthlyRetentionScheduleArgs.builder()
                                .retentionDuration(RetentionDurationArgs.builder()
                                    .count(1)
                                    .durationType("Months")
                                    .build())
                                .retentionScheduleFormatType("Weekly")
                                .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                                    .daysOfTheWeek("Sunday")
                                    .weeksOfTheMonth("Second")
                                    .build())
                                .retentionTimes("2018-01-24T10:00:00Z")
                                .build())
                            .retentionPolicyType("LongTermRetentionPolicy")
                            .weeklySchedule(WeeklyRetentionScheduleArgs.builder()
                                .daysOfTheWeek(                                
                                    "Sunday",
                                    "Tuesday")
                                .retentionDuration(RetentionDurationArgs.builder()
                                    .count(2)
                                    .durationType("Weeks")
                                    .build())
                                .retentionTimes("2018-01-24T10:00:00Z")
                                .build())
                            .yearlySchedule(YearlyRetentionScheduleArgs.builder()
                                .monthsOfYear(                                
                                    "January",
                                    "June",
                                    "December")
                                .retentionDuration(RetentionDurationArgs.builder()
                                    .count(1)
                                    .durationType("Years")
                                    .build())
                                .retentionScheduleFormatType("Weekly")
                                .retentionScheduleWeekly(WeeklyRetentionFormatArgs.builder()
                                    .daysOfTheWeek("Sunday")
                                    .weeksOfTheMonth("Last")
                                    .build())
                                .retentionTimes("2018-01-24T10:00:00Z")
                                .build())
                            .build())
                        .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                            .schedulePolicyType("SimpleSchedulePolicy")
                            .scheduleRunDays(                            
                                "Sunday",
                                "Tuesday")
                            .scheduleRunFrequency("Weekly")
                            .scheduleRunTimes("2018-01-24T10:00:00Z")
                            .build())
                        .build(),
                    SubProtectionPolicyArgs.builder()
                        .policyType("Differential")
                        .retentionPolicy(SimpleRetentionPolicyArgs.builder()
                            .retentionDuration(RetentionDurationArgs.builder()
                                .count(8)
                                .durationType("Days")
                                .build())
                            .retentionPolicyType("SimpleRetentionPolicy")
                            .build())
                        .schedulePolicy(SimpleSchedulePolicyArgs.builder()
                            .schedulePolicyType("SimpleSchedulePolicy")
                            .scheduleRunDays("Friday")
                            .scheduleRunFrequency("Weekly")
                            .scheduleRunTimes("2018-01-24T10:00:00Z")
                            .build())
                        .build(),
                    SubProtectionPolicyArgs.builder()
                        .policyType("Log")
                        .retentionPolicy(SimpleRetentionPolicyArgs.builder()
                            .retentionDuration(RetentionDurationArgs.builder()
                                .count(7)
                                .durationType("Days")
                                .build())
                            .retentionPolicyType("SimpleRetentionPolicy")
                            .build())
                        .schedulePolicy(LogSchedulePolicyArgs.builder()
                            .scheduleFrequencyInMins(60)
                            .schedulePolicyType("LogSchedulePolicy")
                            .build())
                        .build())
                .workLoadType("SQLDataBase")
                .build())
            .resourceGroupName("SwaggerTestRg")
            .vaultName("NetSDKTestRsVault")
            .build());

    }
}
Copy
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",
});
Copy
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")
Copy
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
Copy

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",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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
	})
}
Copy
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());

    }
}
Copy
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",
});
Copy
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")
Copy
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
Copy

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",
    });

});
Copy
package main

import (
	recoveryservices "github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v3"
	"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
	})
}
Copy
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(AzureIaaSVMProtectionPolicyArgs.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());

    }
}
Copy
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",
});
Copy
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")
Copy
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
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. ProtectionPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ProtectionPolicyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ProtectionPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
        VaultRetentionPolicy = new AzureNative.RecoveryServices.Inputs.VaultRetentionPolicyArgs
        {
            SnapshotRetentionInDays = 0,
            VaultRetention = 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",
                    },
                },
            },
        },
        WorkLoadType = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
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"),
		VaultRetentionPolicy: &recoveryservices.VaultRetentionPolicyArgs{
			SnapshotRetentionInDays: pulumi.Int(0),
			VaultRetention: 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",
					},
				},
			},
		},
		WorkLoadType: pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
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")
        .vaultRetentionPolicy(VaultRetentionPolicyArgs.builder()
            .snapshotRetentionInDays(0)
            .vaultRetention(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())
            .build())
        .workLoadType("string")
        .build())
    .tags(Map.of("string", "string"))
    .build());
Copy
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",
        "vault_retention_policy": {
            "snapshot_retention_in_days": 0,
            "vault_retention": {
                "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"],
                },
            },
        },
        "work_load_type": "string",
    },
    tags={
        "string": "string",
    })
Copy
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",
        vaultRetentionPolicy: {
            snapshotRetentionInDays: 0,
            vaultRetention: {
                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"],
                },
            },
        },
        workLoadType: "string",
    },
    tags: {
        string: "string",
    },
});
Copy
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
        vaultRetentionPolicy:
            snapshotRetentionInDays: 0
            vaultRetention:
                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
        workLoadType: string
    resourceGroupName: string
    tags:
        string: string
    vaultName: string
Copy

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:

ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group where the recovery services vault is present.
VaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the recovery services vault.
ETag string
Optional ETag.
Location string
Resource location.
PolicyName Changes to this property will trigger replacement. string
Backup policy to be created.
Properties Pulumi.AzureNative.RecoveryServices.Inputs.AzureFileShareProtectionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.AzureIaaSVMProtectionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.AzureSqlProtectionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.AzureVmWorkloadProtectionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.GenericProtectionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.MabProtectionPolicy
ProtectionPolicyResource properties
Tags Dictionary<string, string>
Resource tags.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group where the recovery services vault is present.
VaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the recovery services vault.
ETag string
Optional ETag.
Location string
Resource location.
PolicyName Changes to this property will trigger replacement. string
Backup policy to be created.
Properties AzureFileShareProtectionPolicyArgs | AzureIaaSVMProtectionPolicyArgs | AzureSqlProtectionPolicyArgs | AzureVmWorkloadProtectionPolicyArgs | GenericProtectionPolicyArgs | MabProtectionPolicyArgs
ProtectionPolicyResource properties
Tags map[string]string
Resource tags.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group where the recovery services vault is present.
vaultName
This property is required.
Changes to this property will trigger replacement.
String
The name of the recovery services vault.
eTag String
Optional ETag.
location String
Resource location.
policyName Changes to this property will trigger replacement. String
Backup policy to be created.
properties AzureFileShareProtectionPolicy | AzureIaaSVMProtectionPolicy | AzureSqlProtectionPolicy | AzureVmWorkloadProtectionPolicy | GenericProtectionPolicy | MabProtectionPolicy
ProtectionPolicyResource properties
tags Map<String,String>
Resource tags.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group where the recovery services vault is present.
vaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the recovery services vault.
eTag string
Optional ETag.
location string
Resource location.
policyName Changes to this property will trigger replacement. string
Backup policy to be created.
properties AzureFileShareProtectionPolicy | AzureIaaSVMProtectionPolicy | AzureSqlProtectionPolicy | AzureVmWorkloadProtectionPolicy | GenericProtectionPolicy | MabProtectionPolicy
ProtectionPolicyResource properties
tags {[key: string]: string}
Resource tags.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group where the recovery services vault is present.
vault_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the recovery services vault.
e_tag str
Optional ETag.
location str
Resource location.
policy_name Changes to this property will trigger replacement. str
Backup policy to be created.
properties AzureFileShareProtectionPolicyArgs | AzureIaaSVMProtectionPolicyArgs | AzureSqlProtectionPolicyArgs | AzureVmWorkloadProtectionPolicyArgs | GenericProtectionPolicyArgs | MabProtectionPolicyArgs
ProtectionPolicyResource properties
tags Mapping[str, str]
Resource tags.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group where the recovery services vault is present.
vaultName
This property is required.
Changes to this property will trigger replacement.
String
The name of the recovery services vault.
eTag String
Optional ETag.
location String
Resource location.
policyName Changes to this property will trigger replacement. String
Backup policy to be created.
properties Property Map | Property Map | Property Map | Property Map | Property Map | Property Map
ProtectionPolicyResource properties
tags Map<String>
Resource tags.

Outputs

All input properties are implicitly available as output properties. Additionally, the ProtectionPolicy resource produces the following output properties:

AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name associated with the resource.
Type string
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...
AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name associated with the resource.
Type string
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name associated with the resource.
type String
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...
azureApiVersion string
The Azure API version of the resource.
id string
The provider-assigned unique ID for this managed resource.
name string
Resource name associated with the resource.
type string
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...
azure_api_version str
The Azure API version of the resource.
id str
The provider-assigned unique ID for this managed resource.
name str
Resource name associated with the resource.
type str
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name associated with the resource.
type String
Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...

Supporting Types

AzureFileShareProtectionPolicy
, AzureFileShareProtectionPolicyArgs

ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
RetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
TimeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
VaultRetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.VaultRetentionPolicy
Retention policy with the details on hardened backup copy retention ranges.
WorkLoadType string | Pulumi.AzureNative.RecoveryServices.WorkloadType
Type of workload for the backup management
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
TimeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
VaultRetentionPolicy VaultRetentionPolicy
Retention policy with the details on hardened backup copy retention ranges.
WorkLoadType string | WorkloadType
Type of workload for the backup management
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
timeZone String
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vaultRetentionPolicy VaultRetentionPolicy
Retention policy with the details on hardened backup copy retention ranges.
workLoadType String | WorkloadType
Type of workload for the backup management
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
timeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vaultRetentionPolicy VaultRetentionPolicy
Retention policy with the details on hardened backup copy retention ranges.
workLoadType string | WorkloadType
Type of workload for the backup management
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
time_zone str
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vault_retention_policy VaultRetentionPolicy
Retention policy with the details on hardened backup copy retention ranges.
work_load_type str | WorkloadType
Type of workload for the backup management
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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".
vaultRetentionPolicy Property Map
Retention policy with the details on hardened backup copy retention ranges.
workLoadType String | "Invalid" | "VM" | "FileFolder" | "AzureSqlDb" | "SQLDB" | "Exchange" | "Sharepoint" | "VMwareVM" | "SystemState" | "Client" | "GenericDataSource" | "SQLDataBase" | "AzureFileShare" | "SAPHanaDatabase" | "SAPAseDatabase" | "SAPHanaDBInstance"
Type of workload for the backup management

AzureFileShareProtectionPolicyResponse
, AzureFileShareProtectionPolicyResponseArgs

ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
RetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
TimeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
VaultRetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.VaultRetentionPolicyResponse
Retention policy with the details on hardened backup copy retention ranges.
WorkLoadType string
Type of workload for the backup management
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
TimeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
VaultRetentionPolicy VaultRetentionPolicyResponse
Retention policy with the details on hardened backup copy retention ranges.
WorkLoadType string
Type of workload for the backup management
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
timeZone String
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vaultRetentionPolicy VaultRetentionPolicyResponse
Retention policy with the details on hardened backup copy retention ranges.
workLoadType String
Type of workload for the backup management
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
timeZone string
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vaultRetentionPolicy VaultRetentionPolicyResponse
Retention policy with the details on hardened backup copy retention ranges.
workLoadType string
Type of workload for the backup management
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
time_zone str
TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".
vault_retention_policy VaultRetentionPolicyResponse
Retention policy with the details on hardened backup copy retention ranges.
work_load_type str
Type of workload for the backup management
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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".
vaultRetentionPolicy Property Map
Retention policy with the details on hardened backup copy retention ranges.
workLoadType String
Type of workload for the backup management

AzureIaaSVMProtectionPolicy
, AzureIaaSVMProtectionPolicyArgs

InstantRPDetails Pulumi.AzureNative.RecoveryServices.Inputs.InstantRPAdditionalDetails
InstantRpRetentionRangeInDays int
Instant RP retention policy range in days
PolicyType string | Pulumi.AzureNative.RecoveryServices.IAASVMPolicyType
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
RetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
SnapshotConsistencyType string | Pulumi.AzureNative.RecoveryServices.IaasVMSnapshotConsistencyType
TieringPolicy Dictionary<string, Pulumi.AzureNative.RecoveryServices.Inputs.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 InstantRPAdditionalDetails
InstantRpRetentionRangeInDays int
Instant RP retention policy range in days
PolicyType string | IAASVMPolicyType
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
SnapshotConsistencyType string | IaasVMSnapshotConsistencyType
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 InstantRPAdditionalDetails
instantRpRetentionRangeInDays Integer
Instant RP retention policy range in days
policyType String | IAASVMPolicyType
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshotConsistencyType String | IaasVMSnapshotConsistencyType
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 InstantRPAdditionalDetails
instantRpRetentionRangeInDays number
Instant RP retention policy range in days
policyType string | IAASVMPolicyType
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshotConsistencyType string | IaasVMSnapshotConsistencyType
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_details InstantRPAdditionalDetails
instant_rp_retention_range_in_days int
Instant RP retention policy range in days
policy_type str | IAASVMPolicyType
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshot_consistency_type str | IaasVMSnapshotConsistencyType
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
instantRpRetentionRangeInDays Number
Instant RP retention policy range in days
policyType String | "Invalid" | "V1" | "V2"
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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.
snapshotConsistencyType String | "OnlyCrashConsistent"
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.AzureNative.RecoveryServices.Inputs.InstantRPAdditionalDetailsResponse
InstantRpRetentionRangeInDays int
Instant RP retention policy range in days
PolicyType string
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
RetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
SnapshotConsistencyType string
TieringPolicy Dictionary<string, Pulumi.AzureNative.RecoveryServices.Inputs.TieringPolicyResponse>
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 InstantRPAdditionalDetailsResponse
InstantRpRetentionRangeInDays int
Instant RP retention policy range in days
PolicyType string
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
SnapshotConsistencyType string
TieringPolicy map[string]TieringPolicyResponse
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 InstantRPAdditionalDetailsResponse
instantRpRetentionRangeInDays Integer
Instant RP retention policy range in days
policyType String
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshotConsistencyType String
tieringPolicy Map<String,TieringPolicyResponse>
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 InstantRPAdditionalDetailsResponse
instantRpRetentionRangeInDays number
Instant RP retention policy range in days
policyType string
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshotConsistencyType string
tieringPolicy {[key: string]: TieringPolicyResponse}
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_details InstantRPAdditionalDetailsResponse
instant_rp_retention_range_in_days int
Instant RP retention policy range in days
policy_type str
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshot_consistency_type str
tiering_policy Mapping[str, TieringPolicyResponse]
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
instantRpRetentionRangeInDays Number
Instant RP retention policy range in days
policyType String
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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.
snapshotConsistencyType String
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

ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy Property Map | Property Map
Retention policy details.

AzureSqlProtectionPolicyResponse
, AzureSqlProtectionPolicyResponseArgs

ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy details.
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy details.
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy details.
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy details.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy Property Map | Property Map
Retention policy details.

AzureVmWorkloadProtectionPolicy
, AzureVmWorkloadProtectionPolicyArgs

MakePolicyConsistent bool
Fix the policy inconsistency
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
Settings Pulumi.AzureNative.RecoveryServices.Inputs.Settings
Common settings for the backup management
SubProtectionPolicy List<Pulumi.AzureNative.RecoveryServices.Inputs.SubProtectionPolicy>
List of sub-protection policies which includes schedule and retention
WorkLoadType string | Pulumi.AzureNative.RecoveryServices.WorkloadType
Type of workload for the backup management
MakePolicyConsistent bool
Fix the policy inconsistency
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
Settings Settings
Common settings for the backup management
SubProtectionPolicy []SubProtectionPolicy
List of sub-protection policies which includes schedule and retention
WorkLoadType string | WorkloadType
Type of workload for the backup management
makePolicyConsistent Boolean
Fix the policy inconsistency
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
settings Settings
Common settings for the backup management
subProtectionPolicy List<SubProtectionPolicy>
List of sub-protection policies which includes schedule and retention
workLoadType String | WorkloadType
Type of workload for the backup management
makePolicyConsistent boolean
Fix the policy inconsistency
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
settings Settings
Common settings for the backup management
subProtectionPolicy SubProtectionPolicy[]
List of sub-protection policies which includes schedule and retention
workLoadType string | WorkloadType
Type of workload for the backup management
make_policy_consistent bool
Fix the policy inconsistency
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
settings Settings
Common settings for the backup management
sub_protection_policy Sequence[SubProtectionPolicy]
List of sub-protection policies which includes schedule and retention
work_load_type str | WorkloadType
Type of workload for the backup management
makePolicyConsistent Boolean
Fix the policy inconsistency
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
settings Property Map
Common settings for the backup management
subProtectionPolicy List<Property Map>
List of sub-protection policies which includes schedule and retention
workLoadType String | "Invalid" | "VM" | "FileFolder" | "AzureSqlDb" | "SQLDB" | "Exchange" | "Sharepoint" | "VMwareVM" | "SystemState" | "Client" | "GenericDataSource" | "SQLDataBase" | "AzureFileShare" | "SAPHanaDatabase" | "SAPAseDatabase" | "SAPHanaDBInstance"
Type of workload for the backup management

AzureVmWorkloadProtectionPolicyResponse
, AzureVmWorkloadProtectionPolicyResponseArgs

MakePolicyConsistent bool
Fix the policy inconsistency
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
Settings Pulumi.AzureNative.RecoveryServices.Inputs.SettingsResponse
Common settings for the backup management
SubProtectionPolicy List<Pulumi.AzureNative.RecoveryServices.Inputs.SubProtectionPolicyResponse>
List of sub-protection policies which includes schedule and retention
WorkLoadType string
Type of workload for the backup management
MakePolicyConsistent bool
Fix the policy inconsistency
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
Settings SettingsResponse
Common settings for the backup management
SubProtectionPolicy []SubProtectionPolicyResponse
List of sub-protection policies which includes schedule and retention
WorkLoadType string
Type of workload for the backup management
makePolicyConsistent Boolean
Fix the policy inconsistency
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
settings SettingsResponse
Common settings for the backup management
subProtectionPolicy List<SubProtectionPolicyResponse>
List of sub-protection policies which includes schedule and retention
workLoadType String
Type of workload for the backup management
makePolicyConsistent boolean
Fix the policy inconsistency
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
settings SettingsResponse
Common settings for the backup management
subProtectionPolicy SubProtectionPolicyResponse[]
List of sub-protection policies which includes schedule and retention
workLoadType string
Type of workload for the backup management
make_policy_consistent bool
Fix the policy inconsistency
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
settings SettingsResponse
Common settings for the backup management
sub_protection_policy Sequence[SubProtectionPolicyResponse]
List of sub-protection policies which includes schedule and retention
work_load_type str
Type of workload for the backup management
makePolicyConsistent Boolean
Fix the policy inconsistency
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
settings Property Map
Common settings for the backup management
subProtectionPolicy List<Property Map>
List of sub-protection policies which includes schedule and retention
workLoadType String
Type of workload for the backup management

DailyRetentionFormat
, DailyRetentionFormatArgs

DaysOfTheMonth []Day
List of days of the month.
daysOfTheMonth List<Day>
List of days of the month.
daysOfTheMonth Day[]
List of days of the month.
days_of_the_month Sequence[Day]
List of days of the month.
daysOfTheMonth List<Property Map>
List of days of the month.

DailyRetentionFormatResponse
, DailyRetentionFormatResponseArgs

DaysOfTheMonth []DayResponse
List of days of the month.
daysOfTheMonth List<DayResponse>
List of days of the month.
daysOfTheMonth DayResponse[]
List of days of the month.
days_of_the_month Sequence[DayResponse]
List of days of the month.
daysOfTheMonth List<Property Map>
List of days of the month.

DailyRetentionSchedule
, DailyRetentionScheduleArgs

RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.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.
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.AzureNative.RecoveryServices.Inputs.RetentionDurationResponse
Retention duration of retention Policy.
RetentionTimes List<string>
Retention times of retention policy.
RetentionDuration RetentionDurationResponse
Retention duration of retention Policy.
RetentionTimes []string
Retention times of retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionTimes List<String>
Retention times of retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionTimes string[]
Retention times of retention policy.
retention_duration RetentionDurationResponse
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

ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleRunTimes []string
List of times of day this schedule has to be run.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleRunTimes string[]
List of times of day this schedule has to be run.
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.

DailyScheduleResponse
, DailyScheduleResponseArgs

ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleRunTimes []string
List of times of day this schedule has to be run.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleRunTimes string[]
List of times of day this schedule has to be run.
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.

Day
, DayArgs

Date int
Date of the month
IsLast bool
Whether Date is last date of month
Date int
Date of the month
IsLast bool
Whether Date is last date of month
date Integer
Date of the month
isLast Boolean
Whether Date is last date of month
date number
Date of the month
isLast boolean
Whether Date is last date of month
date int
Date of the month
is_last bool
Whether Date is last date of month
date Number
Date of the month
isLast Boolean
Whether Date is last date of month

DayOfWeek
, DayOfWeekArgs

Sunday
Sunday
Monday
Monday
Tuesday
Tuesday
Wednesday
Wednesday
Thursday
Thursday
Friday
Friday
Saturday
Saturday
DayOfWeekSunday
Sunday
DayOfWeekMonday
Monday
DayOfWeekTuesday
Tuesday
DayOfWeekWednesday
Wednesday
DayOfWeekThursday
Thursday
DayOfWeekFriday
Friday
DayOfWeekSaturday
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

Date int
Date of the month
IsLast bool
Whether Date is last date of month
Date int
Date of the month
IsLast bool
Whether Date is last date of month
date Integer
Date of the month
isLast Boolean
Whether Date is last date of month
date number
Date of the month
isLast boolean
Whether Date is last date of month
date int
Date of the month
is_last bool
Whether Date is last date of month
date Number
Date of the month
isLast Boolean
Whether Date is last date of month

GenericProtectionPolicy
, GenericProtectionPolicyArgs

FabricName string
Name of this policy's fabric.
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
SubProtectionPolicy List<Pulumi.AzureNative.RecoveryServices.Inputs.SubProtectionPolicy>
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.
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
SubProtectionPolicy []SubProtectionPolicy
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.
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
subProtectionPolicy List<SubProtectionPolicy>
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.
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
subProtectionPolicy SubProtectionPolicy[]
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_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
sub_protection_policy Sequence[SubProtectionPolicy]
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.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
subProtectionPolicy List<Property Map>
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.
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests List<string>
ResourceGuard Operation Requests
SubProtectionPolicy List<Pulumi.AzureNative.RecoveryServices.Inputs.SubProtectionPolicyResponse>
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.
ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
SubProtectionPolicy []SubProtectionPolicyResponse
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.
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
subProtectionPolicy List<SubProtectionPolicyResponse>
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.
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
subProtectionPolicy SubProtectionPolicyResponse[]
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_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
sub_protection_policy Sequence[SubProtectionPolicyResponse]
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.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
subProtectionPolicy List<Property Map>
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
ScheduleWindowDuration int
To specify duration of the backup window
ScheduleWindowStartTime string
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
ScheduleWindowDuration int
To specify duration of the backup window
ScheduleWindowStartTime string
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
scheduleWindowDuration Integer
To specify duration of the backup window
scheduleWindowStartTime String
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
scheduleWindowDuration number
To specify duration of the backup window
scheduleWindowStartTime string
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_duration int
To specify duration of the backup window
schedule_window_start_time str
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
scheduleWindowDuration Number
To specify duration of the backup window
scheduleWindowStartTime String
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
ScheduleWindowDuration int
To specify duration of the backup window
ScheduleWindowStartTime string
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
ScheduleWindowDuration int
To specify duration of the backup window
ScheduleWindowStartTime string
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
scheduleWindowDuration Integer
To specify duration of the backup window
scheduleWindowStartTime String
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
scheduleWindowDuration number
To specify duration of the backup window
scheduleWindowStartTime string
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_duration int
To specify duration of the backup window
schedule_window_start_time str
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
scheduleWindowDuration Number
To specify duration of the backup window
scheduleWindowStartTime String
To specify start time of the backup window

IAASVMPolicyType
, IAASVMPolicyTypeArgs

Invalid
Invalid
V1
V1
V2
V2
IAASVMPolicyTypeInvalid
Invalid
IAASVMPolicyTypeV1
V1
IAASVMPolicyTypeV2
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

IaasVMSnapshotConsistencyType
, IaasVMSnapshotConsistencyTypeArgs

OnlyCrashConsistent
OnlyCrashConsistent
IaasVMSnapshotConsistencyTypeOnlyCrashConsistent
OnlyCrashConsistent
OnlyCrashConsistent
OnlyCrashConsistent
OnlyCrashConsistent
OnlyCrashConsistent
ONLY_CRASH_CONSISTENT
OnlyCrashConsistent
"OnlyCrashConsistent"
OnlyCrashConsistent

InstantRPAdditionalDetails
, InstantRPAdditionalDetailsArgs

InstantRPAdditionalDetailsResponse
, InstantRPAdditionalDetailsResponseArgs

LogSchedulePolicy
, LogSchedulePolicyArgs

ScheduleFrequencyInMins int
Frequency of the log schedule operation of this policy in minutes.
ScheduleFrequencyInMins int
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins Integer
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins number
Frequency of the log schedule operation of this policy in minutes.
schedule_frequency_in_mins int
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins Number
Frequency of the log schedule operation of this policy in minutes.

LogSchedulePolicyResponse
, LogSchedulePolicyResponseArgs

ScheduleFrequencyInMins int
Frequency of the log schedule operation of this policy in minutes.
ScheduleFrequencyInMins int
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins Integer
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins number
Frequency of the log schedule operation of this policy in minutes.
schedule_frequency_in_mins int
Frequency of the log schedule operation of this policy in minutes.
scheduleFrequencyInMins Number
Frequency of the log schedule operation of this policy in minutes.

LongTermRetentionPolicy
, LongTermRetentionPolicyArgs

DailySchedule DailyRetentionSchedule
Daily retention schedule of the protection policy.
MonthlySchedule MonthlyRetentionSchedule
Monthly retention schedule of the protection policy.
WeeklySchedule WeeklyRetentionSchedule
Weekly retention schedule of the protection policy.
YearlySchedule YearlyRetentionSchedule
Yearly retention schedule of the protection policy.
dailySchedule DailyRetentionSchedule
Daily retention schedule of the protection policy.
monthlySchedule MonthlyRetentionSchedule
Monthly retention schedule of the protection policy.
weeklySchedule WeeklyRetentionSchedule
Weekly retention schedule of the protection policy.
yearlySchedule YearlyRetentionSchedule
Yearly retention schedule of the protection policy.
dailySchedule DailyRetentionSchedule
Daily retention schedule of the protection policy.
monthlySchedule MonthlyRetentionSchedule
Monthly retention schedule of the protection policy.
weeklySchedule WeeklyRetentionSchedule
Weekly retention schedule of the protection policy.
yearlySchedule YearlyRetentionSchedule
Yearly retention schedule of the protection policy.
daily_schedule DailyRetentionSchedule
Daily retention schedule of the protection policy.
monthly_schedule MonthlyRetentionSchedule
Monthly retention schedule of the protection policy.
weekly_schedule WeeklyRetentionSchedule
Weekly retention schedule of the protection policy.
yearly_schedule YearlyRetentionSchedule
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 DailyRetentionScheduleResponse
Daily retention schedule of the protection policy.
MonthlySchedule MonthlyRetentionScheduleResponse
Monthly retention schedule of the protection policy.
WeeklySchedule WeeklyRetentionScheduleResponse
Weekly retention schedule of the protection policy.
YearlySchedule YearlyRetentionScheduleResponse
Yearly retention schedule of the protection policy.
dailySchedule DailyRetentionScheduleResponse
Daily retention schedule of the protection policy.
monthlySchedule MonthlyRetentionScheduleResponse
Monthly retention schedule of the protection policy.
weeklySchedule WeeklyRetentionScheduleResponse
Weekly retention schedule of the protection policy.
yearlySchedule YearlyRetentionScheduleResponse
Yearly retention schedule of the protection policy.
dailySchedule DailyRetentionScheduleResponse
Daily retention schedule of the protection policy.
monthlySchedule MonthlyRetentionScheduleResponse
Monthly retention schedule of the protection policy.
weeklySchedule WeeklyRetentionScheduleResponse
Weekly retention schedule of the protection policy.
yearlySchedule YearlyRetentionScheduleResponse
Yearly retention schedule of the protection policy.
daily_schedule DailyRetentionScheduleResponse
Daily retention schedule of the protection policy.
monthly_schedule MonthlyRetentionScheduleResponse
Monthly retention schedule of the protection policy.
weekly_schedule WeeklyRetentionScheduleResponse
Weekly retention schedule of the protection policy.
yearly_schedule YearlyRetentionScheduleResponse
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

ProtectedItemsCount int
Number of items associated with this policy.
ResourceGuardOperationRequests []string
ResourceGuard Operation Requests
RetentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
SchedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule of backup policy.
protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule of backup policy.
protectedItemsCount number
Number of items associated with this policy.
resourceGuardOperationRequests string[]
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule of backup policy.
protected_items_count int
Number of items associated with this policy.
resource_guard_operation_requests Sequence[str]
ResourceGuard Operation Requests
retention_policy LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy details.
schedule_policy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule of backup policy.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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

protectedItemsCount Integer
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
ResourceGuard Operation Requests
retentionPolicy LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy details.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule of backup policy.
protectedItemsCount Number
Number of items associated with this policy.
resourceGuardOperationRequests List<String>
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
MonthOfYearInvalid
Invalid
MonthOfYearJanuary
January
MonthOfYearFebruary
February
MonthOfYearMarch
March
MonthOfYearApril
April
MonthOfYearMay
May
MonthOfYearJune
June
MonthOfYearJuly
July
MonthOfYearAugust
August
MonthOfYearSeptember
September
MonthOfYearOctober
October
MonthOfYearNovember
November
MonthOfYearDecember
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.AzureNative.RecoveryServices.Inputs.RetentionDuration
Retention duration of retention Policy.
RetentionScheduleDaily Pulumi.AzureNative.RecoveryServices.Inputs.DailyRetentionFormat
Daily retention format for monthly retention policy.
RetentionScheduleFormatType string | Pulumi.AzureNative.RecoveryServices.RetentionScheduleFormat
Retention schedule format type for monthly retention policy.
RetentionScheduleWeekly Pulumi.AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormat
Weekly retention format for monthly retention policy.
RetentionTimes List<string>
Retention times of retention policy.
RetentionDuration RetentionDuration
Retention duration of retention Policy.
RetentionScheduleDaily DailyRetentionFormat
Daily retention format for monthly retention policy.
RetentionScheduleFormatType string | RetentionScheduleFormat
Retention schedule format type for monthly retention policy.
RetentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for monthly retention policy.
RetentionTimes []string
Retention times of retention policy.
retentionDuration RetentionDuration
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormat
Daily retention format for monthly retention policy.
retentionScheduleFormatType String | RetentionScheduleFormat
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for monthly retention policy.
retentionTimes List<String>
Retention times of retention policy.
retentionDuration RetentionDuration
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormat
Daily retention format for monthly retention policy.
retentionScheduleFormatType string | RetentionScheduleFormat
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for monthly retention policy.
retentionTimes string[]
Retention times of retention policy.
retention_duration RetentionDuration
Retention duration of retention Policy.
retention_schedule_daily DailyRetentionFormat
Daily retention format for monthly retention policy.
retention_schedule_format_type str | RetentionScheduleFormat
Retention schedule format type for monthly retention policy.
retention_schedule_weekly WeeklyRetentionFormat
Weekly retention format for monthly retention policy.
retention_times Sequence[str]
Retention times of retention policy.
retentionDuration Property Map
Retention duration of retention Policy.
retentionScheduleDaily Property Map
Daily retention format for monthly retention policy.
retentionScheduleFormatType String | "Invalid" | "Daily" | "Weekly"
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly Property Map
Weekly retention format for monthly retention policy.
retentionTimes List<String>
Retention times of retention policy.

MonthlyRetentionScheduleResponse
, MonthlyRetentionScheduleResponseArgs

RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.RetentionDurationResponse
Retention duration of retention Policy.
RetentionScheduleDaily Pulumi.AzureNative.RecoveryServices.Inputs.DailyRetentionFormatResponse
Daily retention format for monthly retention policy.
RetentionScheduleFormatType string
Retention schedule format type for monthly retention policy.
RetentionScheduleWeekly Pulumi.AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatResponse
Weekly retention format for monthly retention policy.
RetentionTimes List<string>
Retention times of retention policy.
RetentionDuration RetentionDurationResponse
Retention duration of retention Policy.
RetentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for monthly retention policy.
RetentionScheduleFormatType string
Retention schedule format type for monthly retention policy.
RetentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for monthly retention policy.
RetentionTimes []string
Retention times of retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for monthly retention policy.
retentionScheduleFormatType String
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for monthly retention policy.
retentionTimes List<String>
Retention times of retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for monthly retention policy.
retentionScheduleFormatType string
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for monthly retention policy.
retentionTimes string[]
Retention times of retention policy.
retention_duration RetentionDurationResponse
Retention duration of retention Policy.
retention_schedule_daily DailyRetentionFormatResponse
Daily retention format for monthly retention policy.
retention_schedule_format_type str
Retention schedule format type for monthly retention policy.
retention_schedule_weekly WeeklyRetentionFormatResponse
Weekly retention format for monthly retention policy.
retention_times Sequence[str]
Retention times of retention policy.
retentionDuration Property Map
Retention duration of retention Policy.
retentionScheduleDaily Property Map
Daily retention format for monthly retention policy.
retentionScheduleFormatType String
Retention schedule format type for monthly retention policy.
retentionScheduleWeekly Property Map
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
CopyOnlyFull
CopyOnlyFull
Incremental
Incremental
SnapshotFull
SnapshotFull
SnapshotCopyOnlyFull
SnapshotCopyOnlyFull
PolicyTypeInvalid
Invalid
PolicyTypeFull
Full
PolicyTypeDifferential
Differential
PolicyTypeLog
Log
PolicyTypeCopyOnlyFull
CopyOnlyFull
PolicyTypeIncremental
Incremental
PolicyTypeSnapshotFull
SnapshotFull
PolicyTypeSnapshotCopyOnlyFull
SnapshotCopyOnlyFull
Invalid
Invalid
Full
Full
Differential
Differential
Log
Log
CopyOnlyFull
CopyOnlyFull
Incremental
Incremental
SnapshotFull
SnapshotFull
SnapshotCopyOnlyFull
SnapshotCopyOnlyFull
Invalid
Invalid
Full
Full
Differential
Differential
Log
Log
CopyOnlyFull
CopyOnlyFull
Incremental
Incremental
SnapshotFull
SnapshotFull
SnapshotCopyOnlyFull
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
"CopyOnlyFull"
CopyOnlyFull
"Incremental"
Incremental
"SnapshotFull"
SnapshotFull
"SnapshotCopyOnlyFull"
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.AzureNative.RecoveryServices.RetentionDurationType
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 | RetentionDurationType
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 | RetentionDurationType
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 | RetentionDurationType
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 | RetentionDurationType
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
RetentionDurationTypeInvalid
Invalid
RetentionDurationTypeDays
Days
RetentionDurationTypeWeeks
Weeks
RetentionDurationTypeMonths
Months
RetentionDurationTypeYears
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
RetentionScheduleFormatInvalid
Invalid
RetentionScheduleFormatDaily
Daily
RetentionScheduleFormatWeekly
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
ScheduleRunTypeInvalid
Invalid
ScheduleRunTypeDaily
Daily
ScheduleRunTypeWeekly
Weekly
ScheduleRunTypeHourly
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 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 RetentionDurationResponse
Retention duration of the protection policy.
retentionDuration RetentionDurationResponse
Retention duration of the protection policy.
retentionDuration RetentionDurationResponse
Retention duration of the protection policy.
retention_duration RetentionDurationResponse
Retention duration of the protection policy.
retentionDuration Property Map
Retention duration of the protection policy.

SimpleSchedulePolicy
, SimpleSchedulePolicyArgs

HourlySchedule Pulumi.AzureNative.RecoveryServices.Inputs.HourlySchedule
Hourly Schedule of this Policy
ScheduleRunDays List<Pulumi.AzureNative.RecoveryServices.DayOfWeek>
List of days of week this schedule has to be run.
ScheduleRunFrequency string | Pulumi.AzureNative.RecoveryServices.ScheduleRunType
Frequency of the schedule operation of this policy.
ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleWeeklyFrequency int
At every number weeks this schedule has to be run.
HourlySchedule HourlySchedule
Hourly Schedule of this Policy
ScheduleRunDays []DayOfWeek
List of days of week this schedule has to be run.
ScheduleRunFrequency string | ScheduleRunType
Frequency of the schedule operation of this policy.
ScheduleRunTimes []string
List of times of day this schedule has to be run.
ScheduleWeeklyFrequency int
At every number weeks this schedule has to be run.
hourlySchedule HourlySchedule
Hourly Schedule of this Policy
scheduleRunDays List<DayOfWeek>
List of days of week this schedule has to be run.
scheduleRunFrequency String | ScheduleRunType
Frequency of the schedule operation of this policy.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleWeeklyFrequency Integer
At every number weeks this schedule has to be run.
hourlySchedule HourlySchedule
Hourly Schedule of this Policy
scheduleRunDays DayOfWeek[]
List of days of week this schedule has to be run.
scheduleRunFrequency string | ScheduleRunType
Frequency of the schedule operation of this policy.
scheduleRunTimes string[]
List of times of day this schedule has to be run.
scheduleWeeklyFrequency number
At every number weeks this schedule has to be run.
hourly_schedule HourlySchedule
Hourly Schedule of this Policy
schedule_run_days Sequence[DayOfWeek]
List of days of week this schedule has to be run.
schedule_run_frequency str | ScheduleRunType
Frequency of the schedule operation of this policy.
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.
schedule_weekly_frequency int
At every number weeks this schedule has to be run.
hourlySchedule Property Map
Hourly Schedule of this Policy
scheduleRunDays List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">
List of days of week this schedule has to be run.
scheduleRunFrequency String | "Invalid" | "Daily" | "Weekly" | "Hourly"
Frequency of the schedule operation of this policy.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleWeeklyFrequency Number
At every number weeks this schedule has to be run.

SimpleSchedulePolicyResponse
, SimpleSchedulePolicyResponseArgs

HourlySchedule Pulumi.AzureNative.RecoveryServices.Inputs.HourlyScheduleResponse
Hourly Schedule of this Policy
ScheduleRunDays List<string>
List of days of week this schedule has to be run.
ScheduleRunFrequency string
Frequency of the schedule operation of this policy.
ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleWeeklyFrequency int
At every number weeks this schedule has to be run.
HourlySchedule HourlyScheduleResponse
Hourly Schedule of this Policy
ScheduleRunDays []string
List of days of week this schedule has to be run.
ScheduleRunFrequency string
Frequency of the schedule operation of this policy.
ScheduleRunTimes []string
List of times of day this schedule has to be run.
ScheduleWeeklyFrequency int
At every number weeks this schedule has to be run.
hourlySchedule HourlyScheduleResponse
Hourly Schedule of this Policy
scheduleRunDays List<String>
List of days of week this schedule has to be run.
scheduleRunFrequency String
Frequency of the schedule operation of this policy.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleWeeklyFrequency Integer
At every number weeks this schedule has to be run.
hourlySchedule HourlyScheduleResponse
Hourly Schedule of this Policy
scheduleRunDays string[]
List of days of week this schedule has to be run.
scheduleRunFrequency string
Frequency of the schedule operation of this policy.
scheduleRunTimes string[]
List of times of day this schedule has to be run.
scheduleWeeklyFrequency number
At every number weeks this schedule has to be run.
hourly_schedule HourlyScheduleResponse
Hourly Schedule of this Policy
schedule_run_days Sequence[str]
List of days of week this schedule has to be run.
schedule_run_frequency str
Frequency of the schedule operation of this policy.
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.
schedule_weekly_frequency int
At every number weeks this schedule has to be run.
hourlySchedule Property Map
Hourly Schedule of this Policy
scheduleRunDays List<String>
List of days of week this schedule has to be run.
scheduleRunFrequency String
Frequency of the schedule operation of this policy.
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleWeeklyFrequency Number
At every number weeks this schedule has to be run.

SimpleSchedulePolicyV2
, SimpleSchedulePolicyV2Args

DailySchedule DailySchedule
Daily schedule of this policy
HourlySchedule HourlySchedule
hourly schedule of this policy
ScheduleRunFrequency string | ScheduleRunType
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
scheduleRunFrequency String | ScheduleRunType
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
scheduleRunFrequency string | ScheduleRunType
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_frequency str | ScheduleRunType
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
scheduleRunFrequency String | "Invalid" | "Daily" | "Weekly" | "Hourly"
Frequency of the schedule operation of this policy.
weeklySchedule Property Map
Weekly schedule of this policy

SimpleSchedulePolicyV2Response
, SimpleSchedulePolicyV2ResponseArgs

DailySchedule DailyScheduleResponse
Daily schedule of this policy
HourlySchedule HourlyScheduleResponse
hourly schedule of this policy
ScheduleRunFrequency string
Frequency of the schedule operation of this policy.
WeeklySchedule WeeklyScheduleResponse
Weekly schedule of this policy
dailySchedule DailyScheduleResponse
Daily schedule of this policy
hourlySchedule HourlyScheduleResponse
hourly schedule of this policy
scheduleRunFrequency String
Frequency of the schedule operation of this policy.
weeklySchedule WeeklyScheduleResponse
Weekly schedule of this policy
dailySchedule DailyScheduleResponse
Daily schedule of this policy
hourlySchedule HourlyScheduleResponse
hourly schedule of this policy
scheduleRunFrequency string
Frequency of the schedule operation of this policy.
weeklySchedule WeeklyScheduleResponse
Weekly schedule of this policy
daily_schedule DailyScheduleResponse
Daily schedule of this policy
hourly_schedule HourlyScheduleResponse
hourly schedule of this policy
schedule_run_frequency str
Frequency of the schedule operation of this policy.
weekly_schedule WeeklyScheduleResponse
Weekly schedule of this policy
dailySchedule Property Map
Daily schedule of this policy
hourlySchedule Property Map
hourly schedule of this policy
scheduleRunFrequency String
Frequency of the schedule operation of this policy.
weeklySchedule Property Map
Weekly schedule of this policy

SnapshotBackupAdditionalDetails
, SnapshotBackupAdditionalDetailsArgs

SnapshotBackupAdditionalDetailsResponse
, SnapshotBackupAdditionalDetailsResponseArgs

SubProtectionPolicy
, SubProtectionPolicyArgs

PolicyType string | Pulumi.AzureNative.RecoveryServices.PolicyType
Type of backup policy type
RetentionPolicy Pulumi.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicy | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
SnapshotBackupAdditionalDetails Pulumi.AzureNative.RecoveryServices.Inputs.SnapshotBackupAdditionalDetails
Snapshot Backup related fields for WorkloadType SaPHanaSystem
TieringPolicy Dictionary<string, Pulumi.AzureNative.RecoveryServices.Inputs.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 LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
SnapshotBackupAdditionalDetails SnapshotBackupAdditionalDetails
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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 LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshotBackupAdditionalDetails SnapshotBackupAdditionalDetails
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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 LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshotBackupAdditionalDetails SnapshotBackupAdditionalDetails
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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 LongTermRetentionPolicy | SimpleRetentionPolicy
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicy | LongTermSchedulePolicy | SimpleSchedulePolicy | SimpleSchedulePolicyV2
Backup schedule specified as part of backup policy.
snapshot_backup_additional_details SnapshotBackupAdditionalDetails
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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" | "CopyOnlyFull" | "Incremental" | "SnapshotFull" | "SnapshotCopyOnlyFull"
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.
snapshotBackupAdditionalDetails Property Map
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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.AzureNative.RecoveryServices.Inputs.LongTermRetentionPolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy Pulumi.AzureNative.RecoveryServices.Inputs.LogSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.LongTermSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyResponse | Pulumi.AzureNative.RecoveryServices.Inputs.SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
SnapshotBackupAdditionalDetails Pulumi.AzureNative.RecoveryServices.Inputs.SnapshotBackupAdditionalDetailsResponse
Snapshot Backup related fields for WorkloadType SaPHanaSystem
TieringPolicy Dictionary<string, Pulumi.AzureNative.RecoveryServices.Inputs.TieringPolicyResponse>
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 LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
SchedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
SnapshotBackupAdditionalDetails SnapshotBackupAdditionalDetailsResponse
Snapshot Backup related fields for WorkloadType SaPHanaSystem
TieringPolicy map[string]TieringPolicyResponse
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 LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshotBackupAdditionalDetails SnapshotBackupAdditionalDetailsResponse
Snapshot Backup related fields for WorkloadType SaPHanaSystem
tieringPolicy Map<String,TieringPolicyResponse>
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 LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedulePolicy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshotBackupAdditionalDetails SnapshotBackupAdditionalDetailsResponse
Snapshot Backup related fields for WorkloadType SaPHanaSystem
tieringPolicy {[key: string]: TieringPolicyResponse}
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 LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Retention policy with the details on backup copy retention ranges.
schedule_policy LogSchedulePolicyResponse | LongTermSchedulePolicyResponse | SimpleSchedulePolicyResponse | SimpleSchedulePolicyV2Response
Backup schedule specified as part of backup policy.
snapshot_backup_additional_details SnapshotBackupAdditionalDetailsResponse
Snapshot Backup related fields for WorkloadType SaPHanaSystem
tiering_policy Mapping[str, TieringPolicyResponse]
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.
snapshotBackupAdditionalDetails Property Map
Snapshot Backup related fields for WorkloadType SaPHanaSystem
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
DoNotTier
DoNotTier
TieringModeInvalid
Invalid
TieringModeTierRecommended
TierRecommended
TieringModeTierAfter
TierAfter
TieringModeDoNotTier
DoNotTier
Invalid
Invalid
TierRecommended
TierRecommended
TierAfter
TierAfter
DoNotTier
DoNotTier
Invalid
Invalid
TierRecommended
TierRecommended
TierAfter
TierAfter
DoNotTier
DoNotTier
INVALID
Invalid
TIER_RECOMMENDED
TierRecommended
TIER_AFTER
TierAfter
DO_NOT_TIER
DoNotTier
"Invalid"
Invalid
"TierRecommended"
TierRecommended
"TierAfter"
TierAfter
"DoNotTier"
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.AzureNative.RecoveryServices.RetentionDurationType
Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter
TieringMode string | Pulumi.AzureNative.RecoveryServices.TieringMode
Tiering Mode to control automatic tiering of recovery points. Supported values are:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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 | RetentionDurationType
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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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 | RetentionDurationType
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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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 | RetentionDurationType
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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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 | RetentionDurationType
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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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" | "TierAfter" | "DoNotTier"
Tiering Mode to control automatic tiering of recovery points. Supported values are:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. 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:

  1. TierRecommended: Tier all recovery points recommended to be tiered
  2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.
  3. DoNotTier: Do not tier any recovery points

UserAssignedIdentityProperties
, UserAssignedIdentityPropertiesArgs

ClientId string
The client ID of the assigned identity.
PrincipalId string
The principal ID of the assigned identity.
ClientId string
The client ID of the assigned identity.
PrincipalId string
The principal ID of the assigned identity.
clientId String
The client ID of the assigned identity.
principalId String
The principal ID of the assigned identity.
clientId string
The client ID of the assigned identity.
principalId string
The principal ID of the assigned identity.
client_id str
The client ID of the assigned identity.
principal_id str
The principal ID of the assigned identity.
clientId String
The client ID of the assigned identity.
principalId String
The principal ID of the assigned identity.

UserAssignedIdentityPropertiesResponse
, UserAssignedIdentityPropertiesResponseArgs

ClientId string
The client ID of the assigned identity.
PrincipalId string
The principal ID of the assigned identity.
ClientId string
The client ID of the assigned identity.
PrincipalId string
The principal ID of the assigned identity.
clientId String
The client ID of the assigned identity.
principalId String
The principal ID of the assigned identity.
clientId string
The client ID of the assigned identity.
principalId string
The principal ID of the assigned identity.
client_id str
The client ID of the assigned identity.
principal_id str
The principal ID of the assigned identity.
clientId String
The client ID of the assigned identity.
principalId String
The principal ID of the assigned identity.

UserAssignedManagedIdentityDetails
, UserAssignedManagedIdentityDetailsArgs

IdentityArmId string
The ARM id of the assigned identity.
IdentityName string
The name of the assigned identity.
UserAssignedIdentityProperties Pulumi.AzureNative.RecoveryServices.Inputs.UserAssignedIdentityProperties
User assigned managed identity properties
IdentityArmId string
The ARM id of the assigned identity.
IdentityName string
The name of the assigned identity.
UserAssignedIdentityProperties UserAssignedIdentityProperties
User assigned managed identity properties
identityArmId String
The ARM id of the assigned identity.
identityName String
The name of the assigned identity.
userAssignedIdentityProperties UserAssignedIdentityProperties
User assigned managed identity properties
identityArmId string
The ARM id of the assigned identity.
identityName string
The name of the assigned identity.
userAssignedIdentityProperties UserAssignedIdentityProperties
User assigned managed identity properties
identity_arm_id str
The ARM id of the assigned identity.
identity_name str
The name of the assigned identity.
user_assigned_identity_properties UserAssignedIdentityProperties
User assigned managed identity properties
identityArmId String
The ARM id of the assigned identity.
identityName String
The name of the assigned identity.
userAssignedIdentityProperties Property Map
User assigned managed identity properties

UserAssignedManagedIdentityDetailsResponse
, UserAssignedManagedIdentityDetailsResponseArgs

IdentityArmId string
The ARM id of the assigned identity.
IdentityName string
The name of the assigned identity.
UserAssignedIdentityProperties Pulumi.AzureNative.RecoveryServices.Inputs.UserAssignedIdentityPropertiesResponse
User assigned managed identity properties
IdentityArmId string
The ARM id of the assigned identity.
IdentityName string
The name of the assigned identity.
UserAssignedIdentityProperties UserAssignedIdentityPropertiesResponse
User assigned managed identity properties
identityArmId String
The ARM id of the assigned identity.
identityName String
The name of the assigned identity.
userAssignedIdentityProperties UserAssignedIdentityPropertiesResponse
User assigned managed identity properties
identityArmId string
The ARM id of the assigned identity.
identityName string
The name of the assigned identity.
userAssignedIdentityProperties UserAssignedIdentityPropertiesResponse
User assigned managed identity properties
identity_arm_id str
The ARM id of the assigned identity.
identity_name str
The name of the assigned identity.
user_assigned_identity_properties UserAssignedIdentityPropertiesResponse
User assigned managed identity properties
identityArmId String
The ARM id of the assigned identity.
identityName String
The name of the assigned identity.
userAssignedIdentityProperties Property Map
User assigned managed identity properties

VaultRetentionPolicy
, VaultRetentionPolicyArgs

SnapshotRetentionInDays This property is required. int
VaultRetention This property is required. LongTermRetentionPolicy | SimpleRetentionPolicy
Base class for retention policy.
snapshotRetentionInDays This property is required. Integer
vaultRetention This property is required. LongTermRetentionPolicy | SimpleRetentionPolicy
Base class for retention policy.
snapshotRetentionInDays This property is required. number
vaultRetention This property is required. LongTermRetentionPolicy | SimpleRetentionPolicy
Base class for retention policy.
snapshot_retention_in_days This property is required. int
vault_retention This property is required. LongTermRetentionPolicy | SimpleRetentionPolicy
Base class for retention policy.
snapshotRetentionInDays This property is required. Number
vaultRetention This property is required. Property Map | Property Map
Base class for retention policy.

VaultRetentionPolicyResponse
, VaultRetentionPolicyResponseArgs

SnapshotRetentionInDays This property is required. int
VaultRetention This property is required. LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Base class for retention policy.
snapshotRetentionInDays This property is required. Integer
vaultRetention This property is required. LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Base class for retention policy.
snapshotRetentionInDays This property is required. number
vaultRetention This property is required. LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Base class for retention policy.
snapshot_retention_in_days This property is required. int
vault_retention This property is required. LongTermRetentionPolicyResponse | SimpleRetentionPolicyResponse
Base class for retention policy.
snapshotRetentionInDays This property is required. Number
vaultRetention This property is required. Property Map | Property Map
Base class for retention policy.

WeekOfMonth
, WeekOfMonthArgs

First
First
Second
Second
Third
Third
Fourth
Fourth
Last
Last
Invalid
Invalid
WeekOfMonthFirst
First
WeekOfMonthSecond
Second
WeekOfMonthThird
Third
WeekOfMonthFourth
Fourth
WeekOfMonthLast
Last
WeekOfMonthInvalid
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

DaysOfTheWeek []DayOfWeek
List of days of the week.
WeeksOfTheMonth []WeekOfMonth
List of weeks of month.
daysOfTheWeek List<DayOfWeek>
List of days of the week.
weeksOfTheMonth List<WeekOfMonth>
List of weeks of month.
daysOfTheWeek DayOfWeek[]
List of days of the week.
weeksOfTheMonth WeekOfMonth[]
List of weeks of month.
days_of_the_week Sequence[DayOfWeek]
List of days of the week.
weeks_of_the_month Sequence[WeekOfMonth]
List of weeks of month.

WeeklyRetentionFormatResponse
, WeeklyRetentionFormatResponseArgs

DaysOfTheWeek List<string>
List of days of the week.
WeeksOfTheMonth List<string>
List of weeks of month.
DaysOfTheWeek []string
List of days of the week.
WeeksOfTheMonth []string
List of weeks of month.
daysOfTheWeek List<String>
List of days of the week.
weeksOfTheMonth List<String>
List of weeks of month.
daysOfTheWeek string[]
List of days of the week.
weeksOfTheMonth string[]
List of weeks of month.
days_of_the_week Sequence[str]
List of days of the week.
weeks_of_the_month Sequence[str]
List of weeks of month.
daysOfTheWeek List<String>
List of days of the week.
weeksOfTheMonth List<String>
List of weeks of month.

WeeklyRetentionSchedule
, WeeklyRetentionScheduleArgs

DaysOfTheWeek List<Pulumi.AzureNative.RecoveryServices.DayOfWeek>
List of days of week for weekly retention policy.
RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.RetentionDuration
Retention duration of retention Policy.
RetentionTimes List<string>
Retention times of retention policy.
DaysOfTheWeek []DayOfWeek
List of days of week for weekly retention policy.
RetentionDuration RetentionDuration
Retention duration of retention Policy.
RetentionTimes []string
Retention times of retention policy.
daysOfTheWeek List<DayOfWeek>
List of days of week for weekly retention policy.
retentionDuration RetentionDuration
Retention duration of retention Policy.
retentionTimes List<String>
Retention times of retention policy.
daysOfTheWeek DayOfWeek[]
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_the_week Sequence[DayOfWeek]
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.
daysOfTheWeek List<"Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday">
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

DaysOfTheWeek List<string>
List of days of week for weekly retention policy.
RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.RetentionDurationResponse
Retention duration of retention Policy.
RetentionTimes List<string>
Retention times of retention policy.
DaysOfTheWeek []string
List of days of week for weekly retention policy.
RetentionDuration RetentionDurationResponse
Retention duration of retention Policy.
RetentionTimes []string
Retention times of retention policy.
daysOfTheWeek List<String>
List of days of week for weekly retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionTimes List<String>
Retention times of retention policy.
daysOfTheWeek string[]
List of days of week for weekly retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionTimes string[]
Retention times of retention policy.
days_of_the_week Sequence[str]
List of days of week for weekly retention policy.
retention_duration RetentionDurationResponse
Retention duration of retention Policy.
retention_times Sequence[str]
Retention times of retention policy.
daysOfTheWeek List<String>
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

ScheduleRunDays List<Pulumi.AzureNative.RecoveryServices.DayOfWeek>
ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleRunDays []DayOfWeek
ScheduleRunTimes []string
List of times of day this schedule has to be run.
scheduleRunDays List<DayOfWeek>
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleRunDays DayOfWeek[]
scheduleRunTimes string[]
List of times of day this schedule has to be run.
schedule_run_days Sequence[DayOfWeek]
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.

WeeklyScheduleResponse
, WeeklyScheduleResponseArgs

ScheduleRunDays List<string>
ScheduleRunTimes List<string>
List of times of day this schedule has to be run.
ScheduleRunDays []string
ScheduleRunTimes []string
List of times of day this schedule has to be run.
scheduleRunDays List<String>
scheduleRunTimes List<String>
List of times of day this schedule has to be run.
scheduleRunDays string[]
scheduleRunTimes string[]
List of times of day this schedule has to be run.
schedule_run_days Sequence[str]
schedule_run_times Sequence[str]
List of times of day this schedule has to be run.
scheduleRunDays List<String>
scheduleRunTimes List<String>
List of times of day this schedule has to be run.

WorkloadType
, WorkloadTypeArgs

Invalid
Invalid
VM
VM
FileFolder
FileFolder
AzureSqlDb
AzureSqlDb
SQLDB
SQLDB
Exchange
Exchange
Sharepoint
Sharepoint
VMwareVM
VMwareVM
SystemState
SystemState
Client
Client
GenericDataSource
GenericDataSource
SQLDataBase
SQLDataBase
AzureFileShare
AzureFileShare
SAPHanaDatabase
SAPHanaDatabase
SAPAseDatabase
SAPAseDatabase
SAPHanaDBInstance
SAPHanaDBInstance
WorkloadTypeInvalid
Invalid
WorkloadTypeVM
VM
WorkloadTypeFileFolder
FileFolder
WorkloadTypeAzureSqlDb
AzureSqlDb
WorkloadTypeSQLDB
SQLDB
WorkloadTypeExchange
Exchange
WorkloadTypeSharepoint
Sharepoint
WorkloadTypeVMwareVM
VMwareVM
WorkloadTypeSystemState
SystemState
WorkloadTypeClient
Client
WorkloadTypeGenericDataSource
GenericDataSource
WorkloadTypeSQLDataBase
SQLDataBase
WorkloadTypeAzureFileShare
AzureFileShare
WorkloadTypeSAPHanaDatabase
SAPHanaDatabase
WorkloadTypeSAPAseDatabase
SAPAseDatabase
WorkloadTypeSAPHanaDBInstance
SAPHanaDBInstance
Invalid
Invalid
VM
VM
FileFolder
FileFolder
AzureSqlDb
AzureSqlDb
SQLDB
SQLDB
Exchange
Exchange
Sharepoint
Sharepoint
VMwareVM
VMwareVM
SystemState
SystemState
Client
Client
GenericDataSource
GenericDataSource
SQLDataBase
SQLDataBase
AzureFileShare
AzureFileShare
SAPHanaDatabase
SAPHanaDatabase
SAPAseDatabase
SAPAseDatabase
SAPHanaDBInstance
SAPHanaDBInstance
Invalid
Invalid
VM
VM
FileFolder
FileFolder
AzureSqlDb
AzureSqlDb
SQLDB
SQLDB
Exchange
Exchange
Sharepoint
Sharepoint
VMwareVM
VMwareVM
SystemState
SystemState
Client
Client
GenericDataSource
GenericDataSource
SQLDataBase
SQLDataBase
AzureFileShare
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
"AzureSqlDb"
AzureSqlDb
"SQLDB"
SQLDB
"Exchange"
Exchange
"Sharepoint"
Sharepoint
"VMwareVM"
VMwareVM
"SystemState"
SystemState
"Client"
Client
"GenericDataSource"
GenericDataSource
"SQLDataBase"
SQLDataBase
"AzureFileShare"
AzureFileShare
"SAPHanaDatabase"
SAPHanaDatabase
"SAPAseDatabase"
SAPAseDatabase
"SAPHanaDBInstance"
SAPHanaDBInstance

YearlyRetentionSchedule
, YearlyRetentionScheduleArgs

MonthsOfYear List<Pulumi.AzureNative.RecoveryServices.MonthOfYear>
List of months of year of yearly retention policy.
RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.RetentionDuration
Retention duration of retention Policy.
RetentionScheduleDaily Pulumi.AzureNative.RecoveryServices.Inputs.DailyRetentionFormat
Daily retention format for yearly retention policy.
RetentionScheduleFormatType string | Pulumi.AzureNative.RecoveryServices.RetentionScheduleFormat
Retention schedule format for yearly retention policy.
RetentionScheduleWeekly Pulumi.AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormat
Weekly retention format for yearly retention policy.
RetentionTimes List<string>
Retention times of retention policy.
MonthsOfYear []MonthOfYear
List of months of year of yearly retention policy.
RetentionDuration RetentionDuration
Retention duration of retention Policy.
RetentionScheduleDaily DailyRetentionFormat
Daily retention format for yearly retention policy.
RetentionScheduleFormatType string | RetentionScheduleFormat
Retention schedule format for yearly retention policy.
RetentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for yearly retention policy.
RetentionTimes []string
Retention times of retention policy.
monthsOfYear List<MonthOfYear>
List of months of year of yearly retention policy.
retentionDuration RetentionDuration
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormat
Daily retention format for yearly retention policy.
retentionScheduleFormatType String | RetentionScheduleFormat
Retention schedule format for yearly retention policy.
retentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for yearly retention policy.
retentionTimes List<String>
Retention times of retention policy.
monthsOfYear MonthOfYear[]
List of months of year of yearly retention policy.
retentionDuration RetentionDuration
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormat
Daily retention format for yearly retention policy.
retentionScheduleFormatType string | RetentionScheduleFormat
Retention schedule format for yearly retention policy.
retentionScheduleWeekly WeeklyRetentionFormat
Weekly retention format for yearly retention policy.
retentionTimes string[]
Retention times of retention policy.
months_of_year Sequence[MonthOfYear]
List of months of year of yearly retention policy.
retention_duration RetentionDuration
Retention duration of retention Policy.
retention_schedule_daily DailyRetentionFormat
Daily retention format for yearly retention policy.
retention_schedule_format_type str | RetentionScheduleFormat
Retention schedule format for yearly retention policy.
retention_schedule_weekly WeeklyRetentionFormat
Weekly retention format for yearly retention policy.
retention_times Sequence[str]
Retention times of retention policy.
monthsOfYear List<"Invalid" | "January" | "February" | "March" | "April" | "May" | "June" | "July" | "August" | "September" | "October" | "November" | "December">
List of months of year of yearly retention policy.
retentionDuration Property Map
Retention duration of retention Policy.
retentionScheduleDaily Property Map
Daily retention format for yearly retention policy.
retentionScheduleFormatType String | "Invalid" | "Daily" | "Weekly"
Retention schedule format for yearly retention policy.
retentionScheduleWeekly Property Map
Weekly retention format for yearly retention policy.
retentionTimes List<String>
Retention times of retention policy.

YearlyRetentionScheduleResponse
, YearlyRetentionScheduleResponseArgs

MonthsOfYear List<string>
List of months of year of yearly retention policy.
RetentionDuration Pulumi.AzureNative.RecoveryServices.Inputs.RetentionDurationResponse
Retention duration of retention Policy.
RetentionScheduleDaily Pulumi.AzureNative.RecoveryServices.Inputs.DailyRetentionFormatResponse
Daily retention format for yearly retention policy.
RetentionScheduleFormatType string
Retention schedule format for yearly retention policy.
RetentionScheduleWeekly Pulumi.AzureNative.RecoveryServices.Inputs.WeeklyRetentionFormatResponse
Weekly retention format for yearly retention policy.
RetentionTimes List<string>
Retention times of retention policy.
MonthsOfYear []string
List of months of year of yearly retention policy.
RetentionDuration RetentionDurationResponse
Retention duration of retention Policy.
RetentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for yearly retention policy.
RetentionScheduleFormatType string
Retention schedule format for yearly retention policy.
RetentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for yearly retention policy.
RetentionTimes []string
Retention times of retention policy.
monthsOfYear List<String>
List of months of year of yearly retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for yearly retention policy.
retentionScheduleFormatType String
Retention schedule format for yearly retention policy.
retentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for yearly retention policy.
retentionTimes List<String>
Retention times of retention policy.
monthsOfYear string[]
List of months of year of yearly retention policy.
retentionDuration RetentionDurationResponse
Retention duration of retention Policy.
retentionScheduleDaily DailyRetentionFormatResponse
Daily retention format for yearly retention policy.
retentionScheduleFormatType string
Retention schedule format for yearly retention policy.
retentionScheduleWeekly WeeklyRetentionFormatResponse
Weekly retention format for yearly retention policy.
retentionTimes string[]
Retention times of retention policy.
months_of_year Sequence[str]
List of months of year of yearly retention policy.
retention_duration RetentionDurationResponse
Retention duration of retention Policy.
retention_schedule_daily DailyRetentionFormatResponse
Daily retention format for yearly retention policy.
retention_schedule_format_type str
Retention schedule format for yearly retention policy.
retention_schedule_weekly WeeklyRetentionFormatResponse
Weekly retention format for yearly retention policy.
retention_times Sequence[str]
Retention times of retention policy.
monthsOfYear List<String>
List of months of year of yearly retention policy.
retentionDuration Property Map
Retention duration of retention Policy.
retentionScheduleDaily Property Map
Daily retention format for yearly retention policy.
retentionScheduleFormatType String
Retention schedule format for yearly retention policy.
retentionScheduleWeekly Property Map
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} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0