private static SnapshotPolicy CreatePolicy(string location, string name = "") { // Create basic policy records with a selection of data HourlySchedule HourlySchedule = new HourlySchedule { SnapshotsToKeep = 2, Minute = 50 }; DailySchedule DailySchedule = new DailySchedule { SnapshotsToKeep = 4, Hour = 14, Minute = 30 }; WeeklySchedule WeeklySchedule = new WeeklySchedule { SnapshotsToKeep = 3, Day = "Wednesday", Hour = 14, Minute = 45 }; MonthlySchedule MonthlySchedule = new MonthlySchedule { SnapshotsToKeep = 5, DaysOfMonth = "10,11,12", Hour = 14, Minute = 15 }; SnapshotPolicy testSnapshotPolicy = new SnapshotPolicy(location: location, name: name) { Enabled = true, HourlySchedule = HourlySchedule, DailySchedule = DailySchedule, WeeklySchedule = WeeklySchedule, MonthlySchedule = MonthlySchedule }; return(testSnapshotPolicy); }
/// <summary> /// Create Azure NetApp Files Snapshot Policy /// </summary> /// <param name="anfClient">ANF client</param> /// <param name="resourceGroupName">Resource Group name</param> /// <param name="accountName">Azure NetApp Files</param> /// <param name="snapshotPolicyName"></param> /// <returns></returns> public static async Task <SnapshotPolicy> CreateANFSnapshotPolicy(AzureNetAppFilesManagementClient anfClient, string resourceGroupName, string location, string accountName, string snapshotPolicyName) { SnapshotPolicy snapshotPolicyBody = new SnapshotPolicy() { Location = location, Enabled = true, HourlySchedule = new HourlySchedule() { SnapshotsToKeep = 5, Minute = 50 }, DailySchedule = new DailySchedule() { SnapshotsToKeep = 5, Hour = 15, Minute = 30 }, WeeklySchedule = new WeeklySchedule() { SnapshotsToKeep = 5, Day = "Monday", Hour = 12, Minute = 30 }, MonthlySchedule = new MonthlySchedule() { SnapshotsToKeep = 5, DaysOfMonth = "10,11,12", Hour = 14, Minute = 50 } }; return(await anfClient.SnapshotPolicies.CreateAsync(snapshotPolicyBody, resourceGroupName, accountName, snapshotPolicyName)); }
/// <summary> /// Create a snapshot policy /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='body'> /// Snapshot policy object supplied in the body of the operation. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='accountName'> /// The name of the NetApp account /// </param> /// <param name='snapshotPolicyName'> /// The name of the snapshot policy target /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <SnapshotPolicy> CreateAsync(this ISnapshotPoliciesOperations operations, SnapshotPolicy body, string resourceGroupName, string accountName, string snapshotPolicyName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateWithHttpMessagesAsync(body, resourceGroupName, accountName, snapshotPolicyName, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create a snapshot policy /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='body'> /// Snapshot policy object supplied in the body of the operation. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='accountName'> /// The name of the NetApp account /// </param> /// <param name='snapshotPolicyName'> /// The name of the snapshot policy target /// </param> public static SnapshotPolicy Create(this ISnapshotPoliciesOperations operations, SnapshotPolicy body, string resourceGroupName, string accountName, string snapshotPolicyName) { return(operations.CreateAsync(body, resourceGroupName, accountName, snapshotPolicyName).GetAwaiter().GetResult()); }